index.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // 看到此报错,是因为没有配置vue.config.js的【transpileDependencies】,详见:https://www.uviewui.com/components/npmSetting.html#_5-cli模式额外配置
  2. const pleaseSetTranspileDependencies = {},
  3. babelTest = pleaseSetTranspileDependencies?.test
  4. // 引入全局mixin
  5. import mixin from './libs/mixin/mixin.js'
  6. // 小程序特有的mixin
  7. import mpMixin from './libs/mixin/mpMixin.js'
  8. // 全局挂载引入http相关请求拦截插件
  9. import Request from './libs/luch-request'
  10. // 路由封装
  11. import route from './libs/util/route.js'
  12. // 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制
  13. import colorGradient from './libs/function/colorGradient.js'
  14. // 规则检验
  15. import test from './libs/function/test.js'
  16. // 防抖方法
  17. import debounce from './libs/function/debounce.js'
  18. // 节流方法
  19. import throttle from './libs/function/throttle.js'
  20. // 公共文件写入的方法
  21. import index from './libs/function/index.js'
  22. // 配置信息
  23. import config from './libs/config/config.js'
  24. // props配置信息
  25. import props from './libs/config/props.js'
  26. // 各个需要fixed的地方的z-index配置文件
  27. import zIndex from './libs/config/zIndex.js'
  28. // 关于颜色的配置,特殊场景使用
  29. import color from './libs/config/color.js'
  30. // 平台
  31. import platform from './libs/function/platform'
  32. const $u = {
  33. route,
  34. date: index.timeFormat, // 另名date
  35. colorGradient: colorGradient.colorGradient,
  36. hexToRgb: colorGradient.hexToRgb,
  37. rgbToHex: colorGradient.rgbToHex,
  38. colorToRgba: colorGradient.colorToRgba,
  39. test,
  40. type: ['primary', 'success', 'error', 'warning', 'info'],
  41. http: new Request(),
  42. config, // uView配置信息相关,比如版本号
  43. zIndex,
  44. debounce,
  45. throttle,
  46. mixin,
  47. mpMixin,
  48. props,
  49. ...index,
  50. color,
  51. platform
  52. }
  53. // $u挂载到uni对象上
  54. uni.$u = $u
  55. const install = (Vue) => {
  56. // 时间格式化,同时两个名称,date和timeFormat
  57. Vue.filter('timeFormat',
  58. (timestamp, format) => uni.$u.timeFormat(timestamp, format))
  59. Vue.filter('date',
  60. (timestamp, format) => uni.$u.timeFormat(timestamp, format))
  61. // 将多久以前的方法,注入到全局过滤器
  62. Vue.filter('timeFrom',
  63. (timestamp, format) => uni.$u.timeFrom(timestamp, format))
  64. // 同时挂载到uni和Vue.prototype中
  65. // #ifndef APP-NVUE
  66. // 只有vue,挂载到Vue.prototype才有意义,因为nvue中全局Vue.prototype和Vue.mixin是无效的
  67. Vue.prototype.$u = $u
  68. Vue.mixin(mixin)
  69. // #endif
  70. }
  71. export default {
  72. install
  73. }