# qg-pc-plugin
**Repository Path**: chen_gang1231/qg-pc-plugin
## Basic Information
- **Project Name**: qg-pc-plugin
- **Description**: pc端通用插件
- **Primary Language**: Unknown
- **License**: ISC
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2022-12-05
- **Last Updated**: 2023-06-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# qg-pc-plugin
#### 介绍
这是 pc 端通用的插件。有方法过滤器自定义指令 ui 组件
#### 软件架构
软件架构说明
#### 安装教程
1. npm i qg-pc-plugin
#### 使用说明
1. 支持组件,自定义指令按需引入。组件全局配置例如
```/
color = "green";
Vue.use(huayu-pc-qg-pulgin,{
components:["qg-btn","qg-row"],
directives: ["dialogDrag", "permission"],
btnStyle: {//这是按钮组件的全局配置
color: color,
borderColor: color,
backColor: color,
},
lineColor: color,//这是分割线组件件的全局配置
checkColor: color,//这是勾选框的全局配置
})
```
2. 关于配置优先级
1:Vue.use 时只注册不传入配置项的话默认全部组件及指令注册
2:组件配置优先级遵循 组件传参配置 > 全局配置 > 默认配置
3. 建议使用 rem 单位 这个单位是响应式的,用于适应不同分辨率的屏幕。
4. 如果要使用路径过滤补全过滤器,需要在根路径创建一个 config.js 文件写入接口地址 例如
```/
export default {
baseUrl:'http://xxxxx',
}
...
```
5. 如果要使用 qg-is-show 组件 需要在 vuex 中写入
```/
state:{
userInfo:{
userType:值为number类型
}
}
```
6. 如果要使用 v-permission 指令 需要在浏览器缓存中写入
```/
localStorage.setItem("role",['',''])
```
7. 各组件的使用
```/
111
测试背景按钮
测试按钮
测试背景按钮
//auths为要显示的权限数组 api可以传递一个调用接口的方法
{{ item.name }}
gridGap 默认10rem number 默认全部放一行 number=2 指一行放两个
这是有提示手机号是否合法的组件
用法与inoput一致 个别方法参数有调整
//lazy:开启懒加载,isAnalyse:开启倍数图,mode:目前只有fit模式
size:设置大小 默认20
:list="[ { name: 11, id: 1 }, { name: 22, id: 2 }, ]" //传入你的数组options
range_key="name" range_value="id" //根据不同的数组对象key,value传入不同的key ,value
v-model="val"
:immediate="false" //是否立即执行
@change="change" //change事件回调参数为this.list[this.range_value]
>//还要很多配置参数自己去探索吧
```
8. 自定义指令的使用
```/
测试自定义指令控制权限
使用插件形式注册的指令
// data-src 为加载时的图片路径不传则使用默认loding样式
```
9. 过滤器的使用
```/
/**
* 时间格式化
* @param {object,string} date = 时间
* @param {string} format = 'yyyy-MM-dd'
*/
export const dateFilter = (date, format = "yyyy-MM-dd")=>{...}
{{des | dateFilter('yyyy-MM-dd hh:mm:ss')}}
/**
* 路径过滤补全
* @param {string} url = '字符串'
*/
export const imgFilter = (url)=>{...}
/**
* 手机号脱敏处理,保留前三后四
* @param {string} value = 传入手机号
*/
export const phoneHide = (value) =>{...}
{{phone | phoneHide}}
/**
* 姓名截取
* @param {string} name 姓名
*/
export function compellationCut(name) {...}
{{name | compellationCut}}
/**
* 身份证号截取
* @param {string} card 身份证号
*/
export function idCardCut(card) {...}
{{identityCard | idCardCut}}
/**
* 数字转大写
* @param {string,number} temp = '字符串'
*/
export const numFormatter = (temp) =>{...}
{{'123' | numFormatter}}
/**
* 过滤出剩余的秒数 当前时间加上要往后延长的小时数减去记录的时间
* @param {string,Date} time = 时间
* @param {number} hour = 小时数 默认0
* @param {string,Date} currDate = 当前时间最好使用后端服务器的时间 默认js的 new Date()
*/
export const timestamp = (time, hour = 0, currDate= new Date()) =>{...}
{{date | timestamp(2)}}
/**
* 过滤超额省略加上单位
* @param {number} Num = '源数值'
*/
export const matchingNnit = (Num) => {...}
{{124541| matchingNnit}}
过滤器也可以在script中引入使用,最好是引入时改个名字例如:
import {imgFilter as imageFilter} from 'qg-pc-plugin/lib/ways/filter.js'
let a = imageFilter(string)
```
10. 全局方法的使用
在方法名前面都有一个\$符
```/
/**
* 获取开始结束时间参数
* @param {number,string} id = 前几天 本月 上月 本季 本年
*/
export const getDateParams = (id) => {...}
/**
* ovse 交叉观察器 用于监听某个节点元素出现在屏幕时执行
* @param {object} observer 实例对象
* @param {object} node 节点元素
* @param {object} params 接口参数
* @param {function} callback 回调函数
*/
export function ovse(observer, node, params, callback) {...}
/**
* 取消触底执行函数的监听
*/
export function offObserve(observer) {...}
/**
* 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数
*
* @param {Function} func 要执行的回调函数
* @param {Number} wait 延时的时间
* @param {Boolean} immediate 是否立即执行
* @return null
*/
export function debounce(func, wait = 500, immediate = true) {...}
```