以前都用的momentjs来格式化时间,做项目时候学习到dayjs体积更小,更好一点,用法都和momentjs一样的;
加密和格式化在项目使用的地方很多,我都是会在utils文件夹中建立一个公共的tools.js文件引入,再暴露出去
一、dayjs格式化
首先yarn add dayjs --save,安装依赖
引入import dayjs from "dayjs";
// 时间格式化函数暴露
export const dateFormat = (date, fmt = 'YYYY-MM-DD HH:mm:ss') => {
return !date ? '-' : dayjs (date).format(fmt)
}
最后在需要使用的地方引入使用就好了 =》 import { dateFormat } from "@/utils/tools";
dateFormat(‘传入时间变量,一般后台传回来的都是时间戳’)
二、登录,修改密码等jsencrypt加密
安装依赖 yarn add jsencrypt --save
引入import { JSEncrypt } from 'jsencrypt';
// 定义加密对象
const encrypt = new JSEncrypt();
后端会给一个进入的密匙很长一串,此处以a表示密匙
const signKey = 'a';
// 使用设置公共钥匙的方法
encrypt.setPublicKey(signKey);
// 参数加密
export const paramSign = params => {
return encrypt.encrypt(params);
}
// 加密函数遍历每个参数
export const paramSignFunc = params => {
let obj = {};
for (let k in params) {
obj[k] = paramSign(params[k])
}
return obj;
}
我是在接口api里面引入使用的
import { paramSignFunc } from '../../utils/tools';
// 登录
export const login = params => {
return http.post(`请求地址`, paramSignFunc(params));
};