1***@163.com
1***@163.com
  • 发布:2024-01-04 17:22
  • 更新:2024-01-04 17:22
  • 阅读:200

【报Bug】uniapp打包成apk后uni.setStorageSync只能存储当前页面,页面切换时获取不到存储的值

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: WIN11专业版

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: Android

手机系统版本号: Android 14

手机厂商: 小米

手机机型: 红米K50

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

以下是获取不到的例子:在A页面存储后在B页面是获取不到的,但是在A页面提示是存储成功了
A页面

uni.setStorageSync("token", result.token)  
    uni.setStorageSync('ceshi','ceshi')  
    uni.setStorage({  
    key:'wuyu',  
        data:'aaaaaaa',  
        success(res) {  
        console.log(res,'存储成功');  
                            }  
                        })  
B页面  
        const value =uni.getStorageSync('ceshi');  
            if(value){  
                console.log(value)  
                this.ces=value;  
            }else{  
                this.ces='没获取到'  
                console.log('没获取到');  
            }  
    uni.getStorage({  
        key: 'wuyu',  
        success:(res) =>{  
            console.log(res.data,'-----w1wuyu');  
        },  
        fail:(err)=> {  
            console.log(err,'获取不到');  
        }  
    });  
以下是获取的到的例子,在A页面存储,在A页面获取  
    uni.setStorageSync('ceshi','ceshi')  
            const value =uni.getStorageSync('ceshi');  
            console.log(value,'本地存储的值类型');  
            if(value){  
                console.log(value)  
                this.ces=value;  
            }else{  
                this.ces='没获取到'  
                console.log('没获取到');  
            }  

操作步骤:

A页面


uni.setStorageSync("token", result.token)  
    uni.setStorageSync('ceshi','ceshi')  
    uni.setStorage({  
    key:'wuyu',  
        data:'aaaaaaa',  
        success(res) {  
        console.log(res,'存储成功');  
                            }  
                        })  
B页面  
        const value =uni.getStorageSync('ceshi');  
            if(value){  
                console.log(value)  
                this.ces=value;  
            }else{  
                this.ces='没获取到'  
                console.log('没获取到');  
            }  
    uni.getStorage({  
        key: 'wuyu',  
        success:(res) =>{  
            console.log(res.data,'-----w1wuyu');  
        },  
        fail:(err)=> {  
            console.log(err,'获取不到');  
        }  
    });  

预期结果:

预期结果是获取的到存储的值

实际结果:

结果一个都没获取到

bug描述:

uniapp打包成apk后bug,uni.setStorageSync('key','value'),只能在当前页面上存储和获取操作,如果在其他页面是获取不到存储的值,还有
uni.setStorage({
key:'wuyu',
data:'aaaaaaa',
success(res) {
console.log(res,'存储成功');
}
}),这俩个我都试了,没一个成功的,但是在微信开发者工具和真机调试下都是可以获取的到,就是在运行到手机或模拟器还有打包成apk获取不到
1

2024-01-04 17:22 负责人:无 分享
已邀请:

要回复问题请先登录注册