@moonhouse/mall-utils
TypeScript icon, indicating that this package has built-in type declarations

2.2.8 • Public • Published

一些通用方法整理,部分只适用于商城

该库已经实现 tree shaking,只会打包用到的代码。

使用

  1. 安装 npm i --save mall-utils@git+http://fe-web:qq123123@gitlab.admin.bluemoon.com.cn/Frontend-web/mall-utils.git
  2. 引入 import { AppConst } from 'mall-utils'

codeLink

至尊洗衣、月亮小屋根据 code 跳转,该模块已独立打包,并用在活动承接页

方法 说明 类型
webJump 根据 code 跳转页面,如果要使用 vue 路由跳转,传入 vue-router 实例 Function

config

方法 说明 类型
AppConst 配置参数 Object
setConfig 设置一个或多个 json 格式入参,合并到 AppConst 中 Function

contactService

方法 说明 类型
connectService 环信客服连接,使用集成网页链接方式,传入 configId 调用 Function
contactService 兼容 mall 调用,传入客服类型 type,结合 setConfig 使用 Function

cookie

方法 说明 类型
setCookie 设置 cookie Function
getCookie 获取 cookie Function
delCookie 删除 cookie Function

date

方法 说明 类型
parseDatetime 转换时间格式,形如 YYYY-MM-DD HH:mm:ss Function
friendlyDateTime 距离当前时间计算,转换成 T 天前、H 小时前等形式 Function
formatTime 时长(毫秒)转换成 T 天、H 小时等形式 Function

dom

方法 说明 类型
toast 简单 toast 弹窗,ui 参照 vant Function
loading 加载中弹窗 Function

models

方法 说明 类型
Countdown 用于 vue 项目显示倒计时,适用于 vue2 Class

pay

方法 说明 类型
unionpay 银联支付 Function
alipay 支付宝支付 Function
wechatpay 微信环境下调起支付 Function

request

axios 请求封装,对 typescript 提示更友好

创建通用请求实例
const instance = createBaseRequest({
  baseURL: "", // 基本路径
  signWithRow: false, // 是否添加请求参数到公参生成签名
  getPublicParams: () => {}, // 返回公参参数方法,请求时调用获取加入到公参
})
发起请求
instance.bmPost(url, data, config) // 在post请求基础上增加其他功能
  • 数据校验
const config = {
  rules: {
    [key]: { // key对应传入数据的key
      required: true // 是否必填,可选填
      validator: () => {} // 校验方法,返回boolean,可选填
      message: '错误描述'
    } // 校验规则可以是数组
  }
}
  • 加载 loading 显示
const config = {
  loading: true, // 默认无显示
}
  • 数据缓存

请求已添加节流处理,同一个请求如果还在请求中不会重复执行

// 缓存当前请求的promise,下次调用不会再去请求,直接返回promise
const config = {
  cache: true,
}
// 可能数据发生改变,需要重新请求
const config = {
  cancelCache: true,
}
// 如果两个参数同时添加,重新请求并缓存
const config = {
  cache: true,
  cancelCache: true,
}

sessionStorage

方法 说明 类型
setSessionStorage 设置 sessionStorage Function
getSessionStorage 获取 sessionStorage 对应名称值,已转换 Object 类型 Function

string

方法 说明 类型
padZero 添加 0 到对应长度字符串 Function
fullMoney 金钱,分转元,带两位小数 Function
removeHtmltag 去除 html 标签 Function
changeToHtmltag 换行符转换成<br />标签 Function

tool

方法 说明 类型
wait 等待时长,毫秒 Function
getProtocol 获取桥接协议 Function
getOpenid 获取 openid,需要预先调用 setConfig 方法设置 APP_APPID Function
changeBlur 输入内容,软键盘弹出,页面内容整体上移,但是键盘收起,页面内容不下滑。 Function
changefocus 安卓微信 H5 弹出软键盘后挡住 input 输入框 Function
debounce 简单防抖 Function
hideMenu 隐藏右上角菜单键 Function
loadScript 加载 js 文件,返回 Promise Function
download 根据 url 地址下载 Function
copyText 复制文本到剪贴板 Function
imgUrlToBase64 图片链接转 base64 Function
imgUrlToBlob 图片链接转 blob url Function
memoize 缓存函数 Function
isMP 不需要调用微信 SDK 判断是否为小程序 Function
looseEqual 判断任意两个变量是否相等 Function
getBirthdayFromIdCard 从身份证号获取出生日期,返回时间对象 Function
getSexFromIdCard 从身份证号获取性别,返回:female(女),male(男),unknown(未知) Function
getPosition 获取经纬度 Function

Track

方法 说明 类型
Track 埋点封装,内部加载 js,实例化时配置对应参数 Class

url

方法 说明 类型
addHistoryUrl 添加返回历史记录链接 Function
getQueryString 获取网址参数对应键名的值 Function
buildUrl 构建 url Function
remainStateKey 保存当前页面 history.state.key,vue 项目添加在 afterEach 路由钩子函数 Function
onBackPage 监听返回历史,配合 remainStateKey 函数使用 Function

validate

方法 说明 类型
isObject 判断是否为对象类型 Function
isPlainObject 判断是否为普通对象类型 Function
isArray 判断是否为数组 Function
isRegExp 判断是否为正则 Function
isDate 判断是否为 Date 类型 Function
isFunction 判断是否为函数类型 Function
isPromise 判断是否为 Promise 类型 Function
isValidDate 判断是否为有效时间 Function
isWechat 是否为微信浏览器 Boolean
isWorkWechat 是否为企业微信浏览器 Boolean
isNative 是否为 native 环境 Boolean
isIos 是否为 iOS 环境 Boolean
isAndroid 是否为安卓环境 Boolean
isUrl 判断是否为 url Function
isMobile 判断是否为手机号 Function
isEmail 判断是否为邮箱 Function
isCardID 判断是否为合法身份证号 Function
isIframe 判断是否在 iframe 内 Function

wxSDK

方法 说明 类型
jWeixin weixin-js-sdk 引入对象 Object
initWXConfig 初始化签名配置,传入配置参数方法 Function
configWxShare 调用分享集合 Function
scanQRCode 扫描二维码 Function
getLocation 获取定位,经纬度 Function
previewImage 预览图片 Function

Readme

Keywords

none

Package Sidebar

Install

npm i @moonhouse/mall-utils

Weekly Downloads

66

Version

2.2.8

License

ISC

Unpacked Size

508 kB

Total Files

73

Last publish

Collaborators

  • hxc