flying-monkey/pagesB/set-up/set-up.vue

236 lines
7.7 KiB
Vue
Raw Normal View History

<template>
<view>
<status-nav navBarTitle="设置" returnColor="#c2c2c2"></status-nav>
<container-subgroup>
<view slot="content" style="margin: 0 -30rpx;" class="fon28">
2022-07-25 10:26:45 +00:00
<view class="bacf pad30 disjbac bbot">
<view>开启语音提醒</view>
<view><evan-switch v-model="voiceStatus" @change="voiceNewsEv($event,1)" :size="18" inactive-color="#b3b3b3" active-color="#fd8956"></evan-switch></view>
</view>
2022-08-19 07:02:10 +00:00
<!-- #ifdef APP-PLUS -->
2022-07-25 10:26:45 +00:00
<view class="bacf pad30 disjbac mar-x20">
<view>接受新消息通知</view>
<view><evan-switch v-model="newsStatus" @change="voiceNewsEv" :size="18" inactive-color="#b3b3b3" active-color="#fd8956"></evan-switch></view>
</view>
2022-08-19 07:02:10 +00:00
<!-- #endif -->
<view @tap="updatePassword" class="bacf pad30 disjbac bbot">
<view>修改登录密码</view>
<i class="icon icon-next col9" style="font-size: 26rpx;"></i>
</view>
<!-- #ifdef APP-PLUS -->
<view @tap="cleanEv" class="bacf pad30 disjbac">
<view>清除缓存</view>
<view class="col9">{{cacheSize}}</view>
</view>
<!-- #endif -->
2022-05-13 09:39:50 +00:00
<view @tap="gopageEv(0)" class="bacf pad30 disjbac mar-s20 bbot">
<view>上门服务条款</view>
2022-07-25 10:26:45 +00:00
<view class="disac col9" v-if="agreementArr.length">
{{agreementArr[0].version}}<i class="icon icon-next col9 mar-z10" style="font-size: 26rpx;"></i>
</view>
</view>
2022-05-13 09:39:50 +00:00
<view @tap="gopageEv(1)" class="bacf pad30 disjbac bbot">
<view>用户服务协议</view>
2022-07-25 10:26:45 +00:00
<view class="disac col9" v-if="agreementArr.length">
{{agreementArr[1].version}}<i class="icon icon-next col9 mar-z10" style="font-size: 26rpx;"></i>
</view>
</view>
2022-05-13 09:39:50 +00:00
<view @tap="gopageEv(2)" class="bacf pad30 disjbac bbot">
<view>飞猴云服务隐私政策</view>
2022-07-25 10:26:45 +00:00
<view class="disac col9" v-if="agreementArr.length">
{{agreementArr[2].version}}<i class="icon icon-next col9 mar-z10" style="font-size: 26rpx;"></i>
</view>
</view>
2022-05-13 09:39:50 +00:00
<view @tap="gopageEv(3)" class="bacf pad30 disjbac bbot">
<view>技术服务合作协议</view>
2022-07-25 10:26:45 +00:00
<view class="disac col9" v-if="agreementArr.length">
{{agreementArr[3].version}}<i class="icon icon-next col9 mar-z10" style="font-size: 26rpx;"></i>
</view>
</view>
2022-05-13 09:39:50 +00:00
<view @tap="gopageEv(4)" class="bacf pad30 disjbac bbot">
<view>关于飞猴云服务</view>
2022-07-25 10:26:45 +00:00
<view class="disac col9" v-if="agreementArr.length">
{{agreementArr[4].version}}<i class="icon icon-next col9 mar-z10" style="font-size: 26rpx;"></i>
</view>
</view>
<!-- #ifdef APP-PLUS -->
<view @tap="checkEdition" class="bacf pad30 disjbac">
<view>版本更新</view>
<view class="col9">当前版本 5.1.4</view>
</view>
<!-- #endif -->
</view>
</container-subgroup>
</view>
</template>
<script>
import evanSwitch from '@/components/evan-switch/evan-switch.vue';
export default {
components:{
evanSwitch
},
data() {
return {
voiceStatus:false,//是否开启语音提醒
newsStatus:false,//是否开启接受新消息通知
cacheSize:'754.72 KB',//缓存数据大小
2022-07-25 10:26:45 +00:00
agreementArr:[],//协议对象
}
},
onLoad() {
// 调用获取缓存数据的大小
this.getStorageDataNum();
2022-07-25 10:26:45 +00:00
// 调用获取设置信息
this.getSettings();
},
methods: {
// 获取缓存数据的大小
getStorageDataNum(){
// #ifdef APP-PLUS
var self = this;
plus.cache.calculate(function(size) { //size是多少个字节单位是b
//做下面相应的处理
if (size < 1024) {
self.cacheSize = size + ' B';
} else if (size / 1024 >= 1 && size / 1024 / 1024 < 1) {
self.cacheSize = Math.floor(size / 1024 * 100) / 100 + ' KB';
} else if (size / 1024 / 1024 >= 1) {
self.cacheSize = Math.floor(size / 1024 / 1024 * 100) / 100 + ' M';
}
});
// #endif
},
2022-07-25 10:26:45 +00:00
// 语音提醒事件\新消息通知事件
voiceNewsEv(status,num=0){
num ? this.voiceStatus = status : this.newsStatus = status;
let params = {
voice_reminder:this.voiceStatus?1:0,
receive_message:this.newsStatus?1:0
}
this.$requst.post('/universal/api.settings/settings',params).then(res=>{
if(res.code){
// uni.navigateBack({delta:1})
2022-08-16 06:35:07 +00:00
this.getSettings();
2022-07-25 10:26:45 +00:00
}
})
},
// 修改登录密码
updatePassword(){
uni.navigateTo({
url:'/pages/forget/forget'
})
},
2022-07-25 10:26:45 +00:00
// 获取设置信息
2022-03-30 10:04:40 +00:00
getSettings(){
2022-07-25 10:26:45 +00:00
let params = {
voice_reminder:'',
receive_message:''
}
this.$requst.get('/universal/api.settings/settings',params).then(res=>{
if(res.code){
2022-07-25 10:26:45 +00:00
this.voiceStatus = [false,true][res.data.voice_reminder];
this.newsStatus = [false,true][res.data.receive_message];
2022-08-16 06:35:07 +00:00
uni.setStorageSync('ifVoice',this.voiceStatus);
uni.setStorageSync('ifMessage',this.newsStatus);
2022-07-25 10:26:45 +00:00
for (let key in res.data) {
if(res.data[key]!=1&&res.data[key]!=0){
let obj = {
...res.data[key],
title:key
}
this.agreementArr.push(obj)
}
}
2022-03-30 10:04:40 +00:00
}
})
},
// 清除缓存事件
cleanEv(){
console.log('清除缓存事件');
// #ifdef APP-PLUS
var self = this;
//使用plus.cache.clear 清除应用中的缓存数据
plus.cache.clear(function() {
uni.showToast({
title: '清除成功!',
icon: 'none',
success() {
self.cacheSize = '0B'
}
})
});
// #endif
},
// 检测版本事件
checkEdition(){
// status int 升级标志1需要升级0无需升级
// note string 升级日志
// android_url string 安卓包下载地址
// ios_url string 苹果更新商店地址
// 检测升级
plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
var platform = uni.getSystemInfoSync().platform;
this.$requst.get('/universal/api.other/update_version',{version:widgetInfo.version}).then(res=>{
if(res.code) {
// 判断是否需要更新
if (res.data.status) {
//content是版本更新内容 \n换行
uni.showModal({
title:`检测到有新版本`,
content:res.data.note,
confirmText:'更新',
cancelText:'取消',
success: (result) => {
if(result.confirm) {
//ios用户pkgUrl是苹果市场App地址android自定义下载地址
if(platform == 'ios'){
// plus.runtime.launchApplication({
// action: `itms-apps://itunes.apple.com/cn/app/id${appleId}?mt=8`
// }, function(e) {
// console.log('Open system default browser failed: ' + e.message);
// });
plus.runtime.openURL(res.data.ios_url);
}else{
var downloadTask = uni.downloadFile({
url: res.data.android_url,
success: (downloadResult) => {
if (downloadResult.statusCode === 200) {
plus.runtime.install(downloadResult.tempFilePath, {force: false }, function() {
plus.runtime.restart();
}, (e) => {
uni.showToast({
title: '安装升级包失败',
icon: 'none'
})
});
}
}
});
downloadTask.onProgressUpdate((e)=>{
// 监听进度条
// this.progress = e.progress
})
}
}
}
})
}
}
})
});
2022-05-13 09:39:50 +00:00
},
// 去服务协议、服务条款、隐私政策、合作协议、飞猴云服务页面
gopageEv(index) {
uni.navigateTo({
2022-07-25 10:26:45 +00:00
url:`/pages/login/agreement?title=${this.agreementArr[index].title}&id=${this.agreementArr[index].id}`
2022-05-13 09:39:50 +00:00
})
}
}
}
</script>
<style>
</style>