app.js 796 B

12345678910111213141516171819202122232425262728293031
  1. import { computed } from 'vue'
  2. import { useStore, mapGetters } from 'vuex'
  3. import store from '@/store/index'
  4. import platform from '@/core/platform'
  5. // 字符串驼峰转中划线
  6. const formatToLine = value => {
  7. return value.replace(/([A-Z])/g, '-$1').toLowerCase()
  8. }
  9. // 主题样式 (因小程序端不支持styleObject语法,所以需要转换成字符串)
  10. const appTheme2Str = appTheme => {
  11. let str = ''
  12. for (const index in appTheme) {
  13. const name = formatToLine(index)
  14. str += `--${name}:${appTheme[index]};`
  15. }
  16. return str
  17. }
  18. export default {
  19. data() {
  20. return {
  21. platform
  22. }
  23. },
  24. computed: {
  25. appTheme: () => store.getters.appTheme,
  26. appThemeStyle: () => appTheme2Str(store.getters.appTheme)
  27. }
  28. }