1
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
import { xProvitae, xConfig ,setConfig} from "./xConfig.uts"
|
||||
import { Tmui4xI18nTml} from "@/uni_modules/x-vuei18n-s/interface.uts"
|
||||
import { getDarkMode, isCustomTheme, WebObserveTheme, setThemeDarkModel } from "./observeAppTheme.uts"
|
||||
import {Tmui4xOptions} from "@/uni_modules/tmx-ui/interface.uts"
|
||||
const xui = definePlugin({
|
||||
install(app:VueApp,config:Tmui4xOptions|null) {
|
||||
setConfig(config)
|
||||
|
||||
/**
|
||||
* 组合式代码中使用
|
||||
*/
|
||||
app.config.globalProperties.$i18n = xConfig.i18n
|
||||
let darkModel = getDarkMode();
|
||||
if (isCustomTheme()) {
|
||||
xConfig.dark = darkModel
|
||||
} else {
|
||||
if (xConfig.dark == 'auto') {
|
||||
uni.setStorageSync('tmuiXuiOsThemeSet', darkModel)
|
||||
xConfig.dark = darkModel
|
||||
} else {
|
||||
uni.setStorageSync('tmuiXuiOsThemeSet', xConfig.dark)
|
||||
}
|
||||
}
|
||||
WebObserveTheme()
|
||||
setThemeDarkModel()
|
||||
app.mixin({
|
||||
data() {
|
||||
return {
|
||||
/**
|
||||
* 模板vue内及选项式this.i18n可调用使用
|
||||
*/
|
||||
i18n: xConfig.i18n as Tmui4xI18nTml
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
// #ifdef MP
|
||||
xThemeConfigBgColor():string{
|
||||
return xConfig.dark=='dark'?xConfig.backgroundColorContentDark:xConfig.backgroundColorContentLight
|
||||
},
|
||||
xThemeConfigNavBgColor():string{
|
||||
return xConfig.dark=='dark'?xConfig.navigationBarBackgroundColorDark:xConfig.navigationBarBackgroundColorLight
|
||||
},
|
||||
xThemeConfigNavFontColor():string{
|
||||
return xConfig.dark=='dark'?xConfig.navigationBarTextStyleDark:xConfig.navigationBarTextStyleLight
|
||||
},
|
||||
xThemeConfigIsDark():boolean{
|
||||
return xConfig.dark=='dark'
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
onPageScroll(e) {
|
||||
xProvitae.scrollTop = e.scrollTop
|
||||
uni.$emit('onPageScroll', e.scrollTop)
|
||||
},
|
||||
onResize() {
|
||||
uni.$emit('onResize', function () { })
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
onHide() {
|
||||
uni.$emit('onHide', function () { })
|
||||
},
|
||||
onReady(){
|
||||
uni.$emit('onReady', function () { })
|
||||
xProvitae.pageReady = true;
|
||||
},
|
||||
onShow() {
|
||||
// #ifdef WEB
|
||||
this.$nextTick(()=>{
|
||||
setThemeDarkModel()
|
||||
})
|
||||
// #endif
|
||||
uni.$emit('onShow', function () { })
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
export default xui
|
||||
Reference in New Issue
Block a user