191 lines
5.0 KiB
Vue
191 lines
5.0 KiB
Vue
<template>
|
||
<view class="setting">
|
||
<!-- <view class="list-item">
|
||
<view>消息提醒</view>
|
||
<view>
|
||
<u-switch v-model="checked" active-color="#FF770F" inactive-color="#A9A7A7" size="35"></u-switch>
|
||
</view>
|
||
</view> -->
|
||
<view v-for="(item, index) in settingList" :key="index" class="list-item" @click="toNextPage(item.link)">
|
||
<view>{{ item.title }}</view>
|
||
<image src="../static/mine/21.png"></image>
|
||
</view>
|
||
<view class="list-item" @click="clearCache">
|
||
<view>清除缓存</view>
|
||
<view class="left-text">{{ fileSizeString }}</view>
|
||
</view>
|
||
<view class="list-item" @click="sheetStatus=true">
|
||
<view>退出登录</view>
|
||
<image src="../static/mine/21.png"></image>
|
||
</view>
|
||
<u-action-sheet v-model="sheetStatus" :list="list" :tips="tips" :border-radius="20" @click="choiceOption">
|
||
</u-action-sheet>
|
||
<u-modal v-model="show" show-confirm-button show-cancel-button :content="content" @confirm="loginOut"></u-modal>
|
||
</view>
|
||
</template>
|
||
<script>
|
||
import {
|
||
mapMutations
|
||
} from 'vuex';
|
||
import IMService from '@/static/imservice.js'
|
||
export default {
|
||
data() {
|
||
return {
|
||
checked: false,
|
||
tips: {
|
||
text: '您可选择以下操作',
|
||
color: '#999999',
|
||
fontSize: 24
|
||
},
|
||
sheetStatus: false,
|
||
list: [
|
||
// {
|
||
// text: '换个账号登录',
|
||
// color: '#FF780F',
|
||
// fontSize: 28
|
||
// },
|
||
{
|
||
text: '退出登录',
|
||
color: '#FF780F',
|
||
fontSize: 28
|
||
}
|
||
],
|
||
settingList: [{
|
||
title: '个人信息',
|
||
link: '../mine/MineInfo'
|
||
},
|
||
{
|
||
title: '收货地址',
|
||
link: '../more/Address'
|
||
},
|
||
{
|
||
title: '证件中心',
|
||
link: '../mine/ArticleDetails?type=1'
|
||
},
|
||
{
|
||
title: '第三方绑定',
|
||
link: './binding'
|
||
},
|
||
{
|
||
title: '屏蔽用户',
|
||
link: './ShieldUsers'
|
||
},
|
||
{
|
||
title: '关于我们',
|
||
link: '/pageE/setting/version'
|
||
},
|
||
{
|
||
title: '帮助与反馈',
|
||
link: './feedback'
|
||
},
|
||
{
|
||
title: '用户协议',
|
||
link: '/pageA/pactList/pactList?index=0'
|
||
},
|
||
{
|
||
title: '隐私政策',
|
||
link: '/pageA/pactList/pactList?index=1'
|
||
},
|
||
],
|
||
content: "是否退出登录!",
|
||
show: false,
|
||
fileSizeString: "", // 缓存大小
|
||
}
|
||
},
|
||
onLoad() {
|
||
this.getCache();
|
||
},
|
||
methods: {
|
||
...mapMutations(['logout']),
|
||
// 退出登录选择 0:切换账号 | 1:退出登录
|
||
choiceOption(index) {
|
||
console.log(index);
|
||
if (index == 0) {
|
||
this.show = true;
|
||
}
|
||
},
|
||
// 获取缓存
|
||
getCache() {
|
||
let _this = this;
|
||
// #ifdef APP-PLUS
|
||
plus.cache.calculate(function(size) {
|
||
let sizeCache = size;
|
||
if (sizeCache == 0) {
|
||
_this.fileSizeString = "0B";
|
||
} else if (sizeCache < 1024) {
|
||
_this.fileSizeString = sizeCache + "B";
|
||
} else if (sizeCache < 1048576) {
|
||
_this.fileSizeString = (sizeCache / 1024).toFixed(2) + "KB";
|
||
} else if (sizeCache < 1073741824) {
|
||
_this.fileSizeString = (sizeCache / 1048576).toFixed(2) + "MB";
|
||
} else {
|
||
_this.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "GB";
|
||
}
|
||
});
|
||
// #endif
|
||
},
|
||
// 清除缓存
|
||
clearCache() {
|
||
// #ifdef APP-PLUS
|
||
uni.showModal({
|
||
title: "确定要清理缓存吗?",
|
||
cancelColor: "#999",
|
||
confirmColor: "#f00",
|
||
success: (res) => {
|
||
// console.log(res);
|
||
if (res.confirm) {
|
||
plus.cache.clear(function(e) {
|
||
console.log(e);
|
||
})
|
||
this.getCache();
|
||
}
|
||
}
|
||
})
|
||
// #endif
|
||
},
|
||
toNextPage(url, ...params) {
|
||
uni.navigateTo({
|
||
url: url
|
||
});
|
||
},
|
||
async loginOut() {
|
||
// 显示新人领取优惠券
|
||
this.$store.commit('updateShowCoupons', true);
|
||
let im = this.imService
|
||
this.logout();
|
||
uni.redirectTo({
|
||
url: "../../pageA/login/login",
|
||
})
|
||
}
|
||
},
|
||
};
|
||
</script>
|
||
<style lang="scss" scoped>
|
||
.setting {
|
||
min-height: calc(100vh - var(--window-top));
|
||
background-color: #ECECEC;
|
||
|
||
.list-item {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
height: 98rpx;
|
||
border-top: 2rpx solid #EBEBEB;
|
||
background-color: #ffffff;
|
||
padding: 0 30rpx;
|
||
font-size: 30rpx;
|
||
color: rgba(51, 51, 51, 1);
|
||
|
||
>image {
|
||
width: 14rpx;
|
||
height: 24rpx;
|
||
}
|
||
|
||
.left-text {
|
||
margin-left: auto;
|
||
font-size: 28rpx;
|
||
}
|
||
}
|
||
}
|
||
</style>
|