Blame view

pages/mine/index.vue 3.98 KB
0d1a4181   刘淇   个人中心
1
  <template>
cf70629b   刘淇   养护计划 照片 自己写样式
2
    <view class="page-container">
0d1a4181   刘淇   个人中心
3
      <!-- 顶部用户信息栏 -->
12e66ec8   刘淇   新增树
4
5
6
7
8
9
10
11
12
13
      <view class="header-bg">
        <up-avatar
            :src="'https://img.jichengshanshui.com.cn:28207/appimg/default-avatar.png'"
            size="100rpx"
            shape="square"
            class="user-avatar"
        ></up-avatar>
  
        <!-- 用户名+手机号 -->
        <view class="user-info-content">
5b5a4862   刘淇   按钮放大
14
          <view class="user-name">{{ userStore.isLogin ? userInfo.nickname : '未登录' }}</view>
c5fdc60a   刘淇   树详情
15
  <!--        <view class="user-phone">{{ userStore.isLogin ? userInfo.nickname : '&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;' }}</view>-->
24c0bbe7   刘淇   登录账号密码 加密存储
16
          <view class="user-phone">上次登录时间   {{ timeFormat(userInfo.loginDate)}}</view>
c5fdc60a   刘淇   树详情
17
  
0d1a4181   刘淇   个人中心
18
        </view>
12e66ec8   刘淇   新增树
19
  
0d1a4181   刘淇   个人中心
20
21
      </view>
  
12e66ec8   刘淇   新增树
22
23
24
25
26
  
      <view class="mine-content">
        <up-cell-group title="个人信息">
          <up-cell  title="姓名"  :value="userInfo.nickname"></up-cell>
          <up-cell  title="账号" :value="userInfo.username"></up-cell>
c5fdc60a   刘淇   树详情
27
          <up-cell  title="电话" :value="userInfo.mobile"></up-cell>
12e66ec8   刘淇   新增树
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
          <up-cell  title="角色" :value="translateRoles(userStore.userInfo.roles)"></up-cell>
        </up-cell-group>
      </view>
  
  
      <up-button
          v-if="!userStore.isLogin"
          type="primary"
          size="mini"
          shape="circle"
          @click="handleLogin"
          class="login-btn"
      >
        立即登录
      </up-button>
  
0d1a4181   刘淇   个人中心
44
      <!-- 退出登录按钮 (仅登录状态显示) -->
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
45
      <view v-if="userStore.isLogin" class="logout-btn-wrap">
0d1a4181   刘淇   个人中心
46
47
48
        <up-button
            type="primary"
            size="large"
12e66ec8   刘淇   新增树
49
            shape="circle"
0d1a4181   刘淇   个人中心
50
            @click="confirmLogout"
12e66ec8   刘淇   新增树
51
            class="login-btn"
0d1a4181   刘淇   个人中心
52
53
54
55
        >
          退出登录
        </up-button>
      </view>
0d1a4181   刘淇   个人中心
56
57
58
    </view>
  </template>
  
c293da23   刘淇   新园林init
59
  <script setup lang="ts">
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
60
61
62
  import { computed } from 'vue'
  import { useUserStore } from '@/pinia/user'
  import {  showModal, onShow } from '@dcloudio/uni-app'
12e66ec8   刘淇   新增树
63
  import {translateRoles} from '@/common/utils/common'
0d1a4181   刘淇   个人中心
64
65
  // 初始化Pinia仓库
  const userStore = useUserStore()
c5fdc60a   刘淇   树详情
66
  import { timeFormat } from '@/uni_modules/uview-plus';
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
67
68
  // 计算属性获取用户信息(响应式)
  const userInfo = computed(() => userStore.userInfo.user || {})
0d1a4181   刘淇   个人中心
69
  
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
70
71
72
  /**
   * 处理登录跳转
   */
0d1a4181   刘淇   个人中心
73
  const handleLogin = () => {
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
74
75
    uni.navigateTo({
      url: '/pages/login/index'
0d1a4181   刘淇   个人中心
76
77
78
    })
  }
  
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
79
80
81
  /**
   * 确认退出登录(带二次确认)
   */
