sunqiangde / utils-js

工具函数封装

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

常用工具封装

如果发现bug请及时�提出

使用方法

package.json�文件中增加如下:

dependencies:{
  'PDo':"git+https://github.com/interval-design/utils-js.git"
}

dependencies:{
  'PDo':"git+https://github.com/PonyC/PDo.git"
}

npm install
 // 全局引入
 import PDo from 'PDo'
 Vue.prototype.$PDo = PDo;

 // 单个方法注册为过滤器
 Vue.filter('dateFormat', this.$PDo.Date.format);

 // 不要将PDo方法全部注册为过滤器,�因为PDo并不是filter性质的封装。如果需要,请通过新建filters文件解构后再做处理

Api

1. Date

/** 倒计时
* @param time
* @returns {String}
*/ 
this.$PDo.Date.countDown(time)
/** 日期格式化
 * @param {String} time 
 * @param {String} format - 可选 默认格式为:'y/m/d h:i:s'
 * @returns {String}
 */
this.$PDo.Date.format(time,format)
/** 距离当前时间
* @param {String} time 
* @returns {String}
*/
this.$PDo.Date.formTheCurrentTime(time)
/**
 * 时间演算
 * 获取当前日期 + - 前后的日期
 * @param {*} addDayCount  -- 需要推移的日期 正数为加 负数为减
 */
this.$PDo.Date.getTimeCalculation(-7) // 7天天前日期

2. String

/** 获得字符串实际长度,中文2,英文1
* @param str
* @returns {Number}
*/
this.$PDo.String.realLength(str)
/** 截取字符串�并附加省略号
 * @param {String} str 
 * @param {String} cutLen - 需要截取的长度
 * @returns {String}
 */
this.$PDo.String.cut(str, cutLen)
/** html转txt 并可以截取字符串长度
 * @param {*} value 
 * @param {*} cutLen 
 * @returns {String}
 */
this.$PDo.String.stripHtml(value, cutLen)
/** 生成 uuid
 * @returns {String}
 */
this.$PDo.String.generateUUID()
/** 货币格式化
 * @returns {String}
 * @param {Number} price
 * @param {Number} fixed - 可选 默认为2
 */
 this.$PDo.String.priceFormat(price,fixed)

3. Cookies

�该方法搬运自 �tiny-cookie 只选取了3个常用功能

设置一个名称为key的 cookie,使用encodeURIComponent编码。options参数是一个对象,其属性可以是合法的 cookie 属性值,比如path(默认:根路径/)、domainexpires/max-agesamesitesecure。(备注:如果secure的值为一个真值,比如true,就会被设置,否则不会被设置)

/** 设置Cookie
 * @param {String} key 
 * @param {String} value 
 * @param {*} options 
 */
this.$PDo.Cookies.set(key, value, options)

expires属性值可以是一个Date对象,一个可被Date.parse()解析的日期字符串,一个整数(单位:天),或者一个带时间后缀的数值字符串。

单位后缀 含义
Y
M
D
h
m
s
/** 获取Cookie
 * @param {String} key 
 */
this.$PDo.Cookies.get(key)
/** 移除Cookie
 * @param {String} key 
 */
this.$PDo.Cookies.remove(key)

4. Verify

/** 判断参数是否是其中之一
 * @param val
 * @param arr
 * @returns {Boolean}
 */
this.$PDo.Verify.oneOf(val, arr)
/** 检测数据类型
* @param obj
* @param type
* @returns {*}
*/
this.$PDo.Verify.istype(o, type)
/** 检测滚动条是否滚动到页面底部
 * @returns {Function} callback
 */
this.$PDo.Verify.isScrollToPageBottom((()=>{}))

5. Utils

/**
* 频率控制 返回函数连续调用时,action 执行频率限定为 次 / delay
* @param delay  {number}    延迟时间,单位毫秒
* @param action {function}  请求关联函数,实际应用需要调用的函数
* @return {function}    返回客户调用函数
*/
this.$PDo.Utils.throttle(delay,action)
/**
	* 返回函数连续调用时,停留时间大于或等于 idle,action 才会执行
	* @param idle   {number}    停留空闲时间,单位毫秒
	* @param action {function}  请求关联函数,实际应用需要调用的函数
	* @return {function}    返回客户调用函数
	*/
this.$PDo.Utils.debounce(idle, action)
	/**
	下载base64格式文件
	* @param {*} b64 - b64文件编码
	* @param {String} file_name - 命名的名称
	*/
	this.$PDo.Utils.downloadBase64Img(b64,'文件名')

About

工具函数封装


Languages

Language:JavaScript 100.0%