当前小程序 跳转 另一个小程序支付(跳转到当前小程序的某个页面) - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

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

发表时间:2020-11-12

发布人:葵宇科技

浏览次数:78

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

前提提示:用的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可行,请通知一波。本文有问题也可以通知一波!!!

相关案例查看更多