
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
yskj-tools
Advanced tools
修复_urlDel方法的bug(多个问号的问题) *1.7.7
修复replaceIntranetOrExtranet方法的bug *1.7.6
replaceIntranetOrExtranet方法截取多余的‘/base-api’ *1.7.5
watchIdCard方法身份证号码获取出生年月日和年龄修改正则表达式 *1.7.4
p_fetch方法添加参数timeout:0 *1.7.3
_isInnerIP方法新增内网网段 *1.7.2
新增_conversionUnit&_initIconClass方法 *1.7.1
p_preViewFile新增isFileAddress是否是自定义显示返回地址参数 *1.7.0
修改姓名正则匹配规则 *1.6.9
删除无用的方法templateFn *1.6.7
修复p_preViewFile方法的bug *1.6.6
修复deepClone方法的bug *1.6.2
p_tenantId方法修改为通过主机名获取租户Id *1.6.1
新增一些方法 *1.6.0
修复文件校验提示语 *1.5.9
新增jumpApplication跳转项目的配置方法 *1.5.3
修复小程序上传失效问题 *1.5.1
修改ys-net-type为驼峰 *1.5.0
修复jumpApplication方法bug *1.5.5
所有方法Header头添加ys_net_type参数区分内外网 *1.4.9
p_configCenter方法修改baseUrl *1.4.6
p_configCenter方法新增手动设置内外网参数 *1.4.4
添加p_blobFileDownLoad(流文件下载)参数文件后缀:suffix *1.4.3
重构_thumb *1.4.2
修复_format不能传时间戳的问题 *1.4.1
新增p_blobFileDownLoad(流文件下载)方法 *1.4.0
将方法全部注册到vue的原型链上,之后可以使用this来调用
import tools from 'yskj-tools'
for (const keys of Object.keys(tools)) {
Vue.prototype[keys] = tools[keys]
}
| 方法名 | 方法说明 |
|---|---|
| _query | 截取 URL 参数值 |
| _random | 生成大位随机数 |
| _format | 时间格式化 |
| _unique | JSON 数组去重 |
| _urlDel | 去掉 Url 中的某个参数,参数为需要去除掉的 key |
| _sex | 性别映射 |
| _environ | 判断当前所处的环境 |
| _thumb | 生成缩略图 |
| _isInnerIP | 判断内外网 |
| 方法名 | 方法说明 |
|---|---|
| p_tenantId | 获取租户 Id |
| p_encryToken | token 加密 |
| p_decryToken | token 解密 |
| p_initVue | 智慧校园子系统初始化 Vue 之前的操作 |
| p_uploadFile | 文件上传 |
| p_decryUrl | 文件加密转解密 |
| p_configCenter | 智慧校园配置中心 |
| p_blobFileDownLoad | 流文件下载 |
| 方法名 | 方法说明 |
|---|---|
| v_name | 中国大陆姓名验证 |
| v_phone | 手机号码验证 |
| v_file | 表单验证 |
| v_idCard | 身份证验证 |
功能:截取URL参数值
参数:{
paraName:URL参数的键名
noDecode: 是否不解密url, 默认为false, 解密
}
用法:如下
let url = "xxx?name=张三";
_query("name"); // 张三
_query("name", true); // %E5%88%98%E6%B8%85
功能:时间格式化
参数:{
time: 需要被格式化的时间(支持格式为 时间戳和'2021-04-26 16:00:00', '2021/04/26 16:00:00')
format:返回的时间格式,默认'MM-DD' => 04-26, 还支持'MM-DD hh:mm' => 04-26 15:07 'YY-MM-DD hh:mm:ss' 'YY-MM-DD' 'MM-DD' 'hh:mm:ss' 'hh:mm'
'y' => 2021 'm' => 04 'd' => 26
'week' => 1 (0 表示星期天, 1表示星期一,······)
}
用法:如下
_format("2021-4-26"); // 04-26
_format("2021-4-26 14:59:32", "MM-DD hh:mm"); // 04-26 14:59
_format(1619424033104, "MM-DD hh:mm"); // (1619424033104为时间戳) 04-26 16:01
_format(1619424033104, "week"); // 1
_format(new Date(), "y"); // 2021
_format(new Date(), "m"); // 04
_format(new Date(), "d"); // 26
功能:json数组去重
参数: {
arr: json Array
key: 唯一的key名,根据此键名进行去重
}
用法:如下
var arr = [
{ id: 1, name: "11" },
{ id: 1, name: "22" },
];
_unique(arr, "id"); // [{id: 1, name: '11'}]
功能:中国大陆姓名验证
参数:用户输入的姓名
用法:如下
v_name("刘德华"); // true
v_name("周杰伦"); // true
v_name("123"); // false
v_name("james"); // false
功能:手机号码验证
参数:用户输入的手机号码
用法:如下
v_phone(13188808452); // true
v_phone(11188888888); // false
v_phone(1772645777); // false
功能:上传前校验文件是否合法
参数:{
file: file文件对象
option: {
type(String): 文件校验类型, 可选值:video,image,excel,word
size(Number): 大小 MB
exportType(String): "object" 默认为''(为空则返回布尔值)
checkFiles(Array):[] checkFiles为 字符串数组 或者 JSON数组
}
}
1. 基础用法:返回布尔值
v_file(file, {
type: 'image',
size: 1
})
// true or false
2. 高级用法:返回对象(checkFiles长度大于1,并且exportType为object)
v_file(file, {
size: 1,
exportType: 'object',
checkFiles:['jpg','txt']
})
// 当checkFiles为纯数组时,size共享
v_file(file, {
exportType: 'object',
checkFiles:[{type:'jpg',size:1},{type:'txt',size:19},{type:'docx',size:12}]
})
// 当checkFiles为json数组时,size不共享,单独判断大小和类型。优先判断大小
参数: {
logo: 租户标识,默认's_gtn'
baseUrl: 基础请求地址
url: 接口地址, 默认不传递
}
p_tenantId({
baseUrl: 'xxxx',
url: 'xxxx'
}).then((res) => {}).catch((err) => {})
参数: {
baseUrl: 基础请求地址
url: token加/解密接口, 默认不传递,
token: 用户令牌,不加Bearer
}
p_encryToken({
baseUrl: 'xxxx',
token: 'xxxx'
}).then((res) => {}).catch((err) => {})
参数: {
baseUrl(*String): 基础请求地址,
url(String): token加/解密接口, 默认不传递,
token(*String): 用户加密令牌,
getInfo(Boolean),是否获取用户信息,默认为false
infoUrl(String):用户信息接口地址,有默认值
}
p_initVue({
baseUrl: 'xxxx',
token: 'xxxx'
}).then((res) => {}).catch((err) => {})
参数: {
sex: 后端返回的表示性别的值
}
_sex(0) // 男
_sex(1) // 女
_sex(5) // 未知
_sex('female') // 女
_sex('male') // 男
_sex('unknown') // 未知
返回值为:{
miniapp-webview: 微信小程序中的webview,
miniapp: 微信小程序中,
wx: 微信浏览器中
ali: 支付宝浏览器中
browser: 普通浏览器
}
参数: option{
url<*String>: 后端返回的重定向地址(注:不能是重定向过后的)
width<Number>: 缩略图图片的宽度 *1.4.2废除
height<Number>: 缩略图图片的宽度 *1.4.2废除
size<String>: 尺寸: 可选值:small(默认),middle,large *1.4.2新增
}
_thumb(option)
支持:
1. 多文件上传
2. 图片压缩功能 ^1.2.1 注:小程序压缩请使用wx.chooseImage自带的压缩功能
3. 小程序,Web通用
参数: {
files(*Array): 图片集合(小程序是本地图片路径集合,Web是file对象集合)
options(obj): {
fileType(String): 文件类型,可选值:base64、file(默认)
token(*String)
width(Number): 开启图片压缩时传递,压缩的图片宽度,默认值:500
baseUrl(*String): 应用的基本地址 注意:不要以斜杠开头结尾!!!
uploadBaseUrl(*String):上传的api基本地址 注意:不要以斜杠开头!!!
uploadUrl(String):上传的api地址, 注意:不要以斜杠开头!!!
* 当文件类型为file时,默认为:'alpha/get_upload_url.do',需要先调用此接口获取上传的临时地址
* 当文件类型为base64时,地址为: 'alpha/upload_base64_file.do'
* 小程序上传,默认地址为: 'alpha/get_upload_url_post.do',需要先调用此接口获取上传的临时地址
decryUrl(String): 加密转解密接口,默认为:'alpha/get_file_url_key.do' 注意:不要以斜杠开头!!!
tokenUrl(String): 上传前的token转换接口,默认为:'base/api/file/token' 注意:不要以斜杠开头!!!
maxLength(Number): 最大上传文件个数,默认为9
openCompress(Boolean): 文件上传前是否开启压缩功能,默认为false
filePath(String): 保存的文件名或者相对文件路径(不传时由服务器自动生成文件路径)
temp(Boolean): 是否临时文件,默认为false,当为true时返回的地址以“/temp”开头。当filePath不为空时,此字段无效
}
}
p_uploadFile([],{}).then((res) => {}).catch((err) => {})
参数: {
decryData: 加密字符串/数组/json数组
options{
key:(String): 加密字段的key值,如果是json数组,则key为必传项
token(*String)
baseUrl(*String): 应用的基本地址 注意:不要以斜杠开头!!!
uploadBaseUrl(*String):上传的api基本地址 注意:不要以斜杠开头!!!
decryUrl(String): 加密转解密接口,默认为:'alpha/get_file_url_key.do' 注意:不要以斜杠开头!!!
tokenUrl(String): 上传前的token转换接口,默认为:'base/api/file/token' 注意:不要以斜杠开头!!!
}
}
p_decryUrl(decryData,{
xxx: xx
}).then((res) => {})
参数: {
baseUrl(*String): 基础请求地址,
url(String): 配置中心接口, 默认不传递,
manually(String): 手动设置内外网 可选值:none(默认:不手动设置)、in(内网)、out(外网)
}
p_configCenter().then((res) => {})
参数: {
token(*String): 不带'Bearer'
url(*String): 请求地址
method(String):请求方式,默认get
data(json):接口额外的请求参数
name(string):下载的流文件名字,如果不传递,则返回当前时间为名字
}
p_blobFileDownLoad().then((res) => {})
FAQs
YSKJ前端公用工具库
The npm package yskj-tools receives a total of 6 weekly downloads. As such, yskj-tools popularity was classified as not popular.
We found that yskj-tools demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.