README
common-modules
Common modules.
Usage
Install
npm install --save @yujinpan/common-modules
Require element-ui
If your project does not use element-ui, you need to introduce a separate element-ui package, like this:
import '@yujinpan/common-modules/lib/element-ui';
Global registration
import Vue from 'vue';
import CM from '@yujinpan/common-modules';
import '@yujinpan/common-modules/dist/styles/index.css';
Vue.use(CM);
In-component registration
import { CMForm } from '@yujinpan/common-modules';
import '@yujinpan/common-modules/dist/styles/index.css';
export default {
components: {
CMForm
}
};
Components
- CMButton 按钮组件
- CMButtonGroup 按钮组组件
- CMColorList 颜色列表组件
- CMColorList 颜色列表组件
- CMComment 评论组件
- CMDateAxis 时间轴组件
- CMDesc 描述组件
- CMDoc 文档组件
- CMDropdown 下拉组件
- CMFilter 过滤器组件
- CMForm 表单组件
- CMFormControl 表单控件组件
- CMFormItem 表单子项组件
- CMFormItemGroup 表单子项组组件
- CMFormItemMap 表单子项对象组件
- CMIconDialog 图标弹窗
- CMIconPicker 图标选择器
- CMInfo 信息列表组件
- CMInfoItem 信息列表项组件
- CMLabel 标签组件
- CMList 列表组件
- CMMask 遮罩组件
- CMNone 空组件
- CMPopConfirm 气泡确认组件
- CMRangeInput 范围输入组件
- CMShadowFrame 阴影框架
- CMSkeleton 骨架屏组件
- CMSwitch 开关组件
- CMTable 表格组件
- CMUpload 上传组件
Directives
- CMProgress 加载进度条
- CMShadowDom 阴影 DOM
Filters
- index
- CMDate 时间日期格式化
- CMInt 转换为整数
- CMNumFixed 保留小数点
- CMSliceStr 剪切字符串
Utils
- array
- toArray 转换为数组
- toFlatArray 二维数组转换为平级数组
- toMap 转换为 Map 结构
- toGroupMap 转换为分组的 Map 结构
- deDup 去重
- deDupByKey 根据数组子项的键名去重
- swapItem 交互数组的两项
- compareArrayChanges 对比数组的更改
- createArray 创建数组
- browser
- isIE 是否为 IE 浏览器
- triggerResize 触发浏览器的 resize 事件
- business
- getVisibleData 获取展示的数据
- toFormData 转换为 FormData 数据
- getConfirmText 获取确认文本
- handlePromise 处理异步操作
- class
- classMixin 类的混入
- date
- getDateTimeStr 获取日期时间字符串
- isTimeStamp 是否为时间戳
- getTimeStampByDay 获取 n 天后的当前时间的时间戳
- getMicrosecondByDay 获取 n 天的微秒
- getOverTime 获取剩余时间
- getDuration 获取时长
- getDurationStr 获取时长文本
- dictionary
- getLabel 获取字典值对应的别名
- Dictionary 字典类
- dom
- getStyle 获取样式
- hasPosition 判断使用使用了定位属性
- addListener 监听事件
- unsetTransitionMoment 短时间内禁用 transition 过渡样式(解决部分情况过渡异常触发问题)
- element
- getButtonGroupWidth 获取按钮组的宽度
- prompt 确认表单输入框
- promptForm 确认表单输入内容
- ElFormInheritProps ElForm 的继承属性
- ElFormChangeEvent ElForm 的修改事件
- ElFormControlBase ElForm 的控件基类
- file
- downloadByUrl 下载文件地址
- downloadByCanvas 下载 canvas
- downloadByContent 下载文本内容
- downloadByJSON 下载 JSON 对象
- downloadByBlob 下载 Blob 对象
- readTextFile 读取文本文件
- readJSONFile 读取 JSON 文件
- form
- getFormRules 获取表单规则
- validateForm 校验表单
- getFormDefaultModel 获取表单数据的默认值对象
- getFormItemDefaultValue 获取表单项的默认值
- getFormLabelWidth 获取表单的 labelWidth
- format
- getValueByKeyPath 获取字符串的键值 obj['a.b.c'] = obj.a.b.c
- objToArray 对象序列化
- fillZero 补零
- getValidValue 获取有效值
- toSliceStr 截取文本
- getStrLen 获取字符串长度
- function
- onceAsync 执行一次(异步)
- once 执行一次
- getCompoundAsyncVal 获取复合类型的值(异步)
- getCompoundSyncVal 获取复合类型的值(同步)
- local-data
- LocalData 本地缓存类
- LocalDataMap 本地缓存类 - Map 结构
- message
- printInfo 打印信息
- printInfoStyle 打印带样式的信息
- showMessage 弹出提示
- getErrorStr 获取错误信息字符串
- getErrorAlias 获取报错信息别名
- updateErrorAliasMap 更新错误信息别名
- noop
- noop 空函数
- number
- numToFixed 保留小数位 n 位
- numToThousand 转换为千位分隔符形式
- toInt 转换为数字整型
- object
- mergeProps 合并有效的属性(改变源)
- getValidProps 获取有效的属性(不改变源)
- propsPick 对象属性摘取
- propsOmit 对象属性删除
- propsFilter 对象属性过滤
- permission
- permissionRouterLoad 加载权限路由
- permissionRouterGuard 权限路由守卫
- permissionRoutesFilter 权限菜单过滤
- hasPermission 判断路由是否有权限
- progress
- Progress 进度条
- reg-exp
- REG_EXP_DOUBLE_BYTE 双字节正则(中文)
- request
- request axios.request 请求方法
- createRequest 创建请求实例
- postDataTransform post 请求头转换
- REQUEST_PARAMS_SERIALIZER_REPEAT 请求参数序列化方法 - repeat 模式
- REQUEST_HEADERS_JSON 请求头 - json 格式
- router
- routerLoadProgress 路由加载进度条
- unit
- transformInformationUnit 转换信息单位
- url
- getUrlInfo 获取链接信息
- getUrlParams 获取链接参数(非 hash 参数)
- getUrlOrigin 获取链接 origin 地址
- getUrlHost 获取链接 host 地址
- getUrlProtocol 获取链接协议
- getUrlPort 获取链接端口
- getUrlPathname 获取链接路径名
- getUrlSearch 获取链接查询值
- getUrlHash 获取链接 hash 值
- getUrlHashParams 获取链接 hash 参数
- addParamsToUrl 添加参数到地址上
- getBaseUrl 获取基础地址
- validate
- isValidArray 校验数组是否有效
- isValidValue 校验一个简单值
- vue
- banVueObservable 禁用 vue 的响应式封装
- isValidVNode 是否为有效节点
- webpack
- getModulesByRequireContext 获取路径下所有模块
Classes
- Activable 可激活对象
- FullScreen 全屏交互
- HistoryRecord 历史记录类
- Observable 可观察对象
- ObservableArray 可观察对象 - 数组
- ObservableObject 可观察对象 - 对象
- ReactiveState 响应式状态(可响应式,可监听)
Styles
- dist
- components 组件样式
- theme 主题样式
- base.css 基础样式
- common-variables.scss 公共的变量
- element-ui.css element-ui 的定制样式
- index.css 入口样式类
- mixins.scss 公共混入
- public.scss 公共样式类(组件依赖)
暗黑风格
// 暗黑主题文件
@import "@yujinpan/common-modules/dist/styles/theme/dark.scss";
// 这里自定义主题(更多变量在 ~element-ui/packages/theme-chalk/src/common/var 中查看)
$--color-primary: pink;
// 主要样式文件
@import "@yujinpan/common-modules/dist/styles/index.scss";
// element-ui 的原始 scss 文件
/* 改变 icon 字体路径变量,必需 */
$--font-path: '~element-ui/lib/theme-chalk/fonts';
@import '~element-ui/packages/theme-chalk/src/index';
body {
}
Class
- Activable 可激活对象
- FullScreen 全屏交互
- HistoryRecord 历史记录
- Observable 可观察对象
- ReactiveState 响应式状态
Decorators
- Installable 创建插件类型,即可使用 Vue.use(Component)
- BanVueObservable 禁止 Vue 响应式封装
- VueObservable 使用 Vue 响应式封装