@lingxiteam/assets 0.9.30 → 0.11.30-alpha-2

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.
Files changed (49) hide show
  1. package/es/IconSvg/index.js +7 -13
  2. package/es/error/errorCatch/index.js +0 -0
  3. package/es/error/errorDisplay/Mobile/Drawer/Drawer.js +104 -0
  4. package/es/error/errorDisplay/Mobile/Drawer/Drawer.less +177 -0
  5. package/es/error/errorDisplay/Mobile/Drawer/index.js +132 -0
  6. package/es/error/errorDisplay/Mobile/ErrorMsg/index.js +199 -0
  7. package/es/error/errorDisplay/Mobile/Modal/Modal.js +43 -0
  8. package/es/error/errorDisplay/Mobile/Modal/Modal.less +146 -0
  9. package/es/error/errorDisplay/Mobile/Modal/index.js +119 -0
  10. package/es/error/errorDisplay/Mobile/defaultGlobalConfig.js +12 -0
  11. package/es/error/errorDisplay/SVGstring.js +6 -0
  12. package/es/error/errorDisplay/Web/Drawer/Drawer.js +232 -0
  13. package/es/error/errorDisplay/Web/Drawer/Drawer.less +354 -0
  14. package/es/error/errorDisplay/Web/Drawer/DrawerConnect.js +203 -0
  15. package/es/error/errorDisplay/Web/Drawer/index.js +124 -0
  16. package/es/error/errorDisplay/Web/ErrorMsg/index.js +241 -0
  17. package/es/error/errorDisplay/Web/Notification/Notice.js +151 -0
  18. package/es/error/errorDisplay/Web/Notification/Notification.js +129 -0
  19. package/es/error/errorDisplay/Web/Notification/Notification.less +134 -0
  20. package/es/error/errorDisplay/Web/Notification/index.js +84 -0
  21. package/es/error/errorDisplay/Web/defaultGlobalConfig.js +12 -0
  22. package/es/error/errorDisplay/animation.less +112 -0
  23. package/es/error/errorDisplay/compUtils.js +16 -0
  24. package/es/error/errorDisplay/const.js +44 -0
  25. package/es/error/errorDisplay/http.js +103 -0
  26. package/es/error/errorDisplay/variables.less +1 -0
  27. package/es/error/index.js +3 -0
  28. package/es/images/ico-back.png +0 -0
  29. package/es/index.d.ts +2 -1
  30. package/es/index.js +2 -1
  31. package/es/security/const.d.ts +14 -0
  32. package/es/security/const.js +16 -0
  33. package/es/security/encipher/aes.d.ts +2 -0
  34. package/es/security/encipher/aes.js +26 -0
  35. package/es/security/encipher/des.d.ts +2 -0
  36. package/es/security/encipher/des.js +25 -0
  37. package/es/security/encipher/rsa.d.ts +2 -0
  38. package/es/security/encipher/rsa.js +17 -0
  39. package/es/security/{sign.d.ts → encipher/sign.d.ts} +0 -0
  40. package/es/security/{sign.js → encipher/sign.js} +27 -50
  41. package/es/security/fetch.d.ts +6 -2
  42. package/es/security/fetch.js +193 -19
  43. package/es/security/httpEncryption.js +22 -17
  44. package/es/security/index.d.ts +11 -4
  45. package/es/security/index.js +5 -1
  46. package/es/utils/url.d.ts +1 -0
  47. package/es/utils/url.js +24 -0
  48. package/lib/index.js +13 -4
  49. package/package.json +4 -2
