0.4.24 • Published 1 month ago

auto-libs v0.4.24

Weekly downloads
74
License
MIT
Repository
github
Last release
1 month ago

AUTO-libs 凹凸公用库

公用样式和脚本引入

reset 样式

import 'auto-libs/build/styles/reset';

flexible 布局脚本

import 'auto-libs/build/scripts/flexible';

Input 扩展

import 'auto-libs/build/scripts/inputEvents';

CDN 方法

获取 cdn 的静态资源或图片资源,cdn 地址会自动根据开发和生产环境切换

另外当传递的值为空时,返回一张灰白色空图,保证了不会访问 cdn/undefined 这样的地址

import { CDN } from 'auto-libs';

CDN.image('myimage.jpg'); // https://carphoto.atzuche.com/myimage.jpg

CDN.asset('myimage.jpg'); // https://cdn.atzuche.com/myimage.jpg

CDN.asset(void 0); // https://cdn.atzuche.com/static/images/space.png

Report 错误上报

上报的错误将会到 sentry 仅适用于 react-scrupts-auto 脚手架项目

import { Report } from 'auto-libs';

// 用于做一些记录
Report.info('info消息');

// 用于警告
Report.warning('warning消息');

// 用于记录错误
Report.error(new Error('错误'));
  1. 使用Report.error时注意:传递的内容不管是不是一个 Error 类型的数据,用new Error()包一层,方便 sentry 做错误定位
  2. 一般我们在try { ... } catch (err) { ... }的 catch 里上报错误,全局的错误在该脚手架中会自动上报

Search 浏览器地址参数处理

import { Search } from 'auto-libs'

// 获取当前网址search内容的map
Search.parse<T>()

// 获取当前网址search内容的string
Search.toString()

// map格式转string格式
const str = Search.map2string({ a: 1, b: 2 }) // a=1&b=2

// string格式转map格式
const map = Search.string2map('a=1&b=2') // { a: '1', b: '2' }

// 获取当前网址search的某个key
const t = Search.get('token')

// 获取当前网址search的某个key,当值为undefined时,取默认值
const t = Search.getDefault('token', '112233')

// 设置某个值到当前网址search中
Search.set('token', '112233')

// 当该key不存在时,设置某个值到当前网址search中
// 注意:当key存在值,不做任何处理
Search.define('token', '112233')

// 删除当前网址search中的某个key
Search.remove('token')

// 清空当前网址的search内容
Search.clear()

// 判断某个key是否存在于当前search
const hasToken = Search.exist('token')

// 比较当前search中某个值
const isNew = Search.is('new', '1')

go 跳转

import { go } from 'auto-libs';

取还车地址

const { address } = go

address({
  redirectUrl: string
  redirectParam: string
  locationInfo?: {
    address?: string;
    name?: string;
    code?: string;
    lat?: string;
    ng?: string;
    telPrefix?: string;
  }
  telPrefix?: string
  cityCode?: string
  keyword?: string
  servicePoint?: 1 | 0
  searchTip?: string
  selectCity?: 1 | 0
  selectCityTip?: string
  isOnDoor?: 1 | 0
})

支付

const { pay } = go

pay({
  amount?: string
  payTitle?: string
  token: string
  orderNo: string
  payKind: string
  redirect_url: string
})

身份认证

const { identityAuth } = go

identityAuth({
  redirect?: string
})

驾照认证

const { dirverAuth } = go

dirverAuth({
  redirect?: string
})

http

import { http } from 'auto-libs';

http.request({
  method: 'get',
  url: `/wechatgw/jsapi/ticket`,
});

httpConsole

import { httpConsole } from 'auto-libs';

httpConsole.request({
  method: 'get',
  url: `/wechatgw/jsapi/ticket`,
});

自定义拦截器

import { http } from 'auto-libs';

http.interceptors.request.use(config => {
  if (config.method === 'get') {
    if (typeof config.params !== 'object') {
      config.params = {};
    }

    config.params.requestId = Number(new Date());
  }

  if (Object.keys(config.data).length > 0) {
    config.data.requestId = Number(new Date());
  }

  return config;
});

export default http;

自定义登陆跳转

import { httpConsole, httpConsoleExtend } from 'auto-libs';

httpConsoleExtend({
  toLogin: config => {
    if (config.status === 400) {
      location.href = '/login';
      return true;
    }

    return false;
  },
});

AS 统计埋点

import { AS } from 'auto-libs';

AS();

页面编号 事件号和携带参数

