let platform = uni.getSystemInfoSync().platform;
uni.getSystemInfo({
success: function(res) {
console.log(res)
if(platform == 'android') {
console.log(res.deviceId)
This.globalData.sn = "VNA" + res.deviceId;
uni.setStorageSync("sn",This.globalData.sn);
uni.setStorageSync("isIOS",false);
} else if(platform == 'ios') {
res.deviceId = This.md5(res.deviceId,16);
console.log(res.deviceId);
This.globalData.sn = "VNI" + res.deviceId;
uni.setStorageSync("sn",This.globalData.sn);
uni.setStorageSync("isIOS",true);
} else {
console.log(platform)
This.globalData.isH5 = true,
console.log(This.globalData.isH5)
console.log(res)
This.globalData.sn = "VNP" + res.deviceId;
uni.setStorageSync("sn",This.globalData.sn);
uni.setStorageSync("isIOS",false);
}
uni.setStorageSync("ver",This.globalData.ver);
}
});
- 发布:2022-07-29 13:14
- 更新:2023-03-16 17:06
- 阅读:1400
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.4.18
手机系统: Android
手机系统版本号: Android 8.1
手机厂商: OPPO
手机机型: OPPO A12,redmi 6a(androdi8.1)
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
1.获取到deviceID存到缓存中
2.打包新版本APP 修改APP版本号
3.查看缓存中的deviceID是否有变化
1.获取到deviceID存到缓存中
2.打包新版本APP 修改APP版本号
3.查看缓存中的deviceID是否有变化
预期结果:
app版本更新后获取到的deviceID保持不变
app版本更新后获取到的deviceID保持不变
实际结果:
app版本更新后获取到的deviceID在改变
app版本更新后获取到的deviceID在改变
bug描述:
在我App版本4.1.9中获取到的deviceID为0c522fe08d3d4212 我升级到4.1.10版本后 deviceID变为了866109044877373 再次升级到4.1.11后 deviceID变为866109044877373,866109044877365这个 每次升级时 没有修改Dcloud的appid 缓存中记住的账号密码还在 说明缓存没有被清除 但是deviceID变了(直接安装对应版本deviceID不变!!!)
4 个回复
2***@qq.com (作者)
有人吗
3***@qq.com - 个人开发
重新安装是会变,正常情况
2***@qq.com (作者)
大佬 有什么办法保持不变吗 公司业务需要deviceID保持不变
2022-08-02 10:31
3***@qq.com
回复 2***@qq.com: 解决了吗
2023-02-15 10:15
2***@qq.com (作者)
回复 3***@qq.com: 还没有解决
2023-04-14 10:37
s***@163.com
存储至本地进行IO操作或者存储至sqlite
WillYang
奇怪,我的没变啊