@@ -0,0 +1,44 @@
1
+ export var errTypeTitMap = {
2
+ '01': '网络请求异常',
3
+ '02': '程序处理异常',
4
+ '03': '业务数据异常',
5
+ '04': '服务端业务数据异常',
6
+ '05': '配置数据异常',
7
+ '06': '客户端请求异常',
8
+ '07': '业务处理异常',
9
+ '08': '服务器处理异常'
10
+ };
11
+ export var statusClrMap = {
12
+ config: 'purple',
13
+ platform: 'blue'
14
+ };
15
+
16
+ // 预留更新‘解决方案’
17
+ var localArticles = {};
18
+ try {
19
+ localArticles = JSON.parse(localStorage.getItem('lx-helper') || '{}');
20
+ } catch (err) {
21
+ // console.warn(err);
22
+ }
23
+ export var articleMap = {
24
+ // 网络异常
25
+ '01-00-2-000-000001': localArticles['01-00-2-000-000001'] || {
26
+ title: '服务请求失败,网络出现异常',
27
+ content: "<dl>\n <dt>\u7F51\u7EDC\u5F02\u5E38\u539F\u56E0\uFF1A</dt>\n <dd>\n <ol>\n <li>\u7F51\u7EDC\u6545\u969C\uFF0C\u60A8\u7684\u8BA1\u7B97\u673A/\u624B\u673A\u65E0Internet\u8BBF\u95EE\uFF1B</li>\n <li>\u8BA1\u7B97\u673A/\u624B\u673A\u5F00\u542F\u4E86\u5176\u4ED6\u7F51\u7EDC\u4EE3\u7406\uFF1B</li>\n <li>\u8BF7\u6C42\u88AB\u7F51\u7EDC\u5B89\u5168\u62E6\u622A\uFF1B</li>\n </ol>\n <dd>\n <dt>\u89E3\u51B3\u65B9\u6CD5\uFF1A</dt>\n <dd>\n <ol>\n <li>\u9996\u5148\u786E\u4FDD\u60A8\u7684\u8BA1\u7B97\u673A/\u624B\u673A\u5DF2\u7ECF\u901A\u8FC7Wi-Fi\u6216\u7535\u7F06\u65B9\u5F0F\u6B63\u5E38\u63A5\u5165\u7F51\u7EDC;</li>\n <li>\u5982\u679C\u4F7F\u7528\u516C\u7F51\u8BBF\u95EE\u7CFB\u7EDF\uFF0C\u68C0\u67E5\u60A8\u7684\u8BA1\u7B97\u673A/\u624B\u673A\u662F\u5426\u5DF2\u8FDE\u63A5\u5230Internet\uFF0C\u5982\u65E0Internet\u8BBF\u95EE\uFF0C\u4F60\u53EF\u4EE5\u5C1D\u8BD5:<br />\n - \u91CD\u542F\u7535\u8111\u3001\u5149\u732B\u3001\u8DEF\u7531\u5668\u3001\u624B\u673A\u7F51\u7EDC<br />\n - \u8C03\u6574DNS\u914D\u7F6E<br />\n - \u91CD\u7F6ETCP/IP\u7F51\u7EDC\u914D\u7F6E<br />\n - \u4F7F\u7528\u5176\u4ED6\u6D4F\u89C8\u5668<br />\n \u5982\u679C\u95EE\u9898\u4ECD\u7136\u5B58\uFF0C\u60A8\u5E94\u8BE5\u8054\u7CFB\u60A8\u7684\u4E92\u8054\u7F51\u670D\u52A1\u63D0\u4F9B\u5546\u5E76\u68C0\u67E5\u662F\u5426\u6709\u4EFB\u4F55\u6280\u672F\u95EE\u9898\u3002\n </li>\n <li>\u68C0\u67E5\u662F\u5426\u5F00\u542F\u5176\u4ED6\u7F51\u7EDC\u4EE3\u7406\uFF0C\u5982\u5F00\u542F\u8BF7\u5C1D\u8BD5\u5173\u95ED\u3002</li>\n </ol>\n </dd>\n </dl>\n "
28
+ },
29
+ // 请求超时
30
+ '01-00-2-000-000002': localArticles['01-00-2-000-000002'] || {
31
+ title: '服务请求失败,请求超时',
32
+ content: "<dl>\n <dt>\u8BF7\u6C42\u5931\u8D25\u53EF\u80FD\u539F\u56E0\uFF1A</dt>\n <dd>\n <ol>\n <li>\u5F53\u524D\u7CFB\u7EDF\u5904\u4E8E\u4F7F\u7528\u9AD8\u5CF0\u671F\uFF0C\u54CD\u5E94\u8F83\u6162\uFF1B</li>\n <li>\u7F51\u7EDC\u4E0A\u884C\u4E0B\u884C\u901F\u7387\u6162\uFF1B</li>\n <li>\u8BF7\u6C42\u62A5\u6587\u8FC7\u5927\uFF0C\u4E0A\u4F20\u9700\u8981\u8F83\u591A\u65F6\u95F4\uFF1B</li>\n <li>\u6587\u4EF6\u4E0B\u8F7D\uFF0C\u6587\u4EF6\u5927\u5C0F\u8FC7\u5927\uFF0C\u9700\u8981\u8F83\u591A\u65F6\u95F4\uFF1B</li>\n </ol>\n </dd>\n </dl>\n <dt>\u89E3\u51B3\u65B9\u6CD5\uFF1A</dt>\n <dd>\n <ol>\n <li>\u8BF7\u7A0D\u540E\u518D\u8BD5\uFF1B</li>\n <li>\u68C0\u67E5\u7F51\u7EDC\uFF0C\u6D4B\u8BD5\u7F51\u7EDC\u901F\u5EA6\uFF0C\u5E76\u4F18\u5316\uFF1B</li>\n <li>\u5982\u5185\u5BB9\u8FC7\u5927\uFF0C\u8054\u7CFB\u7BA1\u7406\u5458\u8C03\u6574\u8D85\u65F6\u65F6\u957F\uFF1B</li>\n </ol>\n </dd>\n </dl>\n "
33
+ },
34
+ // 网关错误
35
+ '06-00-3-000-000502': localArticles['06-00-3-000-000502'] || {
36
+ title: '服务请求失败,请稍后再试或者联系系统管理员',
37
+ content: "<dl>\n <dt>\u8BF7\u6C42\u5931\u8D25\u53EF\u80FD\u539F\u56E0\uFF1A</dt>\n <dd>\n <ol>\n <li>\u5F53\u524D\u7CFB\u7EDF\u5904\u4E8E\u4F7F\u7528\u9AD8\u5CF0\u671F\uFF0C\u54CD\u5E94\u8F83\u6162\uFF1B</li>\n <li>\u7CFB\u7EDF\u5B58\u5728\u5185\u90E8\u9519\u8BEF\uFF1B</li>\n <li>\u7CFB\u7EDF\u6B63\u5728\u53D1\u7248\uFF1B</li>\n </ol>\n </dd>\n </dl>\n <dt>\u89E3\u51B3\u65B9\u6CD5\uFF1A</dt>\n <dd>\n <ol>\n <li>\u8BF7\u7A0D\u540E\u518D\u8BD5\uFF1B</li>\n <li>\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u5458\uFF0C\u6838\u67E5\uFF1A<br />\n - \u4ECE\u670D\u52A1\u7AEF\u541E\u5410\u91CF\u627F\u8F7D\u8003\u8651\uFF0C\u662F\u5426\u9700\u8981\u8FDB\u884C\u7CFB\u7EDF\u6269\u5BB9\uFF1B<br />\n - \u4ECE\u670D\u52A1\u7AEF\u7A0B\u5E8F\u95EE\u9898\u65B9\u9762\u8003\u8651\uFF0C\u662F\u5426\u9700\u8981\u8FDB\u884C\u7A0B\u5E8F\u4F18\u5316\uFF1B<br />\n - \u4ECE\u7F51\u7EDC\u95EE\u9898\u65B9\u9762\u8003\u8651\uFF0C\u662F\u5426\u9700\u8981\u68C0\u67E5\u7F51\u7EDC\u6D88\u8017\u3001\u8D1F\u8F7D\u5747\u8861\u914D\u7F6E\u662F\u5426\u6B63\u786E\u3002\n </li>\n </ol>\n </dd>\n </dl>\n "
38
+ },
39
+ // 网关超时
40
+ '06-00-3-000-000504': localArticles['06-00-3-000-000504'] || {
41
+ title: '服务请求失败,请稍后再试或者联系系统管理员',
42
+ content: "<dl>\n <dt>\u8BF7\u6C42\u5931\u8D25\u53EF\u80FD\u539F\u56E0\uFF1A</dt>\n <dd>\n <ol>\n <li>\u5F53\u524D\u7CFB\u7EDF\u5904\u4E8E\u4F7F\u7528\u9AD8\u5CF0\u671F\uFF0C\u54CD\u5E94\u8F83\u6162\uFF1B</li>\n </ol>\n </dd>\n </dl>\n <dt>\u89E3\u51B3\u65B9\u6CD5\uFF1A</dt>\n <dd>\n <ol>\n <li>\u8BF7\u7A0D\u540E\u518D\u8BD5\uFF1B</li>\n <li>\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u5458\uFF0C\u6838\u67E5\uFF1A<br />\n - \u4ECE\u670D\u52A1\u7AEF\u541E\u5410\u91CF\u627F\u8F7D\u8003\u8651\uFF0C\u662F\u5426\u9700\u8981\u8FDB\u884C\u7CFB\u7EDF\u6269\u5BB9\uFF1B<br />\n - \u4ECE\u7F51\u7EDC\u95EE\u9898\u65B9\u9762\u8003\u8651\uFF0C\u662F\u5426\u9700\u8981\u68C0\u67E5\u7F51\u7EDC\u6D88\u8017\u3001\u8D1F\u8F7D\u5747\u8861\u914D\u7F6E\u662F\u5426\u6B63\u786E\u3002\n </li>\n </ol>\n </dd>\n </dl>\n "
43
+ }
44
+ };
@@ -0,0 +1,103 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
11
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ function getSearchObj() {
14
+ var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.location.href;
15
+ var urlArr = url.split('?');
16
+ if (urlArr.length === 1) return {};
17
+ var search = urlArr.pop();
18
+ var objs = search.split('&');
19
+ var obj = {};
20
+ objs.forEach(function (value) {
21
+ var _value$split = value.split('='),
22
+ _value$split2 = _slicedToArray(_value$split, 2),
23
+ k = _value$split2[0],
24
+ v = _value$split2[1];
25
+ if (v) {
26
+ obj[decodeURIComponent(k)] = decodeURIComponent(v);
27
+ }
28
+ });
29
+ return obj;
30
+ }
31
+ var request = function request(url, config) {
32
+ return new Promise(function (resolve, rejects) {
33
+ fetch(url, config).then(function (response) {
34
+ return response === null || response === void 0 ? void 0 : response.body;
35
+ }).then(function (rb) {
36
+ var reader = rb.getReader();
37
+ return new ReadableStream({
38
+ start: function start(controller) {
39
+ function push() {
40
+ reader.read().then(function (_ref) {
41
+ var done = _ref.done,
42
+ value = _ref.value;
43
+ if (done) {
44
+ controller.close();
45
+ return;
46
+ }
47
+ controller.enqueue(value);
48
+ push();
49
+ });
50
+ }
51
+ push();
52
+ }
53
+ });
54
+ }).then(function (stream) {
55
+ return new Response(stream, {
56
+ headers: {
57
+ 'Content-Type': 'application/json'
58
+ }
59
+ }).json();
60
+ }).then(function (result) {
61
+ if (Number(result === null || result === void 0 ? void 0 : result.resultCode) === 0) {
62
+ resolve(result === null || result === void 0 ? void 0 : result.resultObject);
63
+ }
64
+ }).catch(function (err) {
65
+ rejects(err);
66
+ });
67
+ });
68
+ };
69
+ var headers = _objectSpread({
70
+ 'APP-ID': window.appId || getSearchObj().appId,
71
+ // 门户类型
72
+ portalType: 2
73
+ }, window.embedMode ? {
74
+ 'Embed-Mode': window.embedMode
75
+ } : {});
76
+ var http = {
77
+ get: function get() {
78
+ var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
79
+ var cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
80
+ var _ref2 = cfg || {},
81
+ params = _ref2.params;
82
+ var paramsArr = '';
83
+ if (params && Object.keys(params).length > 0) {
84
+ paramsArr = Object.keys(params).map(function (item) {
85
+ return "".concat(item, "=").concat(params[item]);
86
+ }).join('&');
87
+ }
88
+ return request("".concat(url).concat(paramsArr ? "?".concat(paramsArr) : ''), _objectSpread({
89
+ method: 'GET',
90
+ headers: headers
91
+ }, cfg));
92
+ },
93
+ post: function post(url, cfg) {
94
+ return request(url, _objectSpread({
95
+ body: JSON.stringify(cfg === null || cfg === void 0 ? void 0 : cfg.data),
96
+ method: 'POST',
97
+ headers: _objectSpread(_objectSpread({}, headers), {}, {
98
+ 'content-type': 'application/json'
99
+ }, cfg === null || cfg === void 0 ? void 0 : cfg.headers)
100
+ }, cfg));
101
+ }
102
+ };
103
+ export default http;
@@ -0,0 +1 @@
1
+ @hd: 1px;
@@ -0,0 +1,3 @@
1
+ import ErrorMsg from './errorDisplay/Web/ErrorMsg';
2
+ import MobileErrorMsg from './errorDisplay/Mobile/ErrorMsg';
3
+ export { ErrorMsg, MobileErrorMsg };
Binary file
package/es/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import security from './security';
2
+ import { ErrorMsg, MobileErrorMsg } from './error';
2
3
  export declare const IconCheckSvg: string;