AS({
  pageNo: 100,
  eventNo: 1000,
  eventContent: {
    name: 'hello world',
  },
});

WX

import { WX } from 'auto-libs';

// 微信分享
WX.share();

自定义参数

WX.share({
  shareTitle: '凹凸租车', // 分享标题
  url: 'https://m.aotuzuche.com', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
  sharePicUrl: 'https://carphoto.aotuzuche.com/web/auto/assets/imgs/logo.png', // 分享图标
  text: '凹凸租车 共享' // 分享详情
  type?: "userinfo" | "base" // 弹窗授权或者静默授权,默认静默
})

自定义按钮

WX.share({
  shareTitle: '凹凸租车', // 分享标题
  url: 'https://m.aotuzuche.com', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
  sharePicUrl: 'https://carphoto.aotuzuche.com/web/auto/assets/imgs/logo.png', // 分享图标
  text: '凹凸租车 共享', // 分享详情
  type?: "userinfo" | "base", // 弹窗授权或者静默授权,默认静默
  jsApiList?: jsApiListType[],  // menus
  callback?: (wx) => void  // ready 回调
})

token 相关

token

import {
  getToken,
  setToken,
  clearToken,
  initToken,
  getConsoleToken,
  setConsoleToken,
  clearConsoleToken,
} from 'auto-libs';

// 获取 token
getToken();

// 设置 token
setToken();

// 清空 token
clearToken();

// 获取console token
getConsoleToken();

// 设置console token
setConsoleToken();

// 清空console token
clearConsoleToken();

// 初始化 token
initToken();

// 或者
await initToken();

// 忽略部分页面做initToken
initToken(() => {
  if (window.location.href === '需要忽略的url') {
    return true;
  }
  return false;
});

登录

import { toLogin } from 'auto-libs'

toLogin(params?)

openId

import { getOpenId, setOpenId, clearOpenId } from 'auto-libs';

// 获取 openId
getOpenId();

// 设置 openId
setOpenId();

// 清空 openId
clearOpenId();

unionId

import { getUnionId, setUnionId, clearUnionId } from 'auto-libs';

// 获取 unionId
getUnionId();

// 设置 unionId
setUnionId();

// 清空 unionId
clearUnionId();

virtualNo

import { getVirtualNo, setVirtualNo, clearVirtualNo } from 'auto-libs';

// 获取虚拟会员号
getVirtualNo();

// 设置虚拟会员号
setVirtualNo();

// 清空虚拟会员号
clearVirtualNo();

memNo

import { getMemNo, setMemNo, clearMemNo } from 'auto-libs';

// 获取 memNo
getMemNo();

// 设置 memNo
setMemNo();

// 清空 memNo
clearMemNo();

时间转换

offsetHours

offsetDays

stringToDate

import { offsetHours, offsetDays, stringToDate } from 'auto-libs';

// 时间差,单位为小时
offsetHours();

// 将时间差转为文字方式
offsetDays();

// 将字符串20190101093000 转换为时间格式
stringToDate();

正则

添加 Reg 对象,包含下面这些方法和属性:

是否是凹凸 app: isApp,

是否是微信: isWX,

是否是支付宝客户端: isAlipay,

是否是 iOS: isiOS,

是否是 android: isAndroid,

是否是百度客户端: isBaidu,

是否是企业微信:isWXWork,

是否是手机号 function: isMobile(str),

是否是电话号码 function: isTel(str),

是否是电子邮箱 function: isEmail(str),

是否是身份证 function:isIDCard(str),

是否是支付宝小程序 function isMiniAlipay() 异步函数,

是否是微信小程序 function isMiniWX() 异步函数,

是否是微信小程序 function isMiniBaidu() 异步函数,

Desensitize 隐私处理方法

idCard-身份证

Desensitize.idCard('310110199912120101')) // 310***********0101

mobile-手机号

Desensitize.mobile('13800138000'); // 138****8000

name-名称

Desensitize.name('张三丰')) // 张**

bankcard-银行卡

Desensitize.bankCard('6228480023265389523'); // 62284800232********

plateCode-车牌号

Desensitize.plateCode('沪AB00993'); // 沪A****93

vin-车架号

Desensitize.vin('6228480023265389523'); // 622*************523

email-邮箱

Desensitize.email('liuxingy@163.com'); // l*******@*******

crypto 加密解密

Encrypt

Decrypt

import { Decrypt, Encrypt } from 'auto-libs';

// AES加密
Encrypt.AES();

// AES解密
Decrypt.AES();
0.4.24

1 month ago

0.4.22

1 month ago

0.4.23

