xctc-utils 1.6.18 → 1.6.20
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/dist/params/index.d.ts +1 -0
- package/dist/params/index.js +35 -3
- package/dist/weixin/index.js +19 -12
- package/package.json +1 -1
package/dist/params/index.d.ts
CHANGED
package/dist/params/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.get = exports.set = void 0;
|
|
3
|
+
exports.urlStateParams = exports.get = exports.set = void 0;
|
|
4
4
|
var crypto_1 = require("../crypto");
|
|
5
5
|
var storage_1 = require("../storage");
|
|
6
6
|
var defaultKey = "5uMz4R8rop26DkC8";
|
|
@@ -34,7 +34,10 @@ var get = function (options) {
|
|
|
34
34
|
search = search.substring(1);
|
|
35
35
|
}
|
|
36
36
|
var urlArr = search.split("&");
|
|
37
|
-
var paramsData = {};
|
|
37
|
+
var paramsData = (0, storage_1.getSessionStorage)(cacheKey) || {};
|
|
38
|
+
if (!((keys === null || keys === void 0 ? void 0 : keys.length) && (urlArr === null || urlArr === void 0 ? void 0 : urlArr.length))) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
38
41
|
for (var k = 0; k < keys.length; k++) {
|
|
39
42
|
var keyItem = keys[k];
|
|
40
43
|
if (keyItem.includes("=")) {
|
|
@@ -50,9 +53,11 @@ var get = function (options) {
|
|
|
50
53
|
urlItem = urlArr[i];
|
|
51
54
|
if (urlItem === null || urlItem === void 0 ? void 0 : urlItem.includes(keyItem)) {
|
|
52
55
|
var dataStr = urlItem.substring(urlItem.indexOf(keyItem) + keyItem.length + 1);
|
|
56
|
+
var decryptData = (0, crypto_1.decrypt)(dataStr, key, iv);
|
|
53
57
|
var decryptStr = (0, crypto_1.decrypt)(dataStr, key, iv);
|
|
54
58
|
paramsData[keyItem] = {
|
|
55
|
-
data:
|
|
59
|
+
// data:getParamsObj(decryptStr),
|
|
60
|
+
data: decryptData,
|
|
56
61
|
str: dataStr
|
|
57
62
|
};
|
|
58
63
|
}
|
|
@@ -81,3 +86,30 @@ var getParamsObj = function (objStr) {
|
|
|
81
86
|
}
|
|
82
87
|
return objData;
|
|
83
88
|
};
|
|
89
|
+
var urlStateParams = function (cacheKey, key, iv) {
|
|
90
|
+
if (!cacheKey)
|
|
91
|
+
cacheKey = "urlParamsData";
|
|
92
|
+
if (!key)
|
|
93
|
+
key = defaultKey;
|
|
94
|
+
if (!iv)
|
|
95
|
+
iv = defaultIv;
|
|
96
|
+
var win = window;
|
|
97
|
+
var loc = win.location;
|
|
98
|
+
var search = loc.search;
|
|
99
|
+
if (search.startsWith("?")) {
|
|
100
|
+
search = search.substring(1);
|
|
101
|
+
}
|
|
102
|
+
var urlArr = search.split("&");
|
|
103
|
+
for (var k = 0; k < urlArr.length; k++) {
|
|
104
|
+
var item = urlArr[k];
|
|
105
|
+
if (item.includes("state=")) {
|
|
106
|
+
var indexVal = item.indexOf("=");
|
|
107
|
+
var keys = item.substring(0, indexVal);
|
|
108
|
+
keys = keys[0].toUpperCase() + keys.substring(1);
|
|
109
|
+
var val = item.substring(indexVal + 1);
|
|
110
|
+
var data = (0, crypto_1.decrypt)(val, key, iv);
|
|
111
|
+
(0, storage_1.useSessionStorage)(cacheKey, { state: { str: val, data: data } });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
exports.urlStateParams = urlStateParams;
|
package/dist/weixin/index.js
CHANGED
|
@@ -70,7 +70,7 @@ function getUrlCode(config) {
|
|
|
70
70
|
var localCode = (0, index_1.getSessionStorage)("urlParamsData") || "";
|
|
71
71
|
// 本地未存储微信授权 code 值, 并且地址栏携带有 code 值 ,则先存储该值
|
|
72
72
|
if (!localCode && codeIndex != -1 && isAuth) {
|
|
73
|
-
params.get({ keys: ['code'
|
|
73
|
+
params.get({ keys: ['code'], cache: "session", key: cryptokey, iv: cryptoiv });
|
|
74
74
|
}
|
|
75
75
|
// 如果本地已经存储 微信授权返回的 code 值,证明用户在执行刷新操作,不再执行微信授权逻辑
|
|
76
76
|
if (localCode && stateIndex == -1 && codeIndex == -1 && !isAuth) {
|
|
@@ -102,6 +102,7 @@ function getUrlCode(config) {
|
|
|
102
102
|
if (debuggerStatus) {
|
|
103
103
|
alert("用户通过分享链接进入系统,无code参数 ,跳转到code授权页面");
|
|
104
104
|
}
|
|
105
|
+
params.urlStateParams();
|
|
105
106
|
return getCode(); // 微信授权页面获取CODE
|
|
106
107
|
}
|
|
107
108
|
// && stateIndex == -1 && codeIndex == -1
|
|
@@ -156,9 +157,13 @@ function login(code) {
|
|
|
156
157
|
if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("code")) {
|
|
157
158
|
code = res.code;
|
|
158
159
|
}
|
|
159
|
-
if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("Code")) {
|
|
160
|
+
else if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("Code")) {
|
|
160
161
|
code = res.Code;
|
|
161
162
|
}
|
|
163
|
+
else {
|
|
164
|
+
console.error("http响应数据格式必须是:res:{code:xx,data:{}}");
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
162
167
|
if (code == 40163) {
|
|
163
168
|
// 未登录则先执行登录
|
|
164
169
|
return getCode();
|
|
@@ -167,9 +172,13 @@ function login(code) {
|
|
|
167
172
|
if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("data")) {
|
|
168
173
|
data = res.data;
|
|
169
174
|
}
|
|
170
|
-
if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("Data")) {
|
|
175
|
+
else if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("Data")) {
|
|
171
176
|
data = res.Data;
|
|
172
177
|
}
|
|
178
|
+
else {
|
|
179
|
+
console.error("http响应数据格式必须是:res:{code:xx,data:{}}");
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
173
182
|
for (var key in data) {
|
|
174
183
|
var item = data[key];
|
|
175
184
|
if (item instanceof Object) {
|
|
@@ -349,9 +358,13 @@ function configReady(config) {
|
|
|
349
358
|
if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("data")) {
|
|
350
359
|
data = res.data;
|
|
351
360
|
}
|
|
352
|
-
if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("Data")) {
|
|
361
|
+
else if (res === null || res === void 0 ? void 0 : res.hasOwnProperty("Data")) {
|
|
353
362
|
data = res.Data;
|
|
354
363
|
}
|
|
364
|
+
else {
|
|
365
|
+
console.error("http响应数据格式必须是:res:{data:{appid:xx,timestamp:xx,noncestr:xx,signature:xx}}");
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
355
368
|
for (var key in data) {
|
|
356
369
|
var newKey = key.toLowerCase();
|
|
357
370
|
data[newKey] = data[key];
|
|
@@ -360,25 +373,19 @@ function configReady(config) {
|
|
|
360
373
|
console.error("后端响应的data数据中缺乏appid或者appId或者AppId字段!");
|
|
361
374
|
return;
|
|
362
375
|
}
|
|
363
|
-
var timestamp = (data === null || data === void 0 ? void 0 : data.timestamp) || "";
|
|
364
|
-
if (!timestamp) {
|
|
365
|
-
return;
|
|
366
|
-
}
|
|
367
|
-
timestamp = Number(timestamp);
|
|
368
376
|
var obj = {
|
|
369
377
|
jsApiList: jsApiListData,
|
|
370
378
|
openTagList: openTagListData,
|
|
371
379
|
debug: false,
|
|
372
380
|
appId: data === null || data === void 0 ? void 0 : data.appid,
|
|
373
|
-
timestamp: timestamp,
|
|
381
|
+
timestamp: data === null || data === void 0 ? void 0 : data.timestamp,
|
|
374
382
|
nonceStr: data === null || data === void 0 ? void 0 : data.noncestr,
|
|
375
383
|
signature: data === null || data === void 0 ? void 0 : data.signature, //必填,生成的签名
|
|
376
384
|
};
|
|
377
385
|
var wx = initSdk();
|
|
378
|
-
(0, index_1.useSessionStorage)("configReadyData", obj);
|
|
379
386
|
wx.config(obj);
|
|
380
387
|
wx.ready(function (res) {
|
|
381
|
-
(0, index_1.useSessionStorage)("configReadySuccess",
|
|
388
|
+
(0, index_1.useSessionStorage)("configReadySuccess", "wx.ready");
|
|
382
389
|
if (config['cb'] && typeof config.cb === "function")
|
|
383
390
|
config.cb();
|
|
384
391
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xctc-utils",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.20",
|
|
4
4
|
"description": "localStorage存储\r ```\r sessionStorage存储\r ```\r crypto-js加密、解密\r ```\r 微信授权登录、微信分享\r ```\r 设备环境获取\r ```\r 是否是微信浏览器\r ```\r 时间戳转时间,字符串转时间戳",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|