app.ts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. import store from '../index'
  2. import { VuexModule, getModule, Module, Mutation, Action } from 'vuex-module-decorators'
  3. export interface AppState {
  4. collapsed: Boolean
  5. showTags: Boolean
  6. showLogo: Boolean
  7. showNavbar: Boolean
  8. fixedHeader: Boolean
  9. // fixedTags: Boolean
  10. // fixedNavbar: Boolean
  11. layout: String
  12. showBreadcrumb: Boolean
  13. showHamburger: Boolean
  14. showScreenfull: Boolean
  15. showUserInfo: Boolean
  16. title: String
  17. logoTitle: String
  18. userInfo: String
  19. }
  20. @Module({ dynamic: true, namespaced: true, store, name: 'app' })
  21. class App extends VuexModule implements AppState {
  22. public collapsed = false // 菜单栏是否栏缩收
  23. public showLogo = true // 是否显示logo
  24. public showTags = true // 是否显示标签栏
  25. public showNavbar = true // 是否显示navbar
  26. // public fixedTags = true // 是否固定标签栏
  27. // public fixedNavbar = true // 是否固定navbar
  28. public fixedHeader = true // 是否固定header
  29. public layout = 'Classic' // layout布局
  30. public showBreadcrumb = true // 是否显示面包屑
  31. public showHamburger = true // 是否显示侧边栏缩收按钮
  32. public showScreenfull = true // 是否全屏按钮
  33. public showUserInfo = true // 是否显示用户头像
  34. public title = 'vue-element-plus-admin' // 标题
  35. public logoTitle = 'vue-ElPlus-admin' // logo标题
  36. public userInfo = 'userInfo' // 登录信息存储字段-建议每个项目换一个字段,避免与其他项目冲突
  37. @Mutation
  38. private SET_COLLAPSED(collapsed: boolean): void {
  39. this.collapsed = collapsed
  40. }
  41. @Mutation
  42. private SET_SHOWLOGO(showLogo: boolean): void {
  43. this.showLogo = showLogo
  44. }
  45. @Mutation
  46. private SET_SHOWTAGS(showTags: boolean): void {
  47. this.showTags = showTags
  48. }
  49. @Mutation
  50. private SET_NAVBAR(showNavbar: boolean): void {
  51. this.showNavbar = showNavbar
  52. }
  53. // @Mutation
  54. // private SET_FIXEDTAGS(fixedTags: boolean): void {
  55. // this.fixedTags = fixedTags
  56. // }
  57. // @Mutation
  58. // private SET_FIXEDNAVBAR(fixedNavbar: boolean): void {
  59. // this.fixedNavbar = fixedNavbar
  60. // }
  61. @Mutation
  62. private SET_FIXEDHEADER(fixedHeader: boolean): void {
  63. this.fixedHeader = fixedHeader
  64. }
  65. @Mutation
  66. private SET_LAYOUT(layout: 'Classic' | 'LeftTop' | 'Top' | 'Test'): void {
  67. this.layout = layout
  68. }
  69. @Mutation
  70. private SET_BREADCRUMB(showBreadcrumb: boolean): void {
  71. this.showBreadcrumb = showBreadcrumb
  72. }
  73. @Mutation
  74. private SET_HAMBURGER(showHamburger: boolean): void {
  75. this.showHamburger = showHamburger
  76. }
  77. @Mutation
  78. private SET_SCREENFULL(showScreenfull: boolean): void {
  79. this.showScreenfull = showScreenfull
  80. }
  81. @Mutation
  82. private SET_USERINFO(showUserInfo: boolean): void {
  83. this.showUserInfo = showUserInfo
  84. }
  85. @Mutation
  86. private SET_TITLE(title: string): void {
  87. this.title = title
  88. }
  89. @Mutation
  90. private SET_LOGOTITLE(logoTitle: string): void {
  91. this.logoTitle = logoTitle
  92. }
  93. @Action
  94. public SetCollapsed(collapsed: boolean): void {
  95. this.SET_COLLAPSED(collapsed)
  96. }
  97. @Action
  98. public SetShowLogo(showLogo: boolean): void {
  99. this.SET_SHOWLOGO(showLogo)
  100. }
  101. @Action
  102. public SetShowTags(showTags: boolean): void {
  103. this.SET_SHOWTAGS(showTags)
  104. }
  105. @Action
  106. public SetShowNavbar(showNavbar: boolean): void {
  107. this.SET_NAVBAR(showNavbar)
  108. }
  109. @Action
  110. public SetFixedHeader(fixedHeader: boolean): void {
  111. this.SET_FIXEDHEADER(fixedHeader)
  112. }
  113. // @Action
  114. // public SetFixedTags(fixedTags: boolean): void {
  115. // this.SET_FIXEDTAGS(fixedTags)
  116. // }
  117. // @Action
  118. // public SetFixedNavbar(fixedNavbar: boolean): void {
  119. // this.SET_FIXEDNAVBAR(fixedNavbar)
  120. // }
  121. @Action
  122. public SetLayout(layout: 'Classic' | 'LeftTop' | 'Top' | 'Test'): void {
  123. this.SET_LAYOUT(layout)
  124. }
  125. @Action
  126. public SetBreadcrumb(showBreadcrumb: boolean): void {
  127. this.SET_BREADCRUMB(showBreadcrumb)
  128. }
  129. @Action
  130. public SetHamburger(showHamburger: boolean): void {
  131. this.SET_HAMBURGER(showHamburger)
  132. }
  133. @Action
  134. public SetScreenfull(showScreenfull: boolean): void {
  135. this.SET_SCREENFULL(showScreenfull)
  136. }
  137. @Action
  138. public SetUserInfo(showUserInfo: boolean): void {
  139. this.SET_USERINFO(showUserInfo)
  140. }
  141. @Action
  142. public SetTitle(title: string): void {
  143. this.SET_TITLE(title)
  144. }
  145. @Action
  146. public SetLogoTitle(logoTitle: string): void {
  147. this.SET_LOGOTITLE(logoTitle)
  148. }
  149. }
  150. export const appStore = getModule<App>(App)