0d1a4181   刘淇   个人中心
82
  const confirmLogout = async () => {
0d1a4181   刘淇   个人中心
83
    try {
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
84
85
86
87
88
89
      const res = await uni.showModal({
        title: '提示',
        content: '确定要退出登录吗?',
        confirmText: '退出',
        cancelText: '取消'
      })
0d1a4181   刘淇   个人中心
90
  
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
91
92
      if (res.confirm) {
        await userStore.logout()
54955fb5   刘淇   巡查和养护 。 失效状态的判断
93
        // uni.showToast({ title: '退出登录成功', type: 'success' })
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
94
      }
0d1a4181   刘淇   个人中心
95
96
    } catch (error) {
      console.error('退出登录失败:', error)
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
97
      uni.showToast({ title: '退出登录失败,请重试', type: 'error' })
0d1a4181   刘淇   个人中心
98
99
    }
  }
c293da23   刘淇   新园林init
100
  
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
101
102
103
104
  // 页面显示时检查登录状态
  onShow(() => {
    userStore.checkLogin()
  })
c293da23   刘淇   新园林init
105
106
  </script>
  
0d1a4181   刘淇   个人中心
107
108
  <script lang="ts">
  export default {
67af4c8e   刘淇   工作台 如果没有子节点就不渲染父节点
109
110
111
112
    name: 'UserCenter',
    options: {
      navigationBarTitleText: '个人中心'
    }
0d1a4181   刘淇   个人中心
113
114
115
116
  }
  </script>
  
  <style lang="scss" scoped>
cf70629b   刘淇   养护计划 照片 自己写样式
117
  .page-container {
12e66ec8   刘淇   新增树
118
  
0d1a4181   刘淇   个人中心
119
120
  }
  
12e66ec8   刘淇   新增树
121
122
123
124
125
  .header-bg {
    position:relative;
    top: 0;
    left: 0;
    width: 100%;
24c0bbe7   刘淇   登录账号密码 加密存储
126
    height: 220px;
12e66ec8   刘淇   新增树
127
128
129
130
131
    //height: 120px;
    background: url("https://img.jichengshanshui.com.cn:28207/appimg/bg.jpg") no-repeat;
    background-size: 100% 100%;
    z-index: -1;
    display: flex;
5b5a4862   刘淇   按钮放大
132
    padding: 80px 0 0 15px;
12e66ec8   刘淇   新增树
133
134
135
136
137
138
  }
  .mine-content{
    margin-top: -150px;
    border-radius: 30px 30px 0 0;
    background: #fff;
  }
0d1a4181   刘淇   个人中心
139
  
12e66ec8   刘淇   新增树
140
  .user-avatar {
0d1a4181   刘淇   个人中心
141
  
0d1a4181   刘淇   个人中心
142
143
  }
  
12e66ec8   刘淇   新增树
144
  .user-info-content {
cf70629b   刘淇   养护计划 照片 自己写样式
145
    margin-left: 15px;
12e66ec8   刘淇   新增树
146
147
148
    flex: 1;
  
    .user-name {
cf70629b   刘淇   养护计划 照片 自己写样式
149
      font-size: 16px;
12e66ec8   刘淇   新增树
150
151
      font-weight: 600;
      color: #ffffff;
cf70629b   刘淇   养护计划 照片 自己写样式
152
153
      margin-bottom: 5px;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
12e66ec8   刘淇   新增树
154
155
156
    }
  
    .user-phone {
cf70629b   刘淇   养护计划 照片 自己写样式
157
      font-size: 13px;
12e66ec8   刘淇   新增树
158
159
160
      color: rgba(255, 255, 255, 0.9);
    }
  }
0d1a4181   刘淇   个人中心
161
162
  // 退出登录按钮
  .logout-btn-wrap {
24c0bbe7   刘淇   登录账号密码 加密存储
163
    margin: 80px 15px 0;
0d1a4181   刘淇   个人中心
164
  }
12e66ec8   刘淇   新增树
165
166
  // 登录按钮
  .login-btn {
12e66ec8   刘淇   新增树
167
168
169
170
171
    width: 100%;
    height: 44px;
    line-height: 44px;
    border-radius: 4px;
    font-size: 16px;
12e66ec8   刘淇   新增树
172
173
174
175
    background: #0A86F4;
    box-shadow: 0px 4px 6px 1px rgba(25,94,215,0.5);
    border-radius: 23px;
  }
c293da23   刘淇   新园林init
176
  </style>