README
deepwise-fusion-lib
超融合公共库
Usage
安装
修改源: npm config set registry http://172.16.41.100:4873/
npm install deepwise-fusion-lib
引入一些scss变量
import 'deepwise-fusion-lib/theme/vars.scss'
覆盖element ui 默认样式
在项目入口文件引入:
import 'deepwise-fusion-lib/theme/element-cover.scss'
加解密
import {secret} from 'deepwise-fusion-lib'
加密:
let base64 = secret.encrypt('content')
解密(包含双重解密):
let content = secret.decrypt('base64')
对象字段按ASCII码顺序排序
let nb = secret.sortObj(ob)
数据验签
let sign = secret.getSign(timestamp, ob)
登陆信息
import {auth} from 'deepwise-fusion-lib'
存储token, 主应用在用
auth.setToken(token)
存储用户信息,主应用在用
auth.setUser(user)
获取token
let token = auth.getToken()
获取用户信息
let user = auth.getUser()
http工具
import { Message } from 'element-ui'
import {http, auth} from 'deepwise-fusion-lib'
import {decrypt} from 'deepwise-fusion-lib/packages/Secret'
import config from '../config/'
let decryptor = null
// 条件编译 tree shake掉decrypt 防止密码泄漏
if(process.env.DW_ENV === 'dev') {
decryptor = decrypt
} else {
decryptor = window.decrypt
}
var BASE_URL = config.BASE_URL
export default {
post(url, data = {}, throwErr = false, headers = {}, autoEncrypt = true) {
return this.request('POST', BASE_URL + url, data, throwErr, headers, autoEncrypt)
},
get(url, data = {}, throwErr = false, headers = {}, autoEncrypt = true) {
return this.request('GET', BASE_URL + url, data, throwErr, headers, autoEncrypt)
},
request(method, url, data = {}, throwErr, headers, autoEncrypt = true) {
const request = method === 'GET' ? http.get.bind(http) : http.post.bind(http)
return new Promise((resolve, reject) => {
request(url, data, headers, autoEncrypt).then(res => {
if(res.ret === 0) {
resolve(JSON.parse(decryptor(res.data)))
} else if(res.ret === '失效code') {
auth.clear()
window.location.href = '/login'
} else if(throwErr) {
reject(res)
} else {
Message.error(res.msg)
}
})
})
},
},
uploadFile(file, data = {}, headers = {}, throwErr = false) {
return new Promise((resolve, reject) => {
http.uploadFile(userBaseUrl + '/uploadFile', file, data, headers, config.ENCRYPT).then(res => {
console.log(res)
if(res.ret === 0) {
if(!res.encrypt || res.data === null) {
resolve(res.data)
} else {
resolve(JSON.parse(decryptor(res.data)))
}
} else if(res.ret === '失效code') {
auth.clear()
window.location.href = '/login'
} else if(throwErr) {
reject(res)
} else {
Message.error(res.msg)
}
})
})
}