UNPKG

czy-avue-form-design

Version:

Vue3.0版本,因Avue还存在一些bug,请慎重使用。

116 lines (112 loc) 3.13 kB
import components from './ui/index'; import { version } from './version' import axios from 'axios'; import { validatenull } from './utils/validate.js'; import { randomId, deepClone, dataURLtoFile, findObject, validData, findArray, findNode, setPx, isJson, downFile, loadScript } from './utils/util'; import contextmenu from './../packages/core/directive/contextmenu'; import $Export from './plugin/export/'; import $Watermark from './plugin/watermark/'; import $Log from './plugin/logs/'; import locale from './locale/'; import $Screenshot from './plugin/screenshot/'; import $Clipboard from './plugin/clipboard/'; import $Print from './plugin/print/'; import $ImagePreview from './../packages/core/components/image-preview/'; import createIcon from './icon'; import './../styles/index.scss'; let plugins = { $ImagePreview, $Export, $Print, $Clipboard, $Watermark, $Log, $Screenshot, deepClone, dataURLtoFile, isJson, setPx, validData, findArray, findNode, validatenull, downFile, loadScript, findObject, randomId }; let directive = { contextmenu } const install = function (Vue, opts = {}) { const defaultOption = { size: opts.size || 'default', calcHeight: opts.calcHeight || 0, menuType: opts.menuType || 'text', appendToBody: validData(opts.appendToBody, true), canvas: Object.assign({ text: 'avuejs.com', fontFamily: 'microsoft yahei', color: '#999', fontSize: 16, opacity: 100, bottom: 10, right: 10, ratio: 1 }, opts.canvas), qiniu: Object.assign({ AK: '', SK: '', scope: '', url: '', bucket: 'https://upload.qiniup.com', deadline: 1 }, (opts.qiniu || {})), ali: Object.assign({ region: '', endpoint: '', stsToken: '', accessKeyId: '', accessKeySecret: '', bucket: '' }, (opts.ali || {})) } Vue.config.globalProperties.$AVUE = Object.assign(opts, defaultOption); components.forEach(component => { Vue.component(component.name, component); }); createIcon(Vue); Object.keys(plugins).forEach((key) => { Vue.config.globalProperties[key] = plugins[key]; }); Object.keys(directive).forEach((key) => { Vue.directive(key, directive[key]); }); // 国际化 locale.use(opts.locale); locale.i18n(opts.i18n); Vue.config.globalProperties.$uploadFun = function (column = {}, safe) { safe = safe || this; let list = ['uploadPreview', 'uploadBefore', 'uploadAfter', 'uploadDelete', 'uploadError', 'uploadExceed']; let result = {}; if (column.type === 'upload') { list.forEach(ele => { if (!column[ele]) { result[ele] = safe[ele]; } }); } else { list.forEach(ele => { result[ele] = safe[ele]; }); } return result; }; Vue.config.globalProperties.$axios = opts.axios || window.axios || axios window.axios = Vue.config.globalProperties.$axios }; export default { version, locale, install }