123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- import {
- ksort
- } from '../util/ksort.js'
- import {
- md5
- } from '../util/md5.js'
- import {
- sha1
- } from '../util/sha1.js'
-
-
- const _signCode = 'etc123456'; //签名码
-
- function pad2(n) {
- return n < 10 ? '0' + n : n
- }
-
- //获取时间ymdHis
- function getDate() {
- var date = new Date();
- return date.getFullYear().toString() + pad2(date.getMonth() + 1) +
- pad2(date.getDate()) + pad2(date.getHours()) +
- pad2(date.getMinutes()) + pad2(date.getSeconds());
- }
-
- /**
- * 获取随机数
- */
- function generateMixed(n) {
- var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
- var res = "";
- for (var i = 0; i < n; i++) {
- var id = Math.ceil(Math.random() * 8);
- res += chars[id];
- }
- return res;
- }
-
- //签名
- function sign(data, signCode) {
- data = ksort(data);
- var signStr = '';
- var requestId = false;
- for (let k in data) {
- if (k != 'sign') {
- if (k == 'requestId') {
- requestId = data[k];
- }
- signStr += k + '=' + data[k] + '&';
- }
- }
- signStr += 'signCode=' + signCode;
- // console.log("signStr*************"+signStr);
- if (!requestId) {
- return false;
- }
- signStr = md5(signStr);
- signStr = signStr.toUpperCase();
- // console.log('MD5**************' + signStr);
- signStr += requestId;
- // console.log('requestId**************' + signStr);
- signStr = sha1(signStr);
- signStr = signStr.toUpperCase();
- // console.log('SHA1**************' + signStr);
- return signStr;
- }
-
- //arrayToJsonString array 转json字符串
- export function arrayToJsonString(array) {
- var json = {};
- for (var i in array) {
- if (array[i] instanceof Array) {
- json[i] = {};
- for (var o in array[i]) {
- if (array[i][o] instanceof Array) {
- json[i][o] = {};
- for (var q in array[i][o]) {
- if (array[i][o][q] instanceof Array) {
- json[i][o][q] = {};
- for (var w in array[i][o][q]) {
- json[i][o][q][w] = array[i][o][q][w];
- }
- } else {
- json[i][o][q] = array[i][o][q];
- }
- }
- } else {
- json[i][o] = array[i][o];
- }
- }
- } else {
- json[i] = array[i];
- }
- }
- return JSON.stringify(json);
- }
-
- /**
- *json字符串转换成json对象
- */
- export function stringToJson(data) {
- return JSON.parse(data);
- }
-
- //array转json对象
- export function arrayToJson(array) {
- return stringToJson(arrayToJsonString(array));
- }
-
- //时间格式化
- export function formatTime (date) {
- const year = date.getFullYear()
- const month = date.getMonth() + 1
- const day = date.getDate()
- const hour = date.getHours()
- const minute = date.getMinutes()
- const second = date.getSeconds()
-
- return `${[year, month, day].map(formatNumber).join('-')}T${[hour, minute, second].map(formatNumber).join(':')}`
- }
-
- function formatNumber (n) {
- n = n.toString()
- return n[1] ? n : `0${n}`
- }
-
- //调用中台参数
- export function encryption(urlcode, subdata, type) {
- // console.log('输出内容',stringToJson(JSON.stringify(subdata)))
- var requestData = new Array();
- requestData['IFCODE'] = urlcode;
- requestData['AppId'] = 'admin001';
- requestData['encryptType'] = 'NONE';
- requestData['signType'] = 'MD5';
- requestData['ReqId'] = requestData['AppId']+'_'+getDate()+'_' + generateMixed(5);
- requestData['timestamp'] = formatTime(new Date());
- //更据type判断是否转字符串
- if (type === 2) {
- requestData['bizContent'] = JSON.stringify(subdata);
- } else {
- requestData['bizContent'] = subdata;
- }
- console.log('bizContent='+requestData['bizContent']+'&signType=MD5&encryptType=NONE×tamp='+requestData['timestamp']+'&IFCODE='+urlcode);
- requestData['sign'] = md5('bizContent='+requestData['bizContent']+'&signType=MD5&encryptType=NONE×tamp='+requestData['timestamp']+'&IFCODE='+urlcode);
- let endData = arrayToJson(requestData);
- console.log('输出内容', endData)
- return endData;
- }
|