cloudcc-ccdk 0.0.5 → 0.0.8

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 CHANGED
@@ -1,3 +1,27 @@
1
+ #### 发布版本:0.0.8
2
+ #### 更新日期:2022/8/12
3
+ #### 更新内容:
4
+ * 修复
5
+ * 迭代
6
+ * cookies有效期修改为2个小时
7
+ * 优化
8
+
9
+ #### 发布版本:0.0.7
10
+ #### 更新日期:2022/8/11
11
+ #### 更新内容:
12
+ * 修复
13
+ * 迭代
14
+ * token存储到cookes的二级域名兼容com.cn/org.cn/net.cn
15
+ * 优化
16
+
17
+ #### 发布版本:0.0.6
18
+ #### 更新日期:2022/8/8
19
+ #### 更新内容:
20
+ * 修复
21
+ * 迭代
22
+ * 优化加密库依赖导入
23
+ * 优化
24
+
1
25
  #### 发布版本:0.0.5
2
26
  #### 更新日期:2022/8/8
3
27
  #### 更新内容:
package/lib/ccdk.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import Cookies from 'js-cookie';
2
2
  import CryptoJS from 'crypto-js/aes';
3
3
  import UTF8 from 'crypto-js/enc-utf8';
4
- import MODE from 'crypto-js/mode-cfb';
5
4
  import PAD from 'crypto-js/pad-pkcs7';
6
5
 
7
6
  /**
@@ -16,7 +15,6 @@ function getAesString(data, key, iv) {
16
15
  iv = UTF8.parse(iv);
17
16
  let encrypted = CryptoJS.encrypt(data, key, {
18
17
  iv: iv,
19
- mode: MODE,
20
18
  padding: PAD,
21
19
  });
22
20
  return encrypted.toString(); //返回的是base64格式的密文
@@ -34,7 +32,6 @@ function getDAesString(encrypted, key, iv) {
34
32
  iv = UTF8.parse(iv);
35
33
  let decrypted = CryptoJS.decrypt(encrypted, key, {
36
34
  iv: iv,
37
- mode: MODE,
38
35
  padding: PAD,
39
36
  });
40
37
  return decrypted.toString(UTF8);
@@ -77,6 +74,21 @@ var Crypto = /*#__PURE__*/Object.freeze({
77
74
  decrypt: decrypt
78
75
  });
79
76
 
77
+ /**
78
+ * 获得一级域名
79
+ * 比如:xx.com、xx.cn、xx.com.cn、xx.net.cn、xx.org.cn
80
+ */
81
+ function getDomain() {
82
+ // 倒数第二位域名
83
+ let lastTow = document.domain.split('.').slice(-2, -1)[0];
84
+ // 如果倒数第二位是这些关键字,那么需要取倒数三位域名
85
+ if (lastTow == 'com' || lastTow == 'org' || lastTow == 'net') {
86
+ return "." + document.domain.split('.').slice(-3).join('.')
87
+ } else {
88
+ return "." + document.domain.split('.').slice(-2).join('.')
89
+ }
90
+ }
91
+
80
92
  // cookie存储标识
81
93
  const USER_INFO = "cc_user_info";
82
94
 
@@ -85,8 +97,8 @@ const USER_INFO = "cc_user_info";
85
97
  * @param {String} userInfo 用户信息
86
98
  * @param {String} domain 域名
87
99
  */
88
- function setUserInfo(userInfo, domain) {
89
- Cookies.set(Crypto.encrypt(USER_INFO), userInfo, { domain: domain || ("." + document.domain.split('.').slice(-2).join('.')), expires: 1 });
100
+ function setUserInfo(userInfo, domain = getDomain()) {
101
+ Cookies.set(Crypto.encrypt(USER_INFO), Crypto.encrypt(userInfo), { domain: domain, expires: 1 / 12 });
90
102
  }
91
103
 
92
104
  /**
@@ -123,7 +135,7 @@ function getUrlQuery(name) {
123
135
  return res;
124
136
  }
125
137
  /**
126
- * 获取token
138
+ * 获取token:优先级-url最高,cc_token-cookies第二,binding-cookies第三
127
139
  * @param {String} urlName 获取token的url名称
128
140
  * @returns
129
141
  */
@@ -140,17 +152,17 @@ function getToken(urlName = "binding") {
140
152
  * @param {String} token token
141
153
  * @param {String} domain 域名
142
154
  */
143
- function setToken(token, domain) {
155
+ function setToken(token, domain = getDomain()) {
144
156
  // 开发模式不设置domain
145
- Cookies.set(Crypto.encrypt(TOKEN), token, { domain: domain || ("." + document.domain.split('.').slice(-2).join('.')), expires: 1 });
157
+ Cookies.set(Crypto.encrypt(TOKEN), token, { domain: domain, expires: 1 / 12 });
146
158
  }
147
159
 
148
160
  /**
149
161
  * 清除Token数据
150
162
  * @param {String} domain 域名
151
163
  */
152
- function clearToken(domain) {
153
- Cookies.remove(Crypto.encrypt(TOKEN), { domain: domain || ("." + document.domain.split('.').slice(-2).join('.')), expires: 1 });
164
+ function clearToken(domain = getDomain()) {
165
+ Cookies.remove(Crypto.encrypt(TOKEN), { domain: domain });
154
166
  }
155
167
 
156
168
  var CCToken = /*#__PURE__*/Object.freeze({
package/lib/ccdk.min.js CHANGED
@@ -1 +1 @@
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};
1
+ import Cookies from"js-cookie";import CryptoJS from"crypto-js/aes";import UTF8 from"crypto-js/enc-utf8";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,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,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});function getDomain(){let lastTow=document.domain.split(".").slice(-2,-1)[0];if(lastTow=="com"||lastTow=="org"||lastTow=="net"){return"."+document.domain.split(".").slice(-3).join(".")}else{return"."+document.domain.split(".").slice(-2).join(".")}}const USER_INFO="cc_user_info";function setUserInfo(userInfo,domain=getDomain()){Cookies.set(Crypto.encrypt(USER_INFO),Crypto.encrypt(userInfo),{domain:domain,expires:1/12})}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=getDomain()){Cookies.set(Crypto.encrypt(TOKEN),token,{domain:domain,expires:1/12})}function clearToken(domain=getDomain()){Cookies.remove(Crypto.encrypt(TOKEN),{domain:domain})}var CCToken=Object.freeze({__proto__:null,setToken:setToken,getToken:getToken,clearToken:clearToken});export{Crypto as CCCrypto,CCToken,CCUser};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloudcc-ccdk",
3
- "version": "0.0.5",
3
+ "version": "0.0.8",
4
4
  "description": "",
5
5
  "main": "lib/ccdk-min.js",
6
6
  "scripts": {