增加 存储设备插件
This commit is contained in:
@@ -79,33 +79,73 @@ import { onLoad } from '@dcloudio/uni-app';
|
|||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { getNavBarPaddingTop} from '@/utils/system.js';
|
import { getNavBarPaddingTop} from '@/utils/system.js';
|
||||||
import { getBindStatus,authDeviceApply,authInputCode } from '@/api/auth.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 { CLIENT_ID,NETWORK_ENV } from '@/enums/cacheEnums';
|
||||||
import encryptObj from '@/utils/encrypt.js'
|
import encryptObj from '@/utils/encrypt.js'
|
||||||
const { proxy } = getCurrentInstance();
|
import { requestAndroidPermissionAsync } from '@/utils/common.js'
|
||||||
|
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
import { useUserStore } from '@/stores/user';
|
import { useUserStore } from '@/stores/user';
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
|
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
// 获取 存储手机的module
|
||||||
|
const safeSave = uni.requireNativePlugin("Tm-TmSafeSaveFileModule");
|
||||||
|
// #endif
|
||||||
|
let systemInfo = {};
|
||||||
|
let deviceId = ref(undefined);
|
||||||
onLoad(async(opt) => {
|
onLoad(async(opt) => {
|
||||||
console.log("deviceAuth=>onLoad");
|
console.log("deviceAuth=>onLoad");
|
||||||
uni.setStorageSync('page_cache',true);
|
uni.setStorageSync('page_cache',true);
|
||||||
// uni.preloadPage({url: "/pages/login/login"});
|
// uni.preloadPage({url: "/pages/login/login"});
|
||||||
// uni.preloadPage({url: "/pages/home/home"});
|
// uni.preloadPage({url: "/pages/home/home"});
|
||||||
|
|
||||||
deviceId.value = uni.getStorageSync('app_device_id');// 本地设备ID
|
systemInfo = uni.getSystemInfoSync()
|
||||||
await selectBindStatus();
|
// #ifdef APP-PLUS
|
||||||
if(bindStatus.value==2){
|
try {
|
||||||
// bindStatus=2-----到等待页面(定时任务查询 10秒查询一次)
|
// // 授权设备存储
|
||||||
timer = setInterval(()=>{
|
// let res = {granted:false}
|
||||||
refreshBindStatus()
|
// if(systemInfo.osAndroidAPILevel >=30){
|
||||||
},1000*10)//10秒刷新一次
|
// 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=审核拒绝)
|
// 绑定状态(1=已提交、2=等待审核、3=审核通过、4=绑定成功、5=审核拒绝)
|
||||||
let bindStatus = ref(undefined);
|
let bindStatus = ref(undefined);
|
||||||
let deviceId = ref(undefined);
|
|
||||||
let timer = null;
|
let timer = null;
|
||||||
// 获取导航栏高度用于内容区域padding
|
// 获取导航栏高度用于内容区域padding
|
||||||
const navBarPaddingTop = ref(0);
|
const navBarPaddingTop = ref(0);
|
||||||
@@ -119,9 +159,9 @@ onUnmounted(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// 根据设备ID查询设备状态
|
// 根据设备ID查询设备状态
|
||||||
let selectBindStatus = async ()=>{
|
let selectBindStatus = async (uniqCode)=>{
|
||||||
if(deviceId.value){
|
if(uniqCode){
|
||||||
let res = await getBindStatus({uniqCode:deviceId.value})
|
let res = await getBindStatus({uniqCode})
|
||||||
bindStatus.value = res.bindStatus;
|
bindStatus.value = res.bindStatus;
|
||||||
//bindStatus=4-----已绑定成功,跳转用户登录页面
|
//bindStatus=4-----已绑定成功,跳转用户登录页面
|
||||||
if(bindStatus.value==4){
|
if(bindStatus.value==4){
|
||||||
@@ -190,8 +230,6 @@ const submitForm = async() => {
|
|||||||
deviceId.value = uuidv4();
|
deviceId.value = uuidv4();
|
||||||
let clientId = `${CLIENT_ID || 2}`;
|
let clientId = `${CLIENT_ID || 2}`;
|
||||||
let password = encryptObj.Encrypt(param.username + clientId + "," + param.password);
|
let password = encryptObj.Encrypt(param.username + clientId + "," + param.password);
|
||||||
|
|
||||||
let systemInfo = uni.getSystemInfoSync()
|
|
||||||
let params = {
|
let params = {
|
||||||
username:param.username,
|
username:param.username,
|
||||||
password,
|
password,
|
||||||
@@ -208,38 +246,53 @@ const submitForm = async() => {
|
|||||||
}
|
}
|
||||||
let res = await authDeviceApply(params);
|
let res = await authDeviceApply(params);
|
||||||
btnLoading.value = false;
|
btnLoading.value = false;
|
||||||
uni.setStorageSync('app_device_id', deviceId.value)
|
|
||||||
bindStatus.value = res.bindStatus;//默认为 2-等待审核
|
try {
|
||||||
// 刷新状态
|
// 授权设备存储
|
||||||
refreshBindStatus();
|
// let result = {granted:false}
|
||||||
timer = setInterval(()=>{
|
// if(systemInfo.osAndroidAPILevel >=30){
|
||||||
refreshBindStatus()
|
// let permissions = ['android.permission.READ_MEDIA_IMAGES', 'android.permission.READ_MEDIA_VIDEO', 'android.permission.READ_MEDIA_AUDIO'];
|
||||||
},1000*10)//10秒刷新一次
|
// 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 => {
|
}).catch(err => {
|
||||||
console.log('表单错误11:', err);
|
console.log('表单错误11:', err);
|
||||||
btnLoading.value = false;
|
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 = ()=>{
|
const handleRefresh = ()=>{
|
||||||
selectBindStatus();
|
selectBindStatus(deviceId.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
const codes = ref(Array(6).fill(''))
|
const codes = ref(Array(6).fill(''))
|
||||||
@@ -295,7 +348,7 @@ const handleSubmit=()=>{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let uniqCode = uni.getStorageSync('app_device_id');
|
let uniqCode = deviceId.value;
|
||||||
let param={
|
let param={
|
||||||
uniqCode,
|
uniqCode,
|
||||||
authCode:authCode.value
|
authCode:authCode.value
|
||||||
|
|||||||
@@ -153,6 +153,9 @@ import { getWeekStr,formatTimestamp } from '@/utils/datetime.js'
|
|||||||
import { formatMoney } from '@/utils/formatter.js'
|
import { formatMoney } from '@/utils/formatter.js'
|
||||||
import {showLoading,hideLoading} from '@/utils/message.js'
|
import {showLoading,hideLoading} from '@/utils/message.js'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
onLoad(async(opt) => {
|
onLoad(async(opt) => {
|
||||||
uni.setStorageSync('page_cache',true);
|
uni.setStorageSync('page_cache',true);
|
||||||
// initLoad();
|
// initLoad();
|
||||||
|
|||||||
@@ -4,14 +4,6 @@
|
|||||||
<view class="version">Version {{ appVersion }}</view>
|
<view class="version">Version {{ appVersion }}</view>
|
||||||
<!-- <view class="bottom-bg"></view> -->
|
<!-- <view class="bottom-bg"></view> -->
|
||||||
|
|
||||||
<!-- 测试用 -->
|
|
||||||
<!-- #ifdef APP-PLUS -->
|
|
||||||
<button @click="saveValue">保存数据</button>
|
|
||||||
<button @click="getValue">加载数据</button>
|
|
||||||
<view>{{content}}--{{ app_device_id }}</view>
|
|
||||||
<!-- #endif -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 检查版本弹窗 -->
|
<!-- 检查版本弹窗 -->
|
||||||
<view class="version-con" v-if="versionVisible">
|
<view class="version-con" v-if="versionVisible">
|
||||||
<view class="v-bg">
|
<view class="v-bg">
|
||||||
@@ -32,16 +24,17 @@ import { ref } from 'vue';
|
|||||||
import { onLoad } from '@dcloudio/uni-app';
|
import { onLoad } from '@dcloudio/uni-app';
|
||||||
import { versionCheck,getBindStatus } from '@/api/auth.js';
|
import { versionCheck,getBindStatus } from '@/api/auth.js';
|
||||||
import { formatIOS } from '@/utils/status.js'
|
import { formatIOS } from '@/utils/status.js'
|
||||||
|
import { requestAndroidPermissionAsync,requestAndroidPermission } from '@/utils/common.js'
|
||||||
|
import {showAlert} from '@/utils/message.js'
|
||||||
import { useUserStore } from '@/stores/user';
|
import { useUserStore } from '@/stores/user';
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
|
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
// 获取 存储手机的module
|
// 获取 存储手机的module
|
||||||
let safeSave = uni.requireNativePlugin("Tm-TmSafeSaveFileModule");
|
const safeSave = uni.requireNativePlugin("Tm-TmSafeSaveFileModule");
|
||||||
let app_device_id = ref("7f47cfb4-59e2-4cb9-ac46-9da5e23c4de2");
|
|
||||||
let content = ref('')
|
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
|
let systemInfo={};
|
||||||
let appVersion = ref("1.0.0");//当前版本号
|
let appVersion = ref("1.0.0");//当前版本号
|
||||||
let newVersion = ref('1.0.0');//最新版本号
|
let newVersion = ref('1.0.0');//最新版本号
|
||||||
let versionVisible=ref(false);//版本弹窗
|
let versionVisible=ref(false);//版本弹窗
|
||||||
@@ -62,7 +55,39 @@ onLoad(async(opt) => {
|
|||||||
|
|
||||||
// 不更新版本 执行设备ID查询和绑定操作
|
// 不更新版本 执行设备ID查询和绑定操作
|
||||||
if(!versionVisible.value){
|
if(!versionVisible.value){
|
||||||
selectDeviceId()
|
try {
|
||||||
|
// 授权设备存储
|
||||||
|
// let result = {granted:false}
|
||||||
|
// if(systemInfo.osVersion<13){
|
||||||
|
// let permissions = ['android.permission.READ_EXTERNAL_STORAGE', 'android.permission.WRITE_EXTERNAL_STORAGE'];
|
||||||
|
// result = await requestAndroidPermissionAsync(systemInfo,permissions);
|
||||||
|
// }else if(systemInfo.osVersion==13){
|
||||||
|
// let permissions = ['android.permission.READ_MEDIA_IMAGES', 'android.permission.READ_MEDIA_VIDEO', 'android.permission.READ_MEDIA_AUDIO'];
|
||||||
|
// result = await requestAndroidPermissionAsync(systemInfo,permissions);
|
||||||
|
// }else{
|
||||||
|
// let permissions = ['android.permission.READ_MEDIA_VISUAL_USER_SELECTED'];
|
||||||
|
// result = await requestAndroidPermissionAsync(systemInfo,permissions);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (result.granted) {
|
||||||
|
// showAlert("11授权成功!")
|
||||||
|
// setTimeout(()=>{
|
||||||
|
// selectDeviceId();
|
||||||
|
// },500)
|
||||||
|
// } else {
|
||||||
|
let granted = requestAndroidPermission(systemInfo);
|
||||||
|
if(granted){
|
||||||
|
showAlert("22授权成功!")
|
||||||
|
setTimeout(()=>{
|
||||||
|
selectDeviceId();
|
||||||
|
},500)
|
||||||
|
}
|
||||||
|
// showAlert("您还没对设备授权,请授权!")
|
||||||
|
// }
|
||||||
|
} catch (error) {
|
||||||
|
console.error('权限请求出错:', error);
|
||||||
|
showAlert(JSON.stringify(error))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
@@ -82,60 +107,9 @@ onLoad(async(opt) => {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// 保存设备ID
|
// 检查版本是否是最新的s
|
||||||
const saveValue = ()=>{
|
const getOSVesion = async()=>{
|
||||||
console.log("saveValue",safeSave)
|
systemInfo = uni.getSystemInfoSync();
|
||||||
safeSave.saveSafeFile({
|
|
||||||
"key": "app_device_id",
|
|
||||||
"value": app_device_id.value
|
|
||||||
}, (res) => {
|
|
||||||
console.log(res);
|
|
||||||
if (res.code == 1) {
|
|
||||||
uni.showModal({
|
|
||||||
title: "保存成功",
|
|
||||||
content:res.msg,
|
|
||||||
success: function (res) {
|
|
||||||
if (res.confirm) {
|
|
||||||
content.value("成功=>")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
uni.showModal({
|
|
||||||
title: "保存失败",
|
|
||||||
content:res.msg,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 读取设备ID
|
|
||||||
const getValue =()=>{
|
|
||||||
console.log(safeSave)
|
|
||||||
safeSave.getSafeFile({
|
|
||||||
"key": "app_device_id"
|
|
||||||
}, (res) => {
|
|
||||||
console.log(res);
|
|
||||||
if (res.code == 1) {
|
|
||||||
app_device_id.value = res.data;
|
|
||||||
content.value = "aaaa==>"
|
|
||||||
uni.showModal({
|
|
||||||
title: "读取成功",
|
|
||||||
content:res.data,
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
uni.showModal({
|
|
||||||
title: "读取失败",
|
|
||||||
content: res.msg,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
};
|
|
||||||
|
|
||||||
// 检查版本是否是最新的
|
|
||||||
let getOSVesion = async()=>{
|
|
||||||
let systemInfo = uni.getSystemInfoSync();
|
|
||||||
let param = {
|
let param = {
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
verNumber:systemInfo.appWgtVersion,//当前版本号
|
verNumber:systemInfo.appWgtVersion,//当前版本号
|
||||||
@@ -177,36 +151,49 @@ let getOSVesion = async()=>{
|
|||||||
// 查询设备ID
|
// 查询设备ID
|
||||||
const selectDeviceId = async()=>{
|
const selectDeviceId = async()=>{
|
||||||
// 查询本地缓存的设备状态是否绑定过
|
// 查询本地缓存的设备状态是否绑定过
|
||||||
let deviceId = uni.getStorageSync('app_device_id');// 本地设备ID
|
// let deviceId = uni.getStorageSync('app_device_id');// 本地设备ID
|
||||||
console.log("uniqCode=>",deviceId)
|
try {
|
||||||
if(!deviceId){
|
// showAlert("safeSave=>"+safeSave)
|
||||||
setTimeout(()=>{
|
safeSave.getSafeFile({ "key": "app_device_id" }, res2 => {
|
||||||
uni.reLaunch({
|
// showAlert("读取成功=>"+JSON.stringify(res2));
|
||||||
url: '/pages/deviceAuth/deviceAuth',
|
if (res2.code == 1) {
|
||||||
});
|
let deviceId = res2.data;
|
||||||
},2000)
|
console.log("读取成功=>",deviceId)
|
||||||
}else{
|
showAlert("读取成功=>"+deviceId);
|
||||||
let res = await getBindStatus({uniqCode:deviceId});
|
getBindStatus({uniqCode:deviceId}).then(res=>{
|
||||||
setTimeout(()=>{
|
let bindStatus = res.bindStatus
|
||||||
// 绑定状态(1=已提交、2=等待审核、3=审核通过、4=绑定成功、5=审核拒绝)
|
setTimeout(()=>{
|
||||||
if(res.bindStatus == 4){
|
// 绑定状态(1=已提交、2=等待审核、3=审核通过、4=绑定成功、5=审核拒绝)
|
||||||
// 检查是否已登录 并 获取用户信息
|
if(bindStatus == 4){
|
||||||
if (userStore.isLogin) {
|
// 检查是否已登录 并 获取用户信息
|
||||||
uni.reLaunch({
|
if (userStore.isLogin) {
|
||||||
url: '/pages/home/home',
|
uni.reLaunch({
|
||||||
});
|
url: '/pages/home/home',
|
||||||
|
});
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: '/pages/login/login',
|
url: '/pages/login/login',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: '/pages/deviceAuth/deviceAuth',
|
url: '/pages/deviceAuth/deviceAuth',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},2000)
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
showAlert('读取失败:'+res2.msg)
|
||||||
|
setTimeout(()=>{
|
||||||
|
uni.reLaunch({
|
||||||
|
url: '/pages/deviceAuth/deviceAuth',
|
||||||
|
});
|
||||||
|
},2000)
|
||||||
}
|
}
|
||||||
},2000)
|
})
|
||||||
|
} catch (error) {
|
||||||
|
showAlert("catch=>"+error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 下载最新版本
|
// 下载最新版本
|
||||||
|
|||||||
@@ -84,7 +84,12 @@ import { getNavBarPaddingTop} from '@/utils/system.js'
|
|||||||
import { useUserStore } from '@/stores/user';
|
import { useUserStore } from '@/stores/user';
|
||||||
import encryptObj from '@/utils/encrypt.js'
|
import encryptObj from '@/utils/encrypt.js'
|
||||||
import { CLIENT_ID } from '@/enums/cacheEnums';
|
import { CLIENT_ID } from '@/enums/cacheEnums';
|
||||||
|
import {showAlert} from '@/utils/message.js'
|
||||||
|
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
// 获取 存储手机的module
|
||||||
|
const safeSave = uni.requireNativePlugin("Tm-TmSafeSaveFileModule");
|
||||||
|
// #endif
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
onLoad(async(opt) => {
|
onLoad(async(opt) => {
|
||||||
uni.setStorageSync('page_cache',true);
|
uni.setStorageSync('page_cache',true);
|
||||||
@@ -244,14 +249,60 @@ const submitForm = () => {
|
|||||||
form2.value.validate().then(async param => {
|
form2.value.validate().then(async param => {
|
||||||
param.loginType = activeTab.value;
|
param.loginType = activeTab.value;
|
||||||
let clientId = `${CLIENT_ID || "2"}`;
|
let clientId = `${CLIENT_ID || "2"}`;
|
||||||
|
param.clientId = clientId;
|
||||||
let password = encryptObj.Encrypt(param.username + clientId + "," + param.password);
|
let password = encryptObj.Encrypt(param.username + clientId + "," + param.password);
|
||||||
param.password = password;
|
param.password = password;
|
||||||
|
|
||||||
|
// #ifdef H5
|
||||||
param.uniqCode = uni.getStorageSync('app_device_id');//先从缓存取之后处理 '7f47cfb4-59e2-4cb9-ac46-9da5e23c4de2'//
|
param.uniqCode = uni.getStorageSync('app_device_id');//先从缓存取之后处理 '7f47cfb4-59e2-4cb9-ac46-9da5e23c4de2'//
|
||||||
param.clientId = clientId;
|
|
||||||
let res = await login(param);
|
let res = await login(param);
|
||||||
userStore.login(res);
|
userStore.login(res);
|
||||||
uni.switchTab({ url: '/pages/home/home' })
|
uni.switchTab({ url: '/pages/home/home' })
|
||||||
btnLoading.value = false;
|
btnLoading.value = false;
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
try {
|
||||||
|
// 授权设备存储
|
||||||
|
// let systemInfo = uni.getSystemInfoSync();
|
||||||
|
// let result = {}
|
||||||
|
// 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) {
|
||||||
|
// console.log('所有权限已授予')
|
||||||
|
safeSave.getSafeFile({ "key": "app_device_id" }, res3 => {
|
||||||
|
if (res3.code == 1) {
|
||||||
|
let deviceId = res3.data;
|
||||||
|
showAlert("读取成功=>"+deviceId);
|
||||||
|
param.uniqCode = deviceId;
|
||||||
|
login(param).then(res=>{
|
||||||
|
userStore.login(res);
|
||||||
|
uni.switchTab({ url: '/pages/home/home' })
|
||||||
|
btnLoading.value = false;
|
||||||
|
})
|
||||||
|
|
||||||
|
} else {
|
||||||
|
showAlert('读取失败:'+res3.msg)
|
||||||
|
btnLoading.value = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// } else {
|
||||||
|
// showAlert("您还没对设备授权,请授权!")
|
||||||
|
// btnLoading.value = false;
|
||||||
|
// }
|
||||||
|
} catch (error) {
|
||||||
|
console.error('出错:', error);
|
||||||
|
showAlert('出错:', error)
|
||||||
|
btnLoading.value = false;
|
||||||
|
}
|
||||||
|
// #endif
|
||||||
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log('表单错误11:', err);
|
console.log('表单错误11:', err);
|
||||||
btnLoading.value = false;
|
btnLoading.value = false;
|
||||||
|
|||||||
@@ -1,12 +1,161 @@
|
|||||||
|
import {showAlert} from '@/utils/message.js'
|
||||||
|
|
||||||
// 递归算法
|
// 递归算法
|
||||||
export const initTree = (arr, parentId='0',id) => {
|
export const initTree = (arr, parentId = '0', id) => {
|
||||||
const tree = [];
|
const tree = [];
|
||||||
arr.filter(item => item.parentId === parentId).forEach(item => {
|
arr.filter(item => item.parentId === parentId).forEach(item => {
|
||||||
const children = initTree(arr, item[id]);
|
const children = initTree(arr, item[id]);
|
||||||
if (children.length > 0) {
|
if (children.length > 0) {
|
||||||
item.children = children;
|
item.children = children;
|
||||||
}
|
}
|
||||||
tree.push(item);
|
tree.push(item);
|
||||||
});
|
});
|
||||||
return tree;
|
return tree;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 安卓异步调用
|
||||||
|
export const requestAndroidPermissionAsync = (systemInfo,permissions) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
// if (uni.getSystemInfoSync().platform !== 'android') {
|
||||||
|
// resolve({ granted: true, nonSystem: true })
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
plus.android.requestPermissions(permissions,(result) => {
|
||||||
|
showAlert("result=>"+JSON.stringify(result))
|
||||||
|
// const granted = Object.values(result.granted).every(Boolean);
|
||||||
|
|
||||||
|
let granted = false;
|
||||||
|
if(systemInfo.osVersion<13){
|
||||||
|
granted = result.granted.length==2
|
||||||
|
} else if(systemInfo.osVersion==13){
|
||||||
|
granted =result.granted.length==3
|
||||||
|
} else{
|
||||||
|
granted = result.granted.length==1
|
||||||
|
}
|
||||||
|
resolve({ ...result, granted })
|
||||||
|
|
||||||
|
},(error) => {
|
||||||
|
reject(error)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 安卓同步调用
|
||||||
|
export const requestAndroidPermission = (systemInfo) => {
|
||||||
|
let granted = false;
|
||||||
|
const Manifest = plus.android.importClass("android.Manifest");
|
||||||
|
const MainActivity = plus.android.runtimeMainActivity();
|
||||||
|
if(systemInfo.osVersion <13){ // 安卓系统版本
|
||||||
|
let permissionStatus = MainActivity.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||||
|
let perStatus = 0;
|
||||||
|
if (permissionStatus === 0) {
|
||||||
|
perStatus++;
|
||||||
|
}
|
||||||
|
permissionStatus = MainActivity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||||
|
if (permissionStatus === 0) {
|
||||||
|
perStatus++;
|
||||||
|
}
|
||||||
|
if(perStatus ==2){
|
||||||
|
granted=true
|
||||||
|
}else{
|
||||||
|
granted=false //"当前文件保存权限被关闭,请到设置中开启才能继续后续操作"
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: "请点击授权",
|
||||||
|
cancelText:'去设置',
|
||||||
|
confirmText:'已设置',
|
||||||
|
success: function (res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
uni.reLaunch({
|
||||||
|
url: '/pages/loading/loading',
|
||||||
|
});
|
||||||
|
} else if (res.cancel) {
|
||||||
|
jumpAuthPermission();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}else if(systemInfo.osVersion ==13){
|
||||||
|
let permissionStatus = MainActivity.checkSelfPermission(Manifest.permission.READ_MEDIA_IMAGES);
|
||||||
|
let perStatus = 0;
|
||||||
|
if (permissionStatus === 0) {
|
||||||
|
perStatus++;
|
||||||
|
}
|
||||||
|
permissionStatus = MainActivity.checkSelfPermission(Manifest.permission.READ_MEDIA_VIDEO);
|
||||||
|
if (permissionStatus === 0) {
|
||||||
|
perStatus++;
|
||||||
|
}
|
||||||
|
permissionStatus = MainActivity.checkSelfPermission(Manifest.permission.READ_MEDIA_AUDIO);
|
||||||
|
if (permissionStatus === 0) {
|
||||||
|
perStatus++;
|
||||||
|
}
|
||||||
|
if(perStatus ==3){
|
||||||
|
granted=true
|
||||||
|
}else{
|
||||||
|
granted=false //"当前文件保存权限被关闭,请到设置中开启才能继续后续操作"
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: "请点击授权",
|
||||||
|
cancelText:'去设置',
|
||||||
|
confirmText:'已设置',
|
||||||
|
success: function (res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
uni.reLaunch({
|
||||||
|
url: '/pages/loading/loading',
|
||||||
|
});
|
||||||
|
} else if (res.cancel) {
|
||||||
|
jumpAuthPermission();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
let permissionStatus = MainActivity.checkSelfPermission(Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED);
|
||||||
|
let perStatus = 0;
|
||||||
|
if (permissionStatus === 0) {
|
||||||
|
perStatus++;
|
||||||
|
}
|
||||||
|
if(perStatus ==1){
|
||||||
|
granted=true
|
||||||
|
}else{
|
||||||
|
granted=false //"当前文件保存权限被关闭,请到设置中开启才能继续后续操作"
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: "请点击授权",
|
||||||
|
cancelText:'去设置',
|
||||||
|
confirmText:'已设置',
|
||||||
|
success: function (res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
uni.reLaunch({
|
||||||
|
url: '/pages/loading/loading',
|
||||||
|
});
|
||||||
|
} else if (res.cancel) {
|
||||||
|
jumpAuthPermission();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return granted
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 跳转授权按钮
|
||||||
|
const jumpAuthPermission=()=>{
|
||||||
|
var main = plus.android.runtimeMainActivity();
|
||||||
|
var Intent = plus.android.importClass('android.content.Intent');
|
||||||
|
var Uri = plus.android.importClass('android.net.Uri');
|
||||||
|
var pkg = main.getPackageName();
|
||||||
|
var intent = new Intent('android.settings.APPLICATION_DETAILS_SETTINGS');
|
||||||
|
intent.setData(Uri.parse('package:' + pkg));
|
||||||
|
main.startActivity(intent);
|
||||||
|
setTimeout(()=>{
|
||||||
|
uni.reLaunch({
|
||||||
|
url: '/pages/loading/loading',
|
||||||
|
});
|
||||||
|
},500)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user