mixin.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. export function setVueTiflyThemeBlack() {
  2. let vueTifly_black = this.$tm.vx.state().tmVuetify.black
  3. if (vueTifly_black === true) {
  4. uni.setTabBarStyle({
  5. backgroundColor: "#212121"
  6. })
  7. } else {
  8. uni.setTabBarStyle({
  9. backgroundColor: "#FFFFFF"
  10. })
  11. }
  12. }
  13. // ...mapMutations(['setTmVuetifyColor', 'setTmVuetifyBlack']),
  14. // 检测提供的字符串是否是颜色值还是颜色主题。true,表示颜色主题名称。否则为false.
  15. export function $TestColor(color) {
  16. if (typeof color !== 'string') return false;
  17. if (color.indexOf('rgb') > -1 || color.indexOf('rgba') > -1 || color.indexOf('#') > -1) {
  18. return {
  19. theme: false,
  20. color: color
  21. };
  22. } else {
  23. return {
  24. theme: true,
  25. color: color
  26. };
  27. }
  28. }
  29. // 检查给定的值。如果是带有vw,vh,rem,em,upx,rpx,%则返回.如果是px,或者45数字,则转换为upx单位的数值。
  30. export function $TestUnit(n) {
  31. if (typeof n !== 'string' && typeof n !== 'number') return 0;
  32. if (typeof n === 'number') return {
  33. type: 'number',
  34. value: uni.upx2px(n)
  35. };
  36. let reg = /(vw|vh|rem|em|\%|upx|rpx|auto|px)/g;
  37. if (reg.test(n)) {
  38. return {
  39. type: 'string',
  40. value: n
  41. };
  42. }
  43. let num = parseFloat(n);
  44. if (isNaN(n)) return 0;
  45. return {
  46. type: 'number',
  47. value: uni.upx2px(n)
  48. };
  49. }