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'
});
}
});
},

- 发布:2025-04-12 18:49
- 更新:2025-04-12 18:49
- 阅读:32
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.57
手机系统: Android
手机系统版本号: Android 14
手机厂商: 小米
手机机型: 小米政企专用定制化手机
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
进去拿到的就是一样的
进去拿到的就是一样的
预期结果:
预期结果应该是不同的
预期结果应该是不同的
实际结果:
存在相同的 deviceId
存在相同的 deviceId
bug描述:
在不同的app设备中 uni.getSystemInfo拿到的deviceId 一样, 这样子无法标识设备的id了
