diff --git a/app/pay/controller/PayController.php b/app/pay/controller/PayController.php index ce2a2b0..affb8dd 100644 --- a/app/pay/controller/PayController.php +++ b/app/pay/controller/PayController.php @@ -91,8 +91,23 @@ class PayController extends HomeBaseController } } + //个人中心微信支付 + public function payFromCenter() { + $request = request(); + if($request->isAjax()) { + $oid = $request->param('oid'); + $info = [ + 'attach' => $oid, + 'openid' => session('user.openid'), + 'body' => '微信支付-天生红商城', + 'total_fee' => Db::name('zj_order')->where(['id'=>$oid])->value('whole') + ]; + $this->wxPay($info); + } + } + //微信支付 - public function wxPay($info) + private function wxPay($info) { require_once EXTEND_PATH . '/Payment.php'; $pay = new \Payment($info['attach'], $info['openid'], $info['body'], 1); @@ -113,7 +128,8 @@ class PayController extends HomeBaseController //改变订单状态 $update = [ 'id' => $oid, - 'step' => 2 + 'step' => 2, + 'out_trade_no' => $notify['out_trade_no'] ]; if(Db::name('zj_order')->update($update)) { echo "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>"; diff --git a/app/user/controller/CenterController.php b/app/user/controller/CenterController.php index 1368918..2e63ea1 100644 --- a/app/user/controller/CenterController.php +++ b/app/user/controller/CenterController.php @@ -188,9 +188,12 @@ class CenterController extends HomeBaseController public function orderList() { $order = new OrderModel; + require_once EXTEND_PATH . '/WeChatCommon.php'; + $wx = new \WeChatCommon(); $data = $order->getAllOrders(); return $this->fetch('order_list', [ - 'data' => $data + 'data' => $data, + 'js_sdk' => $wx->js_sdk() ]); } diff --git a/public/themes/simpleboot3/cart/zj_cart/cart.html b/public/themes/simpleboot3/cart/zj_cart/cart.html index 656e8a1..c82ed8f 100644 --- a/public/themes/simpleboot3/cart/zj_cart/cart.html +++ b/public/themes/simpleboot3/cart/zj_cart/cart.html @@ -279,7 +279,11 @@ $.ajax({ url:"{:url('del')}", type:"POST", - data:{id:id} + data:{id:id}, + + success: function () { + window.location.reload(); + } }) $(".deletewrap").hide(); diff --git a/public/themes/simpleboot3/user/center/info.html b/public/themes/simpleboot3/user/center/info.html index 527d193..d0e9e4c 100644 --- a/public/themes/simpleboot3/user/center/info.html +++ b/public/themes/simpleboot3/user/center/info.html @@ -56,7 +56,7 @@ <div class="material_name edit_sex"> <p class="item_name">性别</p> <div class="list_item_name"> - <p class="list_name"><if condition="$data['sex'] eq '0'">男<else/>女</if></p> + <p class="list_name"><if condition="$data['sex'] eq '1'">男<else/>女</if></p> <p class="iconfont icon-jinru"></p> </div> </div> diff --git a/public/themes/simpleboot3/user/center/order_list.html b/public/themes/simpleboot3/user/center/order_list.html index 0025183..048cb09 100644 --- a/public/themes/simpleboot3/user/center/order_list.html +++ b/public/themes/simpleboot3/user/center/order_list.html @@ -8,6 +8,7 @@ <link rel="stylesheet" href="__INDEX__/css/myorder.css"> <link rel="stylesheet" href="__INDEX__/css/swiper.min.css"> <script type="text/javascript" src="__INDEX__/js/base.js"></script> + <script src="http://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script> <title>全部订单</title> </head> <body> @@ -80,7 +81,7 @@ </div> <if condition="$vo['step'] eq '1'"> <div class="unpay"> - <p class="pay">付款</p> + <p class="pay" data-id="{$vo.id}">付款</p> <p class="cancelorder cancellist" data-id="{$vo.id}">取消订单</p> </div> </if> @@ -134,7 +135,7 @@ </volist> </div> <div class="unpay"> - <p class="pay">付款</p> + <p class="pay" data-id="{$vo.id}">付款</p> <p class="cancelorder cancellist" data-id="{$vo.id}">取消订单</p> </div> </div> @@ -320,5 +321,42 @@ $(".drawback").click(function(){ window.location.href='applicationdetail.html' }) + + $(".pay").click(function () { + $.ajax({ + url:"{:url('pay/Pay/payFromCenter')}", + data:{ + oid:$(this).attr('data-id') + }, + type:"POST", + dataType:"JSON", + + success: function (data) { + if(data.msg == 'ok') { + wx.chooseWXPay({ + timestamp: data.data.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 + nonceStr: data.data.nonceStr, // 支付签名随机串,不长于 32 位 + package: data.data.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*) + signType: data.data.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' + paySign: data.data.paySign, // 支付签名 + success: function (res) { + window.location.href=data.url; + }, + }); + } + } + }) + }) + + wx.config({ + debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 + appId: '{$js_sdk.appId}', // 必填,公众号的唯一标识 + timestamp: '{$js_sdk.timestamp}', // 必填,生成签名的时间戳 + nonceStr: '{$js_sdk.nonceStr}', // 必填,生成签名的随机串 + signature: '{$js_sdk.signature}',// 必填,签名 + jsApiList: [ + 'chooseWXPay' + ] // 必填,需要使用的JS接口列表 + }); </script> </html> \ No newline at end of file