帧视界壹通告,付费看视频的微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

239 lines
7.0 KiB

11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
10 months ago
11 months ago
  1. <template>
  2. <view style="display: flex;flex-direction: column; width: 100vw;height: 100vh;">
  3. <tabber :select="2" />
  4. <!-- 顶部 -->
  5. <view style="width: 100%;height: 30%;">
  6. <image src="https://tennis-oss.xzaiyp.top/2024-09-07/05cbb032-8177-478e-8fbe-0a3797096890.png"
  7. style="width: 100%;height: 100%;"></image>
  8. </view>
  9. <!--中部 用户信息-->
  10. <view
  11. style="box-shadow: 0 0 10px rgba(47, 125, 125, 0.5);border-radius: 20rpx;position: absolute;top: 20%;left: 10%; width:80%;height: 12%;z-index: 1;background: white;">
  12. <!--头像-->
  13. <view style="box-shadow: 0 0 10px rgba(47, 125, 125, 0.5);position: absolute;z-index:2;width:30%;height:90%;border-radius: 50%;
  14. overflow: hidden;top: -32%;left: 5%;">
  15. <image :src="userInfo.headImage || '微信用户'" style="width: 100%;height: 100%;"></image>
  16. </view>
  17. <!--福利中心-->
  18. <!-- <view style="position: absolute;z-index:2;width:33%;height:30%;top: 13%;right: 2%;">
  19. <image src="/static/image/center/flzx.png" style="width: 100%;height: 100%;"></image>
  20. </view> -->
  21. <!-- 未认证-->
  22. <view style="position: absolute;z-index:2;width:20%;height:25%;top: 38%;left: 31%;">
  23. <image src="/static/image/center/wrz.svg" style="width: 100%;height: 100%;"></image>
  24. </view>
  25. <!-- 去认证 -->
  26. <view style="position: absolute;z-index:2;height:20%;top: 39%;left: 52%;">
  27. <span style="font-size: 26rpx;font-weight: 700;" class="textColor" @click="toAuthPage">去认证</span>
  28. </view>
  29. <!-- 用户信息 -->
  30. <view style="position: absolute;z-index:2;width:55%;height:20%;top: 65%;left: 7%;">
  31. <view>
  32. <span style="font-size: 35rpx;margin-right: 5rpx">{{ userInfo.nickName || '微信用户' }}</span>
  33. <span style="font-size: 18rpx">{{ userInfo.phone||'暂无联系方式' }}</span>
  34. </view>
  35. </view>
  36. <!-- 点赞量 -->
  37. <!-- <view
  38. style="display: flex;flex-direction: column;gap:2rpx ;position: absolute;z-index:2;width:15%;height:40%;top: 55%;right: 3%;">
  39. <view style="display: flex;justify-content: center;align-items: center;width: 100%;height: 100%;">
  40. <image src="/static/image/center/dianZan.svg" style="width: 40%;height: 84%;"></image>
  41. </view>
  42. <view style="display: flex;justify-content: center ;font-size: 20rpx;color:#777777">点赞量</view>
  43. </view> -->
  44. </view>
  45. <!-- 下部 -->
  46. <view style="width: 100%;height: 70%;padding-top:150rpx">
  47. <view>
  48. <!--上GridView-->
  49. <view>
  50. <uv-grid :col="4">
  51. <uv-grid-item v-for="(item,index) in baseList" :key="index" @click="goToPage(item)">
  52. <img :src="item.imageUrl" :alt="item.title"
  53. :style="{ width: '60rpx', height: '60rpx',marginBottom: '10rpx'}" />
  54. <text style="font-size: 28rpx;color: #333333;">{{ item.title }}
  55. </text>
  56. </uv-grid-item>
  57. </uv-grid>
  58. </view>
  59. <!--其他-->
  60. <view style="margin:50rpx 0 0 50rpx;font-size: 40rpx;color: #333333;">其他</view>
  61. <!--下GridView-->
  62. <view style="margin-top: 50rpx;">
  63. <uv-grid :col="4">
  64. <uv-grid-item v-for="(item,index) in otherList" :key="index" @click="goToPage(item)">
  65. <img :src="item.imageUrl" :alt="item.title"
  66. :style="{ width: '60rpx', height: '60rpx',marginBottom: '10rpx'}" />
  67. <text style="font-size: 28rpx;color: #333333;">{{ item.title }}
  68. </text>
  69. </uv-grid-item>
  70. </uv-grid>
  71. </view>
  72. </view>
  73. </view>
  74. <!-- 退出弹框-->
  75. <confirmationPopup ref="confirmationPopup" title="提示" :cancel="true" @confirm="handleConfirm"
  76. @cancel="handleCancel" confirmText="确认">
  77. <view class="confirmationPopup">
  78. <view style="text-align:center">
  79. 确认退出登录吗
  80. </view>
  81. </view>
  82. </confirmationPopup>
  83. </view>
  84. </template>
  85. <script>
  86. import {
  87. mapState
  88. } from 'vuex'
  89. import tabber from '@/components/base/tabbar.vue'
  90. import confirmationPopup from "@/components/toast/confirmationPopup.vue";
  91. export default {
  92. components: {
  93. confirmationPopup,
  94. tabber,
  95. },
  96. computed: {
  97. ...mapState(['userInfo']),
  98. },
  99. data() {
  100. return {
  101. // 基础列表
  102. baseList: [{
  103. name: 'photo',
  104. imageUrl: 'https://tennis-oss.xzaiyp.top/2024-09-09/f9d757ca-a95a-42d7-86aa-38c288f2c54f.svg',
  105. title: '我的发布',
  106. gotoPageUrl: '/mine/releaseRecord'
  107. },
  108. {
  109. name: 'lock',
  110. imageUrl: 'https://tennis-oss.xzaiyp.top/2024-09-09/f6fbb99f-c381-498a-8367-e91fc5e05cd6.svg',
  111. title: '我的推广',
  112. gotoPageUrl: '/mine/promotionRecord'
  113. },
  114. {
  115. name: 'star',
  116. imageUrl: 'https://tennis-oss.xzaiyp.top/2024-09-09/85fe8ad3-5094-473f-b184-ef4cf5c1db6e.svg',
  117. title: '我的银行卡',
  118. gotoPageUrl: '/mine/addBankCard'
  119. },
  120. {
  121. name: 'star',
  122. imageUrl: 'https://tennis-oss.xzaiyp.top/2024-09-09/45ec00a0-3c12-4246-bfe3-a658ccf1f912.svg',
  123. title: '我的钱包',
  124. gotoPageUrl: '/mine/purse'
  125. },
  126. ],
  127. // 其他列表
  128. otherList: [{
  129. name: 'photo',
  130. imageUrl: 'https://tennis-oss.xzaiyp.top/2024-09-09/8bc56d2e-380a-4656-8a33-592d374d246a.svg',
  131. title: '实名信息',
  132. gotoPageUrl: '/mine/certifiedIndividual'
  133. },
  134. {
  135. name: 'lock',
  136. imageUrl: 'https://tennis-oss.xzaiyp.top/2024-09-09/cd007424-1336-402c-8390-26c4f21deb80.svg',
  137. title: '帮助反馈'
  138. },
  139. {
  140. name: 'lock',
  141. imageUrl: 'https://tennis-oss.xzaiyp.top/2024-09-09/ef58bc0b-ead6-4053-83b4-339aa02805d2.svg',
  142. title: '修改个人信息',
  143. gotoPageUrl: '/mine/updateUserInfo'
  144. },
  145. {
  146. name: 'outLogin',
  147. imageUrl: 'https://tennis-oss.xzaiyp.top/2024-09-09/4ae3829e-7b07-4d6d-843b-2b7fd21ba346.svg',
  148. title: '退出登录',
  149. },
  150. ],
  151. }
  152. },
  153. onShow() {
  154. // 获取用户个人信息
  155. this.$store.commit('getUserInfo')
  156. },
  157. methods: {
  158. toAuthPage() {
  159. uni.navigateTo({
  160. url: '/pages_mine/mine/authOption'
  161. })
  162. },
  163. // 点击列表跳转页面
  164. goToPage(item) {
  165. if (item.name == 'outLogin') {
  166. //
  167. this.$refs.confirmationPopup.open()
  168. return
  169. }
  170. uni.navigateTo({
  171. url: '/pages_mine' + item.gotoPageUrl
  172. })
  173. },
  174. handleConfirm() {
  175. // 退出登录
  176. console.log("退出登录")
  177. this.$api('loginLogout', res => {
  178. if (res.code == 200) {
  179. uni.removeStorageSync('token')
  180. this.$store.state.userInfo = {}
  181. uni.redirectTo({
  182. url: '/pages/index/index'
  183. })
  184. }
  185. })
  186. this.$refs.confirmationPopup.close()
  187. },
  188. handleCancel() {
  189. // 取消退出登录
  190. console.log("取消退出登录")
  191. this.$refs.confirmationPopup.close()
  192. }
  193. }
  194. }
  195. </script>
  196. <style lang="scss" scoped>
  197. * {
  198. box-sizing: border-box;
  199. margin: 0;
  200. padding: 0;
  201. }
  202. .textColor {
  203. background: $uni-linear-gradient-color;
  204. -webkit-background-clip: text;
  205. /*将设置的背景颜色限制在文字中*/
  206. -webkit-text-fill-color: transparent;
  207. /*给文字设置成透明*/
  208. }
  209. .confirmationPopup {
  210. display: flex;
  211. flex-direction: column;
  212. align-items: center;
  213. justify-content: center;
  214. width: 100%;
  215. height: 200rpx;
  216. image {
  217. margin-top: 40rpx;
  218. }
  219. .info {
  220. margin-top: 40rpx;
  221. font-size: 26rpx;
  222. }
  223. }
  224. </style>