@xfe-repo/web-utils 1.1.4 → 1.3.1

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/env.d.ts CHANGED
@@ -11,19 +11,5 @@ declare const isProduction: boolean;
11
11
  declare const release: string;
12
12
  declare const apiEnv: ApiEnv;
13
13
  declare const business: Business;
14
- declare const assetsHost = "https://imgs.xianghuanji.com/";
15
- declare const getErpSaasOrigin: (_apiEnv: ApiEnv) => string;
16
- declare const getMSaasOrigin: (_apiEnv: ApiEnv) => string;
17
- declare const isTestEnv: (_apiEnv: ApiEnv) => _apiEnv is TestEnv;
18
- declare const getEnvApi: (envApis: Record<ApiEnv, string>, _apiEnv?: ApiEnv) => string;
19
- declare const getBffApi: (_apiEnv?: ApiEnv) => string;
20
- declare function getEnvDomain(hostname: string): string;
21
- declare const sentryConfig: {
22
- dsn: string;
23
- release: string;
24
- enable: boolean;
25
- enablePerformance: boolean;
26
- debug: boolean;
27
- };
28
14
 
29
- export { type ApiEnv, type Business, type TestEnv, apiEnv, assetsHost, business, getBffApi, getEnvApi, getEnvDomain, getErpSaasOrigin, getMSaasOrigin, isAndroid, isClient, isIos, isProduction, isSSR, isServer, isTestEnv, isWeiXin, release, sentryConfig };
15
+ export { type ApiEnv, type Business, type TestEnv, apiEnv, business, isAndroid, isClient, isIos, isProduction, isSSR, isServer, isWeiXin, release };
package/dist/env.js CHANGED
@@ -31,23 +31,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var env_exports = {};
32
32
  __export(env_exports, {
33
33
  apiEnv: () => apiEnv,
34
- assetsHost: () => assetsHost,
35
34
  business: () => business,
36
- getBffApi: () => getBffApi,
37
- getEnvApi: () => getEnvApi,
38
- getEnvDomain: () => getEnvDomain,
39
- getErpSaasOrigin: () => getErpSaasOrigin,
40
- getMSaasOrigin: () => getMSaasOrigin,
41
35
  isAndroid: () => isAndroid,
42
36
  isClient: () => isClient,
43
37
  isIos: () => isIos,
44
38
  isProduction: () => isProduction,
45
39
  isSSR: () => isSSR,
46
40
  isServer: () => isServer,
47
- isTestEnv: () => isTestEnv,
48
41
  isWeiXin: () => isWeiXin,
49
- release: () => release,
50
- sentryConfig: () => sentryConfig
42
+ release: () => release
51
43
  });
52
44
  module.exports = __toCommonJS(env_exports);
53
45
 
