增加 存储设备插件
This commit is contained in:
@@ -79,33 +79,73 @@ import { onLoad } from '@dcloudio/uni-app';
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { getNavBarPaddingTop} from '@/utils/system.js';
|
||||
import { getBindStatus,authDeviceApply,authInputCode } from '@/api/auth.js';
|
||||
import {showToast} from '@/utils/message.js'
|
||||
import {showToast,showAlert} from '@/utils/message.js'
|
||||
import { CLIENT_ID,NETWORK_ENV } from '@/enums/cacheEnums';
|
||||
import encryptObj from '@/utils/encrypt.js'
|
||||
const { proxy } = getCurrentInstance();
|
||||
import { requestAndroidPermissionAsync } from '@/utils/common.js'
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
import { useUserStore } from '@/stores/user';
|
||||
const userStore = useUserStore();
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
// 获取 存储手机的module
|
||||
const safeSave = uni.requireNativePlugin("Tm-TmSafeSaveFileModule");
|
||||
// #endif
|
||||
let systemInfo = {};
|
||||
let deviceId = ref(undefined);
|
||||
onLoad(async(opt) => {
|
||||
console.log("deviceAuth=>onLoad");
|
||||
uni.setStorageSync('page_cache',true);
|
||||
// uni.preloadPage({url: "/pages/login/login"});
|
||||
// uni.preloadPage({url: "/pages/home/home"});
|
||||
|
||||
deviceId.value = uni.getStorageSync('app_device_id');// 本地设备ID
|
||||
await selectBindStatus();
|
||||
if(bindStatus.value==2){
|
||||
// bindStatus=2-----到等待页面(定时任务查询 10秒查询一次)
|
||||
timer = setInterval(()=>{
|
||||
refreshBindStatus()
|
||||
},1000*10)//10秒刷新一次
|
||||
systemInfo = uni.getSystemInfoSync()
|
||||
// #ifdef APP-PLUS
|
||||
try {
|
||||
// // 授权设备存储
|
||||
// let res = {granted:false}
|
||||
// if(systemInfo.osAndroidAPILevel >=30){
|
||||
// let permissions = ['android.permission.READ_MEDIA_IMAGES', 'android.permission.READ_MEDIA_VIDEO', 'android.permission.READ_MEDIA_AUDIO'];
|
||||
// res = await requestAndroidPermissionAsync(permissions);
|
||||
// }else{
|
||||
// let permissions = ['android.permission.READ_EXTERNAL_STORAGE', 'android.permission.WRITE_EXTERNAL_STORAGE'];
|
||||
// res = await requestAndroidPermissionAsync(permissions);
|
||||
// }
|
||||
|
||||
// // 读取设备id
|
||||
// if (result.granted) {
|
||||
// console.log('所有权限已授予')
|
||||
safeSave.getSafeFile({ "key": "app_device_id" }, res2 => {
|
||||
if (res2.code == 1) {
|
||||
let deviceId = res2.data;
|
||||
console.log("读取成功=>",deviceId)
|
||||
deviceId.value = deviceId; // 本地设备ID
|
||||
selectBindStatus(deviceId);
|
||||
if(bindStatus.value==2){
|
||||
// bindStatus=2-----到等待页面(定时任务查询 10秒查询一次)
|
||||
timer = setInterval(()=>{
|
||||
refreshBindStatus()
|
||||
},1000*10)//10秒刷新一次
|
||||
}
|
||||
} else {
|
||||
showAlert('读取失败:'+res2.msg)
|
||||
}
|
||||
})
|
||||
// } else {
|
||||
// showAlert("您还没对设备授权,请授权!")
|
||||
// }
|
||||
} catch (error) {
|
||||
console.error('权限请求出错:', error);
|
||||
showAlert('权限请求出错:', error)
|
||||
}
|
||||
// #endif
|
||||
|
||||
|
||||
})
|
||||
|
||||
// 绑定状态(1=已提交、2=等待审核、3=审核通过、4=绑定成功、5=审核拒绝)
|
||||
let bindStatus = ref(undefined);
|
||||
let deviceId = ref(undefined);
|
||||
let timer = null;
|
||||
// 获取导航栏高度用于内容区域padding
|
||||
const navBarPaddingTop = ref(0);
|
||||
@@ -119,9 +159,9 @@ onUnmounted(() => {
|
||||
})
|
||||
|
||||
// 根据设备ID查询设备状态
|
||||
let selectBindStatus = async ()=>{
|
||||
if(deviceId.value){
|
||||
let res = await getBindStatus({uniqCode:deviceId.value})
|
||||
let selectBindStatus = async (uniqCode)=>{
|
||||
if(uniqCode){
|
||||
let res = await getBindStatus({uniqCode})
|
||||
bindStatus.value = res.bindStatus;
|
||||
//bindStatus=4-----已绑定成功,跳转用户登录页面
|
||||
if(bindStatus.value==4){
|
||||
@@ -190,8 +230,6 @@ const submitForm = async() => {
|
||||
deviceId.value = uuidv4();
|
||||
let clientId = `${CLIENT_ID || 2}`;
|
||||
let password = encryptObj.Encrypt(param.username + clientId + "," + param.password);
|
||||
|
||||
let systemInfo = uni.getSystemInfoSync()
|
||||
let params = {
|
||||
username:param.username,
|
||||
password,
|
||||
@@ -208,38 +246,53 @@ const submitForm = async() => {
|
||||
}
|
||||
let res = await authDeviceApply(params);
|
||||
btnLoading.value = false;
|
||||
uni.setStorageSync('app_device_id', deviceId.value)
|
||||
bindStatus.value = res.bindStatus;//默认为 2-等待审核
|
||||
// 刷新状态
|
||||
refreshBindStatus();
|
||||
timer = setInterval(()=>{
|
||||
refreshBindStatus()
|
||||
},1000*10)//10秒刷新一次
|
||||
|
||||
try {
|
||||
// 授权设备存储
|
||||
// let result = {granted:false}
|
||||
// if(systemInfo.osAndroidAPILevel >=30){
|
||||
// let permissions = ['android.permission.READ_MEDIA_IMAGES', 'android.permission.READ_MEDIA_VIDEO', 'android.permission.READ_MEDIA_AUDIO'];
|
||||
// result = await requestAndroidPermissionAsync(permissions);
|
||||
// }else{
|
||||
// let permissions = ['android.permission.READ_EXTERNAL_STORAGE', 'android.permission.WRITE_EXTERNAL_STORAGE'];
|
||||
// result = await requestAndroidPermissionAsync(permissions);
|
||||
// }
|
||||
|
||||
// if (result.granted) {
|
||||
// 存储设备id
|
||||
safeSave.saveSafeFile({ "key": "app_device_id","value": deviceId.value}, res3 => {
|
||||
showAlert("保存成功=>"+JSON.stringify(res3));
|
||||
if (res3.code == 1) {
|
||||
console.log('保存成功:'+res3.msg)
|
||||
showAlert("保存成功=>"+res3.msg);
|
||||
// uni.setStorageSync('app_device_id', deviceId.value)
|
||||
bindStatus.value = res.bindStatus;//默认为 2-等待审核
|
||||
// 刷新状态
|
||||
refreshBindStatus();
|
||||
timer = setInterval(()=>{
|
||||
refreshBindStatus()
|
||||
},1000*10)//10秒刷新一次
|
||||
} else {
|
||||
showAlert('保存失败:'+res3.msg)
|
||||
}
|
||||
})
|
||||
// } else {
|
||||
// showAlert("您还没对设备授权,请授权!")
|
||||
// }
|
||||
|
||||
} catch (error) {
|
||||
showAlert('设备处理异常:'+error)
|
||||
}
|
||||
|
||||
}).catch(err => {
|
||||
console.log('表单错误11:', err);
|
||||
btnLoading.value = false;
|
||||
});
|
||||
};
|
||||
|
||||
// 在UniApp的APP端使用plus.netinfo
|
||||
let getLocalIPInUniApp=()=>{
|
||||
return new Promise((resolve) => {
|
||||
plus.netinfo.getCurrentInfo((info) => {
|
||||
const ips = [];
|
||||
if (info.wifi && info.wifi.ipAddress) {
|
||||
ips.push(info.wifi.ipAddress);
|
||||
}
|
||||
if (info.cellular && info.cellular.ipAddress) {
|
||||
ips.push(info.cellular.ipAddress);
|
||||
}
|
||||
resolve(ips.length ? ips : ['无法获取本地IP']);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 刷新
|
||||
const handleRefresh = ()=>{
|
||||
selectBindStatus();
|
||||
selectBindStatus(deviceId.value);
|
||||
}
|
||||
|
||||
const codes = ref(Array(6).fill(''))
|
||||
@@ -295,7 +348,7 @@ const handleSubmit=()=>{
|
||||
return;
|
||||
}
|
||||
|
||||
let uniqCode = uni.getStorageSync('app_device_id');
|
||||
let uniqCode = deviceId.value;
|
||||
let param={
|
||||
uniqCode,
|
||||
authCode:authCode.value
|
||||
|
||||
Reference in New Issue
Block a user