3
4
  export declare const IconNormalCheckSvg: string;
4
- export { security };
5
+ export { security, ErrorMsg, MobileErrorMsg };
package/es/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { getSvgImageBase64 } from './utils/img';
2
2
  import security from './security';
3
+ import { ErrorMsg, MobileErrorMsg } from './error';
3
4
  export var IconCheckSvg = getSvgImageBase64("<?xml version=\"1.0\" encoding=\"UTF-8\"?><svg width=\"22px\" height=\"22px\" viewBox=\"0 0 22 22\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><title>\u5168\u5C40\u6837\u5F0F:20/\u539F\u5B50\u7EA7\u63A7\u4EF6/\u590D\u9009/\u72B6\u6001:#\u9009\u4E2D</title><g id=\"\u63A7\u4EF6\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g id=\"system-complete\"><path d=\"M11,0 C17.075904,0 22,4.92409598 22,11 C22,17.075904 17.0734732,22 11,22 C4.92652679,22 0,17.0734732 0,11 C0,4.92652679 4.92409598,0 11,0 Z\" id=\"Shape\" fill=\"#1890FF\"></path><path d=\"M9.42871875,12.9681652 L7.2069029,10.7463493 C6.90006126,10.4395077 6.40257267,10.4395077 6.09573103,10.7463493 C5.78889035,11.05319 5.78889035,11.550677 6.09573103,11.8575177 C6.09573161,11.8575183 6.0957322,11.8575189 6.09573278,11.8575195 L8.72212536,14.4838955 C9.11265701,14.8744045 9.74581424,14.874407 10.136349,14.483901 L10.5404063,14.0798527 L10.5404063,14.0798527 L16.2813591,8.33795955 C16.588183,8.03108543 16.5881626,7.53359119 16.2813136,7.22674219 C15.974472,6.91990055 15.4769834,6.91990055 15.1701417,7.22674219 L9.42871875,12.9681652 L9.42871875,12.9681652 Z\" id=\"Path\" fill=\"#FFFFFF\"></path></g></g></svg>");