@@ -76,90 +68,20 @@ try {
76
68
  var isIos = /ios/i.test(navigator.userAgent);
77
69
  var isAndroid = /android/i.test(navigator.userAgent);
78
70
  var isWeiXin = /MicroMessenger/i.test(navigator.userAgent);
79
- var isProduction = process.env["NODE_ENV"] === "production";
80
- var release = process.env["REACT_APP_RELEASE"] || "dev";
81
- var apiEnv = process.env["REACT_APP_API_ENV"] || cookies.get("apiEnv");
82
- var business = process.env["REACT_APP_BUSINESS"];
83
- var assetsHost = "https://imgs.xianghuanji.com/";
84
- var erpSaasOriginDic = {
85
- dev: `http://test.erp-saas.t.eshetang.com`,
86
- test: `http://test.erp-saas.t.eshetang.com`,
87
- stage: "http://stage.erp-saas.t.eshetang.com",
88
- beta: "https://erp.beta.eshetang.com",
89
- prod: "https://erp.eshetang.com"
90
- };
91
- var getErpSaasOrigin = (_apiEnv) => {
92
- if (isTestEnv(_apiEnv)) {
93
- return erpSaasOriginDic["test"].replace("test", _apiEnv);
94
- } else {
95
- return erpSaasOriginDic[_apiEnv];
96
- }
97
- };
98
- var mSaasOriginDic = {
99
- dev: `http://test.m.t.eshetang.com`,
100
- test: `http://test.m.t.eshetang.com`,
101
- stage: "http://stage.m.t.eshetang.com",
102
- beta: "https://beta.m.eshetang.com",
103
- prod: "https://m.eshetang.com"
104
- };
105
- var getMSaasOrigin = (_apiEnv) => {
106
- if (isTestEnv(_apiEnv)) {
107
- return mSaasOriginDic["test"].replace("test", _apiEnv);
108
- } else {
109
- return mSaasOriginDic[_apiEnv];
110
- }
111
- };
112
- var bffApiList = {
113
- dev: "http://localhost:6003/",
114
- test: `http://test.bff-s.t.eshetang.com/`,
115
- stage: "http://stage.bff-s.t.eshetang.com/",
116
- beta: "https://bff.beta.eshetang.com/",
117
- prod: "https://bff.eshetang.com/"
118
- };
119
- var isTestEnv = (_apiEnv) => {
120
- return _apiEnv.startsWith("test");
121
- };
122
- var getEnvApi = (envApis, _apiEnv = apiEnv) => {
123
- if (isTestEnv(_apiEnv)) {
124
- return envApis["test"].replace("test", _apiEnv);
125
- } else {
126
- return envApis[_apiEnv];
127
- }
128
- };
129
- var getBffApi = (_apiEnv = apiEnv) => {
130
- return getEnvApi(bffApiList, _apiEnv);
131
- };
132
- function getEnvDomain(hostname) {
133
- var _a;
134
- const isTest = hostname.startsWith("test");
135
- const isStage = hostname.startsWith("stage");
136
- return isTest || isStage ? ((_a = hostname.match(/[^(\w*)]+.*/)) == null ? void 0 : _a[0]) || hostname : hostname;
137
- }
138
- var sentryConfig = {
139
- dsn: "https://cb37486fcf8d44d68080373bb354e0f6@bug.dev.cm/1",
140
- release,
141
- enable: release.includes("release"),
142
- enablePerformance: release.includes("release"),
143
- debug: !isProduction
144
- };
71
+ var isProduction = process.env.NODE_ENV === "production";
72
+ var release = process.env.REACT_APP_RELEASE || "dev";
73
+ var apiEnv = process.env.REACT_APP_API_ENV || cookies.get("apiEnv");
74
+ var business = process.env.REACT_APP_BUSINESS;
145
75
  // Annotate the CommonJS export names for ESM import in node:
146
76
  0 && (module.exports = {
147
77
  apiEnv,
148
- assetsHost,
149
78
  business,
150
- getBffApi,
151
- getEnvApi,
152
- getEnvDomain,
153
- getErpSaasOrigin,
154
- getMSaasOrigin,
155
79
  isAndroid,
156
80
  isClient,
157
81
  isIos,
158
82
  isProduction,
159
83
  isSSR,
160
84
  isServer,
161
- isTestEnv,
162
85
  isWeiXin,
163
- release,
164
- sentryConfig
86
+ release
165
87
  });
package/dist/host.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { ApiEnv, TestEnv } from './env.js';
2
+
3
+ declare const isTestEnv: (_apiEnv: ApiEnv) => _apiEnv is TestEnv;
4
+ declare const getEnvApi: (envApis: Record<ApiEnv, string>, _apiEnv: ApiEnv) => string;
5
+ declare function getEnvDomain(hostname: string): string;
6
+ declare const getBffApi: (_apiEnv: ApiEnv) => string;
7
+
8
+ export { getBffApi, getEnvApi, getEnvDomain, isTestEnv };
package/dist/host.js ADDED
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/host.ts
21
+ var host_exports = {};
22
+ __export(host_exports, {
23
+ getBffApi: () => getBffApi,
24
+ getEnvApi: () => getEnvApi,
25
+ getEnvDomain: () => getEnvDomain,
26
+ isTestEnv: () => isTestEnv
27
+ });
28
+ module.exports = __toCommonJS(host_exports);
29
+ var isTestEnv = (_apiEnv) => {
30
+ return _apiEnv.startsWith("test");
31
+ };
32
+ var getEnvApi = (envApis, _apiEnv) => {
33
+ if (isTestEnv(_apiEnv)) {
34
+ return envApis["test"].replace("test", _apiEnv);
35
+ } else {
36
+ return envApis[_apiEnv];
37
+ }
38
+ };
39
+ function getEnvDomain(hostname) {
40
+ var _a;
41
+ const isTest = hostname.startsWith("test");
42
+ const isStage = hostname.startsWith("stage");
43
+ return isTest || isStage ? ((_a = hostname.match(/[^(\w*)]+.*/)) == null ? void 0 : _a[0]) || hostname : hostname;
44
+ }
45
+ var bffApiList = {
46
+ dev: "http://localhost:6003/",
47
+ test: `http://test.bff-s.t.eshetang.com/`,
48
+ stage: "http://stage.bff-s.t.eshetang.com/",
49
+ beta: "https://bff.beta.eshetang.com/",
50
+ prod: "https://bff.eshetang.com/"
51
+ };
52
+ var getBffApi = (_apiEnv) => {
53
+ return getEnvApi(bffApiList, _apiEnv);
54
+ };
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ getBffApi,
58
+ getEnvApi,
59
+ getEnvDomain,
60
+ isTestEnv
61
+ });
package/dist/tools.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export * from 'throttle-debounce';
2
+
1
3
  /** mock 骨架屏数据 */
2
4
  declare const mockSkeletons: <T>(length: number, fn?: (id: number) => Partial<T>) => T[];
3
5
  declare const delayHandle: (tick: number) => Promise<void>;
@@ -9,8 +11,6 @@ declare const throttle: (delay: number, callback: any) => {
9
11
  (this: any, ...args: any[]): void;
10
12
  cancel: () => void;
11
13
  };
12
- declare const widthThrottle: (delay: number) => (target: any, _name: string, descriptor: PropertyDescriptor) => void;
13
- declare const debounce: <T extends (...args: any) => any>(delay: number, callback: T) => T;
14
14
  declare function uuid(): string;
15
15
  declare const imgRelative2Absolute: (imgUrl?: string) => string;
16
16
  declare const resizeAliYun: (imgUrl?: string, width?: number | null, quality?: number) => string;
@@ -41,4 +41,4 @@ declare const combobox2Options: <CB extends Record<string, (ComboBox | ComboBox<
41
41
  optionsMap: OptionsMapType<keyof CB>;
42
42
  };
43
43
 
