欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

当前小程序 跳转 另一个小程序支付(跳转到当前小程序的某个页面)

程序员文章站 2022-03-18 10:53:29
需求:当前小程序 跳转到集团小程序来支付,集团支付唤起微信支付,点击完成 时,跳转到商品详情,因商品详情是从前一个页面需要传值的。前提提示:用的uniapp 框架 , 商品详情需要传值**我用的方法:localstorage 储存到本地,第二个方法的话,要看最下面总结的话小程序的打开与关闭 app.vu来判断(所以判断支付完成时,跳转页面,都是在app.vue这个入口里面进行操作)商品详情页面:Product/pages/detail/index clickImg(product) {...

需求:当前小程序 跳转到集团小程序来支付,集团支付唤起微信支付,点击完成 时,跳转到商品详情,因商品详情是从前一个页面需要传值的。

前提提示:用的uniapp 框架 , 商品详情需要传值
**我用的方法:localstorage 储存到本地,第二个方法的话,要看最下面总结的话
小程序的打开与关闭 app.vu来判断(所以判断支付完成时,跳转页面,都是在app.vue这个入口里面进行操作)

商品详情页面:Product/pages/detail/index

 		clickImg(product) {

		        console.log("把商品详情打印出来")
		        uni.setStorage({key: 'storageproduct_key',data: product}); // key 为命名(自定义),data自定义,product(跳转				下一个页面需要传的值)
    },

app.vue

onShow: function(option) {
			try {
                let payResult = option.referrerInfo.extraData.payment;  // 可自己打印一下看看数据
                console.log("payment:"+payResult);  // 支付成功 返回success ,失败 返回fail
                if (payResult === 'success') {
                    console.log(1)
                    //  Product/pages/payh5/payh5  支付的页面
                    // 这里条件判断页面是在哪儿 ,及集团小程序的appid  是否是从集团支付那边跳转过来的
                    if(option.path==="Product/pages/payh5/payh5" && option.referrerInfo.appId==="4654645646465"){
                          console.log(2)
                          //  获取存储的数据
                        uni.getStorage({
                            key: 'storageproduct_key',
                            success: function (res) {
                                console.log(3)
                                console.log(res);
                                let Storage_data = res.data;
                                console.log('获取储存的数据>>>>>>>'+Storage_data)
                          uni.redirectTo({             // 跳转到我的商品详情
                            url:`/Product/pages/detail/index?productId=${Storage_data.productId}&type=${Storage_data.type}&typeName=${Storage_data.itemName}`
                        })
                            }
                        });
                        setTimeout(function(){
                            uni.showToast({
                                title:"支付成功",
                                icon:"success",
                                duration:2000
                            })
                        },1500)

                    }else {
                        uni.redirectTo({
                            url: 'paymentresult'
                        })
                    }
                }else {   // 支付返回失败,直接返回上一个页面,自定义
                    wx.navigateBack()
                }
            } catch (e) {  }
		},

2 为什么用 uni.redirectTo 不直接用 navigateBack
测试了一下,不知道为啥不能返回到 商品详情,
这里可以自己测试一下不使用储存的方式来跳转,因用的uniapp 再打开微信开发者工具,再真机调试,还要上传身份证图片(出错还要重新来),还要用我的钱去测试,每次测试还要花我一块钱,又不报销,报销也不知道啥时候到账,还不知道通过啥方式到账。 所以能解决问题就行。

如果navigateBack可行,请通知一波。本文有问题也可以通知一波!!!

本文地址:https://blog.csdn.net/weixin_44143512/article/details/109644064