4
5
  export var IconNormalCheckSvg = getSvgImageBase64("<?xml version=\"1.0\" encoding=\"UTF-8\"?><svg width=\"22px\" height=\"22px\" viewBox=\"0 0 22 22\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><title>\u5168\u5C40\u6837\u5F0F:20/\u539F\u5B50\u7EA7\u63A7\u4EF6/\u590D\u9009/\u72B6\u6001:\u672A\u9009\u4E2D</title><g id=\"\u63A7\u4EF6\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g id=\"\u5143\u7D20/\u9009\u62E9/\u672A\u9009\u4E2D\"><path d=\"M11,22 C4.93492502,22 0,17.0653546 0,10.999496 C0,4.9337633 4.93492502,0 11,0 C17.065075,0 22,4.93464539 22,10.999496 C22,17.0644725 17.0660846,22 11,22\" id=\"Fill\" fill=\"#FFFFFF\"></path><path d=\"M11,0.5 C13.8998633,0.5 16.5248731,1.67505184 18.4249106,3.57508938 C20.3249482,5.47512693 21.5,8.10013672 21.5,11 C21.5,13.8995696 20.3245821,16.5243277 18.4245965,18.4243132 C16.5242275,20.3246822 13.8989967,21.5 11,21.5 C8.10129687,21.5 5.47631792,20.324316 3.57600094,18.4239991 C1.67568396,16.5236821 0.5,13.8987031 0.5,11 C0.5,8.10100334 1.67531776,5.47577251 3.57568679,3.57540349 C5.47567234,1.67541793 8.10043037,0.5 11,0.5 Z\" id=\"Shape\" stroke=\"#CCCCCC\"></path></g></g></svg>");