1 month ago

0.4.20

4 months ago

0.4.13

11 months ago

0.4.11

1 year ago

0.4.9

1 year ago

0.4.10

1 year ago

0.4.8

2 years ago

0.4.5

2 years ago

0.4.4

2 years ago

0.4.7

2 years ago

0.4.6

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.3.81

2 years ago

0.3.77

2 years ago

0.3.76

2 years ago

0.3.75

3 years ago

0.3.74

3 years ago

0.3.62

3 years ago

0.3.61

3 years ago

0.3.58

3 years ago

0.3.57

3 years ago

0.3.54

3 years ago

0.3.53

3 years ago

0.3.52

3 years ago

0.3.51

3 years ago

0.3.50

3 years ago

0.3.42

3 years ago

0.3.41

3 years ago

0.3.40

3 years ago

0.3.49

3 years ago

0.3.48

3 years ago

0.3.47

3 years ago

0.3.46

3 years ago

0.3.45

3 years ago

0.3.43

3 years ago

0.3.39

3 years ago

0.3.38

3 years ago

0.3.37

3 years ago

0.3.36

3 years ago

0.3.35

3 years ago

0.3.31

3 years ago

0.3.34

3 years ago

0.3.33

3 years ago

0.3.32

3 years ago

0.3.30

3 years ago

0.3.29

3 years ago

0.3.28

3 years ago

0.3.27

3 years ago

0.3.26

3 years ago

0.3.25

3 years ago

0.3.24

3 years ago

0.3.23

3 years ago

0.3.22

3 years ago

0.3.21

3 years ago

0.3.20

3 years ago

0.3.19

3 years ago

0.3.18

3 years ago

0.3.17

3 years ago

0.3.16

3 years ago

0.3.15

3 years ago

0.3.14-beta.2

3 years ago

0.3.14-beta.1

3 years ago

0.3.14-beta.0

3 years ago

0.3.14

3 years ago

0.3.13

3 years ago

0.3.12

4 years ago

0.3.11

4 years ago

0.3.10

4 years ago

0.3.9

4 years ago

0.3.8

4 years ago

0.3.7

4 years ago

0.3.6

4 years ago

0.3.5

4 years ago

0.3.4-beta.0

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.20

4 years ago

0.2.18

4 years ago

0.2.17

4 years ago

0.2.16

4 years ago

0.2.15

4 years ago

0.2.14

4 years ago

0.2.13

4 years ago

0.2.12

4 years ago

0.2.11

4 years ago

0.2.10

4 years ago

0.2.9

4 years ago

0.2.8

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.3

4 years ago

0.2.4

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.2.2

4 years ago

0.1.99

4 years ago

0.1.991

4 years ago

0.1.98

4 years ago

0.1.97

4 years ago

0.1.96

4 years ago

0.1.95

4 years ago

0.1.94

4 years ago

0.1.92

4 years ago

0.1.93

4 years ago

0.1.91

4 years ago

0.1.90

4 years ago

0.1.89

4 years ago

0.1.88

4 years ago

0.1.87

4 years ago

0.1.84

4 years ago

0.1.83

4 years ago

0.1.82

4 years ago

0.1.81

4 years ago

0.1.75

4 years ago

0.1.73

4 years ago

0.1.74

4 years ago

0.1.70

4 years ago

0.1.69

5 years ago

0.1.68

5 years ago

0.1.67

5 years ago

0.1.66

5 years ago

0.1.65

5 years ago

0.1.64

5 years ago

0.1.63

5 years ago

0.1.62

5 years ago

0.1.61

5 years ago

0.1.53

5 years ago

0.1.51

5 years ago

0.1.49

5 years ago

0.1.48

5 years ago

0.1.47

5 years ago

0.1.46

5 years ago

0.1.44

5 years ago

0.1.43

5 years ago

0.1.42

5 years ago

0.1.40

5 years ago

0.1.39

5 years ago

0.1.38

5 years ago

0.1.37

5 years ago

0.1.34

5 years ago

0.1.33

5 years ago

0.1.32

5 years ago

0.1.31

5 years ago

0.1.30

5 years ago

0.1.29

5 years ago

0.1.27

5 years ago

0.1.26

5 years ago

0.1.25

5 years ago

0.1.24

5 years ago

0.1.23

5 years ago

0.1.22

5 years ago

0.1.20

5 years ago

0.1.19

5 years ago

0.1.18

5 years ago

0.1.17

5 years ago

0.1.16

5 years ago

0.1.10

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

6 years ago

0.0.1

6 years ago