<template> <view> <status-nav navBarTitle="设置" returnColor="#c2c2c2"></status-nav> <container-subgroup> <view slot="content" style="margin: 0 -30rpx;" class="fon28"> <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> <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> <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 --> <view @tap="gopageEv(0)" class="bacf pad30 disjbac mar-s20 bbot"> <view>上门服务条款</view> <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> <view @tap="gopageEv(1)" class="bacf pad30 disjbac bbot"> <view>用户服务协议</view> <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> <view @tap="gopageEv(2)" class="bacf pad30 disjbac bbot"> <view>飞猴云服务隐私政策</view> <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> <view @tap="gopageEv(3)" class="bacf pad30 disjbac bbot"> <view>技术服务合作协议</view> <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> <view @tap="gopageEv(4)" class="bacf pad30 disjbac bbot"> <view>关于飞猴云服务</view> <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',//缓存数据大小 agreementArr:[],//协议对象 } }, onLoad() { // 调用获取缓存数据的大小 this.getStorageDataNum(); // 调用获取设置信息 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 }, // 语音提醒事件\新消息通知事件 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}) this.getSettings(); } }) }, // 修改登录密码 updatePassword(){ uni.navigateTo({ url:'/pages/forget/forget' }) }, // 获取设置信息 getSettings(){ let params = { voice_reminder:'', receive_message:'' } this.$requst.get('/universal/api.settings/settings',params).then(res=>{ if(res.code){ this.voiceStatus = [false,true][res.data.voice_reminder]; this.newsStatus = [false,true][res.data.receive_message]; uni.setStorageSync('ifVoice',this.voiceStatus); uni.setStorageSync('ifMessage',this.newsStatus); 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) } } } }) }, // 清除缓存事件 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 }) } } } }) } } }) }); }, // 去服务协议、服务条款、隐私政策、合作协议、飞猴云服务页面 gopageEv(index) { uni.navigateTo({ url:`/pages/login/agreement?title=${this.agreementArr[index].title}&id=${this.agreementArr[index].id}` }) } } } </script> <style> </style>