5
- export { security };
6
+ export { security, ErrorMsg, MobileErrorMsg };
@@ -0,0 +1,14 @@
1
+ export declare const securityHeaderKey = "XA-TYPE";
2
+ export declare const defaultSignKey = "X-SIGN";
3
+ export declare const MODE: {
4
+ SIGN_KEY: string;
5
+ SIGN: string;
6
+ RSA: string;
7
+ AES: string;
8
+ DES: string;
9
+ };
10
+ export declare const signKey: string;
11
+ export declare const rsaPublicKey: string | undefined;
12
+ export declare const rsaPrivKey: string | undefined;
13
+ export declare const aesKey: string;
14
+ export declare const desKey: string;
@@ -0,0 +1,16 @@
1
+ var defaultAESKey = 'd86d7bab3d6ac01a';
2
+ var defaultDESKey = '91THRABY';
3
+ export var securityHeaderKey = 'XA-TYPE';
4
+ export var defaultSignKey = 'X-SIGN';
5
+ export var MODE = {
6
+ SIGN_KEY: 'signKey',
7
+ SIGN: '1.0',
8
+ RSA: '2.0',
9
+ AES: '3.0',
10
+ DES: '4.0'
11
+ };
12
+ export var signKey = process.env.LINGXI_HTTP_SIGN_HEADER_KEY || process.env.REACT_APP_HTTP_SIGN_HEADER_KEY || process.env.UMI_APP_HTTP_SIGN_HEADER_KEY || process.env.FISHX_APP_HTTP_SIGN_HEADER_KEY || defaultSignKey;
13
+ export var rsaPublicKey = process.env.LINGXI_HTTP_RSA_PUBLIC_KEY || process.env.REACT_APP_HTTP_RSA_PUBLIC_KEY || process.env.UMI_APP_HTTP_RSA_PUBLIC_KEY || process.env.FISHX_APP_HTTP_RSA_PUBLIC_KEY;
14
+ export var rsaPrivKey = process.env.LINGXI_HTTP_RSA_PRIV_KEY || process.env.REACT_APP_HTTP_RSA_PRIV_KEY || process.env.UMI_APP_HTTP_RSA_PRIV_KEY || process.env.FISHX_APP_HTTP_RSA_PRIV_KEY;
15
+ export var aesKey = process.env.LINGXI_HTTP_AES_KEY || process.env.REACT_APP_HTTP_AES_KEY || process.env.UMI_APP_HTTP_AES_KEY || process.env.FISHX_APP_HTTP_AES_KEY || defaultAESKey;
16
+ export var desKey = process.env.LINGXI_HTTP_DES_KEY || process.env.REACT_APP_HTTP_DES_KEY || process.env.UMI_APP_HTTP_DES_KEY || process.env.FISHX_APP_HTTP_DES_KEY || defaultDESKey;
@@ -0,0 +1,2 @@
1
+ export declare const AESEncrypt: (value: any, aesKey: string, handle?: any) => any;
2
+ export declare const AESDecrypt: (value: string, aesKey: string, handle?: any) => any;
@@ -0,0 +1,26 @@
1
+ import CryptoJS from 'crypto-js';
2
+ export var AESEncrypt = function AESEncrypt(value, aesKey, handle) {
3
+ if (typeof handle === 'function') {
4
+ return handle(value, aesKey, CryptoJS);
5
+ }
6
+ var key = CryptoJS.enc.Utf8.parse(aesKey);
7
+ var ciphertext = CryptoJS.enc.Utf8.parse(value);
8
+ var encrypted = CryptoJS.AES.encrypt(ciphertext, key, {
9
+ mode: CryptoJS.mode.ECB,
10
+ padding: CryptoJS.pad.Pkcs7
11
+ });
12
+ return encrypted.toString();
13
+ };
14
+ export var AESDecrypt = function AESDecrypt(value, aesKey, handle) {
15
+ if (typeof handle === 'function') {
16
+ return handle(value, aesKey, CryptoJS);
17
+ }
18
+ var key = CryptoJS.enc.Utf8.parse(aesKey);
19
+ var ciphertext = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Base64.parse(value));
20
+ // const ciphertext = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Base64.parse(CryptoJS.enc.Utf8.parse(value).toString(CryptoJS.enc.Utf8)));
21
+ var encrypted = CryptoJS.AES.decrypt(ciphertext, key, {
22
+ mode: CryptoJS.mode.ECB,
23
+ padding: CryptoJS.pad.Pkcs7
24
+ });
25
+ return encrypted.toString(CryptoJS.enc.Utf8);
26
+ };
@@ -0,0 +1,2 @@
1
+ export declare const DESEncrypt: (value: string, aesKey: string, handle?: any) => any;
2
+ export declare const DESDecrypt: (value: string, aesKey: string, handle?: any) => any;
@@ -0,0 +1,25 @@
1
+ import CryptoJS from 'crypto-js';
2
+ export var DESEncrypt = function DESEncrypt(value, aesKey, handle) {
3
+ if (typeof handle === 'function') {
4
+ return handle(value, aesKey, CryptoJS);
5
+ }
6
+ var key = CryptoJS.enc.Utf8.parse(aesKey);
7
+ var ciphertext = CryptoJS.enc.Utf8.parse(value);
8
+ var encrypted = CryptoJS.DES.encrypt(ciphertext, key, {
9
+ mode: CryptoJS.mode.ECB,
10
+ padding: CryptoJS.pad.Pkcs7
11
+ });
12
+ return encrypted.toString();
13
+ };
14
+ export var DESDecrypt = function DESDecrypt(value, aesKey, handle) {
15
+ if (typeof handle === 'function') {
16
+ return handle(value, aesKey, CryptoJS);
17
+ }
18
+ var key = CryptoJS.enc.Utf8.parse(aesKey);
19
+ var ciphertext = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Base64.parse(value));
20
+ var encrypted = CryptoJS.DES.decrypt(ciphertext, key, {
21
+ mode: CryptoJS.mode.ECB,
22
+ padding: CryptoJS.pad.Pkcs7
23
+ });
24
+ return encrypted.toString(CryptoJS.enc.Utf8);
25
+ };
@@ -0,0 +1,2 @@
1
+ export declare const RSAEncrypt: (value: string, publicKey: string, handle?: any) => any;
2
+ export declare const RSADecrypt: (value: string, privKey: string, handle?: any) => any;
@@ -0,0 +1,17 @@
1
+ import JSEncrypt from 'jsencrypt';
2
+ export var RSAEncrypt = function RSAEncrypt(value, publicKey, handle) {
3
+ if (typeof handle === 'function') {
4
+ return handle(value, publicKey, JSEncrypt);
5
+ }
6
+ var encryptor = new JSEncrypt();
7
+ encryptor.setPublicKey(publicKey);
8
+ return encryptor.encrypt(value);
9
+ };
10
+ export var RSADecrypt = function RSADecrypt(value, privKey, handle) {
11
+ if (typeof handle === 'function') {
12
+ return handle(value, privKey, JSEncrypt);
13
+ }
14
+ var decrypt = new JSEncrypt();
15
+ decrypt.setPrivateKey(privKey);
16
+ return decrypt.decrypt(value);
17
+ };
File without changes
@@ -1,20 +1,14 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
-
3
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
-
5
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
-
7
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
-
9
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10
-
11
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
12
-
6
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
13
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
-
15
8
  import { sha256 } from 'js-sha256';
