index.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <template>
  2. <div class="w-full h-full flex">
  3. <div class="p-5 flex flex-col h-full border-r border-gray-200" style="width: 300px;">
  4. <div class=" text-xl py-3">
  5. 账户
  6. </div>
  7. <div
  8. class="w-full px-2 py-2 mb-2 flex items-center rounded-md cursor-pointer"
  9. :class="active === '1' ? 'bg-gray-100' : ''"
  10. @click="menuClick('1')"
  11. >
  12. <i class="el-icon-user text-xl mr-2"></i>
  13. 用户信息
  14. </div>
  15. <div
  16. class="w-full px-2 py-2 mb-2 flex items-center rounded-md cursor-pointer"
  17. :class="active === '2' ? 'bg-gray-100' : ''"
  18. @click="menuClick('2')"
  19. >
  20. <i class="el-icon-setting text-xl mr-2"></i>
  21. 消费明细
  22. </div>
  23. <div
  24. class="w-full px-2 py-2 mb-2 flex items-center rounded-md cursor-pointer"
  25. :class="active === '3' ? 'bg-gray-100' : ''"
  26. @click="menuClick('3')"
  27. >
  28. <i class="el-icon-setting text-xl mr-2"></i>
  29. 用户偏好设定
  30. </div>
  31. <div
  32. class="w-full px-2 py-2 mb-2 flex items-center rounded-md cursor-pointer"
  33. :class="active === '4' ? 'bg-gray-100' : ''"
  34. @click="menuClick('4')"
  35. >
  36. <i class="el-icon-medal text-xl mr-2"></i>
  37. 会员
  38. </div>
  39. <div
  40. class="w-full px-2 py-2 mb-2 flex items-center rounded-md cursor-pointer"
  41. :class="active === '5' ? 'bg-gray-100' : ''"
  42. @click="menuClick('5')"
  43. >
  44. <i class="el-icon-present text-xl mr-2"></i>
  45. 邀请有礼
  46. </div>
  47. <div
  48. class="w-full px-2 py-2 mb-2 flex items-center rounded-md cursor-pointer"
  49. :class="active === '6' ? 'bg-gray-100' : ''"
  50. @click="menuClick('6')"
  51. >
  52. <i class="el-icon-message text-xl mr-2"></i>
  53. 意见反馈
  54. </div>
  55. <div
  56. class="w-full px-2 py-2 mb-2 flex items-center rounded-md cursor-pointer"
  57. :class="active === 'logOut' ? 'bg-gray-100' : ''"
  58. @click="menuClick('logOut')"
  59. >
  60. <i class="fa-solid fa-arrow-right-from-bracket text-xl mr-2"></i>
  61. 退出登录
  62. </div>
  63. <div class=" text-gray-500 mt-2 text-sm">
  64. © 2024 Rochat
  65. <a :href="`${baseURL}/#/termOfUse`" target="_blank" class="underline mx-1">用户协议</a>
  66. &amp;
  67. <a :href="`${baseURL}/#/privacyPolicy`" target="_blank" class="underline mx-1">隐私政策</a>
  68. v1.8.1
  69. </div>
  70. </div>
  71. <div class=" flex-1 h-full bg-gray-50">
  72. <UserInfo v-if="active == 1" />
  73. <Consume v-if="active == 2" />
  74. </div>
  75. </div>
  76. </template>
  77. <script>
  78. import UserInfo from "./components/userInfo.vue"
  79. import Consume from "./components/consume.vue"
  80. export default {
  81. components: {
  82. UserInfo,
  83. Consume
  84. },
  85. data() {
  86. return {
  87. baseURL: process.env.VUE_APP_BASE_URL,
  88. active: '1',
  89. userInfo: {
  90. name: '张三',
  91. avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png'
  92. }
  93. }
  94. },
  95. mounted() {
  96. console.log(process.env.VUE_APP_BASE_API, 'process.env.VUE_APP_BASE_API');
  97. },
  98. methods: {
  99. menuClick(i) {
  100. this.active = i
  101. switch (i) {
  102. case '1':
  103. // this.$router.push('/')
  104. break
  105. case 'logOut':
  106. this.$store.dispatch('FedLogOut').then(() => {
  107. this.$router.push('/')
  108. })
  109. break
  110. }
  111. }
  112. }
  113. }
  114. </script>
  115. <style>
  116. </style>