| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- const appTheme = uni.getStorageSync('AppTheme') || ''
- // #ifdef VUE2
- import Vue from 'vue'
- const shared = Vue.observable({ appTheme })
- // #endif
- // #ifdef VUE3
- import { reactive } from 'vue'
- // #endif
- export default (V, options = {}) => {
- const { initAppTheme = '' } = options
-
- // #ifdef VUE3
- const shared = reactive({ appTheme })
- // #endif
-
- // shared.appTheme = shared.appTheme
- // ? shared.appTheme
- // : initAppTheme
-
- shared.appTheme = initAppTheme
- V.mixin({
- computed: {
- // app主题
- AppTheme() {
- const { appTheme } = shared
- const AppTheme = appTheme ? `theme-${appTheme}` : ''
- uni.setStorageSync('AppTheme', AppTheme)
- return AppTheme
- }
- },
- methods: {
- // 切换app主题
- ToggleAppTheme(t) {
- shared.appTheme = t
- }
- }
- })
- }
|