16
- import { obj2QueryString } from '../utils/url';
17
- var SIGN_KEY = process.env.LING_XI_HTTP_SIGN_KEY || 'zrT5bi2escXilaH1fs653uZiH9RWfzCS'; // 1、签名算法:
9
+ import { obj2QueryString } from '../../utils/url';
10
+ var SIGN_KEY = process.env.LING_XI_HTTP_SIGN_KEY || 'zrT5bi2escXilaH1fs653uZiH9RWfzCS';
11
+ // 1、签名算法:
18
12
  // 通过对url、参数、秘钥拼接成字符串,然后对字符串使用算法SHA-256得到64个字符串,放到header, X-SIGN=XXXXXXX。
19
13
  // 2、签名字符串拼接规则:
20
14
  // a.get 请求:url+"#"+header+"#"+参数+"#"+秘钥
@@ -25,7 +19,6 @@ var SIGN_KEY = process.env.LING_XI_HTTP_SIGN_KEY || 'zrT5bi2escXilaH1fs653uZiH9R
25
19
  // ● header :取X-开头的header,或者APP-ID,多个则逗号分隔拼接。比如X-AA=a;APP-ID=88888
26
20
  // ● get 参数:就是url 问号后面的串
27
21
  // ● body:post 请求体
28
-
29
22
  /**
30
23
  * 组装X-SIGN请求头
31
24
  * @param {请求地址} url 接口请求地址
@@ -34,10 +27,10 @@ var SIGN_KEY = process.env.LING_XI_HTTP_SIGN_KEY || 'zrT5bi2escXilaH1fs653uZiH9R
34
27
  */
