You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.9 KiB

4 months ago
  1. // 看到此报错,是因为没有配置vite.config.js的【transpileDependencies】
  2. // const pleaseSetTranspileDependencies = {}, babelTest = pleaseSetTranspileDependencies?.test
  3. // 引入全局mixin
  4. import { mixin } from './libs/mixin/mixin.js'
  5. // 小程序特有的mixin
  6. import { mpMixin } from './libs/mixin/mpMixin.js'
  7. // 全局挂载引入http相关请求拦截插件
  8. import Request from './libs/luch-request'
  9. // 路由封装
  10. import route from './libs/util/route.js'
  11. // 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制
  12. import colorGradient from './libs/function/colorGradient.js'
  13. // 规则检验
  14. import test from './libs/function/test.js'
  15. // 防抖方法
  16. import debounce from './libs/function/debounce.js'
  17. // 节流方法
  18. import throttle from './libs/function/throttle.js'
  19. // 公共文件写入的方法
  20. import index from './libs/function/index.js'
  21. // 配置信息
  22. import config from './libs/config/config.js'
  23. // props配置信息
  24. import props from './libs/config/props.js'
  25. // 各个需要fixed的地方的z-index配置文件
  26. import zIndex from './libs/config/zIndex.js'
  27. // 关于颜色的配置,特殊场景使用
  28. import color from './libs/config/color.js'
  29. // 平台
  30. import platform from './libs/function/platform'
  31. // 导出
  32. const http = new Request()
  33. let themeType = ['primary', 'success', 'error', 'warning', 'info'];
  34. export { route, http, debounce, throttle, platform, themeType, mixin, mpMixin, props, color, test, zIndex }
  35. export * from './libs/function/index.js'
  36. export * from './libs/function/colorGradient.js'
  37. /**
  38. * @description 修改uView内置属性值
  39. * @param {object} props 修改内置props属性
  40. * @param {object} config 修改内置config属性
  41. * @param {object} color 修改内置color属性
  42. * @param {object} zIndex 修改内置zIndex属性
  43. */
  44. export function setConfig(configs) {
  45. index.shallowMerge(config, configs.config || {})
  46. index.shallowMerge(props, configs.props || {})
  47. index.shallowMerge(color, configs.color || {})
  48. index.shallowMerge(zIndex, configs.zIndex || {})
  49. }
  50. index.setConfig = setConfig
  51. const $u = {
  52. route,
  53. date: index.timeFormat, // 另名date
  54. colorGradient: colorGradient.colorGradient,
  55. hexToRgb: colorGradient.hexToRgb,
  56. rgbToHex: colorGradient.rgbToHex,
  57. colorToRgba: colorGradient.colorToRgba,
  58. test,
  59. type: themeType,
  60. http,
  61. config, // uview-plus配置信息相关,比如版本号
  62. zIndex,
  63. debounce,
  64. throttle,
  65. mixin,
  66. mpMixin,
  67. props,
  68. ...index,
  69. color,
  70. platform
  71. }
  72. // $u挂载到uni对象上
  73. uni.$u = $u
  74. const install = (Vue) => {
  75. // 同时挂载到uni和Vue.prototype中
  76. // #ifndef APP-NVUE
  77. // 只有vue,挂载到Vue.prototype才有意义,因为nvue中全局Vue.prototype和Vue.mixin是无效的
  78. Vue.config.globalProperties.$u = $u
  79. Vue.mixin(mixin)
  80. // #endif
  81. }
  82. export default {
  83. install
  84. }