在不同的app设备中 uni-app uni.getSystemInfo拿到的deviceId 一样 这样子无法标识设备的id了
在不同的app设备中 uni-app uni.getSystemInfo拿到的deviceId 一样 这样子无法标识设备的id了
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win11 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:win11
HBuilderX类型:正式
HBuilderX版本号:4.57
手机系统:Android
手机系统版本号:Android 14
手机厂商:小米
手机机型:小米政企专用定制化手机
页面类型:vue
vue版本:vue2
打包方式:云端
示例代码:
getDeviceInfo() {
uni.getSystemInfo({
success: (res) => {
console.log('设备信息:', res);
// 设备唯一标识
const deviceId = res.deviceId || ''; // 注:部分平台可能不提供deviceId
const deviceBrand = res.brand;
const deviceModel = res.model;
const devicePixelRatio = res.devicePixelRatio;
const system = res.system;
const platform = res.platform;
// 生成一个设备指纹(可能不是唯一的,但可以作为参考)
const deviceFingerprint = `${deviceBrand}_${deviceModel}_${system}_${platform}`;
// 可以将deviceId或deviceFingerprint存储起来
this.deviceId = deviceId || deviceFingerprint;
if (this.deviceId) {
uni.showToast({
title: '设备ID获取成功',
icon: 'success'
})
// 存储到本地
uni.setStorageSync('device_id', deviceId);
} else {
uni.showToast({
title: '设备ID获取失败,请联系管理员',
icon: 'none'
})
}
},
fail: (err) => {
console.error('获取设备信息失败:', err);
uni.showToast({
title: '获取设备信息失败',
icon: 'none'
});
}
});
},
操作步骤:
进去拿到的就是一样的
预期结果:
预期结果应该是不同的
实际结果:
存在相同的 deviceId
bug描述:
在不同的app设备中 uni.getSystemInfo拿到的deviceId 一样, 这样子无法标识设备的id了
更多关于在不同的app设备中 uni-app uni.getSystemInfo拿到的deviceId 一样 这样子无法标识设备的id了的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于在不同的app设备中 uni-app uni.getSystemInfo拿到的deviceId 一样 这样子无法标识设备的id了的实战教程也可以访问 https://www.itying.com/category-93-b0.html
hello ,贴一下,你这个代码在这两个设备上的输出结果:console.log(‘设备信息:’, res);