| // 引入全局mixin | 
| import mixin from './libs/mixin/mixin.js' | 
| // 引入关于是否mixin集成小程序分享的配置 | 
| // import wxshare from './libs/mixin/mpShare.js' | 
| // 全局挂载引入http相关请求拦截插件 | 
| import http from './libs/request' | 
|   | 
| function wranning(str) { | 
|     // 开发环境进行信息输出,主要是一些报错信息 | 
|     // 这个环境的来由是在程序编写时候,点击hx编辑器运行调试代码的时候,详见: | 
|     //     https://uniapp.dcloud.io/frame?id=%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%92%8c%e7%94%9f%e4%ba%a7%e7%8e%af%e5%a2%83 | 
|     if (process.env.NODE_ENV === 'development') { | 
|         console.warn(str) | 
|     } | 
| } | 
|   | 
| // 尝试判断在根目录的/store中是否有$u.mixin.js,此文件uView默认为需要挂在到全局的vuex的state变量 | 
| // HX2.6.11版本,放到try中,控制台依然会警告,暂时不用此方式, | 
| // let vuexStore = {}; | 
| // try { | 
| //     vuexStore = require("@/store/$u.mixin.js"); | 
| // } catch (e) { | 
| //     //TODO handle the exception | 
| // } | 
|   | 
| // post类型对象参数转为get类型url参数 | 
| import queryParams from './libs/function/queryParams.js' | 
| // 路由封装 | 
| import route from './libs/function/route.js' | 
| // 时间格式化 | 
| import timeFormat from './libs/function/timeFormat.js' | 
| // 时间戳格式化,返回多久之前 | 
| import timeFrom from './libs/function/timeFrom.js' | 
| // 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制 | 
| import colorGradient from './libs/function/colorGradient.js' | 
| // 生成全局唯一guid字符串 | 
| import guid from './libs/function/guid.js' | 
| // 主题相关颜色,info|success|warning|primary|default|error,此颜色已在uview.scss中定义,但是为js中也能使用,故也定义一份 | 
| import color from './libs/function/color.js' | 
| // 根据type获取图标名称 | 
| import type2icon from './libs/function/type2icon.js' | 
| // 打乱数组的顺序 | 
| import randomArray from './libs/function/randomArray.js' | 
| // 对象和数组的深度克隆 | 
| import deepClone from './libs/function/deepClone.js' | 
| // 对象深度拷贝 | 
| import deepMerge from './libs/function/deepMerge.js' | 
| // 添加单位 | 
| import addUnit from './libs/function/addUnit.js' | 
|   | 
| // 规则检验 | 
| import test from './libs/function/test.js' | 
| // 随机数 | 
| import random from './libs/function/random.js' | 
| // 去除空格 | 
| import trim from './libs/function/trim.js' | 
| // toast提示,对uni.showToast的封装 | 
| import toast from './libs/function/toast.js' | 
| // 获取父组件参数 | 
| import getParent from './libs/function/getParent.js' | 
| // 获取整个父组件 | 
| import $parent from './libs/function/$parent.js' | 
| // 获取sys()和os()工具方法 | 
| // 获取设备信息,挂载到$u的sys()(system的缩写)属性中, | 
| // 同时把安卓和ios平台的名称"ios"和"android"挂到$u.os()中,方便取用 | 
| import {sys, os} from './libs/function/sys.js' | 
| // 防抖方法 | 
| import debounce from './libs/function/debounce.js' | 
| // 节流方法 | 
| import throttle from './libs/function/throttle.js' | 
|   | 
|   | 
| // 配置信息 | 
| import config from './libs/config/config.js' | 
| // 各个需要fixed的地方的z-index配置文件 | 
| import zIndex from './libs/config/zIndex.js' | 
|   | 
| const $u = { | 
|     queryParams: queryParams, | 
|     route: route, | 
|     timeFormat: timeFormat, | 
|     date: timeFormat, // 另名date | 
|     timeFrom, | 
|     colorGradient: colorGradient.colorGradient, | 
|     colorToRgba: colorGradient.colorToRgba, | 
|     guid, | 
|     color, | 
|     sys, | 
|     os, | 
|     type2icon, | 
|     randomArray, | 
|     wranning, | 
|     get: http.get, | 
|     post: http.post, | 
|     put: http.put, | 
|     'delete': http.delete, | 
|     hexToRgb: colorGradient.hexToRgb, | 
|     rgbToHex: colorGradient.rgbToHex, | 
|     test, | 
|     random, | 
|     deepClone, | 
|     deepMerge, | 
|     getParent, | 
|     $parent, | 
|     addUnit, | 
|     trim, | 
|     type: ['primary', 'success', 'error', 'warning', 'info'], | 
|     http, | 
|     toast, | 
|     config, // uView配置信息相关,比如版本号 | 
|     zIndex, | 
|     debounce, | 
|     throttle, | 
| } | 
|   | 
| // $u挂载到uni对象上 | 
| uni.$u = $u | 
|   | 
| const install = Vue => { | 
|     Vue.mixin(mixin)  | 
|     if (Vue.prototype.openShare) { | 
|         Vue.mixin(mpShare); | 
|     } | 
|     // Vue.mixin(vuexStore); | 
|     // 时间格式化,同时两个名称,date和timeFormat | 
|     Vue.filter('timeFormat', (timestamp, format) => { | 
|         return timeFormat(timestamp, format) | 
|     }) | 
|     Vue.filter('date', (timestamp, format) => { | 
|         return timeFormat(timestamp, format) | 
|     }) | 
|     // 将多久以前的方法,注入到全局过滤器 | 
|     Vue.filter('timeFrom', (timestamp, format) => { | 
|         return timeFrom(timestamp, format) | 
|     }) | 
|     Vue.prototype.$u = $u | 
| } | 
|   | 
| export default { | 
|     install | 
| } |