my.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <template>
  2. <view class="tabPage" :style="{'min-height':h+'px', 'padding-top':mt+'px'}">
  3. <cus-header title='我的' :showback="false" bgColor='transparent'></cus-header>
  4. <image class="topbg" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/05/29/9ce20eec-2d0e-4786-aa11-097f4a25939f.png"></image>
  5. <div class="info adffcacjc">
  6. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/05/29/53e77955-bfec-4a5c-a559-4d9baaa75910.png"></image>
  7. <p>{{username}}</p>
  8. </div>
  9. <div class="items">
  10. <div class="item adfacjb" @tap="toTurn('/pagesMy/device')">
  11. <div class="il adfac">
  12. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/05/29/f02cc2f9-09ee-400c-8714-2bb2d0a58023.png"></image>
  13. <text>我的设备</text>
  14. </div>
  15. <div class="ir">
  16. <u-icon name="arrow-right" color="#D3D2D2" size="34"></u-icon>
  17. </div>
  18. </div>
  19. <div class="item adfacjb" @tap="toTurn('/pagesMy/useBook')">
  20. <div class="il adfac">
  21. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/05/29/b4c1a11b-9b01-4c0f-8ff6-1c2b51956891.png"></image>
  22. <text>用户使用手册</text>
  23. </div>
  24. <div class="ir">
  25. <u-icon name="arrow-right" color="#D3D2D2" size="34"></u-icon>
  26. </div>
  27. </div>
  28. <div class="item adfacjb" @tap="toTurn('/pagesMy/feedback')">
  29. <div class="il adfac">
  30. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/05/29/c1adec99-cf1f-4814-88c7-37ea7a15c5cb.png"></image>
  31. <text>意见反馈</text>
  32. </div>
  33. <div class="ir">
  34. <u-icon name="arrow-right" color="#D3D2D2" size="34"></u-icon>
  35. </div>
  36. </div>
  37. <div class="item adfacjb">
  38. <div class="il adfac">
  39. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/05/29/3e954ad9-2bfb-408d-a40c-3583654268d7.png"></image>
  40. <text>版本</text>
  41. </div>
  42. <div class="ir">{{'1.0.0'}}</div>
  43. </div>
  44. </div>
  45. <div class="exit" @tap="exitLogin">退出登录</div>
  46. <cus-tabbar :tabbarIndex="2"></cus-tabbar>
  47. </view>
  48. </template>
  49. <script>
  50. import cusTabbar from '@/components/CusTabbar/index.vue'
  51. export default {
  52. components:{
  53. cusTabbar
  54. },
  55. data(){
  56. return {
  57. username:''
  58. }
  59. },
  60. onShow() {
  61. if(uni.getStorageSync('userInfo')){
  62. let username = JSON.parse(uni.getStorageSync('userInfo')).username;
  63. this.username = username.replace(/^(.{3})(?:\d+)(.{4})$/, "$1 **** $2");
  64. }
  65. },
  66. methods:{
  67. toTurn(url){
  68. if(!url) return
  69. uni.navigateTo({ url })
  70. },
  71. exitLogin(){
  72. uni.showModal({
  73. title:'温馨提示',
  74. content:'是否确定退出登录?',
  75. success: (res) => {
  76. if(res.confirm){
  77. uni.clearStorageSync();
  78. uni.reLaunch({
  79. url:'/pages/login'
  80. })
  81. }
  82. }
  83. })
  84. }
  85. }
  86. }
  87. </script>
  88. <style scoped lang="less">
  89. .tabPage{
  90. background: #FFFFFF;
  91. padding: 0 30rpx 192rpx;
  92. box-sizing: border-box;
  93. .topbg{
  94. width: 100%;
  95. height: 720rpx;
  96. position: fixed;
  97. top: 0;
  98. left: 0;
  99. }
  100. .info{
  101. position: relative;
  102. margin-top: 68rpx;
  103. &>image{
  104. width: 200rpx;
  105. height: 200rpx;
  106. border-radius: 50%;
  107. }
  108. p{
  109. font-family: PingFang-SC, PingFang-SC;
  110. font-weight: bold;
  111. font-size: 48rpx;
  112. color: #111111;
  113. line-height: 32rpx;
  114. text-align: center;
  115. margin-top: 40rpx;
  116. }
  117. }
  118. .items{
  119. position: relative;
  120. margin-top: 93rpx;
  121. .item{
  122. width: 100%;
  123. padding: 39rpx 20rpx;
  124. box-sizing: border-box;
  125. background: #FFFFFF;
  126. box-shadow: inset 0rpx -1rpx 0rpx 0rpx #ECECEC;
  127. border-radius: 16rpx 16rpx 0rpx 0rpx;
  128. .il{
  129. image{
  130. width: 36rpx;
  131. height: 36rpx;
  132. }
  133. text{
  134. font-family: PingFangSC, PingFang SC;
  135. font-weight: 400;
  136. font-size: 30rpx;
  137. color: #111111;
  138. line-height: 32rpx;
  139. margin-left: 34rpx;
  140. }
  141. }
  142. .ir{
  143. font-family: PingFang-SC, PingFang-SC;
  144. font-weight: bold;
  145. font-size: 30rpx;
  146. color: #111111;
  147. line-height: 32rpx;
  148. text-align: right;
  149. }
  150. }
  151. }
  152. .exit{
  153. width: 100%;
  154. height: 88rpx;
  155. background: #F8F8F7;
  156. border-radius: 24rpx;
  157. margin-top: 190rpx;
  158. font-family: PingFangSC, PingFang SC;
  159. font-weight: 400;
  160. font-size: 30rpx;
  161. color: #111111;
  162. line-height: 88rpx;
  163. text-align: center;
  164. letter-spacing: 2rpx;
  165. }
  166. }
  167. </style>