44
- export { type ComboBox, type OptionsMapType, type OptionsRecordType, type OptionsType, combobox2Options, debounce, delayHandle, fieldsArrayToString, fieldsReset, formatterPrice, formatterTax, getBase64, getObjectURL, imgRelative2Absolute, mockSkeletons, resizeAliYun, throttle, uuid, widthThrottle };
44
+ export { type ComboBox, type OptionsMapType, type OptionsRecordType, type OptionsType, combobox2Options, delayHandle, fieldsArrayToString, fieldsReset, formatterPrice, formatterTax, getBase64, getObjectURL, imgRelative2Absolute, mockSkeletons, resizeAliYun, throttle, uuid };
package/dist/tools.js CHANGED
@@ -29,13 +29,13 @@ var __copyProps = (to, from, except, desc) => {
29
29
  }
30
30
  return to;
31
31
  };
32
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
32
33
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
34
 
34
35
  // src/tools.ts
35
36
  var tools_exports = {};
36
37
  __export(tools_exports, {
37
38
  combobox2Options: () => combobox2Options,
38
- debounce: () => debounce,
39
39
  delayHandle: () => delayHandle,
40
40
  fieldsArrayToString: () => fieldsArrayToString,
41
41
  fieldsReset: () => fieldsReset,
@@ -47,8 +47,7 @@ __export(tools_exports, {
47
47
  mockSkeletons: () => mockSkeletons,
48
48
  resizeAliYun: () => resizeAliYun,
49
49
  throttle: () => throttle,
50
- uuid: () => uuid,
51
- widthThrottle: () => widthThrottle
50
+ uuid: () => uuid
52
51
  });
53
52
  module.exports = __toCommonJS(tools_exports);
54
53
 
@@ -69,6 +68,7 @@ var regAssets = /^(\/(assets|static))/i;
69
68
  var isAssets = (value) => Boolean(regAssets.test(value.replace(/\s/g, "")));
70
69
 
71
70
  // src/tools.ts
71
+ __reExport(tools_exports, require("throttle-debounce"), module.exports);
72
72
  var mockSkeletons = (length, fn) => {
73
73
  const mockList = [];
74
74
  fn = fn || ((id) => ({ id }));
@@ -142,28 +142,6 @@ var throttle = (delay, callback) => {
142
142
  wrapper.cancel = cancel;
143
143
  return wrapper;
144
144
  };
145
- var widthThrottle = (delay) => {
146
- return function(target, _name, descriptor) {
147
- const oldValue = descriptor.value;
148
- const wrapper = throttle(delay, oldValue);
149
- descriptor.value = wrapper;
150
- target.componentWillUnmount = function() {
151
- target.componentWillUnmount && target.componentWillUnmount();
152
- wrapper.cancel();
153
- };
154
- };
155
- };
156
- var debounce = (delay, callback) => {
157
- let timeoutID;
158
- function wrapper(...args) {
159
- if (timeoutID) clearTimeout(timeoutID);
160
- const exec = () => {
161
- callback(...args);
162
- };
163
- timeoutID = setTimeout(exec, delay);
164
- }
165
- return wrapper;
166
- };
167
145
  function uuid() {
168
146
  let s = [];
169
147
  let hexDigits = "0123456789abcdef";
@@ -237,7 +215,6 @@ var combobox2Options = (comboBox) => {
237
215
  // Annotate the CommonJS export names for ESM import in node:
238
216
  0 && (module.exports = {
239
217
  combobox2Options,
240
- debounce,
241
218
  delayHandle,
242
219
  fieldsArrayToString,
243
220
  fieldsReset,
@@ -250,5 +227,5 @@ var combobox2Options = (comboBox) => {
250
227
  resizeAliYun,
251
228
  throttle,
252
229
  uuid,
253
- widthThrottle
230
+ ...require("throttle-debounce")
254
231
  });
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@xfe-repo/web-utils",
3
- "version": "1.1.4",
3
+ "version": "1.3.1",
4
4
  "sideEffects": false,
5
5
  "module": "dist/*.js",
6
6
  "types": "types/*.d.ts",
7
7
  "exports": {
8
8
  "./*": {
9
9
  "import": {
10
- "types": "./dist/*.d.mts",
11
- "default": "./dist/*.mjs"
10
+ "types": "./dist/*.d.ts",
11
+ "default": "./dist/*.js"
12
12
  },
13
13
  "require": {
14
14
  "types": "./dist/*.d.ts",
@@ -20,15 +20,20 @@
20
20
  "dist"
21
21
  ],
22
22
  "dependencies": {
23
+ "throttle-debounce": "^5.0.2",
23
24
  "js-cookie": "^3.0.5",
24
25
  "query-string": "^7.1.3"
25
26
  },
26
27
  "devDependencies": {
28
+ "@types/throttle-debounce": "^5.0.2",
27
29
  "@types/js-cookie": "^3.0.5",
28
30
  "@types/node": "^20.10.3",
29
- "@xfe-repo/eslint-config": "0.0.4",
31
+ "@xfe-repo/eslint-config": "0.0.5",
30
32
  "@xfe-repo/typescript-config": "0.0.6"
31
33
  },
34
+ "publishConfig": {
35
+ "registry": "https://registry.npmjs.org/"
36
+ },
32
37
  "scripts": {
33
38
  "build": "tsup",
34
39
  "dev": "tsup --watch",
@@ -1,41 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
- var __async = (__this, __arguments, generator) => {
18
- return new Promise((resolve, reject) => {
19
- var fulfilled = (value) => {
20
- try {
21
- step(generator.next(value));
22
- } catch (e) {
23
- reject(e);
24
- }
25
- };
26
- var rejected = (value) => {
27
- try {
28
- step(generator.throw(value));
29
- } catch (e) {
30
- reject(e);
31
- }
32
- };
33
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
34
- step((generator = generator.apply(__this, __arguments)).next());
35
- });
36
- };
37
-
38
- export {
39
- __spreadValues,
40
- __async
41
- };
@@ -1,52 +0,0 @@
1
- // src/valid.ts
2
- var regPhone = /^1[3-9]\d{9}$/;
3
- var isValidPhone = (value) => Boolean(regPhone.test(value == null ? void 0 : value.replace(/\s/g, "")));
4
- var regCaptchaSms = /^\d{4}$/;
5
- var isValidCaptchaSms = (value) => Boolean(regCaptchaSms.test(value.replace(/\s/g, "")));
6
- var regValidSms = /^\d{4}$/;
7
- var isValidSms = (value) => Boolean(regValidSms.test(value.replace(/\s/g, "")));
8
- var regNumber = /^\d+$/;
9
- var isValidNumber = (value) => Boolean(regNumber.test(value.replace(/\s/g, "")));
10
- var regEmail = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
11
- var isValidEmail = (value) => Boolean(regEmail.test(value.replace(/\s/g, "")));
12
- var regImgBase64 = /^data:image\/.*;base64,/i;
13
- var isImgBase64 = (value) => Boolean(regImgBase64.test(value.replace(/\s/g, "")));
14
- var regBlob = /^blob:/i;
15
- var isBlob = (value) => Boolean(regBlob.test(value.replace(/\s/g, "")));
16
- var regTmp = /^(wxfile|http):\/\/tmp/i;
17
- var isTmp = (value) => Boolean(regTmp.test(value.replace(/\s/g, "")));
18
- var regImgHeic = /\.(heic)(\?.+)?$/i;
19
- var isImgHeic = (value) => Boolean(regImgHeic.test(value.replace(/\s/g, "")));
20
- var regImgSvg = /\.(svg)(\?.+)?$/i;
21
- var isImgSvg = (value) => Boolean(regImgSvg.test(value.replace(/\s/g, "")));
22
- var regImgWeChat = /^https:\/\/(thirdwx|wx)\.qlogo\.cn/i;
23
- var isImgWeChat = (value) => Boolean(regImgWeChat.test(value.replace(/\s/g, "")));
24
- var regAssets = /^(\/(assets|static))/i;
25
- var isAssets = (value) => Boolean(regAssets.test(value.replace(/\s/g, "")));
26
-
27
- export {
28
- regPhone,
29
- isValidPhone,
30
- regCaptchaSms,
31
- isValidCaptchaSms,
32
- regValidSms,
33
- isValidSms,
34
- regNumber,
35
- isValidNumber,
36
- regEmail,
37
- isValidEmail,
38
- regImgBase64,
39
- isImgBase64,
40
- regBlob,
41
- isBlob,
42
- regTmp,
43
- isTmp,
44
- regImgHeic,
45
- isImgHeic,
46
- regImgSvg,
47
- isImgSvg,
48
- regImgWeChat,
49
- isImgWeChat,
50
- regAssets,
51
- isAssets
52
- };
@@ -1,35 +0,0 @@
1
- // src/storage.ts
2
- import cookie from "js-cookie";
3
- import queryString from "query-string";
4
- var cookies = cookie.withConverter({
5
- read(value) {
6
- return value;
7
- },
8
- write(value) {
9
- return encodeURIComponent(`${value}`);
10
- }
11
- });
12
- function parseUrlQuery(options) {
13
- let { search, hash } = window.location;
14
- if (!search && hash.indexOf("?") !== -1) {
15
- search = `?${hash.split("?")[1]}`;
16
- }
17
- return queryString.parse(search, options);
18
- }
19
- function getUrlQuery(key) {
20
- const queryJson = parseUrlQuery({ parseBooleans: true, parseNumbers: true });
21
- return queryJson[key];
22
- }
23
- function setUrlQuery(queryJson) {
24
- let { hash } = window.location;
25
- const search = queryString.stringify(queryJson, { skipNull: true, skipEmptyString: true });
26
- const url = `?${search}${hash.split("?")[0]}`;
27
- window.history.replaceState({}, "", url);
28
- }
29
-
30
- export {
31
- cookies,
32
- parseUrlQuery,
33
- getUrlQuery,
34
- setUrlQuery
35
- };
package/dist/env.d.mts DELETED
@@ -1,29 +0,0 @@
1
- type TestEnv = `test${number | ''}`;
2
- type ApiEnv = 'dev' | 'stage' | 'beta' | 'prod' | TestEnv;
3
- type Business = 'erp_pc' | 'saas_pc' | 'platform_pc';
4
- declare const isServer: boolean;
5
- declare const isClient: boolean;
6
- declare const isSSR: boolean;
7
- declare const isIos: boolean;
8
- declare const isAndroid: boolean;
9
- declare const isWeiXin: boolean;
10
- declare const isProduction: boolean;
11
- declare const release: string;
12
- declare const apiEnv: ApiEnv;
13
- declare const business: Business;
14
- declare const assetsHost = "https://imgs.xianghuanji.com/";
15
- declare const getErpSaasOrigin: (_apiEnv: ApiEnv) => string;
16
- declare const getMSaasOrigin: (_apiEnv: ApiEnv) => string;
17
- declare const isTestEnv: (_apiEnv: ApiEnv) => _apiEnv is TestEnv;
18
- declare const getEnvApi: (envApis: Record<ApiEnv, string>, _apiEnv?: ApiEnv) => string;
19
- declare const getBffApi: (_apiEnv?: ApiEnv) => string;
20
- declare function getEnvDomain(hostname: string): string;
21
- declare const sentryConfig: {
22
- dsn: string;
23
- release: string;
24
- enable: boolean;
25
- enablePerformance: boolean;
26
- debug: boolean;
27
- };
28
-
29
- export { type ApiEnv, type Business, type TestEnv, apiEnv, assetsHost, business, getBffApi, getEnvApi, getEnvDomain, getErpSaasOrigin, getMSaasOrigin, isAndroid, isClient, isIos, isProduction, isSSR, isServer, isTestEnv, isWeiXin, release, sentryConfig };
package/dist/env.mjs DELETED
@@ -1,104 +0,0 @@
1
- import {
2
- cookies
3
- } from "./chunk-RF6YQEI2.mjs";
4
- import "./chunk-3K5GXOTC.mjs";
5
-
6
- // src/env.ts
7
- var isServer = typeof window === "undefined";
8
- var isClient = !isServer;
9
- var isSSR = isClient && Boolean(window.__SSR_RESULT__);
10
- var navigator;
11
- try {
12
- navigator = window.navigator;
13
- } catch (e) {
14
- navigator = { userAgent: "" };
15
- }
16
- var isIos = /ios/i.test(navigator.userAgent);
17
- var isAndroid = /android/i.test(navigator.userAgent);
18
- var isWeiXin = /MicroMessenger/i.test(navigator.userAgent);
19
- var isProduction = process.env["NODE_ENV"] === "production";
20
- var release = process.env["REACT_APP_RELEASE"] || "dev";
21
- var apiEnv = process.env["REACT_APP_API_ENV"] || cookies.get("apiEnv");
22
- var business = process.env["REACT_APP_BUSINESS"];
23
- var assetsHost = "https://imgs.xianghuanji.com/";
24
- var erpSaasOriginDic = {
25
- dev: `http://test.erp-saas.t.eshetang.com`,
26
- test: `http://test.erp-saas.t.eshetang.com`,
27
- stage: "http://stage.erp-saas.t.eshetang.com",
28
- beta: "https://erp.beta.eshetang.com",
29
- prod: "https://erp.eshetang.com"
30
- };
31
- var getErpSaasOrigin = (_apiEnv) => {
32
- if (isTestEnv(_apiEnv)) {
33
- return erpSaasOriginDic["test"].replace("test", _apiEnv);
34
- } else {
35
- return erpSaasOriginDic[_apiEnv];
36
- }
37
- };
38
- var mSaasOriginDic = {
39
- dev: `http://test.m.t.eshetang.com`,
40
- test: `http://test.m.t.eshetang.com`,
41
- stage: "http://stage.m.t.eshetang.com",
42
- beta: "https://beta.m.eshetang.com",
43
- prod: "https://m.eshetang.com"
44
- };
45
- var getMSaasOrigin = (_apiEnv) => {
46
- if (isTestEnv(_apiEnv)) {
47
- return mSaasOriginDic["test"].replace("test", _apiEnv);
48
- } else {
49
- return mSaasOriginDic[_apiEnv];
50
- }
51
- };
52
- var bffApiList = {
53
- dev: "http://localhost:6003/",
54
- test: `http://test.bff-s.t.eshetang.com/`,
55
- stage: "http://stage.bff-s.t.eshetang.com/",
56
- beta: "https://bff.beta.eshetang.com/",
57
- prod: "https://bff.eshetang.com/"
58
- };
59
- var isTestEnv = (_apiEnv) => {
60
- return _apiEnv.startsWith("test");
61
- };
62
- var getEnvApi = (envApis, _apiEnv = apiEnv) => {
63
- if (isTestEnv(_apiEnv)) {
64
- return envApis["test"].replace("test", _apiEnv);
65
- } else {
66
- return envApis[_apiEnv];
67
- }
68
- };
69
- var getBffApi = (_apiEnv = apiEnv) => {
70
- return getEnvApi(bffApiList, _apiEnv);
71
- };
72
- function getEnvDomain(hostname) {
73
- var _a;
74
- const isTest = hostname.startsWith("test");
75
- const isStage = hostname.startsWith("stage");
76
- return isTest || isStage ? ((_a = hostname.match(/[^(\w*)]+.*/)) == null ? void 0 : _a[0]) || hostname : hostname;
77
- }
78
- var sentryConfig = {
79
- dsn: "https://cb37486fcf8d44d68080373bb354e0f6@bug.dev.cm/1",
80
- release,
81
- enable: release.includes("release"),
82
- enablePerformance: release.includes("release"),
83
- debug: !isProduction
84
- };
85
- export {
86
- apiEnv,
87
- assetsHost,
88
- business,
89
- getBffApi,
90
- getEnvApi,
91
- getEnvDomain,
92
- getErpSaasOrigin,
93
- getMSaasOrigin,
94
- isAndroid,
95
- isClient,
96
- isIos,
97
- isProduction,
98
- isSSR,
99
- isServer,
100
- isTestEnv,
101
- isWeiXin,
102
- release,
103
- sentryConfig
104
- };
@@ -1,12 +0,0 @@
1
- declare class LoadScript {
2
- url: string;
3
- name: string;
4
- static script: HTMLScriptElement;
5
- isLoaded: boolean;
6
- constructor(url: string, name: string);
7
- load(): Promise<unknown>;
8
- }
9
- declare const sensorsInstanceID = "sensorsDataAnalytic201505";
10
- declare function loadSensors(): Promise<any>;
11
-
12
- export { LoadScript as default, loadSensors, sensorsInstanceID };
@@ -1,60 +0,0 @@
1
- import {
2
- __async
3
- } from "./chunk-3K5GXOTC.mjs";
4
-
5
- // src/loadScript.ts
6
- var LoadScript = class _LoadScript {
7
- constructor(url, name) {
8
- this.url = url;
9
- this.name = name;
10
- this.isLoaded = false;
11
- this.url = url;
12
- this.name = name;
13
- if (!window) throw new Error("must init in client");
14
- if (window[name]) {
15
- this.isLoaded = true;
16
- return;
17
- }
18
- _LoadScript.script = document.createElement("script");
19
- _LoadScript.script.type = "text/javascript";
20
- _LoadScript.script.src = url;
21
- _LoadScript.script.async = true;
22
- const el = document.getElementsByTagName("script")[0];
23
- if (!el) throw new Error("script tag not found");
24
- el.parentNode.insertBefore(_LoadScript.script, el);
25
- }
26
- load() {
27
- return new Promise((resolve) => {
28
- if (window[this.name]) {
29
- this.isLoaded = true;
30
- resolve(true);
31
- } else {
32
- _LoadScript.script.addEventListener("load", () => {
33
- this.isLoaded = true;
34
- resolve(true);
35
- });
36
- }
37
- });
38
- }
39
- };
40
- var sensorsInstanceID = "sensorsDataAnalytic201505";
41
- function loadSensors() {
42
- return __async(this, null, function* () {
43
- const sensorsSDK = new LoadScript("https://img.eshetang.com/sensorsdata/sensorsdata.min.js", "sensorsDataAnalytic201505");
44
- yield sensorsSDK.load();
45
- const sensors = window[sensorsInstanceID];
46
- sensors.init({
47
- server_url: "https://bibp.eshetang.com/xhj_bi/bi.gif",
48
- heatmap: { clickmap: "default", scroll_notice_map: "default" },
49
- show_log: false,
50
- is_track_single_page: true
51
- });
52
- sensors.quick("autoTrack");
53
- return sensors;
54
- });
55
- }
56
- export {
57
- LoadScript as default,
58
- loadSensors,
59
- sensorsInstanceID
60
- };
@@ -1,9 +0,0 @@
1
- import cookie from 'js-cookie';
2
- import queryString, { ParseOptions, ParsedQuery } from 'query-string';
3
-
4
- declare const cookies: cookie.CookiesStatic<string>;
5
- declare function parseUrlQuery(options?: ParseOptions): queryString.ParsedQuery<string>;
6
- declare function getUrlQuery(key: string): string | (string | null)[] | null | undefined;
7
- declare function setUrlQuery(queryJson: ParsedQuery<string | boolean | number>): void;
8
-
9
- export { cookies, getUrlQuery, parseUrlQuery, setUrlQuery };
package/dist/storage.mjs DELETED
@@ -1,13 +0,0 @@
1
- import {
2
- cookies,
3
- getUrlQuery,
4
- parseUrlQuery,
5
- setUrlQuery
6
- } from "./chunk-RF6YQEI2.mjs";
7
- import "./chunk-3K5GXOTC.mjs";
8
- export {
9
- cookies,
10
- getUrlQuery,
11
- parseUrlQuery,
12
- setUrlQuery
13
- };
package/dist/tools.d.mts DELETED
@@ -1,44 +0,0 @@
1
- /** mock 骨架屏数据 */
2
- declare const mockSkeletons: <T>(length: number, fn?: (id: number) => Partial<T>) => T[];
3
- declare const delayHandle: (tick: number) => Promise<void>;
4
- declare function getBase64(file: File | Blob): Promise<any>;
5
- declare function getObjectURL(file: File | Blob): string;
6
- declare function formatterPrice(value?: string | number | undefined): string;
7
- declare function formatterTax(percentTax: string): string;
8
- declare const throttle: (delay: number, callback: any) => {
9
- (this: any, ...args: any[]): void;
10
- cancel: () => void;
11
- };
12
- declare const widthThrottle: (delay: number) => (target: any, _name: string, descriptor: PropertyDescriptor) => void;
13
- declare const debounce: <T extends (...args: any) => any>(delay: number, callback: T) => T;
14
- declare function uuid(): string;
15
- declare const imgRelative2Absolute: (imgUrl?: string) => string;
16
- declare const resizeAliYun: (imgUrl?: string, width?: number | null, quality?: number) => string;
17
- type FieldsWithoutArray<FS extends Record<string, any>> = {
18
- [K in keyof FS]: FS[K] extends any[] | undefined ? string | undefined : FS[K];
19
- };
20
- declare const fieldsArrayToString: <FS extends Record<string, any>>(fields: FS) => FieldsWithoutArray<FS>;
21
- type FieldsWithUndefined<FS extends Record<string, any>> = {
22
- [K in keyof FS]: undefined;
23
- };
24
- declare const fieldsReset: <FS extends Record<string, any>>(fields: FS) => FieldsWithUndefined<FS>;
25
- type ComboBox<Value = number> = {
26
- name?: string;
27
- id?: Value;
28
- };
29
- type OptionsType = {
30
- label: string;
31
- value: string | number;
32
- }[];
33
- type OptionsRecordType<Keys extends string | number | symbol = any> = {
34
- [key in Keys]?: OptionsType;
35
- };
36
- type OptionsMapType<Keys extends string | number | symbol = any> = {
37
- [key in Keys]?: Record<string, string>;
38
- };
39
- declare const combobox2Options: <CB extends Record<string, (ComboBox | ComboBox<string>)[]>>(comboBox: CB) => {
40
- options: OptionsRecordType<keyof CB>;
41
- optionsMap: OptionsMapType<keyof CB>;
42
- };
43
-
44
- export { type ComboBox, type OptionsMapType, type OptionsRecordType, type OptionsType, combobox2Options, debounce, delayHandle, fieldsArrayToString, fieldsReset, formatterPrice, formatterTax, getBase64, getObjectURL, imgRelative2Absolute, mockSkeletons, resizeAliYun, throttle, uuid, widthThrottle };
package/dist/tools.mjs DELETED
@@ -1,196 +0,0 @@
1
- import {
2
- isAssets,
3
- isBlob,
4
- isImgBase64,
5
- isImgHeic,
6
- isImgSvg,
7
- isImgWeChat,
8
- isTmp
9
- } from "./chunk-BVYCWBGX.mjs";
10
- import {
11
- __spreadValues
12
- } from "./chunk-3K5GXOTC.mjs";
13
-
14
- // src/tools.ts
15
- var mockSkeletons = (length, fn) => {
16
- const mockList = [];
17
- fn = fn || ((id) => ({ id }));
18
- for (let i = -1; i >= -length; i--) {
19
- mockList.push(fn(i));
20
- }
21
- return mockList;
22
- };
23
- var delayHandle = (tick) => {
24
- return new Promise((resolve) => {
25
- if (tick > 0) {
26
- setTimeout(() => resolve(), tick * 1e3);
27
- } else {
28
- resolve();
29
- }
30
- });
31
- };
32
- function getBase64(file) {
33
- return new Promise((resolve, reject) => {
34
- const reader = new FileReader();
35
- reader.readAsDataURL(file);
36
- reader.onload = () => resolve(reader.result);
37
- reader.onerror = (error) => reject(error);
38
- });
39
- }
40
- function getObjectURL(file) {
41
- let url = "";
42
- if (window.URL !== void 0) {
43
- url = window.URL.createObjectURL(file);
44
- } else if (window.webkitURL !== void 0) {
45
- url = window.webkitURL.createObjectURL(file);
46
- }
47
- return url;
48
- }
49
- function formatterPrice(value = "") {
50
- return parseFloat(`${value}`).toFixed(2);
51
- }
52
- function formatterTax(percentTax) {
53
- const numberTax = parseInt(percentTax);
54
- return ["0", "100"].includes(percentTax) || isNaN(numberTax) ? "" : `${numberTax}%`;
55
- }
56
- var throttle = (delay, callback) => {
57
- let timeoutID;
58
- let cancelled = false;
59
- let lastExec = 0;
60
- const clearExistingTimeout = () => {
61
- if (timeoutID) {
62
- clearTimeout(timeoutID);
63
- }
64
- };
65
- const cancel = () => {
66
- clearExistingTimeout();
67
- cancelled = true;
68
- };
69
- function wrapper(...args) {
70
- const elapsed = Date.now() - lastExec;
71
- if (cancelled) {
72
- return;
73
- }
74
- const exec = () => {
75
- lastExec = Date.now();
76
- callback.apply(this, args);
77
- };
78
- clearExistingTimeout();
79
- if (elapsed > delay) {
80
- exec();
81
- } else {
82
- timeoutID = setTimeout(exec, delay - elapsed);
83
- }
84
- }
85
- wrapper.cancel = cancel;
86
- return wrapper;
87
- };
88
- var widthThrottle = (delay) => {
89
- return function(target, _name, descriptor) {
90
- const oldValue = descriptor.value;
91
- const wrapper = throttle(delay, oldValue);
92
- descriptor.value = wrapper;
93
- target.componentWillUnmount = function() {
94
- target.componentWillUnmount && target.componentWillUnmount();
95
- wrapper.cancel();
96
- };
97
- };
98
- };
99
- var debounce = (delay, callback) => {
100
- let timeoutID;
101
- function wrapper(...args) {
102
- if (timeoutID) clearTimeout(timeoutID);
103
- const exec = () => {
104
- callback(...args);
105
- };
106
- timeoutID = setTimeout(exec, delay);
107
- }
108
- return wrapper;
109
- };
110
- function uuid() {
111
- let s = [];
112
- let hexDigits = "0123456789abcdef";
113
- for (let i = 0; i < 36; i++) {
114
- s[i] = hexDigits.substr(Math.floor(Math.random() * 16), 1);
115
- }
116
- s[14] = "4";
117
- s[19] = hexDigits.substr(s[19] & 3 | 8, 1);
118
- s[8] = s[13] = s[18] = s[23] = "-";
119
- return s.join("");
120
- }
121
- var imgRelative2Absolute = (imgUrl = "") => {
122
- if (!imgUrl) return imgUrl;
123
- const isAbsoluteUrl = imgUrl.startsWith("https");
124
- if (!isAbsoluteUrl) {
125
- imgUrl = `https://imgs.xianghuanji.com/${imgUrl.replace(/^\//, "")}`;
126
- }
127
- return imgUrl;
128
- };
129
- var resizeAliYun = (imgUrl = "", width, quality) => {
130
- if (!imgUrl) return imgUrl;
131
- if (isTmp(imgUrl) || isBlob(imgUrl) || isImgWeChat(imgUrl)) {
132
- return imgUrl;
133
- }
134
- if (isImgBase64(imgUrl) || isAssets(imgUrl)) {
135
- return imgUrl;
136
- }
137
- imgUrl = imgRelative2Absolute(imgUrl);
138
- if (isImgSvg(imgUrl)) {
139
- return imgUrl;
140
- }
141
- imgUrl = imgUrl.replace(/[?#].*/g, "");
142
- const isHeic = isImgHeic(imgUrl);
143
- let params = "x-oss-process=image";
144
- if (width) params = `${params}/resize,w_${width}`;
145
- if (quality) params = `${params}/quality,Q_${quality}`;
146
- if (isHeic) params = `${params}/format,jpg`;
147
- return `${imgUrl}?${params}`;
148
- };
149
- var fieldsArrayToString = (fields) => {
150
- const fieldsCopy = __spreadValues({}, fields);
151
- Object.keys(fieldsCopy).forEach((key) => {
152
- const typeKey = key;
153
- const value = fieldsCopy[typeKey];
154
- if (Array.isArray(value)) fieldsCopy[typeKey] = value.join(",");
155
- });
156
- return fieldsCopy;
157
- };
158
- var fieldsReset = (fields) => {
159
- const fieldsCopy = __spreadValues({}, fields);
160
- Object.keys(fieldsCopy).forEach((key) => {
161
- const typeKey = key;
162
- fieldsCopy[typeKey] = void 0;
163
- });
164
- return fieldsCopy;
165
- };
166
- var combobox2Options = (comboBox) => {
167
- const options = {};
168
- const optionsMap = {};
169
- Object.keys(comboBox).forEach((key) => {
170
- const optionsKey = key;
171
- const optionsList = comboBox[optionsKey];
172
- options[optionsKey] = (optionsList == null ? void 0 : optionsList.map(({ name = "", id = "" }) => {
173
- if (!optionsMap[optionsKey]) optionsMap[optionsKey] = {};
174
- optionsMap[optionsKey][id] = name;
175
- return { label: name, value: id };
176
- })) || [];
177
- });
178
- return { options, optionsMap };
179
- };
180
- export {
181
- combobox2Options,
182
- debounce,
183
- delayHandle,
184
- fieldsArrayToString,
185
- fieldsReset,
186
- formatterPrice,
187
- formatterTax,
188
- getBase64,
189
- getObjectURL,
190
- imgRelative2Absolute,
191
- mockSkeletons,
192
- resizeAliYun,
193
- throttle,
194
- uuid,
195
- widthThrottle
196
- };
package/dist/valid.d.mts DELETED
@@ -1,26 +0,0 @@
1
- declare const regPhone: RegExp;
2
- declare const isValidPhone: (value: string) => boolean;
3
- declare const regCaptchaSms: RegExp;
4
- declare const isValidCaptchaSms: (value: string) => boolean;
5
- declare const regValidSms: RegExp;
6
- declare const isValidSms: (value: string) => boolean;
7
- declare const regNumber: RegExp;
8
- declare const isValidNumber: (value: string) => boolean;
9
- declare const regEmail: RegExp;
10
- declare const isValidEmail: (value: string) => boolean;
11
- declare const regImgBase64: RegExp;
12
- declare const isImgBase64: (value: string) => boolean;
13
- declare const regBlob: RegExp;
14
- declare const isBlob: (value: string) => boolean;
15
- declare const regTmp: RegExp;
16
- declare const isTmp: (value: string) => boolean;
17
- declare const regImgHeic: RegExp;
18
- declare const isImgHeic: (value: string) => boolean;
19
- declare const regImgSvg: RegExp;
20
- declare const isImgSvg: (value: string) => boolean;
21
- declare const regImgWeChat: RegExp;
22
- declare const isImgWeChat: (value: string) => boolean;
23
- declare const regAssets: RegExp;
24
- declare const isAssets: (value: string) => boolean;
25
-
26
- export { isAssets, isBlob, isImgBase64, isImgHeic, isImgSvg, isImgWeChat, isTmp, isValidCaptchaSms, isValidEmail, isValidNumber, isValidPhone, isValidSms, regAssets, regBlob, regCaptchaSms, regEmail, regImgBase64, regImgHeic, regImgSvg, regImgWeChat, regNumber, regPhone, regTmp, regValidSms };
package/dist/valid.mjs DELETED
@@ -1,53 +0,0 @@
1
- import {
2
- isAssets,
3
- isBlob,
4
- isImgBase64,
5
- isImgHeic,
6
- isImgSvg,
7
- isImgWeChat,
8
- isTmp,
9
- isValidCaptchaSms,
10
- isValidEmail,
11
- isValidNumber,
12
- isValidPhone,
13
- isValidSms,
14
- regAssets,
15
- regBlob,
16
- regCaptchaSms,
17
- regEmail,
18
- regImgBase64,
19
- regImgHeic,
20
- regImgSvg,
21
- regImgWeChat,
22
- regNumber,
23
- regPhone,
24
- regTmp,
25
- regValidSms
26
- } from "./chunk-BVYCWBGX.mjs";
27
- import "./chunk-3K5GXOTC.mjs";
28
- export {
29
- isAssets,
30
- isBlob,
31
- isImgBase64,
32
- isImgHeic,
33
- isImgSvg,
34
- isImgWeChat,
35
- isTmp,
36
- isValidCaptchaSms,
37
- isValidEmail,
38
- isValidNumber,
39
- isValidPhone,
40
- isValidSms,
41
- regAssets,
42
- regBlob,
43
- regCaptchaSms,
44
- regEmail,
45
- regImgBase64,
46
- regImgHeic,
47
- regImgSvg,
48
- regImgWeChat,
49
- regNumber,
50
- regPhone,
51
- regTmp,
52
- regValidSms
53
- };