35
28
  // 由于X-B 的规则可能被业务网关使用,并往请求头增加内容,导致前后端加密不一致
36
29
  // 2022.08.09 使用以下3个固定值 + X-LX-*匹配 方式
37
-
38
- var hKeys = ['X-B-AUTH', 'X-B-TARGET-ID', 'APP-ID']; // 配置指定接口前缀
39
-
40
- var apiPrefix = process.env.LING_XI_HTTP_SIGN_API_PERFIX || process.env.REACT_APP_HTTP_SIGN_API_PERFIX || process.env.UMI_APP_HTTP_SIGN_API_PERFIX || process.env.FISHX_APP_HTTP_SIGN_API_PERFIX || 'portal,asset,rhin,lcdp,ncdp,flow'; // 获取接口路径
30
+ var hKeys = ['X-B-AUTH', 'X-B-TARGET-ID', 'APP-ID'];
31
+ // 配置指定接口前缀
32
+ var apiPrefix = process.env.LING_XI_HTTP_SIGN_API_PERFIX || process.env.REACT_APP_HTTP_SIGN_API_PERFIX || process.env.UMI_APP_HTTP_SIGN_API_PERFIX || process.env.FISHX_APP_HTTP_SIGN_API_PERFIX || 'portal,asset,rhin,lcdp,ncdp,flow';
33
+ // 获取接口路径
41
34
  // =========================
42
35
  // api/a/b/c
43
36
  // ../api/a/b/c
@@ -48,11 +41,9 @@ var apiPrefix = process.env.LING_XI_HTTP_SIGN_API_PERFIX || process.env.REACT_AP
48
41
  // //host.com/api/a/b/c
49
42
  // => /api/a/b/c
50
43
  // =========================
