<template> <view class='set-page'> <view class='set-main'> <view class='main-line'> <view class='line-item' @click='getProtol'> <view class='item-text'>相关协议</view> <view class='item-icon'></view> </view> <view class='line-item' @click='cancelSize'> <view class='item-text'>清除缓存</view> <view class='item-r'> <view class='r-text'>{{ cacheSize }}</view> <i class='r-icon'></i> </view> </view> <view class='line-item'> <view class='item-text'>当前版本</view> <view class='item-version'>{{ versionNumber }}</view> </view> </view> <view v-show="token != ''"> <view class='line-des'> 如果您今后不打算使用APP,您可以选择 <view class='des-x' @click='goCancel'>注销账号</view> </view> <view class='line-tips'>注:该操作不可恢复</view> </view> </view> <view v-show="token != ''" class='set-footer' @click='goOut'>退出登录</view> <!-- 注销 --> <view :hidden="userFeedbackHidden" class="popup_content"> <view class="popup_title">提示</view> <view class='popup_main'> 您一但确认注销,您所有信息都会被清除,您确认注销账号? </view> <view class='btn-main'> <view class='btn-confirm' @click='cancelAccount()'> 确认 </view> <view class='btn-cel' @click="hideDiv()"> 取消 </view> </view> </view> <view class="popup_overlay" :hidden="userFeedbackHidden"></view> <!-- 退出 --> <view :hidden="outHidden" class="popup_content"> <view class="popup_title">提示</view> <view class='popup_main'> 您确定退出登录吗? </view> <view class='btn-main'> <view class='btn-confirm' @click='loginOut()'> 确认 </view> <view class='btn-cel' @click="loginCel()"> 取消 </view> </view> </view> <view class="popup_overlay" :hidden="outHidden"></view> </view> </template> <script> export default { data() { return { userFeedbackHidden: true,//弹窗 outHidden: true, protocolList: [], versionNumber: '', cacheSize: '', token: '' } }, onLoad() { let self = this; self.init() self.buryingPoint('app:setting_pageView') self.token = uni.getStorageSync('token') plus.cache.calculate(size => { 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'; } console.log(self.cacheSize, 'size') }); plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) { if (wgtinfo.version) { self.versionNumber = wgtinfo.version; } else { self.versionNumber = plus.runtime.version; } console.log(self.versionNumber, 'version') }); }, methods: { toJSON() { }, init() { const self = this self.$request('/app/version/getSetting', 'POST').then(res => { const { protocol, phone } = res.result console.log(protocol, typeof (protocol), 'setting') if (protocol) { console.log(typeof (protocol), '8888') self.protocolList = JSON.parse(protocol) } }).catch(err => { console.log(err, '请求出错') }) }, cancelSize() { let self = this; plus.cache.clear(res => { uni.showToast({ title: '清除成功!', icon: 'none', success() { self.cacheSize = '0B'; } }); }) }, getProtol() { uni.navigateTo({ url: '/subPackage/prolist/prolist?mydata=' + encodeURIComponent(JSON.stringify(this.protocolList)) }) }, goCancel() { this.userFeedbackHidden = false }, goOut() { // this.userHidden=false this.outHidden = false const pages = getCurrentPages(); console.log(pages.length, '写') pages.forEach(page => { console.log(page.route, '路由信息') }) }, cancelAccount() { //注销账号 const self = this self.$request('/app/user/userCancellation', 'POST').then(res => { console.log(res, 'myinit'); const { die } = res.result console.log(die, 'die') if (die == true) { console.log(die, 'die2') self.userFeedbackHidden = false uni.removeStorageSync('token') this.Go('uni:/pages/index/index', 'tab') } }) }, loginOut() { const pages = getCurrentPages(); pages.forEach(page => { console.log(page, '页面') const isWebView = page.$getAppWebview(); if (isWebView) { let currentPages = page.$getAppWebview() let children = isWebView.children() if (children.length) { children[0].close() } } }) //退出登录 const self = this console.log(333) self.$request('/app/user/loginOut', 'POST').then(res => { console.log(res, 'logout'); uni.setTabBarItem({ index: 1, visible: false }) self.outHidden = false uni.removeStorageSync('token') this.Go('uni:/pages/index/index', 'tab') }) }, loginCel() { this.outHidden = true }, hideDiv() { //隐藏弹窗 this.userFeedbackHidden = true this.userHidden = true this.outHidden = true }, }, onShow() { this.init() this.token = uni.getStorageSync('token') } } </script> <style src='./index.less' lang="less" scoped></style>