41 lines
883 B
JavaScript
Executable File
41 lines
883 B
JavaScript
Executable File
import Vue from 'vue'
|
||
import { mapGetters } from 'vuex'
|
||
import store from '@/store/index'
|
||
import platform from '@/core/platform'
|
||
|
||
// 字符串驼峰转中划线
|
||
const formatToLine = value => {
|
||
return value.replace(/([A-Z])/g, '-$1').toLowerCase()
|
||
}
|
||
|
||
// 主题样式 (因小程序端不支持styleObject语法,所以需要转换成字符串)
|
||
const appTheme2Str = appTheme => {
|
||
let str = ''
|
||
for (const index in appTheme) {
|
||
const name = formatToLine(index)
|
||
str += `--${name}:${appTheme[index]};`
|
||
}
|
||
return str
|
||
}
|
||
import dayjs from "dayjs"
|
||
export default {
|
||
data() {
|
||
return {
|
||
platform
|
||
}
|
||
},
|
||
computed: {
|
||
...mapGetters(['appTheme']),
|
||
appThemeStyle() {
|
||
const appTheme = store.getters.appTheme
|
||
return appTheme2Str(appTheme)
|
||
}
|
||
},
|
||
methods: {
|
||
computedAge(birthday){
|
||
return dayjs().diff(dayjs(birthday), 'year')
|
||
}
|
||
}
|
||
|
||
}
|