# Common
# 介绍
常用工具函数,为日常开发提供便利
# 特点
- 简单易用
- 不断迭代,与时俱进
# 更新日志
2020.10.13
- 增加显示隐藏通用函数
- 首次进入判断优化,增加当前页面地址作为键值
2020.11.02
增加了一大波函数,关于日期和格式化显示等
https://lol.qq.com/m/public/Activity_Comm.js
https://lol.qq.com/act/CGA/CGA.js
这两个JS就不用再引了!!!
# 安装
默认存在
# 使用
# 显示
根据DOM元素的display属性进行控制,其他管不了
【show】
参数 | 类型 | 含义 |
---|---|---|
el | string | dom元素的选择器 |
Common.show('body');
// 可以选择多个dom
Common.show('ul.test li');
1
2
3
2
3
# 隐藏
【hide】 同上
# 判断是否首次进入
【isFirstEnter】
基于 localStorage,在首次进入后保存状态
返回 | 类型 | 含义 |
---|---|---|
判断结果 | boolean | true 表示是首次访问 |
Common.isFirstEnter();
// true 首次进入
1
2
2
# 调用 swoole 服务
【callSwooleService】
参数 | 类型 | 含义 |
---|---|---|
proj | string | 项目名 |
c | string | 文件名去掉 ctrl |
a | string | 函数名 |
param | object | 参数,会被拼接到 url 后 |
返回 | 类型 | 含义 |
---|---|---|
执行结果 | Promise | then 后成功回调,catch 后失败回调 |
callSwooleService('Demo', 'Demo', 'start', {
name: 'Demo',
})
.then((data) => {
console.log(data);
})
.catch((e) => {
console.log(e);
});
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 是否是 PC 端
检查当前所在环境是否是 PC 端。也可以用 Login 中的 isPC。
【isPC】
返回 | 类型 | 含义 |
---|---|---|
结果 | boolean | true 是 PC 端, false 不是 PC 端 |
Common.isPC();
// true 是PC端
1
2
2
# 平台信息
获取当前平台信息
【checkPlat】
参数 | 类型 | 含义 |
---|---|---|
sAppTarget | string | 如果要检测特定 APP,则传入该 APP 的名称 |
返回 | 类型 | 含义 |
---|---|---|
平台信息 | string | 包括 QQ/WX/微博/道聚城/LCU/浏览器/指定 APP |
let plat = Common.checkPlat();
// 当前在浏览器 'Browser'
let plat = Common.checkPlat('zm');
// 当前在掌盟 'APP'
1
2
3
4
2
3
4
# 系统信息
校验当前环境(Android/iOS/PC)
【checkClient】
返回 | 类型 | 含义 |
---|---|---|
系统信息 | string | iOS/Android/PC,不是前两者则默认是 PC |
let sys = Common.checkClient();
// PC
1
2
2
# 图片转 base64
【reloadImage】
参数 | 类型 | 含义 |
---|---|---|
url | string | 图片地址 |
cb | function | 回调函数 |
Common.reloadImage('https://xxx',function(newUrl){
// do something;
});
1
2
3
2
3
# 获取url参数
【getQueryString】
参数 | 类型 | 含义 |
---|---|---|
name | string | 需要获取的参数名 |
const url=`https://www.baidu.com?nid=1634`;
const parems = Common.getQueryString('nid');
// 1634
1
2
3
2
3
# HTML 转译字符解析
例如:
& 解码成 & (和号)
" 解码成 " (双引号)
' 解码成 ' (单引号)
< 解码成 < (小于)
> 解码成 > (大于)
【jsHtmlSpecialCharsDecode】
参数 | 类型 | 含义 |
---|---|---|
html | string | 需要转换的文本 |
const html="<p>test</p>"
const parems = Common.jsHtmlSpecialCharsDecode(html);
// "<p>test</p>"
1
2
3
2
3
# 获取当前格式化后的日期
【getNowFormatDate】
const times = Common.getNowFormatDate();
// "2020-10-27"
1
2
2
# PHP日期格式化处理
把时间戳格式化为更易读的日期和时间
【phpDate】
参数 | 类型 | 含义 |
---|---|---|
format | string | 规定时间戳的格式 。d - 表示月里的某天(01-31)m - 表示月(01-12)Y - 表示年(四位数)1 - 表示周里的某天 |
timestamp | string | 规定时间戳(秒)。默认是当前时间和日期 |
Common.phpDate(`Y/m/d h:i:sa`); // "2020/10/27"
Common.phpDate(`Y.m.d`); // "2020.10.27"
Common.phpDate(`Y-m-d`); // "2020-10-27"
Common.phpDate(`Y/m/d H:i:s`); // "2020/10/27 15:42:20" 获取年月日 时分秒
Common.phpDate(`Y/m/d H:i:s A`); // "2020/10/27 15:46:38 PM" 带了上午,下午
Common.phpDate(`l`); // "Tuesday"
Common.phpDate(`Y/m/d`,`1603697921`); //"2020/10/26" 想要将拿到的时间戳转化为 年/月/日格式
1
2
3
4
5
6
7
2
3
4
5
6
7
# 秒数转换
秒数转成时分秒格式
【formatSeconds】
参数 | 类型 | 含义 |
---|---|---|
value | string/number | 秒数 |
Common.formatSeconds(11); // "11秒"
Common.formatSeconds(113); // "1分53秒"
Common.formatSeconds(113456); // "31小时30分56秒"
1
2
3
4
5
2
3
4
5
# 处理时间显示
【reloadPubdate】
参数 | 类型 | 含义 |
---|---|---|
times | string | 需要处理的时间。 格式: yyyy-mm-dd hh:mm:ss |
Common.reloadPubdate('2020-06-11 12:02:03'); // "4个月以前"
1
2
3
2
3
# 处理数量显示
超过4位数加K,超过5位数加W
【outNum】
参数 | 类型 | 含义 |
---|---|---|
num | string/number | 需要处理的数量 |
Common.outNum(11122); // "1.1W"
1
2
3
2
3
# 多余字符加省略号
【checkStringLength】
参数 | 类型 | 含义 |
---|---|---|
str | string | 字符串参数 |
length | number | 长度 |
Common.checkStringLength('addkdfhfk',5); // "addkd..."
1
2
3
2
3
# 取随机数
取两个数字间的随机数,包含这两个数字
【mtRand】
参数 | 类型 | 含义 |
---|---|---|
min | number | 最小值 |
max | number | 最大值 |
Common.mtRand(1,7); // 1
1
2
3
2
3
# 格式化数字
数字格式化为(9,999,999)
【formateNum】
参数 | 类型 | 含义 |
---|---|---|
num | string | 需要转化的数字 |
Common.formateNum('12345762'); // "12,345,762"
1
2
3
2
3