@ibiz-template/core 0.7.38-alpha.57 → 0.7.39

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.
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/environment/environment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,YA2CzB,CAAC"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/environment/environment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,YAgDzB,CAAC"}
@@ -45,4 +45,9 @@ export const Environment = {
45
45
  appLoadingTheme: 'DEFAULT',
46
46
  environmentTag: 'development',
47
47
  mobMenuShowMode: 'DEFAULT',
48
+ devtoolConfig: {
49
+ studioBaseUrl: 'https://open.ibizlab.cn/modeldesign/#/',
50
+ v9Mode: false,
51
+ },
52
+ enableAI: true,
48
53
  };
@@ -335,5 +335,12 @@ export interface IEnvironment {
335
335
  * @type {'DEFAULT'}
336
336
  */
337
337
  mobMenuShowMode?: 'DEFAULT' | 'ALWAYS';
338
+ /**
339
+ * 启用AI支持
340
+ *
341
+ * @type {boolean}
342
+ * @memberof IEnvironment
343
+ */
344
+ enableAI: boolean;
338
345
  }
339
346
  //# sourceMappingURL=i-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-environment.d.ts","sourceRoot":"","sources":["../../../src/interface/i-environment/i-environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i-environment.d.ts","sourceRoot":"","sources":["../../../src/interface/i-environment/i-environment.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,15 @@ import { Interceptor } from './interceptor';
11
11
  */
12
12
  export declare class CoreInterceptor extends Interceptor {
13
13
  protected onBeforeRequest(config: InternalAxiosRequestConfig): Promise<InternalAxiosRequestConfig>;
14
+ /**
15
+ * 响应失败之后处理
16
+ *
17
+ * @author tony001
18
+ * @date 2025-03-24 14:03:23
19
+ * @protected
20
+ * @param {Error} error
21
+ * @return {*} {Promise<never>}
22
+ */
23
+ protected onResponseError(error: Error): Promise<never>;
14
24
  }
15
25
  //# sourceMappingURL=core-interceptor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core-interceptor.d.ts","sourceRoot":"","sources":["../../../src/utils/interceptor/core-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,WAAW;cAC9B,eAAe,CAC7B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;CA6BvC"}
1
+ {"version":3,"file":"core-interceptor.d.ts","sourceRoot":"","sources":["../../../src/utils/interceptor/core-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,WAAW;cAC9B,eAAe,CAC7B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;IA8BtC;;;;;;;;OAQG;cACa,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CAmD9D"}
@@ -32,4 +32,60 @@ export class CoreInterceptor extends Interceptor {
32
32
  headers.set('srfsystemid', systemId);
33
33
  return config;
34
34
  }
35
+ /**
36
+ * 响应失败之后处理
37
+ *
38
+ * @author tony001
39
+ * @date 2025-03-24 14:03:23
40
+ * @protected
41
+ * @param {Error} error
42
+ * @return {*} {Promise<never>}
43
+ */
44
+ async onResponseError(error) {
45
+ const { config, response } = error;
46
+ if (this.instance &&
47
+ (response === null || response === void 0 ? void 0 : response.status) === 401 &&
48
+ config &&
49
+ !config._retry &&
50
+ config.url &&
51
+ // 排除获取系统信息、应用数据、刷新 token 预定义接口
52
+ (config.url.indexOf('/uaa/getbydcsystem/') === -1 ||
53
+ config.url.indexOf('/appdata') !== -1 ||
54
+ config.url.indexOf('/uaa/refresh_token/') !== -1)) {
55
+ try {
56
+ // 标记为已重试
57
+ config._retry = true;
58
+ // 刷新 token
59
+ await ibiz.auth.refreshToken();
60
+ // 重新加载应用数据
61
+ const res = await ibiz.net.get('/appdata');
62
+ if (res && res.ok) {
63
+ ibiz.appData = res.data;
64
+ }
65
+ // 重新发起原始请求
66
+ const { headers } = config;
67
+ const token = getToken();
68
+ if (token) {
69
+ headers.set(`${ibiz.env.tokenHeader}Authorization`, `${ibiz.env.tokenPrefix}Bearer ${token}`);
70
+ }
71
+ let systemId = ibiz.env.dcSystem;
72
+ const { orgData } = ibiz;
73
+ if (orgData) {
74
+ if (orgData.systemid) {
75
+ systemId = orgData.systemid;
76
+ }
77
+ if (orgData.orgid) {
78
+ headers.set('srforgid', orgData.orgid);
79
+ }
80
+ }
81
+ headers.set('srfsystemid', systemId);
82
+ return this.instance(config);
83
+ }
84
+ catch (err) {
85
+ return Promise.reject(error);
86
+ }
87
+ }
88
+ // 处理响应错误
89
+ return Promise.reject(error);
90
+ }
35
91
  }
