index.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <view class="page_my">
  3. <image class="my_bg" src="@/static/image/bg/my_bg.png"></image>
  4. <view class="page_my_content">
  5. <view class="user_info">
  6. <view class="user_image">
  7. <image class="default_user" src="@/static/image/bg/default_user.png"></image>
  8. </view>
  9. <view class="user_info_content">
  10. <uni-tooltip :content="userName" placement="top">
  11. <view class="user_name">{{userName}}</view>
  12. </uni-tooltip>
  13. <view class="user_account">账号:{{userAccount}}</view>
  14. </view>
  15. </view>
  16. <view class="user_menu" @click="GoToHelp">
  17. <view class="menu_left">
  18. <i class="iconfont icon_help"></i>
  19. <text class="menu_text">帮助中心</text>
  20. </view>
  21. <uni-icons class="menu_right" type="right"></uni-icons>
  22. </view>
  23. <view class="user_menu" @click="UpdatePassword">
  24. <view class="menu_left">
  25. <image class="menu_icon" src="@/static/image/icon/update_pass.png"></image>
  26. <text class="menu_text">修改密码</text>
  27. </view>
  28. <uni-icons class="menu_right" type="right"></uni-icons>
  29. </view>
  30. <view class="user_menu" @click="Exit()">
  31. <view class="menu_left">
  32. <image class="menu_icon" src="@/static/image/icon/exit_icon.png"></image>
  33. <text class="menu_text">退出登录</text>
  34. </view>
  35. </view>
  36. </view>
  37. </view>
  38. <common-tabbar></common-tabbar>
  39. <popupDialog ref="popupDialogRef" :showTitle="false" content="确定退出当前账号?" @DialogConfirm="DialogConfirm" />
  40. </template>
  41. <script setup>
  42. import uniIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue';
  43. import uniTooltip from '@/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue';
  44. import popupDialog from '@/components/popupDialog.vue';
  45. import { ref, onMounted } from 'vue';
  46. import { useStore } from 'vuex';
  47. const store = useStore();
  48. const userName = ref('');
  49. const userAccount = ref('');
  50. const popupDialogRef = ref(null);
  51. onMounted(() => {
  52. GetUserInfo();
  53. });
  54. const Exit=()=>{
  55. if(popupDialogRef){
  56. popupDialogRef.value.OpenDialog();
  57. }
  58. };
  59. const DialogConfirm = () => {
  60. store.dispatch('logout', true);
  61. uni.reLaunch({
  62. url: '/pages/login/index'
  63. });
  64. }
  65. const GoToHelp=()=>{
  66. uni.navigateTo({
  67. url: '/pages/my/help'
  68. });
  69. };
  70. const GetUserInfo = () => {
  71. userName.value = store.state.userStore.userInfo.userName;
  72. userAccount.value = store.state.userStore.userInfo.accountId;
  73. };
  74. const UpdatePassword = () => {
  75. uni.navigateTo({
  76. url: '/pages/my/updatePassword'
  77. });
  78. }
  79. </script>
  80. <style scoped lang="scss">
  81. .user_info_content{
  82. display: flex;
  83. flex-direction: column;
  84. :deep(.uni-tooltip-popup){
  85. max-width: 500rpx;
  86. min-width: 100rpx;
  87. }
  88. }
  89. </style>