1、在小程序开发中,不能直接使用 localStorage.setItem()
来进行本地存储数据。小程序提供了专门的本地存储 API,通常使用 wx.setStorageSync()
方法来实现本地存储。
// 设置本地存储数据
wx.setStorageSync('key', 'value');
// 获取本地存储数据
var data = wx.getStorageSync('key');
两个小程序之间的相互跳转
1、小程序A部分
① 在A的pages.json文件中使用navigateToMiniProgramAppIdList添加你要跳转小程序B的appID:
"navigateToMiniProgramAppIdList": [
"wx123456789" // 替换为小程序B的AppID
]
② 在你要做跳转操作的页面的相关组件的事件来定义跳转逻辑(以某个点击跳转按钮为例)
newPlan() {
uni.navigateToMiniProgram({
appId: 'wx9e98ca332d', // 替换为小程序B的AppID
path: '/pages/rc_home/dashboard', // 目标页面路径(可选),不填写则跳转到首页
extraData: {
phone: uni.getStorageSync('phone')// 传递给小程序B的数据(可选)
},
envVersion: 'trial', // 跳转的版本,可以是'release'(正式版)、'trial'(体验版)或'develop'(开发版)
success(res) {
console.log('跳转成功');
},
fail(err) {
console.error('跳转失败', err);
}
});
},
ps:要打开的小程序版本,有效值: develop(开发版),trial(体验版),release(正式版)。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。
2、小程序B部分
要获取从A传递过来的参数可以在app.vue文件中的onShow部分来定义
onShow: function(options) {
console.log('App Show',options)
if (options.referrerInfo && options.referrerInfo.extraData) { //判别是否有数据
const extraData = options.referrerInfo.extraData;
const phone = extraData.phone;
uni.setStorageSync('phone', phone); 存储本地
}
},
这是打印的数据结构格式:
3、如何测试小程序B是否成功接收到传参(因为跳转这一操作无法在微信开发者工具上进行),按照如下图所示添加编译模式,打印onShow的参数来查看