cloudcc-ccdk 0.0.2 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/lib/ccdk.js +108 -32
- package/lib/ccdk.min.js +1 -1
- package/package.json +3 -3
package/README.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#### 发布版本:0.0.5
|
|
2
|
+
#### 更新日期:2022/8/8
|
|
3
|
+
#### 更新内容:
|
|
4
|
+
* 修复
|
|
5
|
+
* 迭代
|
|
6
|
+
* 优化加密库依赖导入
|
|
7
|
+
* 优化
|
|
8
|
+
|
|
9
|
+
#### 发布版本:0.0.4
|
|
10
|
+
#### 更新日期:2022/8/8
|
|
11
|
+
#### 更新内容:
|
|
12
|
+
* 修复
|
|
13
|
+
* 迭代
|
|
14
|
+
* 优化加密库依赖导入
|
|
15
|
+
* 优化
|
|
16
|
+
|
|
17
|
+
#### 发布版本:0.0.3
|
|
18
|
+
#### 更新日期:2022/7/28
|
|
19
|
+
#### 更新内容:
|
|
20
|
+
* 修复
|
|
21
|
+
* 迭代
|
|
22
|
+
* 添加注解
|
|
23
|
+
* 优化
|
package/lib/ccdk.js
CHANGED
|
@@ -1,57 +1,69 @@
|
|
|
1
1
|
import Cookies from 'js-cookie';
|
|
2
|
-
import CryptoJS from 'crypto-js';
|
|
2
|
+
import CryptoJS from 'crypto-js/aes';
|
|
3
|
+
import UTF8 from 'crypto-js/enc-utf8';
|
|
4
|
+
import MODE from 'crypto-js/mode-cfb';
|
|
5
|
+
import PAD from 'crypto-js/pad-pkcs7';
|
|
3
6
|
|
|
4
7
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
+
* 加密
|
|
9
|
+
* @param {String} data 数据
|
|
10
|
+
* @param {String} key 密钥
|
|
11
|
+
* @param {String} iv 偏移量
|
|
12
|
+
* @returns
|
|
8
13
|
*/
|
|
9
|
-
|
|
10
|
-
//加密
|
|
11
14
|
function getAesString(data, key, iv) {
|
|
12
|
-
key =
|
|
13
|
-
iv =
|
|
14
|
-
let encrypted = CryptoJS.
|
|
15
|
+
key = UTF8.parse(key);
|
|
16
|
+
iv = UTF8.parse(iv);
|
|
17
|
+
let encrypted = CryptoJS.encrypt(data, key, {
|
|
15
18
|
iv: iv,
|
|
16
|
-
mode:
|
|
17
|
-
padding:
|
|
19
|
+
mode: MODE,
|
|
20
|
+
padding: PAD,
|
|
18
21
|
});
|
|
19
22
|
return encrypted.toString(); //返回的是base64格式的密文
|
|
20
23
|
}
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
/**
|
|
26
|
+
* 解密
|
|
27
|
+
* @param {String} encrypted 密文
|
|
28
|
+
* @param {String} key 密钥
|
|
29
|
+
* @param {String} iv 偏移量
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
23
32
|
function getDAesString(encrypted, key, iv) {
|
|
24
|
-
key =
|
|
25
|
-
iv =
|
|
26
|
-
let decrypted = CryptoJS.
|
|
33
|
+
key = UTF8.parse(key);
|
|
34
|
+
iv = UTF8.parse(iv);
|
|
35
|
+
let decrypted = CryptoJS.decrypt(encrypted, key, {
|
|
27
36
|
iv: iv,
|
|
28
|
-
mode:
|
|
29
|
-
padding:
|
|
37
|
+
mode: MODE,
|
|
38
|
+
padding: PAD,
|
|
30
39
|
});
|
|
31
|
-
return decrypted.toString(
|
|
40
|
+
return decrypted.toString(UTF8);
|
|
32
41
|
}
|
|
33
42
|
|
|
34
43
|
/**
|
|
35
44
|
* CryptoJS加密
|
|
45
|
+
* @param {String} data 数据
|
|
46
|
+
* @param {String} key 密钥
|
|
47
|
+
* @param {String} iv 偏移量
|
|
48
|
+
* @returns 加密的数据
|
|
36
49
|
*/
|
|
37
|
-
function encrypt(data) {
|
|
50
|
+
function encrypt(data, key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", iv = 1) {
|
|
38
51
|
data = JSON.stringify(data);
|
|
39
|
-
var key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; //密钥
|
|
40
|
-
var iv = "1"; //密钥偏移量
|
|
41
52
|
var encrypted = getAesString(data, key, iv); //密文
|
|
42
53
|
return encrypted;
|
|
43
54
|
}
|
|
44
55
|
|
|
45
56
|
/**
|
|
46
57
|
* CryptoJS解密
|
|
58
|
+
* @param {String} data 加密的数据
|
|
59
|
+
* @param {String} key 密钥
|
|
60
|
+
* @param {String} iv 偏移量
|
|
61
|
+
* @returns 解密的数据
|
|
47
62
|
*/
|
|
48
|
-
function decrypt(data) {
|
|
63
|
+
function decrypt(data, key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", iv = 1) {
|
|
49
64
|
try {
|
|
50
|
-
var key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; //密钥
|
|
51
|
-
var iv = "1"; //密钥偏移量
|
|
52
65
|
var decryptedStr = getDAesString(data, key, iv);
|
|
53
66
|
if (!decryptedStr) return null
|
|
54
|
-
// return decryptedStr;
|
|
55
67
|
return JSON.parse(decryptedStr);
|
|
56
68
|
} catch (error) {
|
|
57
69
|
console.trace("解密密码错误", error);
|
|
@@ -68,20 +80,84 @@ var Crypto = /*#__PURE__*/Object.freeze({
|
|
|
68
80
|
// cookie存储标识
|
|
69
81
|
const USER_INFO = "cc_user_info";
|
|
70
82
|
|
|
83
|
+
/**
|
|
84
|
+
* 存储用户信息
|
|
85
|
+
* @param {String} userInfo 用户信息
|
|
86
|
+
* @param {String} domain 域名
|
|
87
|
+
*/
|
|
88
|
+
function setUserInfo(userInfo, domain) {
|
|
89
|
+
Cookies.set(Crypto.encrypt(USER_INFO), userInfo, { domain: domain || ("." + document.domain.split('.').slice(-2).join('.')), expires: 1 });
|
|
90
|
+
}
|
|
71
91
|
|
|
92
|
+
/**
|
|
93
|
+
* 获取用户信息
|
|
94
|
+
* @returns {String} 用户信息
|
|
95
|
+
*/
|
|
72
96
|
function getUserInfo() {
|
|
73
|
-
// 获取加密的key
|
|
74
|
-
let getKey = Crypto.encrypt(USER_INFO);
|
|
75
97
|
// 加密的用户信息
|
|
76
|
-
let encryptUserInfo = Cookies.get(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
98
|
+
let encryptUserInfo = Cookies.get(Crypto.encrypt(USER_INFO));
|
|
99
|
+
if (encryptUserInfo) {
|
|
100
|
+
return Crypto.decrypt(encryptUserInfo)
|
|
101
|
+
} else {
|
|
102
|
+
return ""
|
|
103
|
+
}
|
|
80
104
|
}
|
|
81
105
|
|
|
82
106
|
var CCUser = /*#__PURE__*/Object.freeze({
|
|
83
107
|
__proto__: null,
|
|
108
|
+
setUserInfo: setUserInfo,
|
|
84
109
|
getUserInfo: getUserInfo
|
|
85
110
|
});
|
|
86
111
|
|
|
87
|
-
|
|
112
|
+
// cookie存储标识
|
|
113
|
+
const TOKEN = "cc_token";
|
|
114
|
+
/**
|
|
115
|
+
* 获取URL中参数的数据
|
|
116
|
+
* @param {name} 参数名
|
|
117
|
+
*/
|
|
118
|
+
function getUrlQuery(name) {
|
|
119
|
+
var reg = new RegExp(name + "=([^&]*)(&|$)");
|
|
120
|
+
var r = window.location.href.match(reg);
|
|
121
|
+
let res = null;
|
|
122
|
+
if (r != null) res = r[1].trim();
|
|
123
|
+
return res;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* 获取token
|
|
127
|
+
* @param {String} urlName 获取token的url名称
|
|
128
|
+
* @returns
|
|
129
|
+
*/
|
|
130
|
+
function getToken(urlName = "binding") {
|
|
131
|
+
let token = getUrlQuery(urlName) || Cookies.get(Crypto.encrypt(TOKEN)) || Cookies.get(urlName);
|
|
132
|
+
// 如果存在token,那么存储到cookies中,刷新有效期
|
|
133
|
+
if (token) {
|
|
134
|
+
setToken(token);
|
|
135
|
+
}
|
|
136
|
+
return token
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* 存储token
|
|
140
|
+
* @param {String} token token
|
|
141
|
+
* @param {String} domain 域名
|
|
142
|
+
*/
|
|
143
|
+
function setToken(token, domain) {
|
|
144
|
+
// 开发模式不设置domain
|
|
145
|
+
Cookies.set(Crypto.encrypt(TOKEN), token, { domain: domain || ("." + document.domain.split('.').slice(-2).join('.')), expires: 1 });
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* 清除Token数据
|
|
150
|
+
* @param {String} domain 域名
|
|
151
|
+
*/
|
|
152
|
+
function clearToken(domain) {
|
|
153
|
+
Cookies.remove(Crypto.encrypt(TOKEN), { domain: domain || ("." + document.domain.split('.').slice(-2).join('.')), expires: 1 });
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
var CCToken = /*#__PURE__*/Object.freeze({
|
|
157
|
+
__proto__: null,
|
|
158
|
+
setToken: setToken,
|
|
159
|
+
getToken: getToken,
|
|
160
|
+
clearToken: clearToken
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
export { Crypto as CCCrypto, CCToken, CCUser };
|
package/lib/ccdk.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import Cookies from"js-cookie";import CryptoJS from"crypto-js";function getAesString(data,key,iv){key=
|
|
1
|
+
import Cookies from"js-cookie";import CryptoJS from"crypto-js/aes";import UTF8 from"crypto-js/enc-utf8";import MODE from"crypto-js/mode-cfb";import PAD from"crypto-js/pad-pkcs7";function getAesString(data,key,iv){key=UTF8.parse(key);iv=UTF8.parse(iv);let encrypted=CryptoJS.encrypt(data,key,{iv:iv,mode:MODE,padding:PAD});return encrypted.toString()}function getDAesString(encrypted,key,iv){key=UTF8.parse(key);iv=UTF8.parse(iv);let decrypted=CryptoJS.decrypt(encrypted,key,{iv:iv,mode:MODE,padding:PAD});return decrypted.toString(UTF8)}function encrypt(data,key="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",iv=1){data=JSON.stringify(data);var encrypted=getAesString(data,key,iv);return encrypted}function decrypt(data,key="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",iv=1){try{var decryptedStr=getDAesString(data,key,iv);if(!decryptedStr)return null;return JSON.parse(decryptedStr)}catch(error){console.trace("解密密码错误",error);return null}}var Crypto=Object.freeze({__proto__:null,encrypt:encrypt,decrypt:decrypt});const USER_INFO="cc_user_info";function setUserInfo(userInfo,domain){Cookies.set(Crypto.encrypt(USER_INFO),userInfo,{domain:domain||"."+document.domain.split(".").slice(-2).join("."),expires:1})}function getUserInfo(){let encryptUserInfo=Cookies.get(Crypto.encrypt(USER_INFO));if(encryptUserInfo){return Crypto.decrypt(encryptUserInfo)}else{return""}}var CCUser=Object.freeze({__proto__:null,setUserInfo:setUserInfo,getUserInfo:getUserInfo});const TOKEN="cc_token";function getUrlQuery(name){var reg=new RegExp(name+"=([^&]*)(&|$)");var r=window.location.href.match(reg);let res=null;if(r!=null)res=r[1].trim();return res}function getToken(urlName="binding"){let token=getUrlQuery(urlName)||Cookies.get(Crypto.encrypt(TOKEN))||Cookies.get(urlName);if(token){setToken(token)}return token}function setToken(token,domain){Cookies.set(Crypto.encrypt(TOKEN),token,{domain:domain||"."+document.domain.split(".").slice(-2).join("."),expires:1})}function clearToken(domain){Cookies.remove(Crypto.encrypt(TOKEN),{domain:domain||"."+document.domain.split(".").slice(-2).join("."),expires:1})}var CCToken=Object.freeze({__proto__:null,setToken:setToken,getToken:getToken,clearToken:clearToken});export{Crypto as CCCrypto,CCToken,CCUser};
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cloudcc-ccdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "",
|
|
5
|
-
"main": "
|
|
5
|
+
"main": "lib/ccdk-min.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"docs:markdown": "vuepress-jsdoc --source ./
|
|
7
|
+
"docs:markdown": "vuepress-jsdoc --source ./packages",
|
|
8
8
|
"docs:dev": "vuepress dev docs",
|
|
9
9
|
"docs:build": "vuepress build docs",
|
|
10
10
|
"libs:build": "rollup -c && npx uglifyjs lib/ccdk.js -o lib/ccdk.min.js",
|