Commit 36ee21ddd8c653bb8bbd79e749d4b0f39dcd8911

Authored by yvan.ni
1 parent ad39a8f0

pos收银支付的优化

packageE/pages/cart/cart2/cart2.js
... ... @@ -196,6 +196,8 @@ Page({
196 196  
197 197 onLoad: function (t) {
198 198  
  199 + this.data.fir_in=1;
  200 +
199 201 wx.setNavigationBarTitle({ title: "填写订单", })
200 202 var th = this;
201 203 this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, });
... ... @@ -271,15 +273,46 @@ Page({
271 273 //----------子页返回父页触发----------
272 274 onShow: function () {
273 275  
274   - //富友支付取消支付强行回去
275   - var fy=ut.fy_back("/pages/user/order_list/order_list",1);
276   - if(fy) return false;
277   -
278   - util_pay.set_fir();
279 276  
280 277 var th = this;
281   - th.data.g_cart_q_time = null;
  278 + //判断是不是第一次进入
  279 + if(this.data.fir_in){
  280 + this.data.fir_in=0;
  281 + }else{
  282 + //富友支付取消支付强行回去
  283 + var fy=ut.fy_back("/pages/user/order_list/order_list",1);
  284 + if(fy) return false;
  285 + util_pay.set_fir();
  286 +
  287 + //-- 通联的第三方支付的返回优化 --
  288 + ut.is_pay_ok("/pages/payment/pay_success/pay_success?type=2&order_sn=" + this.data.ok_order_sn,null,function (){
  289 + //支付信息会先记录着
  290 + if(!th.data.ok_order_sn) return false;
  291 + getApp().request.promiseGet("/api/weshop/order/page",
  292 + {data:{store_id:os.stoid,parent_sn:th.data.ok_order_sn}}).then(res=>{
  293 + if(ut.ajax_ok(res)){
  294 + var item=res.data.data.pageData[0];
  295 + if(item.pay_status==1){
  296 + //支付支付,返回首页
  297 + ut.m_toast('支付成功');
  298 + setTimeout(()=>{
  299 + getApp().goto("/pages/payment/pay_success/pay_success?type=2&order_sn=" + th.data.ok_order_sn);
  300 + },1000)
282 301  
  302 + }else{
  303 + //支付支付,返回首页
  304 + ut.m_toast('支付失败');
  305 + setTimeout(()=>{
  306 + getApp().goto("/pages/index/index/index");
  307 + },1000)
  308 + }
  309 + }
  310 + })
  311 + });
  312 + }
  313 +
  314 +
  315 + th.data.g_cart_q_time = null;
283 316 if (th.data.isclose == 0) {
284 317 wx.navigateTo({
285 318 url: "/pages/index/index/index"
... ... @@ -5183,8 +5216,7 @@ Page({
5183 5216 // order_sn: data.data,
5184 5217 //}, 1);
5185 5218  
5186   -
5187   -
  5219 + th.data.ok_order_sn=data.data;
5188 5220 util_pay.pay(data.data, async function () {
5189 5221 //app.my_warnning("支付成功",1,th);
5190 5222 //setTimeout(function () {
... ...
utils/pay.js
... ... @@ -49,6 +49,9 @@ module.exports = {
49 49 wx.hideLoading();
50 50 if(t.data.code==0){
51 51  
  52 +
  53 + var is_pos_pay=t.data.data.is_pos_pay;
  54 + //-- 富有的插件支付 --
52 55 if(t.data.data.is_fuioupay){
53 56 const plugin = requirePlugin('fuiou-pay')
54 57 getApp().globalData.no_clear=1;
... ... @@ -84,12 +87,26 @@ module.exports = {
84 87 },1000)
85 88  
86 89 })
  90 + }
  91 + //-- 通联的支付插件 --
  92 + else if(is_pos_pay){
  93 +
  94 + var p_data=t.data.data;
  95 + delete p_data.is_pos_pay; //清理掉,不然签名不通过
  96 + wx.openEmbeddedMiniProgram({
  97 + appId: 'wxef277996acc166c3',
  98 + extraData: p_data,
  99 + fail(){
  100 + //-- 取消不支付 --
  101 + i.wx_paying=0;
  102 + "function" == typeof a && a();
  103 + }
  104 + })
  105 +
87 106 }else{
88 107 i.weixinPay(t.data.data, e, a);
89 108 }
90 109  
91   -
92   -
93 110 }else{
94 111 i.wx_paying=0;
95 112 getApp().confirmBox(t.data.msg);
... ...
utils/pay2.js
... ... @@ -24,6 +24,7 @@ module.exports = {
24 24 "function" == typeof succ && succ(1);
25 25 }else{
26 26  
  27 + var is_pos_pay=t.data.data.is_pos_pay;
27 28 if(t.data.data.is_fuioupay){
28 29 const plugin = requirePlugin('fuiou-pay')
29 30 getApp().globalData.no_clear=1;
... ... @@ -51,6 +52,20 @@ module.exports = {
51 52 fail(msg)
52 53 i.wx_paying=0;
53 54 })
  55 + }
  56 + //-- 通联的支付插件 --
  57 + else if(is_pos_pay){
  58 + var p_data=t.data.data;
  59 + delete p_data.is_pos_pay; //清理掉,不然签名不通过
  60 + wx.openEmbeddedMiniProgram({
  61 + appId: 'wxef277996acc166c3',
  62 + extraData: p_data,
  63 + fail(){
  64 + //-- 取消不支付 --
  65 + i.wx_paying=0;
  66 + "function" == typeof a && a();
  67 + }
  68 + })
54 69 }else {
55 70 i.weixinPay(t.data.data, succ, fail);
56 71 }
... ...
utils/util.js
... ... @@ -799,7 +799,7 @@ module.exports = {
799 799 return false
800 800 },
801 801  
802   - //优惠促销的数据的格式话
  802 + //-- 优惠促销的数据的格式话 --
803 803 format_yh_act(fir_act){
804 804 var more_arr = [];
805 805 if(fir_act){
... ... @@ -875,6 +875,54 @@ module.exports = {
875 875 return more_arr
876 876 },
877 877  
  878 + m_toast(txt){
  879 + wx.showToast({
  880 + title: txt,
  881 + icon: 'none',
  882 + duration: 2500
  883 + })
  884 + },
  885 + //-- 支付的结果判断是不是完成了,通联支付pos收银的返回 --
  886 + is_pay_ok(back_url,err_url,func){
  887 + if(!err_url){
  888 + err_url="/pages/index/index/index";
  889 + }
  890 + let options = wx.getEnterOptionsSync();
  891 + if (options.scene == '1038' && options.referrerInfo.appId=='wxef277996acc166c3') {
  892 + let extraData = options.referrerInfo.extraData;
  893 + if (!extraData) {
  894 + if(func) func();
  895 + } else {
  896 + // "支付成功";
  897 + if (extraData.code == 'success') {
  898 + this.m_toast("支付成功")
  899 + //支付失败
  900 + setTimeout(function () {
  901 + wx.redirectTo({ url: back_url});
  902 + },2000)
  903 + }
  904 + // "支付已取消";
  905 + else if (extraData.code == 'cancel') {
  906 + this.m_toast("取消支付")
  907 + //支付失败
  908 + setTimeout(function () {
  909 + getApp().goto(err_url);
  910 + },2000)
  911 + }
  912 + // "支付失败:" + extraData.errmsg;
  913 + else {
  914 + this.m_toast("支付失败:" + extraData.errmsg)
  915 + //支付失败
  916 + setTimeout(function () {
  917 + getApp().goto(err_url);
  918 + },2000)
  919 + }
  920 +
  921 + }
  922 +
  923 + }
  924 + },
  925 +
878 926 unserialize: unserialize,
879 927 _throttle:_throttle,
880 928 unserialize_o: unserialize_o,
... ...