index.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // 全局挂载引入http相关请求拦截插件
  2. import Request from './libs/luch-request'
  3. // 引入全局mixin
  4. import mixin from './libs/mixin/mixin.js'
  5. // 小程序特有的mixin
  6. import mpMixin from './libs/mixin/mpMixin.js'
  7. // #ifdef MP
  8. import mpShare from './libs/mixin/mpShare.js'
  9. // #endif
  10. // 路由封装
  11. import route from './libs/util/route.js'
  12. // 公共工具函数
  13. import * as index from './libs/function/index.js'
  14. // 防抖方法
  15. import debounce from './libs/function/debounce.js'
  16. // 节流方法
  17. import throttle from './libs/function/throttle.js'
  18. // 规则检验
  19. import * as test from './libs/function/test.js'
  20. // 配置信息
  21. import config from './libs/config/config.js'
  22. // 平台
  23. import platform from './libs/function/platform'
  24. import Color from './libs/function/color/index.js'
  25. const $w = {
  26. ...index,
  27. route,
  28. config,
  29. test,
  30. throttle,
  31. date: index.timeFormat, // 另名date
  32. Color,
  33. http: new Request(),
  34. debounce,
  35. throttle,
  36. platform,
  37. mixin,
  38. mpMixin
  39. }
  40. uni.$w = $w;
  41. const install = (Vue,options={}) => {
  42. // #ifndef APP-NVUE
  43. Vue.mixin(mixin);
  44. // #ifdef MP
  45. if(options.mpShare){
  46. Vue.mixin(mpShare);
  47. }
  48. // #endif
  49. // #endif
  50. // #ifdef VUE2
  51. // 时间格式化,同时两个名称,date和timeFormat
  52. Vue.filter('timeFormat', (timestamp, format) => uni.$w.timeFormat(timestamp, format));
  53. Vue.filter('date', (timestamp, format) => uni.$w.timeFormat(timestamp, format));
  54. // 将多久以前的方法,注入到全局过滤器
  55. Vue.filter('timeFrom', (timestamp, format) => uni.$w.timeFrom(timestamp, format));
  56. // 同时挂载到uni和Vue.prototype中
  57. // #ifndef APP-NVUE
  58. // 只有vue,挂载到Vue.prototype才有意义,因为nvue中全局Vue.prototype和Vue.mixin是无效的
  59. Vue.prototype.$w = $w;
  60. // #endif
  61. // #endif
  62. // #ifdef VUE3
  63. Vue.config.globalProperties.$w = $w;
  64. // #endif
  65. }
  66. export default {
  67. install
  68. }