/** * token登录(用于测试) * * @param Request $request * @param Response $response */ public function tokenLogin(Request $request, Response $response) { //检查token $token = $request->get('token', ''); if ('' == $token) { $this->tips($request, $response); } //检查数据库token,以获取openid $openid = User_Model::checkAccessToken($token); if ($openid === FALSE) { $this->tips($request, $response); } //通过openid 获取用户信息 $userInfo = Member::getTinyInfoByOpenid($openid); if (empty($userInfo)) { Fn::show_error_message(); } //设置本地登录状态 Member::setLocalLogin($userInfo['uid']); //Token登录后去到当前页(避免session没写成功走正常流程) $response->redirect($request->url()); }
/** * tips页显示 * @param Request $request * @param Response $response */ public function order_topay(Request $request, Response $response) { if ($request->is_post()) { global $user; if (!$user->uid) { Fn::show_error_message('未登录,请先登录'); } $this->v = new PageView('', 'topay'); $pay_mode = $request->post('pay_mode', 'wxpay'); //默认微信支付 $order_id = $request->post('order_id', 0); $back_url = $request->post('back_url', ''); $supported_paymode = ['wxpay' => '微信安全支付', 'alipay' => '支付宝支付']; if (!in_array($pay_mode, array_keys($supported_paymode))) { Fn::show_error_message('不支持该支付方式: ' . $pay_mode); } if (!$order_id) { Fn::show_error_message('订单为空'); } $order_info = Order::info($order_id); if (empty($order_info)) { Fn::show_error_message('订单不存在'); } else { $order_info['order_goods'] = Goods::getOrderGoods($order_info['order_id']); if (empty($order_info['order_goods'])) { Fn::show_error_message('订单下没有对应商品'); } } if ('wxpay' == $pay_mode) { $jsApiParams = Wxpay::unifiedOrder($order_info, $user->openid); $this->v->assign('jsApiParams', $jsApiParams); } $this->v->assign('pay_mode', $pay_mode); $this->v->assign('supported_paymode', $supported_paymode); $this->v->assign('back_url', $back_url); $response->send($this->v); } else { Fn::show_error_message('非法访问'); } }