<template>  
    <view class="content">  
        <image class="logo" @click="getUuid" src="/static/logo.png"></image>  
        <view class="text-area">  
            <text class="title">{{title}}</text>  
        </view>  
    </view>  
</template>  
<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  
        },  
        methods: {  
            getUuid(){  
                plus.device.getInfo({  
                  success: function (e) {  
                            uni.showModal({  
                                title: '提示',  
                                content: JSON.stringify(e),  
                                success: function (res) {  
                                    if (res.confirm) {  
                                        console.log('用户点击确定');  
                                    } else if (res.cancel) {  
                                        console.log('用户点击取消');  
                                    }  
                                }  
                            });  
                    // console.log('getDeviceInfo success: ' + JSON.stringify(e));  
                    uni.setStorageSync('uuid', e.uuid)  
                    resolve(e.uuid)  
                  },  
                  fail: function (e) {  
                    console.log('getDeviceInfo failed: ' + JSON.stringify(e));  
                  }  
                });  
            }  
        }  
    }  
</script>  
<style>  
    .content {  
        display: flex;  
        flex-direction: column;  
        align-items: center;  
        justify-content: center;  
    }  
    .logo {  
        height: 200rpx;  
        width: 200rpx;  
        margin-top: 200rpx;  
        margin-left: auto;  
        margin-right: auto;  
        margin-bottom: 50rpx;  
    }  
    .text-area {  
        display: flex;  
        justify-content: center;  
    }  
    .title {  
        font-size: 36rpx;  
        color: #8f8f94;  
    }  
</style>  
 
                                        
                                    
                                    - 发布:2022-11-02 17:44
- 更新:2023-02-08 16:05
- 阅读:706
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: Alpha
HBuilderX版本号: 3.6.8
手机系统: Android
手机系统版本号: Android 11
手机厂商: 华为
手机机型: HONOR Pad View7
页面类型: vue
vue版本: vue2
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
                                    
                                    
                                         
                                
                                                                                                操作步骤:
                                    
                                        创建一个uni-app项目,把pages\index\index.vue改成下面这个代码,运行到安卓手机上,第一次进入点击Logo获得的是32位的,退出应用再次进入再点击Logo是正确的。
<template>  
    <view class="content">  
        <image class="logo" @click="getUuid" src="/static/logo.png"></image>  
        <view class="text-area">  
            <text class="title">{{title}}</text>  
        </view>  
    </view>  
</template>  
<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  
        },  
        methods: {  
            getUuid(){  
                plus.device.getInfo({  
                  success: function (e) {  
                            uni.showModal({  
                                title: '提示',  
                                content: JSON.stringify(e),  
                                success: function (res) {  
                                    if (res.confirm) {  
                                        console.log('用户点击确定');  
                                    } else if (res.cancel) {  
                                        console.log('用户点击取消');  
                                    }  
                                }  
                            });  
                    // console.log('getDeviceInfo success: ' + JSON.stringify(e));  
                    uni.setStorageSync('uuid', e.uuid)  
                    resolve(e.uuid)  
                  },  
                  fail: function (e) {  
                    console.log('getDeviceInfo failed: ' + JSON.stringify(e));  
                  }  
                });  
            }  
        }  
    }  
</script>  
<style>  
    .content {  
        display: flex;  
        flex-direction: column;  
        align-items: center;  
        justify-content: center;  
    }  
    .logo {  
        height: 200rpx;  
        width: 200rpx;  
        margin-top: 200rpx;  
        margin-left: auto;  
        margin-right: auto;  
        margin-bottom: 50rpx;  
    }  
    .text-area {  
        display: flex;  
        justify-content: center;  
    }  
    .title {  
        font-size: 36rpx;  
        color: #8f8f94;  
    }  
</style>  
                                     
                                
                                                                                                创建一个uni-app项目,把pages\index\index.vue改成下面这个代码,运行到安卓手机上,第一次进入点击Logo获得的是32位的,退出应用再次进入再点击Logo是正确的。
<template>  
    <view class="content">  
        <image class="logo" @click="getUuid" src="/static/logo.png"></image>  
        <view class="text-area">  
            <text class="title">{{title}}</text>  
        </view>  
    </view>  
</template>  
<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  
        },  
        methods: {  
            getUuid(){  
                plus.device.getInfo({  
                  success: function (e) {  
                            uni.showModal({  
                                title: '提示',  
                                content: JSON.stringify(e),  
                                success: function (res) {  
                                    if (res.confirm) {  
                                        console.log('用户点击确定');  
                                    } else if (res.cancel) {  
                                        console.log('用户点击取消');  
                                    }  
                                }  
                            });  
                    // console.log('getDeviceInfo success: ' + JSON.stringify(e));  
                    uni.setStorageSync('uuid', e.uuid)  
                    resolve(e.uuid)  
                  },  
                  fail: function (e) {  
                    console.log('getDeviceInfo failed: ' + JSON.stringify(e));  
                  }  
                });  
            }  
        }  
    }  
</script>  
<style>  
    .content {  
        display: flex;  
        flex-direction: column;  
        align-items: center;  
        justify-content: center;  
    }  
    .logo {  
        height: 200rpx;  
        width: 200rpx;  
        margin-top: 200rpx;  
        margin-left: auto;  
        margin-right: auto;  
        margin-bottom: 50rpx;  
    }  
    .text-area {  
        display: flex;  
        justify-content: center;  
    }  
    .title {  
        font-size: 36rpx;  
        color: #8f8f94;  
    }  
</style>  
预期结果:
                                    
                                    
                                        2147f2006035cc0c
                                     
                                
                                                                                                2147f2006035cc0c
实际结果:
                                    
                                    
                                        ba2aa798fc614f65a7bd42b4b865726e
                                     
                                
                                                            ba2aa798fc614f65a7bd42b4b865726e
bug描述:
应用安装完成后第一次获取设备uuid得到的是32位的字符串,当应用关闭第二次以后进入的才是正确的uuid。
HBuilderX3.6.4也是一样的问题,3.6.3在线运行没问题但是离线打包就有问题。
 
             
             
             
			 
                                                                     
                                                                    
 
                                                                    