51
-
52
44
  var getApiPath = function getApiPath(url) {
53
45
  // 移除host、相对路径部分,保证地址前都是'/'开头
54
46
  var fixurl = "/".concat(url.replace(/(^(http:\/\/|https:\/\/|\/\/)[^/]*)|(^\.[./]*)/g, '')).replace('//', '/');
55
-
56
47
  if (apiPrefix) {
57
48
  // 配了接口前缀规则,通过前缀匹配
58
49
  // =========================
@@ -62,52 +53,43 @@ var getApiPath = function getApiPath(url) {
62
53
  // =========================
63
54
  return apiPrefix.split(',').reduce(function (pre, n) {
64
55
  var matchPath = fixurl.split("/".concat(n, "/")).pop();
65
-
66
56
  if (matchPath !== fixurl) {
67
57
  pre.push("/".concat(n, "/").concat(matchPath));
68
58
  }
69
-
70
59
  return pre;
71
60
  }, []).sort(function (a, b) {
72
61
  return a.length - b.length;
73
62
  })[0] || '';
74
- } // 没有配置接口前缀,使用接口最后三级路径,不足三级取最大层级路径
63
+ }
64
+ // 没有配置接口前缀,使用接口最后三级路径,不足三级取最大层级路径
75
65
  // =========================
76
66
  // /a/b/c/d => /b/c/d
77
67
  // a/b => /a/b
78
68
  // =========================
79
-
80
-
81
69
  return "".concat(fixurl.split('/').slice(-3).join('/'));
82
70
  };
83
-
84
71
  export var createHttpSignStr = function createHttpSignStr(url, options) {
85
72
  if (!url || !options || !options.method) {
86
73
  return '';
87
74
  }
88
-
89
75
  var method = options.method,
90
- headers = options.headers,
91
- body = options.body,
92
- search = options.search; // 获取参数1: 接口名称
93
-
76
+ headers = options.headers,
77
+ body = options.body,
78
+ search = options.search;
79
+ // 获取参数1: 接口名称
94
80
  var mixUrl = url;
95
-
96
81
  if (search && search instanceof Object) {
97
82
  mixUrl += (url.indexOf('?') !== -1 ? '&' : '?') + obj2QueryString(search);
98
83
  }
99
-
100
84
  var _mixUrl$split = mixUrl.split('?'),
101
- _mixUrl$split2 = _slicedToArray(_mixUrl$split, 2),
102
- urlPath = _mixUrl$split2[0],
103
- _mixUrl$split2$ = _mixUrl$split2[1],
104
- urlSearch = _mixUrl$split2$ === void 0 ? '' : _mixUrl$split2$;
105
-
106
- var apiPath = getApiPath(urlPath); // 获取参数2: 请求头部参数
107
-
85
+ _mixUrl$split2 = _slicedToArray(_mixUrl$split, 2),
86
+ urlPath = _mixUrl$split2[0],
87
+ _mixUrl$split2$ = _mixUrl$split2[1],
88
+ urlSearch = _mixUrl$split2$ === void 0 ? '' : _mixUrl$split2$;
89
+ var apiPath = getApiPath(urlPath);
90
+ // 获取参数2: 请求头部参数
108
91
  var headerParams = '';
109
92
  var headersKeyArr = [];
110
-
111
93
  if (headers) {
112
94
  Object.keys(headers).forEach(function (key) {
113
95
  if (key.startsWith('X-LX-') || hKeys.includes(key)) {
@@ -115,28 +97,23 @@ export var createHttpSignStr = function createHttpSignStr(url, options) {
115
97
  }
116
98
  });
117
99
  }
118
-
119
- headerParams = headersKeyArr.sort().join(';'); // 获取参数3: 请求参数
120
-
100
+ headerParams = headersKeyArr.sort().join(';');
101
+ // 获取参数3: 请求参数
121
102
  var params = '';
122
-
123
103
  if (method.toLowerCase() === 'get') {
124
104
  params = urlSearch;
125
105
  } else {
126
106
  params = _typeof(body) === 'object' ? JSON.stringify(body) : body;
127
- } // 组装加密字符串
128
-
129
-
107
+ }
108
+ // 组装加密字符串
130
109
  var str = [apiPath, headerParams, params, SIGN_KEY].join('#');
131
-
132
- if (typeof window !== 'undefined' && (window.signDebug || window.localStorage.getItem('signDebug'))) {
110
+ if (typeof window !== 'undefined' && (window.lxDebug || window.localStorage.getItem('lxDebug'))) {
133
111
  console.log(' --- signDebug ---');
134
112
  console.log('url', url);
135
113
  console.log('str', str);
136
114
  console.log('sign', sha256(str));
137
- } // 生成约定签名
138
-
139
-
115
+ }
116
+ // 生成约定签名
140
117
  return sha256(str);
141
118
  };
142
119
  export default {
@@ -1,5 +1,9 @@
1
1
  declare const fetch: (url: any, fetchOptions?: any, config?: {
2
- mode: string;
3
- signKeyOptions: any;
2
+ mode?: string;
3
+ signKeyOptions?: any;
4
+ aesOptions?: any;
5
+ desOptions?: any;
6
+ rsaOptions?: any;
7
+ debug?: boolean;
4
8
  }) => Promise<Response>;
5
9
  export default fetch;