@lark-apaas/client-toolkit 1.2.35-alpha.6 → 1.2.35-alpha.7

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,4 +1,4 @@
1
- declare const createDataLoomClient: (url?: string, pat?: string) => import("@data-loom/js").DataloomClient<any, "public", any>;
1
+ declare const createDataLoomClient: (url?: string, pat?: string) => import("@lark-apaas/dataloom").DataloomClient;
2
2
  /** 获取dataloom实例 */
3
3
  export declare function getDataloom(): Promise<ReturnType<typeof createDataLoomClient>>;
4
4
  export {};
@@ -1,24 +1,14 @@
1
- import { splitWorkspaceUrl } from "../utils/url.js";
2
- import { createClient } from "@data-loom/js";
1
+ import { createClient } from "@lark-apaas/dataloom";
3
2
  import { getAppId } from "../utils/getAppId.js";
4
3
  import { getAppPublished } from "../utils/getInitialInfo.js";
5
4
  const createDataLoomClient = (url, pat)=>{
6
- const { baseUrl, workspace } = url ? splitWorkspaceUrl(url) : {
7
- baseUrl: '',
8
- workspace: ''
9
- };
10
5
  const appId = getAppId();
11
- return createClient(baseUrl, pat, workspace, {
6
+ return createClient(url ?? '', pat ?? '', {
12
7
  global: {
13
8
  enableDataloomLog: 'production' !== process.env.NODE_ENV,
14
9
  requestRateLimit: 'production' !== process.env.NODE_ENV ? 100 : void 0,
15
10
  brandName: 'miaoda',
16
- appId,
17
- onError: (error, dataloomInstance)=>{
18
- if (error?.status === 401) {
19
- if (error?.code === 'k_ident_013001') dataloomInstance.service.session.redirectToLogin();
20
- }
21
- }
11
+ appId
22
12
  }
23
13
  });
24
14
  };
@@ -102,30 +102,6 @@ const messages_messages = {
102
102
  'userProfile.label.email': {
103
103
  zh: '邮箱',
104
104
  en: 'Email'
105
- },
106
- 'axios.log.requestSuccess': {
107
- zh: '请求成功:',
108
- en: 'Request succeeded: '
109
- },
110
- 'axios.log.requestFailed': {
111
- zh: '请求失败:',
112
- en: 'Request failed: '
113
- },
114
- 'axios.log.networkFailed': {
115
- zh: '网络请求失败:',
116
- en: 'Network request failed: '
117
- },
118
- 'axios.log.noResponseOrConfig': {
119
- zh: '请求失败:无响应对象或配置信息',
120
- en: 'Request failed: no response object or config'
121
- },
122
- 'axios.log.forbidden': {
123
- zh: '请求被拒绝(403):{method} {url}',
124
- en: 'Request rejected (403): {method} {url}'
125
- },
126
- 'axios.log.unknownError': {
127
- zh: '未知错误',
128
- en: 'Unknown error'
129
105
  }
130
106
  };
131
107
  const messages = messages_messages;
@@ -5,7 +5,6 @@ import { getStacktrace } from "../logger/selected-logs.js";
5
5
  import { safeStringify } from "./safeStringify.js";
6
6
  import { slardar } from "@lark-apaas/internal-slardar";
7
7
  import { normalizeBasePath } from "./utils.js";
8
- import { t } from "../locales/index.js";
9
8
  const APP_CLIENT_API_LOG_TYPE = 'app_client_api_log';
10
9
  function stripBasePath(urlPath) {
11
10
  const base = normalizeBasePath(process.env.CLIENT_BASE_PATH);
@@ -96,8 +95,8 @@ async function logResponse(ok, responseOrError) {
96
95
  if (isValidResponse(responseOrError)) {
97
96
  const response = responseOrError;
98
97
  const okToTextMap = {
99
- success: t('axios.log.requestSuccess'),
100
- error: t('axios.log.requestFailed')
98
+ success: '请求成功:',
99
+ error: '请求失败:'
101
100
  };
102
101
  const realOK = 'success' === ok && response.status >= 200 && response.status < 300;
103
102
  const method = (response.config.method || 'GET').toUpperCase();
@@ -155,13 +154,13 @@ async function logResponse(ok, responseOrError) {
155
154
  const error = responseOrError;
156
155
  if (error && error.config && 'object' == typeof error.config) {
157
156
  const errorType = error.code || 'UNKNOWN_ERROR';
158
- const errorMessage = error.message || t('axios.log.unknownError');
157
+ const errorMessage = error.message || '未知错误';
159
158
  const method = (error.config.method || 'GET').toUpperCase();
160
159
  const url = error.config.url || '';
161
160
  const startTime = error.config._startTime;
162
161
  const duration = startTime ? Date.now() - startTime : 0;
163
162
  const parts = [
164
- t('axios.log.networkFailed'),
163
+ '网络请求失败:',
165
164
  method,
166
165
  ' ',
167
166
  url.split('?')[0].replace(/^\/spark\/p\/app_\w+/, ''),
@@ -211,7 +210,7 @@ async function logResponse(ok, responseOrError) {
211
210
  logger.log({
212
211
  level: 'error',
213
212
  args: [
214
- t('axios.log.noResponseOrConfig')
213
+ '请求失败:无响应对象或配置信息'
215
214
  ],
216
215
  meta: {}
217
216
  });
@@ -361,10 +360,7 @@ function initAxiosConfig(axiosInstance) {
361
360
  logger.log({
362
361
  level: 'warn',
363
362
  args: [
364
- t('axios.log.forbidden', {
365
- method,
366
- url
367
- }),
363
+ `请求被拒绝(403):${method} ${url}`,
368
364
  {
369
365
  状态码: 403,
370
366
  返回数据: error.response.data
@@ -1,17 +1,9 @@
1
1
  /**
2
2
  * 统一的语言判断方法。
3
3
  *
4
- * 生产环境(`process.env.NODE_ENV === 'production'`):
5
- * 只看浏览器容器语言(navigator.language)。
6
- *
7
- * 非生产环境(沙箱预览场景):
8
- * 优先级 query > localStorage > navigator。
9
- * URL query `locale`(值为 `zh_CN` / `en_US`)由宿主平台(miaoda)
10
- * 通过 iframe src 透传,确保产物内的语言与宿主一致;
11
- * 读到 query 时会同步写入 localStorage,便于后续无 query 的跳转/刷新场景使用。
12
- *
13
- * 返回标准化 locale code:'zh' | 'en'。
14
- * 目前只区分中英文,未来扩展时在此调整。
4
+ * 基于浏览器 Accept-Language(navigator.language)判断。
5
+ * 返回标准化的 locale code:'zh' | 'en'。
6
+ * 目前只区分中英文,未来需要更多语言时在此扩展。
15
7
  */
16
8
  export type Locale = 'zh' | 'en';
17
9
  export declare function getLocale(): Locale;
@@ -1,41 +1,5 @@
1
- const STORAGE_KEY = 'miaoda:preview-locale';
2
- function toLocale(value) {
3
- const lang = value ?? 'zh';
4
- return lang.toLowerCase().startsWith('zh') ? 'zh' : 'en';
5
- }
6
- function readLocaleFromQuery() {
7
- if ('undefined' == typeof window) return null;
8
- try {
9
- const value = new URLSearchParams(window.location.search).get('locale');
10
- return value && value.length > 0 ? value : null;
11
- } catch {
12
- return null;
13
- }
14
- }
15
- function readLocaleFromStorage() {
16
- if ('undefined' == typeof window) return null;
17
- try {
18
- const value = window.localStorage?.getItem(STORAGE_KEY);
19
- return value && value.length > 0 ? value : null;
20
- } catch {
21
- return null;
22
- }
23
- }
24
- function writeLocaleToStorage(value) {
25
- if ('undefined' == typeof window) return;
26
- try {
27
- window.localStorage?.setItem(STORAGE_KEY, value);
28
- } catch {}
29
- }
30
1
  function getLocale() {
31
- if ('production' === process.env.NODE_ENV) return toLocale(navigator.language);
32
- const fromQuery = readLocaleFromQuery();
33
- if (fromQuery) {
34
- writeLocaleToStorage(fromQuery);
35
- return toLocale(fromQuery);
36
- }
37
- const fromStorage = readLocaleFromStorage();
38
- if (fromStorage) return toLocale(fromStorage);
39
- return toLocale(navigator.language);
2
+ const lang = navigator.language || 'zh';
3
+ return lang.startsWith('zh') ? 'zh' : 'en';
40
4
  }
41
5
  export { getLocale };
@@ -2,7 +2,3 @@ export interface UrlParts {
2
2
  baseUrl: string;
3
3
  workspace: string;
4
4
  }
5
- /**
6
- * @internal
7
- */
8
- export declare function splitWorkspaceUrl(fullUrl: string): UrlParts;
package/lib/utils/url.js CHANGED
@@ -1,22 +0,0 @@
1
- import { logger } from "../logger/index.js";
2
- function splitWorkspaceUrl(fullUrl) {
3
- try {
4
- const url = new URL(fullUrl);
5
- const pathParts = url.pathname.split('/');
6
- const workspacesIndex = pathParts.findIndex((part)=>'workspaces' === part);
7
- if (-1 === workspacesIndex) throw new Error('Invalid workspace URL format');
8
- const basePathParts = pathParts.slice(0, workspacesIndex);
9
- const workspace = pathParts[workspacesIndex + 1];
10
- return {
11
- baseUrl: `${url.origin}${basePathParts.join('/')}`,
12
- workspace
13
- };
14
- } catch (error) {
15
- logger.error('Error splitting workspace URL:', error);
16
- }
17
- return {
18
- baseUrl: fullUrl,
19
- workspace: 'workspace'
20
- };
21
- }
22
- export { splitWorkspaceUrl };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/client-toolkit",
3
- "version": "1.2.35-alpha.6",
3
+ "version": "1.2.35-alpha.7",
4
4
  "types": "./lib/index.d.ts",
5
5
  "main": "./lib/index.js",
6
6
  "files": [
@@ -98,10 +98,10 @@
98
98
  "dependencies": {
99
99
  "@ant-design/colors": "^7.2.1",
100
100
  "@ant-design/cssinjs": "^1.24.0",
101
- "@data-loom/js": "0.4.13",
102
101
  "@lark-apaas/aily-web-sdk": "^0.0.9",
103
102
  "@lark-apaas/auth-sdk": "^0.1.4",
104
103
  "@lark-apaas/client-capability": "^0.1.6",
104
+ "@lark-apaas/dataloom": "0.1.1-alpha.2",
105
105
  "@lark-apaas/internal-slardar": "^0.0.3",
106
106
  "@lark-apaas/miaoda-inspector": "^1.0.23",
107
107
  "@lark-apaas/observable-web": "^1.0.6",