2.2.8 • Published 1 year ago

@moonhouse/mall-utils v2.2.8

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

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

该库已经实现 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设置 cookieFunction
getCookie获取 cookieFunction
delCookie删除 cookieFunction

date

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

dom

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

models

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

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设置 sessionStorageFunction
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_APPIDFunction
changeBlur输入内容,软键盘弹出,页面内容整体上移,但是键盘收起,页面内容不下滑。Function
changefocus安卓微信 H5 弹出软键盘后挡住 input 输入框Function
debounce简单防抖Function
hideMenu隐藏右上角菜单键Function
loadScript加载 js 文件,返回 PromiseFunction
download根据 url 地址下载Function
copyText复制文本到剪贴板Function
imgUrlToBase64图片链接转 base64Function
imgUrlToBlob图片链接转 blob urlFunction
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构建 urlFunction
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判断是否为 urlFunction
isMobile判断是否为手机号Function
isEmail判断是否为邮箱Function
isCardID判断是否为合法身份证号Function
isIframe判断是否在 iframe 内Function

wxSDK

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

1 year ago