diff --git a/application/index/controller/Wap.php b/application/index/controller/Wap.php index da6f4f9be..583f53087 100644 --- a/application/index/controller/Wap.php +++ b/application/index/controller/Wap.php @@ -14,6 +14,8 @@ namespace app\index\controller; use controller\BasicWechat; +use service\DataService; +use service\PayService; class Wap extends BasicWechat { @@ -22,4 +24,35 @@ class Wap extends BasicWechat { public function index() { dump($this->fansinfo); } + + public function payqrc() { + switch ($this->request->get('action')) { + case 'payqrc': + $pay = &load_wechat('pay'); + $order_no = session('pay-test-order-no'); + if (empty($order_no)) { + $order_no = DataService::createSequence(10, 'wechat-pay-test'); + session('pay-test-order-no', $order_no); + } + if (PayService::isPay($order_no)) { + return json(['code' => 2, 'order_no' => $order_no]); + } + $url = PayService::createWechatPayQrc($pay, $order_no, 1, '微信扫码支付测试!'); + if ($url !== false) { + return json(['code' => 1, 'url' => $url, 'order_no' => $order_no]); + } + $this->error("生成支付二维码失败,{$pay->errMsg}[{$pay->errCode}]"); + break; + case 'reset': + session('pay-test-order-no', null); + break; + default: + return view(); + } + } + + public function jspay() { + + return view(); + } } \ No newline at end of file diff --git a/application/index/view/wap.payqrc.html b/application/index/view/wap.payqrc.html new file mode 100644 index 000000000..ba63e5043 --- /dev/null +++ b/application/index/view/wap.payqrc.html @@ -0,0 +1,50 @@ + + +
+ ++ +
+ + + + + + + + \ No newline at end of file diff --git a/extend/controller/BasicWechat.php b/extend/controller/BasicWechat.php index a153d46a1..55fb083b4 100644 --- a/extend/controller/BasicWechat.php +++ b/extend/controller/BasicWechat.php @@ -51,7 +51,7 @@ class BasicWechat extends Controller { // 当前完整URL地址 $this->url = $this->request->url(true); // 网页授权,并获粉丝信息 - if ($this->check_auth && $this->_oAuth()) { + if ($this->check_auth && $this->oAuth()) { $this->assign('jsSign', load_wechat('script')->getJsSign($this->url)); $this->assign('fansinfo', $this->fansinfo); } @@ -62,10 +62,10 @@ class BasicWechat extends Controller { * @param bool $full 获取完整 * @return string */ - protected function _oAuth($full = true) { + protected function oAuth($full = true) { // 本地开发调试用户 openid if (in_array($this->request->host(), ['127.0.0.1', 'localhost'])) { - session('openid', 'o38gps1Unf64JOTdxNdd424lsEmM'); + session('openid', 'o38gps3vNdCqaggFfrBRCRikwlWY'); } // 检查缓存中 openid 信息是否完整 if ($this->openid = session('openid')) {