/* * @Author: 小明丶 * @Date: 2019-10-25 10:17:56 * @LastEditors: zxq * @LastEditTime: 2022-01-06 14:38:14 * @Description: */ /** * Created by 陈伟 * 2017/11/21. * 登录所有传参数接口验签 */ import validator from './validator'; import md5 from 'js-md5'; export default { signForFormDataOrUrl (datas, isUrl, loginSessionID) { if (validator.checkValEmpty(loginSessionID)) { // 判断登录的sessionId return datas; } let params = {}; if (datas === null || datas === '' || JSON.stringify(datas) =="{}") { // 如果参数为空 ,那就对sessinoId md5 jttechSign params.jttechSign = md5 (loginSessionID); return params; } let keySort = []; params = datas; if (params) { // 将参数中的 key 取出来放入到一个新数组里 for (let key in params ) { if(key != 'jttechSign'){ keySort[keySort.length] = key; } } } if (isUrl) { // 如果为 post 请求 就 进行 sort 排序 keySort.sort (); } // 普通参数的值(非空、非空字符串、非数组) let ordinaryParamVal = ''; for (let index in keySort) { for (let param in params) { if (param === keySort[index] && params[param] !== null && !Array.isArray (params[param])) { if (params[param] instanceof String) { if (params[param].toString ().replace (/(^\s*)|(\s*$)/g, '') !== '') { ordinaryParamVal += params[param]; } } else { ordinaryParamVal += params[param]; } } } } if (!validator.checkValEmpty (loginSessionID)) { ordinaryParamVal = md5 (ordinaryParamVal + loginSessionID); } params.jttechSign = ordinaryParamVal; return params; } };