242 lines
7.9 KiB
Vue
242 lines
7.9 KiB
Vue
<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>
|
||
<!-- #ifdef APP-PLUS -->
|
||
<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>
|
||
<!-- #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 -->
|
||
<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">当前版本 {{versionText}}</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:[],//协议对象
|
||
versionText:'1.0.0'
|
||
}
|
||
},
|
||
onLoad() {
|
||
// 调用获取缓存数据的大小
|
||
this.getStorageDataNum();
|
||
// 调用获取设置信息
|
||
this.getSettings();
|
||
// #ifdef APP-PLUS
|
||
// 检测版本
|
||
this.checkEdition();
|
||
// #endif
|
||
},
|
||
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.versionText = widgetInfo.version;
|
||
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>
|