Browse Source

新增登出操作

master
xuhuajiao 1 week ago
parent
commit
65f3796140
  1. 56
      pages/user/user.vue
  2. 4
      static/iconfont.css
  3. BIN
      static/iconfont.ttf
  4. 2
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  5. 2
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/user.js.map
  6. 6
      unpackage/dist/dev/mp-weixin/common/main.wxss
  7. 55
      unpackage/dist/dev/mp-weixin/pages/user/user.js
  8. 2
      unpackage/dist/dev/mp-weixin/pages/user/user.wxml
  9. 4
      unpackage/dist/dev/mp-weixin/static/iconfont.css
  10. BIN
      unpackage/dist/dev/mp-weixin/static/iconfont.ttf

56
pages/user/user.vue

@ -42,6 +42,10 @@
<uni-icons custom-prefix="iconfont" type="icon-UIsheji_menjinxitong-28" size="20"></uni-icons> <uni-icons custom-prefix="iconfont" type="icon-UIsheji_menjinxitong-28" size="20"></uni-icons>
<text class="left-txt">挂失读者证</text> <text class="left-txt">挂失读者证</text>
</view> </view>
<view v-if="!!isBindLibraryCard" class="submenu-item" @click="toLogOut()">
<uni-icons custom-prefix="iconfont" type="icon-tuichu" size="20"></uni-icons>
<text class="left-txt">退出账号</text>
</view>
</view> </view>
<view> <view>
@ -61,16 +65,23 @@ export default {
data() { data() {
return { return {
token: "", token: "",
userInfo: {}
userInfo: {},
isBindLibraryCard: false
}; };
}, },
onLoad() { onLoad() {
this.loadUser()
// this.loadUser()
this.checkLoginStatus();
}, },
onShow() { onShow() {
this.loadUser()
// this.loadUser()
this.checkLoginStatus();
}, },
methods: { methods: {
checkLoginStatus() {
this.loadUser();
this.isBindLibraryCard = !!this.token;
},
// //
loadUser() { loadUser() {
this.token = uni.getStorageSync("token") || "" this.token = uni.getStorageSync("token") || ""
@ -144,7 +155,44 @@ export default {
dialogClose() { dialogClose() {
console.log('取消') console.log('取消')
}
},
toLogOut() {
// 退
uni.showModal({
title: '确认退出',
content: '确定要退出当前账号吗?',
success: (res) => {
if (res.confirm) {
// 1.
uni.removeStorageSync("token");
uni.removeStorageSync("user-info");
uni.removeStorageSync("wxUserInfo");
uni.removeStorageSync("wxSignature");
// 2.
this.token = "";
this.userInfo = {};
this.isBindLibraryCard = false;
// 3.
uni.showToast({
title: '退出成功',
icon: 'success'
});
//
uni.switchTab({
url: "/pages/home/home"
});
//
// uni.navigateTo({
// url: "/pages/login/login"
// });
}
}
});
},
} }
} }
</script> </script>

4
static/iconfont.css

@ -11,6 +11,10 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-tuichu:before {
content: "\e7ed";
}
.icon-shijian:before { .icon-shijian:before {
content: "\e6c8"; content: "\e6c8";
} }

BIN
static/iconfont.ttf

2
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
File diff suppressed because it is too large
View File

2
unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/user.js.map
File diff suppressed because it is too large
View File

6
unpackage/dist/dev/mp-weixin/common/main.wxss
File diff suppressed because it is too large
View File

55
unpackage/dist/dev/mp-weixin/pages/user/user.js

@ -228,20 +228,31 @@ exports.default = void 0;
// //
// //
// //
//
//
//
//
var _default = { var _default = {
data: function data() { data: function data() {
return { return {
token: "", token: "",
userInfo: {}
userInfo: {},
isBindLibraryCard: false
}; };
}, },
onLoad: function onLoad() { onLoad: function onLoad() {
this.loadUser();
// this.loadUser()
this.checkLoginStatus();
}, },
onShow: function onShow() { onShow: function onShow() {
this.loadUser();
// this.loadUser()
this.checkLoginStatus();
}, },
methods: { methods: {
checkLoginStatus: function checkLoginStatus() {
this.loadUser();
this.isBindLibraryCard = !!this.token;
},
// 统一读取用户信息 // 统一读取用户信息
loadUser: function loadUser() { loadUser: function loadUser() {
this.token = uni.getStorageSync("token") || ""; this.token = uni.getStorageSync("token") || "";
@ -314,6 +325,44 @@ var _default = {
}, },
dialogClose: function dialogClose() { dialogClose: function dialogClose() {
console.log('取消'); console.log('取消');
},
toLogOut: function toLogOut() {
var _this = this;
// 弹窗确认退出
uni.showModal({
title: '确认退出',
content: '确定要退出当前账号吗?',
success: function success(res) {
if (res.confirm) {
// 1. 清空所有登录相关缓存
uni.removeStorageSync("token");
uni.removeStorageSync("user-info");
uni.removeStorageSync("wxUserInfo");
uni.removeStorageSync("wxSignature");
// 2. 重置当前页面的登录状态(你的首页变量)
_this.token = "";
_this.userInfo = {};
_this.isBindLibraryCard = false;
// 3. 提示
uni.showToast({
title: '退出成功',
icon: 'success'
});
// 跳回首页
uni.switchTab({
url: "/pages/home/home"
});
// 跳转到登录页
// uni.navigateTo({
// url: "/pages/login/login"
// });
}
}
});
} }
} }
}; };

2
unpackage/dist/dev/mp-weixin/pages/user/user.wxml

@ -1 +1 @@
<view style="padding-bottom:20px;" class="data-v-80842834"><view class="top-user-bar data-v-80842834"><image class="top-bar-bg data-v-80842834" src="/static/images/mingqi-beij@2x.png" mode="aspectFill"></image><view class="user-info data-v-80842834"><image class="avatar data-v-80842834" src="{{userInfo.avatarUrl||'/static/images/default-avatar.png'}}" mode="aspectFill"></image><view class="user-info-text data-v-80842834"><text class="user-name data-v-80842834">{{userInfo.nickName||'未登录'}}</text><text class="user-card data-v-80842834">{{userInfo.cardNo||''}}</text></view></view><view class="user-menu data-v-80842834"><view data-event-opts="{{[['tap',[['toCheckLogin',['收藏']]]]]}}" class="menu-item data-v-80842834" bindtap="__e"><image class="menu-icon data-v-80842834" src="/static/images/menu-sc.png" mode="scaleToFill"></image><text class="menu-txt data-v-80842834">收藏</text></view><view data-event-opts="{{[['tap',[['toCheckLogin',['借阅']]]]]}}" class="menu-item data-v-80842834" bindtap="__e"><image class="menu-icon data-v-80842834" src="/static/images/menu-jy.png" mode="scaleToFill"></image><text class="menu-txt data-v-80842834">借阅</text></view></view></view><view class="submenu-box data-v-80842834"><view data-event-opts="{{[['tap',[['toCheckLogin',['我的留言']]]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-1" custom-prefix="iconfont" type="icon-liuyan" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">我的留言</text></view><view data-event-opts="{{[['tap',[['toCheckLogin',['个人资料']]]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-2" custom-prefix="iconfont" type="icon-shezhi" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">个人资料</text></view><view data-event-opts="{{[['tap',[['toCheckLogin',['修改密码']]]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-3" custom-prefix="iconfont" type="icon-xiugai" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">修改密码</text></view><view data-event-opts="{{[['tap',[['toCheckLogin',['挂失读者证']]]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-4" custom-prefix="iconfont" type="icon-UIsheji_menjinxitong-28" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">挂失读者证</text></view></view><view class="data-v-80842834"><uni-popup vue-id="380011e0-5" type="dialog" data-ref="alertDialog" class="data-v-80842834 vue-ref" bind:__l="__l" vue-slots="{{['default']}}"><uni-popup-dialog vue-id="{{('380011e0-6')+','+('380011e0-5')}}" type="info" cancelText="取消" confirmText="确定" title="提示" content="请您绑定读者证!" data-event-opts="{{[['^confirm',[['dialogConfirm']]],['^close',[['dialogClose']]]]}}" bind:confirm="__e" bind:close="__e" class="data-v-80842834" bind:__l="__l"></uni-popup-dialog></uni-popup></view></view>
<view style="padding-bottom:20px;" class="data-v-80842834"><view class="top-user-bar data-v-80842834"><image class="top-bar-bg data-v-80842834" src="/static/images/mingqi-beij@2x.png" mode="aspectFill"></image><view class="user-info data-v-80842834"><image class="avatar data-v-80842834" src="{{userInfo.avatarUrl||'/static/images/default-avatar.png'}}" mode="aspectFill"></image><view class="user-info-text data-v-80842834"><text class="user-name data-v-80842834">{{userInfo.nickName||'未登录'}}</text><text class="user-card data-v-80842834">{{userInfo.cardNo||''}}</text></view></view><view class="user-menu data-v-80842834"><view data-event-opts="{{[['tap',[['toCheckLogin',['收藏']]]]]}}" class="menu-item data-v-80842834" bindtap="__e"><image class="menu-icon data-v-80842834" src="/static/images/menu-sc.png" mode="scaleToFill"></image><text class="menu-txt data-v-80842834">收藏</text></view><view data-event-opts="{{[['tap',[['toCheckLogin',['借阅']]]]]}}" class="menu-item data-v-80842834" bindtap="__e"><image class="menu-icon data-v-80842834" src="/static/images/menu-jy.png" mode="scaleToFill"></image><text class="menu-txt data-v-80842834">借阅</text></view></view></view><view class="submenu-box data-v-80842834"><view data-event-opts="{{[['tap',[['toCheckLogin',['我的留言']]]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-1" custom-prefix="iconfont" type="icon-liuyan" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">我的留言</text></view><view data-event-opts="{{[['tap',[['toCheckLogin',['个人资料']]]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-2" custom-prefix="iconfont" type="icon-shezhi" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">个人资料</text></view><view data-event-opts="{{[['tap',[['toCheckLogin',['修改密码']]]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-3" custom-prefix="iconfont" type="icon-xiugai" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">修改密码</text></view><view data-event-opts="{{[['tap',[['toCheckLogin',['挂失读者证']]]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-4" custom-prefix="iconfont" type="icon-UIsheji_menjinxitong-28" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">挂失读者证</text></view><block wx:if="{{!!isBindLibraryCard}}"><view data-event-opts="{{[['tap',[['toLogOut']]]]}}" class="submenu-item data-v-80842834" bindtap="__e"><uni-icons vue-id="380011e0-5" custom-prefix="iconfont" type="icon-tuichu" size="20" class="data-v-80842834" bind:__l="__l"></uni-icons><text class="left-txt data-v-80842834">退出账号</text></view></block></view><view class="data-v-80842834"><uni-popup vue-id="380011e0-6" type="dialog" data-ref="alertDialog" class="data-v-80842834 vue-ref" bind:__l="__l" vue-slots="{{['default']}}"><uni-popup-dialog vue-id="{{('380011e0-7')+','+('380011e0-6')}}" type="info" cancelText="取消" confirmText="确定" title="提示" content="请您绑定读者证!" data-event-opts="{{[['^confirm',[['dialogConfirm']]],['^close',[['dialogClose']]]]}}" bind:confirm="__e" bind:close="__e" class="data-v-80842834" bind:__l="__l"></uni-popup-dialog></uni-popup></view></view>

4
unpackage/dist/dev/mp-weixin/static/iconfont.css

@ -11,6 +11,10 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-tuichu:before {
content: "\e7ed";
}
.icon-shijian:before { .icon-shijian:before {
content: "\e6c8"; content: "\e6c8";
} }

BIN
unpackage/dist/dev/mp-weixin/static/iconfont.ttf

Loading…
Cancel
Save