My.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <el-container style="height: 960px; border: 1px solid #eee">
  3. <el-header style="text-align: right; font-size: 12px">
  4. <el-col :md="2">
  5. <ul class="el-menu--horizontal el-menu">
  6. <li class="el-menu-item">
  7. <a href="/my" style="text-decoration-line: none">
  8. <img src="@/assets/img/icon/logo.png" class="el-avatar--circle el-avatar--medium" alt="img">
  9. my
  10. </a>
  11. </li>
  12. </ul>
  13. </el-col>
  14. <el-dropdown>
  15. <img
  16. :src="user.avatarUrl"
  17. class="el-avatar--circle el-avatar--medium"
  18. style="margin-right: 10px; margin-top: 15px"
  19. alt=""
  20. >
  21. <el-dropdown-menu slot="dropdown">
  22. <el-dropdown-item
  23. icon="el-icon-s-platform"
  24. class="size"
  25. @click.native="goToHome"
  26. >主站</el-dropdown-item>
  27. <el-dropdown-item
  28. icon="el-icon-error"
  29. class="size"
  30. @click.native="goToLogout"
  31. >退出</el-dropdown-item>
  32. </el-dropdown-menu>
  33. </el-dropdown>
  34. </el-header>
  35. <el-container>
  36. <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
  37. <el-menu
  38. :default-active="this.$route.path"
  39. router
  40. class="el-menu-vertical-demo"
  41. :unique-opened="true"
  42. >
  43. <el-menu-item index="/my/contact">
  44. <i class="el-icon-user" />
  45. <span slot="title">联系人</span>
  46. </el-menu-item>
  47. <el-menu-item index="/my/message">
  48. <i class="el-icon-message" />
  49. <span slot="title">我的消息</span>
  50. </el-menu-item>
  51. <el-menu-item index="/my/vip">
  52. <i class="el-icon-film" />
  53. <span slot="title">我的会员</span>
  54. </el-menu-item>
  55. <el-menu-item index="/my/wallet">
  56. <i class="el-icon-wallet" />
  57. <span slot="title">我的钱包</span>
  58. </el-menu-item>
  59. <el-menu-item index="/my/realname">
  60. <i class="el-icon-film" />
  61. <span slot="title">实名认证</span>
  62. </el-menu-item>
  63. <el-menu-item index="/my/oauth">
  64. <i class="el-icon-film" />
  65. <span slot="title">OAuth</span>
  66. </el-menu-item>
  67. </el-menu>
  68. </el-aside>
  69. <el-main>
  70. <router-view />
  71. </el-main>
  72. </el-container>
  73. </el-container>
  74. </template>
  75. <script>
  76. import { userMixin } from 'assets/js/mixin'
  77. import { getAuthedUser } from '@/utils/auth'
  78. export default {
  79. name: 'My',
  80. mixins: [userMixin],
  81. data() {
  82. return {
  83. user: null,
  84. loginUser: null
  85. }
  86. },
  87. created() {
  88. document.title = '我的帐号'
  89. const userInfo = getAuthedUser()
  90. if (userInfo !== null) {
  91. this.user = userInfo
  92. this.loginUser = userInfo
  93. }
  94. }
  95. }
  96. </script>
  97. <style>
  98. .el-header {
  99. background-color: #B3C0D1;
  100. color: #333;
  101. line-height: 60px;
  102. }
  103. .el-aside {
  104. color: #333;
  105. }
  106. </style>