@df8080/vue2-ui
Version:
🎨 一个基于 Vue 2 的 UI 组件库,目前主要面向微信小程序开发场景,也适用于其他移动端项目。
111 lines (99 loc) • 2.8 kB
JavaScript
import DFUI from './package.json'
import mx_customNav from './mixins/mx_customNav'
import mx_filterPage from './mixins/mx_filterPage'
import mx_list from './mixins/mx_list'
import mx_no_page_list from './mixins/mx_no_page_list'
import mx_search_list from './mixins/mx_search_list'
import mx_pageScroll from './mixins/mx_pageScroll'
import mx_searchField from './mixins/mx_searchField'
import { SHAPE } from './config/enum'
import utils from './utils'
import COS from './utils/cos'
export * from './mixins/mx_customNav'
export * from './config/constants'
export * from './config/enum'
export * from './mixins/mx_filterPage'
export * from './mixins/mx_list'
export * from './mixins/mx_no_page_list'
export * from './mixins/mx_search_list'
export * from './mixins/mx_pageScroll'
export * from './request'
export * from './request/checkStatus'
export * from './request/crypto'
export * from './request/jsencrypt'
export * from './utils/calc'
export * from './utils/data'
export * from './utils/dom'
export * from './utils/file'
export * from './utils/format'
export * from './utils/is'
export * from './utils/uniCallback2Promise'
export * from './components/form/utils'
import debounce from './utils/debounce'
import throttle from './utils/throttle'
const $c = {
version: DFUI.version,
mx_customNav,
mx_filterPage,
mx_list,
mx_no_page_list,
mx_search_list,
mx_pageScroll,
mx_searchField,
debounce,
throttle,
}
uni.$c = $c
const install = (Vue, config) => {
const {
getConfig,
getAuthorization,
empty,
emptyWidth,
filterUrl,
imgMode,
buttonShape,
checkboxBtnsShape,
// 加密解密配置
cryptoConfig,
rsaConfig,
} = config || {}
uni.$u.setConfig({
color: {
primary: '#068cfe',
link: '#2b6aff',
error: '#ff0909',
warning: '#ffa800',
success: '#00cd22',
mainColor: '#333',
contentColor: '#999',
tipsColor: '#666',
borderColor: '#c2c2c2',
},
props: {
badge: {
max: 99,
},
},
})
Vue.use(utils)
// 设置加密解密配置到全局
if (cryptoConfig) {
uni.$c.cryptoConfig = cryptoConfig
}
if (rsaConfig) {
uni.$c.rsaConfig = rsaConfig
}
if (config) {
Vue.prototype.$empty = empty
Vue.prototype.$emptyWidth = emptyWidth || '400rpx'
Vue.prototype.$cos = new COS({ getConfig, getAuthorization })
Vue.prototype.$filterUrl = filterUrl || '/package-search/filter/index'
Vue.prototype.$imgMode = imgMode || 'aspectFill'
Vue.prototype.$buttonShape = buttonShape || SHAPE.CIRCLE
Vue.prototype.$checkboxBtnsShape = checkboxBtnsShape || SHAPE.CIRCLE
}
}
export default {
install,
}