xctc-utils 1.6.6 → 1.6.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
@@ -175,7 +175,7 @@ useUtils.date.formatStrTime(str) // 返回时间戳 秒
175
175
  #### 计算当前富文本内容高度
176
176
  ```
177
177
  var option = {
178
- id:"ueditor" , // 富文本DOM容器 id
178
+ id:"ueditor" , // 富文本DOM容器 id 默认不传
179
179
  content:"" , // ueditor 富文本内容
180
180
  }
181
181
  // 返回的富文本内容包含input dom元素,input元素的content-data-height属性计算富文本高度
@@ -8,6 +8,9 @@ interface configOption {
8
8
  cryptokey?: string;
9
9
  isPassLogin?: boolean;
10
10
  redirectUri?: string;
11
+ appIdKey?: string;
12
+ jsCodeKey?: string;
13
+ debuggerStatus?: boolean;
11
14
  }
12
15
  export declare function getUrlCode(config: configOption): void;
13
16
  export declare function envSDK(): any;
@@ -19,6 +22,8 @@ interface ShareConfig {
19
22
  jsApiList?: string[];
20
23
  openTagList?: string[];
21
24
  url?: string;
25
+ urlKey?: string;
26
+ appIdKey?: string;
22
27
  }
23
28
  export declare function configReady(config: ShareConfig): void;
24
29
  interface ShareOptions {
@@ -49,7 +49,7 @@ function getUrlCode(config) {
49
49
  weixinConfig['codeKey'] = codeKey;
50
50
  weixinConfig['stateKey'] = stateKey;
51
51
  (0, index_1.useSessionStorage)("weixinConfig", weixinConfig);
52
- var _b = weixinConfig.cryptoiv, cryptoiv = _b === void 0 ? "" : _b, _c = weixinConfig.cryptokey, cryptokey = _c === void 0 ? "" : _c;
52
+ var _b = weixinConfig.cryptoiv, cryptoiv = _b === void 0 ? defaultIv : _b, _c = weixinConfig.cryptokey, cryptokey = _c === void 0 ? defaultKey : _c, _d = weixinConfig.debuggerStatus, debuggerStatus = _d === void 0 ? false : _d;
53
53
  var search = loc.search; // ?code=0916SzFa1KH9TA0Ke7Ha1AQx6446SzFr&state=123
54
54
  initSdk(); // 加载微信sdk环境
55
55
  // 获取地址栏返回 code 参数值
@@ -57,18 +57,29 @@ function getUrlCode(config) {
57
57
  // 默认第一次通过链接进入系统,没有code和state
58
58
  var searchIndex = -1;
59
59
  var stateIndex = -1;
60
+ var msgStr = "";
60
61
  if (search) {
61
62
  searchIndex = search.indexOf("code=");
62
63
  stateIndex = search.indexOf("state=");
63
64
  }
65
+ // 本地未存储微信授权 code 值, 并且地址栏携带有 code 值 ,则先存储该值
66
+ if (!localCode && searchIndex != -1) {
67
+ params.get({ keys: ['code', 'state'], cache: "session", key: cryptokey, iv: cryptoiv });
68
+ }
64
69
  // 如果本地已经存储 微信授权返回的 code 值,证明用户在执行刷新操作,不再执行微信授权逻辑
65
70
  if (localCode && stateIndex == -1 && searchIndex == -1) {
71
+ if (debuggerStatus) {
72
+ alert("本地已经存储 code ,不再执行微信授权逻辑");
73
+ }
66
74
  return;
67
75
  }
68
76
  // 如果链接地址中带有code,证明执行微信授权登录,并返回授权所需的 code 参数
69
77
  if (searchIndex >= 0) {
70
78
  if (localCode) {
71
79
  // localCode 存在,用户已执行微信跳转链接,用户可能执行当前网页的刷新操作
80
+ if (debuggerStatus) {
81
+ alert("searchIndex 》 0 ,本地已经存储 code ,不再执行微信授权逻辑");
82
+ }
72
83
  return;
73
84
  }
74
85
  else {
@@ -76,6 +87,9 @@ function getUrlCode(config) {
76
87
  var urlParamsData = (0, index_1.getSessionStorage)("urlParamsData") || "";
77
88
  var codeData = ((_a = urlParamsData === null || urlParamsData === void 0 ? void 0 : urlParamsData.code) === null || _a === void 0 ? void 0 : _a.str) || ""; // 第一次进入系统为空
78
89
  if (codeData) {
90
+ if (debuggerStatus) {
91
+ alert("地址栏携带code已完成本地存储 ,执行微信授权逻辑");
92
+ }
79
93
  login(codeData);
80
94
  }
81
95
  }
@@ -84,9 +98,16 @@ function getUrlCode(config) {
84
98
  // 用户通过分享链接进入系统,此时含有 state 参数 , 无code参数
85
99
  if (stateIndex >= 0) {
86
100
  // 将 state进行本地存储,存储完成后跳转到微信授权页面
101
+ if (debuggerStatus) {
102
+ alert("用户通过分享链接进入系统,无code参数 ,跳转到code授权页面");
103
+ }
87
104
  return getCode(); // 微信授权页面获取CODE
88
105
  }
89
- if (!localCode && stateIndex == -1 && searchIndex == -1) {
106
+ // && stateIndex == -1 && searchIndex == -1
107
+ if (!localCode && searchIndex == -1) {
108
+ if (debuggerStatus) {
109
+ alert("无本地code参数 ,跳转到code授权页面");
110
+ }
90
111
  return getCode();
91
112
  }
92
113
  }
@@ -103,7 +124,8 @@ function cryptoConfig(key, iv) {
103
124
  }
104
125
  // 执行微信登录
105
126
  function login(code) {
106
- var appId = weixinConfig.appId, http = weixinConfig.http, stateKey = weixinConfig.stateKey, redirectUri = weixinConfig.redirectUri;
127
+ var _a;
128
+ var appId = weixinConfig.appId, http = weixinConfig.http, redirectUri = weixinConfig.redirectUri, _b = weixinConfig.appIdKey, appIdKey = _b === void 0 ? "app_id" : _b, _c = weixinConfig.jsCodeKey, jsCodeKey = _c === void 0 ? "js_code" : _c;
107
129
  if (!appId) {
108
130
  console.error("未正常传入微信公众号appId");
109
131
  return;
@@ -112,10 +134,10 @@ function login(code) {
112
134
  console.error("未获取到微信授权的code参数");
113
135
  return;
114
136
  }
115
- var obj = {
116
- "app_id": appId,
117
- "js_code": code
118
- };
137
+ var obj = (_a = {},
138
+ _a[appIdKey] = appId,
139
+ _a[jsCodeKey] = code,
140
+ _a);
119
141
  if (!http) {
120
142
  console.error("未正常传入微信授权登录http函数");
121
143
  return;
@@ -229,8 +251,6 @@ function envSDK() {
229
251
  exports.envSDK = envSDK;
230
252
  // 前往微信授权登录页面
231
253
  function getCode(appId, scope) {
232
- var _a = weixinConfig.cryptoiv, cryptoiv = _a === void 0 ? defaultIv : _a, _b = weixinConfig.cryptokey, cryptokey = _b === void 0 ? defaultKey : _b;
233
- params.get({ keys: ['code', 'state'], cache: "session", key: cryptokey, iv: cryptoiv });
234
254
  if ((0, utils_1.weixinBrowser)()) {
235
255
  var id = "";
236
256
  if (weixinConfig['appId']) {
@@ -275,23 +295,25 @@ var defaultOpenTagList = [
275
295
  "wx-open-audio"
276
296
  ];
277
297
  function configReady(config) {
278
- if (!config['http'])
298
+ var _a;
299
+ var _b = config || {}, appId = _b.appId, url = _b.url, _c = _b.urlKey, urlKey = _c === void 0 ? "url" : _c, _d = _b.appIdKey, appIdKey = _d === void 0 ? "appId" : _d, cb = _b.cb, _e = _b.jsApiList, jsApiList = _e === void 0 ? [] : _e, _f = _b.openTagList, openTagList = _f === void 0 ? [] : _f, _g = _b.http, http = _g === void 0 ? "" : _g;
300
+ if (!http)
279
301
  return;
280
- var url = loc.origin;
281
- if (config['url']) {
282
- url = config['url'];
302
+ var currentUrl = loc.origin;
303
+ if (url) {
304
+ currentUrl = url;
283
305
  }
284
- var param = {
285
- url: url,
286
- appId: config.appId,
287
- };
288
- var jsApiList = defaultJsApiList;
289
- var openTagList = defaultOpenTagList;
290
- if (config && config['jsApiList'] && config.jsApiList.length) {
291
- jsApiList = config.jsApiList;
306
+ var param = (_a = {},
307
+ _a[urlKey] = currentUrl,
308
+ _a[appIdKey] = appId,
309
+ _a);
310
+ var jsApiListData = defaultJsApiList;
311
+ var openTagListData = defaultOpenTagList;
312
+ if (jsApiList === null || jsApiList === void 0 ? void 0 : jsApiList.length) {
313
+ jsApiListData = jsApiListData;
292
314
  }
293
- if (config && config['openTagList'] && config.openTagList.length) {
294
- openTagList = config.openTagList;
315
+ if (openTagList === null || openTagList === void 0 ? void 0 : openTagList.length) {
316
+ openTagListData = openTagList;
295
317
  }
296
318
  config.http(param).then(function (res) {
297
319
  if (res.code == 0) {
@@ -303,8 +325,8 @@ function configReady(config) {
303
325
  timestamp: data.timestamp,
304
326
  nonceStr: data.noncestr,
305
327
  signature: data.signature,
306
- jsApiList: jsApiList,
307
- openTagList: openTagList,
328
+ jsApiList: jsApiListData,
329
+ openTagList: openTagListData,
308
330
  });
309
331
  wx.ready(function (res) {
310
332
  console.log("加载微信分享配置完成:", res);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xctc-utils",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
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",