@@ -26,6 +26,15 @@ export declare class Interceptor {
26
26
  * @type {number}
27
27
  */
28
28
  private responseTag?;
29
+ /**
30
+ * axios实例
31
+ *
32
+ * @author tony001
33
+ * @date 2025-03-21 19:03:26
34
+ * @protected
35
+ * @type {(AxiosInstance | undefined)}
36
+ */
37
+ protected instance: AxiosInstance | undefined;
29
38
  /**
30
39
  * 请求之前处理
31
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../../src/utils/interceptor/interceptor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,aAAa,EACd,MAAM,OAAO,CAAC;AAEf;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW,CAAC,CAAS;IAE7B;;;;;;;;OAQG;cACa,eAAe,CAC7B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;IAItC;;;;;;;OAOG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAKtD;;;;;;;;OAQG;cACa,iBAAiB,CAC/B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAKvD;;;;;;OAMG;IACH,GAAG,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAWlC;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;CAQrC"}
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../../src/utils/interceptor/interceptor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,aAAa,EACd,MAAM,OAAO,CAAC;AAEf;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW,CAAC,CAAS;IAE7B;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IAE9C;;;;;;;;OAQG;cACa,eAAe,CAC7B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;IAItC;;;;;;;OAOG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAKtD;;;;;;;;OAQG;cACa,iBAAiB,CAC/B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAKvD;;;;;;OAMG;IACH,GAAG,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAgBlC;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;CAQrC"}
@@ -63,6 +63,11 @@ export class Interceptor {
63
63
  * @param {AxiosInstance} instance
64
64
  */
65
65
  use(instance) {
66
+ this.instance = instance;
67
+ this.onBeforeRequest = this.onBeforeRequest.bind(this);
68
+ this.onRequestError = this.onRequestError.bind(this);
69
+ this.onResponseSuccess = this.onResponseSuccess.bind(this);
70
+ this.onResponseError = this.onResponseError.bind(this);
66
71
  this.requestTag = instance.interceptors.request.use(this.onBeforeRequest, this.onRequestError);
67
72
  this.responseTag = instance.interceptors.response.use(this.onResponseSuccess, this.onResponseError);
68
73
  }
@@ -23,23 +23,30 @@ export declare class StringUtil {
23
23
  * @static
24
24
  */
25
25
  static dataReg: RegExp;
26
+ /**
27
+ * 参数替换正则
28
+ *
29
+ * @static
30
+ * @memberof StringUtil
31
+ */
32
+ static paramsReg: RegExp;
26
33
  /**
27
34
  * 填充字符串中的数据
28
35
  *
29
36
  * @description 填充字符串中的数据 用法:传入需要替换的字符串和对象 返回值是string类型
30
37
  * @example
31
38
  * ```
32
- * StringUtil.fill('姓名:${context.name},年龄:${data.age}', { name: '张三', age: 10 }, { name: '李四', age: 25 }); // => '姓名:张三,年龄:25'
33
- * StringUtil.fill('', { name: '张三', age: 10 }, { name: '李四', age: 25 }); // => ''
39
+ * StringUtil.fill('姓名:${context.name},年龄:${data.age}', { name: '张三', age: 10 }, {name: '王二', age: 19}, { name: '李四', age: 25 }); // => '姓名:张三,年龄:25'
40
+ * StringUtil.fill('', { name: '张三', age: 10 }, {name: '王二', age: 19}, { name: '李四', age: 25 }); // => ''
34
41
  * ```
35
- * @author chitanda
36
- * @date 2021-04-23 20:04:17
37
42
  * @static
38
- * @param {string} str
39
- * @param {*} [context]
40
- * @param {*} [data]
43
+ * @param {string} str 需填充字符串
44
+ * @param {IContext} [context] 上下文
45
+ * @param {IParams} [params] 参数
46
+ * @param {IData} [data] 数据
41
47
  * @return {*} {string}
48
+ * @memberof StringUtil
42
49
  */
43
- static fill(str: string, context?: IContext, data?: IData): string;
50
+ static fill(str: string, context?: IContext, params?: IParams, data?: IData): string;
44
51
  }
45
52
  //# sourceMappingURL=string-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-util.d.ts","sourceRoot":"","sources":["../../../src/utils/string-util/string-util.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,SAAgD;IAEjE;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,SAA6C;IAE3D;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM;CAmBnE"}
1
+ {"version":3,"file":"string-util.d.ts","sourceRoot":"","sources":["../../../src/utils/string-util/string-util.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,SAAgD;IAEjE;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,SAA6C;IAE3D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAA+C;IAE/D;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,IAAI,CACT,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,GACX,MAAM;CA4BV"}
@@ -14,18 +14,18 @@ export class StringUtil {
14
14
  * @description 填充字符串中的数据 用法:传入需要替换的字符串和对象 返回值是string类型
15
15
  * @example
16
16
  * ```
17
- * StringUtil.fill('姓名:${context.name},年龄:${data.age}', { name: '张三', age: 10 }, { name: '李四', age: 25 }); // => '姓名:张三,年龄:25'
18
- * StringUtil.fill('', { name: '张三', age: 10 }, { name: '李四', age: 25 }); // => ''
17
+ * StringUtil.fill('姓名:${context.name},年龄:${data.age}', { name: '张三', age: 10 }, {name: '王二', age: 19}, { name: '李四', age: 25 }); // => '姓名:张三,年龄:25'
18
+ * StringUtil.fill('', { name: '张三', age: 10 }, {name: '王二', age: 19}, { name: '李四', age: 25 }); // => ''
19
19
  * ```
20
- * @author chitanda
21
- * @date 2021-04-23 20:04:17
22
20
  * @static
23
- * @param {string} str
24
- * @param {*} [context]
25
- * @param {*} [data]
21
+ * @param {string} str 需填充字符串
22
+ * @param {IContext} [context] 上下文
23
+ * @param {IParams} [params] 参数
24
+ * @param {IData} [data] 数据
26
25
  * @return {*} {string}
26
+ * @memberof StringUtil
27
27
  */
28
- static fill(str, context, data) {
28
+ static fill(str, context, params, data) {
29
29
  if (notNilEmpty(str)) {
30
30
  if (notNilEmpty(context)) {
31
31
  const strArr = str.match(this.contextReg);
@@ -34,6 +34,15 @@ export class StringUtil {
34
34
  str = str.replace(`\${context.${key}}`, context[key] || '');
35
35
  });
36
36
  }
37
+ if (notNilEmpty(params)) {
38
+ const strArr = str.match(this.paramsReg);
39
+ strArr === null || strArr === void 0 ? void 0 : strArr.forEach(_key => {
40
+ const key = _key.slice(8, _key.length - 1);
41
+ if (params[key]) {
42
+ str = str.replace(`\${params.${key}}`, params[key]);
43
+ }
44
+ });
45
+ }
37
46
  if (notNilEmpty(data)) {
38
47
  const strArr = str.match(this.dataReg);
39
48
  strArr === null || strArr === void 0 ? void 0 : strArr.forEach(_key => {
@@ -61,3 +70,10 @@ StringUtil.contextReg = /\$\{context.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g;
61
70
  * @static
62
71
  */
63
72
  StringUtil.dataReg = /\$\{data.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g;
73
+ /**
74
+ * 参数替换正则
75
+ *
76
+ * @static
77
+ * @memberof StringUtil
78
+ */
79
+ StringUtil.paramsReg = /\$\{params.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g;
package/package.json CHANGED
@@ -1,18 +1,15 @@
1
1
  {
2
2
  "name": "@ibiz-template/core",
3
- "version": "0.7.38-alpha.57",
4
- "description": "核心包",
3
+ "version": "0.7.39",
4
+ "description": "运行时核心库",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
7
7
  "types": "out/index.d.ts",
8
8
  "system": "./dist/system/index.system.js",
9
- "repository": {
10
- "type": "git",
11
- "url": "https://gitee.com/iBizModeling/ibiz-template.git"
12
- },
13
9
  "files": [
14
10
  "dist",
15
- "out"
11
+ "out",
12
+ "README.md"
16
13
  ],
17
14
  "scripts": {
18
15
  "dev": "tsc --watch",
@@ -31,7 +28,7 @@
31
28
  "publish:npm": "npm run build && npm publish --access public --registry=https://registry.npmjs.org/",
32
29
  "publish:local": "npm run build && npm publish --access public --registry=http://172.16.240.221:8081/repository/local/"
33
30
  },
34
- "author": "chitanda",
31
+ "author": "iBiz",
35
32
  "license": "MIT",
36
33
  "dependencies": {
37
34
  "@microsoft/fetch-event-source": "^2.0.1",
@@ -52,5 +49,6 @@
52
49
  "qs": "^6.11.0",
53
50
  "qx-util": "^0.4.8",
54
51
  "ramda": "^0.29.0"
55
- }
52
+ },
53
+ "gitHead": "763fadf3223009ad5ac7bbb63fc03b6c7b0d6905"
56
54
  }