|
|
// 看到此报错,是因为没有配置vite.config.js的【transpileDependencies】
|
|
|
// const pleaseSetTranspileDependencies = {}, babelTest = pleaseSetTranspileDependencies?.test
|
|
|
|
|
|
// 引入全局mixin
|
|
|
import { mixin } from './libs/mixin/mixin.js'
|
|
|
// 小程序特有的mixin
|
|
|
import { mpMixin } from './libs/mixin/mpMixin.js'
|
|
|
// 全局挂载引入http相关请求拦截插件
|
|
|
import Request from './libs/luch-request'
|
|
|
|
|
|
// 路由封装
|
|
|
import route from './libs/util/route.js'
|
|
|
// 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制
|
|
|
import colorGradient from './libs/function/colorGradient.js'
|
|
|
|
|
|
// 规则检验
|
|
|
import test from './libs/function/test.js'
|
|
|
// 防抖方法
|
|
|
import debounce from './libs/function/debounce.js'
|
|
|
// 节流方法
|
|
|
import throttle from './libs/function/throttle.js'
|
|
|
// 公共文件写入的方法
|
|
|
import index from './libs/function/index.js'
|
|
|
|
|
|
// 配置信息
|
|
|
import config from './libs/config/config.js'
|
|
|
// props配置信息
|
|
|
import props from './libs/config/props.js'
|
|
|
// 各个需要fixed的地方的z-index配置文件
|
|
|
import zIndex from './libs/config/zIndex.js'
|
|
|
// 关于颜色的配置,特殊场景使用
|
|
|
import color from './libs/config/color.js'
|
|
|
// 平台
|
|
|
import platform from './libs/function/platform'
|
|
|
|
|
|
// 导出
|
|
|
const http = new Request()
|
|
|
let themeType = ['primary', 'success', 'error', 'warning', 'info'];
|
|
|
export { route, http, debounce, throttle, platform, themeType, mixin, mpMixin, props, color, test, zIndex }
|
|
|
export * from './libs/function/index.js'
|
|
|
export * from './libs/function/colorGradient.js'
|
|
|
|
|
|
/**
|
|
|
* @description 修改uView内置属性值
|
|
|
* @param {object} props 修改内置props属性
|
|
|
* @param {object} config 修改内置config属性
|
|
|
* @param {object} color 修改内置color属性
|
|
|
* @param {object} zIndex 修改内置zIndex属性
|
|
|
*/
|
|
|
export function setConfig(configs) {
|
|
|
index.shallowMerge(config, configs.config || {})
|
|
|
index.shallowMerge(props, configs.props || {})
|
|
|
index.shallowMerge(color, configs.color || {})
|
|
|
index.shallowMerge(zIndex, configs.zIndex || {})
|
|
|
}
|
|
|
index.setConfig = setConfig
|
|
|
|
|
|
const $u = {
|
|
|
route,
|
|
|
date: index.timeFormat, // 另名date
|
|
|
colorGradient: colorGradient.colorGradient,
|
|
|
hexToRgb: colorGradient.hexToRgb,
|
|
|
rgbToHex: colorGradient.rgbToHex,
|
|
|
colorToRgba: colorGradient.colorToRgba,
|
|
|
test,
|
|
|
type: themeType,
|
|
|
http,
|
|
|
config, // uview-plus配置信息相关,比如版本号
|
|
|
zIndex,
|
|
|
debounce,
|
|
|
throttle,
|
|
|
mixin,
|
|
|
mpMixin,
|
|
|
props,
|
|
|
...index,
|
|
|
color,
|
|
|
platform
|
|
|
}
|
|
|
|
|
|
export const mount$u = function() {
|
|
|
uni.$u = $u
|
|
|
}
|
|
|
|
|
|
// #ifdef H5
|
|
|
const importFn = import.meta.glob('./components/u-*/u-*.vue', { eager: true })
|
|
|
let components = [];
|
|
|
|
|
|
// 批量注册全局组件
|
|
|
for (const key in importFn) {
|
|
|
let component = importFn[key].default;
|
|
|
if (component.name && component.name.indexOf('u--') !== 0) {
|
|
|
const name = component.name.replace(/u-([a-zA-Z0-9-_]+)/g, 'up-$1');
|
|
|
component.install = function (Vue) {
|
|
|
Vue.component(name, component);
|
|
|
};
|
|
|
|
|
|
// 导入组件
|
|
|
components.push(component);
|
|
|
}
|
|
|
}
|
|
|
// #endif
|
|
|
|
|
|
function toCamelCase(str) {
|
|
|
return str.replace(/-([a-z])/g, function(match, group1) {
|
|
|
return group1.toUpperCase();
|
|
|
}).replace(/^[a-z]/, function(match) {
|
|
|
return match.toUpperCase();
|
|
|
});
|
|
|
}
|
|
|
|
|
|
const install = (Vue) => {
|
|
|
// #ifdef H5
|
|
|
components.forEach(function(component) {
|
|
|
Vue.component(component.name, component);
|
|
|
});
|
|
|
// #endif
|
|
|
|
|
|
// 同时挂载到uni和Vue.prototype中
|
|
|
// $u挂载到uni对象上
|
|
|
uni.$u = $u
|
|
|
|
|
|
// #ifndef APP-NVUE
|
|
|
// 只有vue,挂载到Vue.prototype才有意义,因为nvue中全局Vue.prototype和Vue.mixin是无效的
|
|
|
Vue.config.globalProperties.$u = $u
|
|
|
Vue.mixin(mixin)
|
|
|
// #endif
|
|
|
}
|
|
|
|
|
|
export default {
|
|
|
install
|
|
|
}
|