├── php-api/ # 改造后的PHP接口层 ├── java-ad-service/ # 若依框架微服务(广告+VIP+分账) ├── uniapp-reader/ # UniApp前端项目 │ ├── pages/ # 各端页面 │ └──
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

App.vue 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <template>
  2. <view :class="['app-container', `theme-${themeStore.currentTheme}`]">
  3. <router-view />
  4. </view>
  5. </template>
  6. <script>
  7. import config from './config'
  8. import { getToken } from '@/utils/auth'
  9. import { useThemeStore } from '@/stores/theme'
  10. import { onLaunch } from '@dcloudio/uni-app'
  11. // 初始化主题
  12. onLaunch(() => {
  13. const themeStore = useThemeStore()
  14. themeStore.initTheme()
  15. })
  16. export default {
  17. onLaunch: function() {
  18. this.initApp()
  19. },
  20. methods: {
  21. // 初始化应用
  22. initApp() {
  23. // 初始化应用配置
  24. this.initConfig()
  25. // 检查用户登录状态
  26. //#ifdef H5
  27. this.checkLogin()
  28. //#endif
  29. },
  30. initConfig() {
  31. this.globalData.config = config
  32. },
  33. checkLogin() {
  34. if (!getToken()) {
  35. this.$tab.reLaunch('/pages/login')
  36. }
  37. }
  38. }
  39. }
  40. </script>
  41. <style lang="scss">
  42. @import '@/static/scss/index.scss'
  43. @import '@/styles/themes/default.scss';
  44. @import '@/styles/themes/aydz-blue.scss';
  45. .app-container {
  46. font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
  47. height: 100vh;
  48. background-color: var(--bg-color);
  49. color: var(--text-color);
  50. }
  51. /* 全局主题变量 */
  52. :root {
  53. --primary-color: #1890ff;
  54. --bg-color: #f8f9fa;
  55. --text-color: #333;
  56. --card-bg: #ffffff;
  57. /* 确保所有页面继承主题 */
  58. background-color: var(--bg-color);
  59. color: var(--text-color);
  60. }
  61. /* 哎呀科技蓝主题变量覆盖 */
  62. .theme-aydzBlue {
  63. --primary-color: #2a5caa;
  64. --bg-color: #e6f7ff;
  65. --text-color: #1a3353;
  66. --card-bg: #d0e8ff;
  67. }
  68. /* 深色模式主题变量覆盖 */
  69. .theme-darkMode {
  70. --primary-color: #52c41a;
  71. --bg-color: #1a1a1a;
  72. --text-color: #e6e6e6;
  73. --card-bg: #2a2a2a;
  74. }
  75. /* 公共组件样式 */
  76. .card {
  77. background-color: var(--card-bg);
  78. border-radius: 12px;
  79. padding: 16px;
  80. margin-bottom: 16px;
  81. box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  82. }
  83. .primary-button {
  84. background-color: var(--primary-color);
  85. color: white;
  86. border: none;
  87. border-radius: 24px;
  88. padding: 10px 20px;
  89. font-weight: bold;
  90. }/* 全局主题变量 */
  91. :root {
  92. --primary-color: #1890ff;
  93. --bg-color: #f8f9fa;
  94. --text-color: #333;
  95. --card-bg: #ffffff;
  96. /* 确保所有页面继承主题 */
  97. background-color: var(--bg-color);
  98. color: var(--text-color);
  99. }
  100. /* 哎呀科技蓝主题变量覆盖 */
  101. .theme-aydzBlue {
  102. --primary-color: #2a5caa;
  103. --bg-color: #e6f7ff;
  104. --text-color: #1a3353;
  105. --card-bg: #d0e8ff;
  106. }
  107. /* 深色模式主题变量覆盖 */
  108. .theme-darkMode {
  109. --primary-color: #52c41a;
  110. --bg-color: #1a1a1a;
  111. --text-color: #e6e6e6;
  112. --card-bg: #2a2a2a;
  113. }
  114. /* 公共组件样式 */
  115. .card {
  116. background-color: var(--card-bg);
  117. border-radius: 12px;
  118. padding: 16px;
  119. margin-bottom: 16px;
  120. box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  121. }
  122. .primary-button {
  123. background-color: var(--primary-color);
  124. color: white;
  125. border: none;
  126. border-radius: 24px;
  127. padding: 10px 20px;
  128. font-weight: bold;
  129. }
  130. </style>