gc_i18n 1.2.6 → 1.2.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.
@@ -1,11 +1,6 @@
1
1
  <script lang="jsx">
2
2
  import _ from "lodash-es";
3
- import {
4
- getAllTranslate,
5
- getLanguages,
6
- saveTranslate,
7
- userDicts
8
- } from "../libs/service";
3
+ import { getLanguages, saveTranslate, userDicts } from "../libs/service";
9
4
  import { Message, Tooltip } from "view-ui-plus";
10
5
  import store2 from "store2";
11
6
 
@@ -36,67 +31,23 @@ export default {
36
31
 
37
32
  columns() {
38
33
  let arr = [
39
- // this.type === "pageData"
40
- // ? [
41
- // {
42
- // title: "状态",
43
- // width: 100,
44
- // key: "icon",
45
- // fixed: "left",
46
- // render: (h, { row }) => {
47
- // return row.localhost ? (
48
- // <span style={{ color: "red" }}>
49
- // <span style={{ marginRight: "2px" }}>本地</span>
50
- // <Tooltip
51
- // content="该字段未在翻译数据库中"
52
- // placement="top"
53
- // transfer
54
- // >
55
- // <Icon type="ios-alert-outline" />
56
- // </Tooltip>
57
- // </span>
58
- // ) : row.page === this.name ? (
59
- // <span style={{ color: "green" }}>当前页</span>
60
- // ) : (
61
- // <span>
62
- // 全局{" "}
63
- // <Tooltip
64
- // maxWidth={150}
65
- // content="编辑该字段转化为当前页,不会覆盖全局"
66
- // placement="top"
67
- // transfer
68
- // >
69
- // <Icon type="ios-alert-outline" />
70
- // </Tooltip>
71
- // </span>
72
- // );
73
- // }
74
- // },
75
- // {
76
- // title: "关键词",
77
- // fixed: "left",
78
- // width: 90,
79
- // key: "dictKey"
80
- // }
81
- // ]
82
- // : [
83
- {
84
- title: "状态",
85
- fixed: "left",
86
- width: 90,
87
- key: "page",
88
- render: (h, { row }) => {
89
- return h(
90
- "span",
91
- {},
92
- row.page === "common"
93
- ? "全局"
94
- : row.page === this.name
95
- ? "当前页"
96
- : "登录页"
97
- );
98
- }
99
- },
34
+ // {
35
+ // title: "状态",
36
+ // fixed: "left",
37
+ // width: 90,
38
+ // key: "page",
39
+ // render: (h, { row }) => {
40
+ // return h(
41
+ // "span",
42
+ // {},
43
+ // row.page === "common"
44
+ // ? "全局"
45
+ // : row.page === this.name
46
+ // ? "当前页"
47
+ // : "登录页"
48
+ // );
49
+ // }
50
+ // },
100
51
  {
101
52
  title: "关键词",
102
53
  fixed: "left",
@@ -106,7 +57,7 @@ export default {
106
57
  ];
107
58
  _.map(this.languages, (lang) => {
108
59
  const key = lang.code;
109
- if (!lang.unChecked) {
60
+ if (lang.checked) {
110
61
  return arr.push({
111
62
  title: lang.name,
112
63
  key,
@@ -119,7 +70,6 @@ export default {
119
70
  onOnChange={(e) => {
120
71
  const value = e.target.value;
121
72
  const { dictKey } = row;
122
- console.log("dictKey", dictKey);
123
73
  const findIndex = _.findIndex(this.mySaveData, { dictKey });
124
74
 
125
75
  if (findIndex > -1) {
@@ -150,6 +100,7 @@ export default {
150
100
  appCode: String,
151
101
  setLanguage: Function,
152
102
  token: String,
103
+ baseUrl: String, // 基础URL
153
104
  translationKeys: Array,
154
105
  loginRouteName: String, // 登录页路由名称
155
106
  loginTranslationKeys: Array, // 登录页翻译键
@@ -163,12 +114,10 @@ export default {
163
114
  saveLanguageSetting(val) {
164
115
  const settings = _.map(
165
116
  _.filter(this.languages, (val) => {
166
- return val.unChecked;
117
+ return val.checked;
167
118
  }),
168
119
  "code"
169
120
  );
170
- console.log("settings", settings);
171
-
172
121
  store2.set("I18N_LANGUAGE_SETTING", settings);
173
122
  },
174
123
  handleLanguageSettingOpen() {
@@ -220,14 +169,15 @@ export default {
220
169
  Message.error({ content: "没有需要保存的数据" });
221
170
  return;
222
171
  }
223
- const res = await saveTranslate(
224
- {
172
+ const res = await saveTranslate({
173
+ baseUrl: this.baseUrl,
174
+ data: {
225
175
  appCode: this.appCode,
226
176
  isLocal: "F",
227
177
  data
228
178
  },
229
- this.token
230
- );
179
+ token: this.token
180
+ });
231
181
  if (res && res.data.result === 0) {
232
182
  Message.success({ content: msg ? msg : res.data.msg });
233
183
  // 更新到本地缓存
@@ -273,8 +223,9 @@ export default {
273
223
  },
274
224
  async search(data, type) {
275
225
  this.loading = true;
276
- const res = await userDicts(
277
- {
226
+ const res = await userDicts({
227
+ baseUrl: this.baseUrl,
228
+ data: {
278
229
  appCode: this.appCode,
279
230
  searchBlur: this.searchText,
280
231
  commaSeparatedLangs: _.map(this.languages, "code").toString(),
@@ -287,8 +238,8 @@ export default {
287
238
  pageSize: 10,
288
239
  ...data
289
240
  },
290
- this.token
291
- );
241
+ token: this.token
242
+ });
292
243
  if (res) {
293
244
  this.initialData = _.cloneDeep(res.data.retVal.datas);
294
245
  let data = res.data.retVal.datas;
@@ -312,15 +263,23 @@ export default {
312
263
  }
313
264
  },
314
265
  async init() {
315
- const res = await getLanguages(this.token);
266
+ let settingLanguages = store2.get("I18N_LANGUAGE_SETTING");
267
+ const res = await getLanguages({
268
+ token: this.token,
269
+ baseUrl: this.baseUrl
270
+ });
316
271
  if (res && res.data.result == 0) {
317
272
  let arr = res.data.retVal;
273
+ if (_.isEmpty(settingLanguages)) {
274
+ settingLanguages = ["zh-CN", "en-US", "zh-TW"];
275
+ }
318
276
  _.map(arr, (val) => {
319
- if (_.includes(store2.get("I18N_LANGUAGE_SETTING"), val.code)) {
320
- val.unChecked = true;
277
+ if (_.includes(settingLanguages, val.code)) {
278
+ val.checked = true;
321
279
  }
322
280
  });
323
281
  this.languages = arr;
282
+
324
283
  this.getPageData();
325
284
  } else {
326
285
  Message.error("获取语言失败,出错了");
@@ -421,10 +380,8 @@ export default {
421
380
  :key="lang.code"
422
381
  >
423
382
  <Checkbox
424
- v-model="lang.unChecked"
383
+ v-model="lang.checked"
425
384
  @on-change="saveLanguageSetting"
426
- :true-value="false"
427
- :false-value="true"
428
385
  >
429
386
  <span>{{ lang.name }}</span>
430
387
  </Checkbox>
package/packages/index.js CHANGED
@@ -51,6 +51,9 @@ export default class I18n {
51
51
  this.login = login;
52
52
  this.loginTranslationKeys = [];
53
53
  this.keyboard = keyboard || "shift>t";
54
+ this.baseUrl = options.dev
55
+ ? "https://test.ihotel.cn"
56
+ : "https://trans.ihotel.cn";
54
57
  // 初始化路由守卫
55
58
  this.initRouterGuards();
56
59
 
@@ -193,21 +196,6 @@ export default class I18n {
193
196
  } else {
194
197
  return originalT(key, comment);
195
198
  }
196
- // if (routeName) {
197
- // if (routeTranslation !== routerKey) {
198
- // return routeTranslation;
199
- // } else {
200
- // const commonKey = `common.${key}`;
201
- // const commonTranslation = originalT(commonKey);
202
- // if (commonTranslation !== commonKey) {
203
- // return commonTranslation;
204
- // } else {
205
- // return originalT(key, comment);
206
- // }
207
- // }
208
- // } else {
209
- // return "abc";
210
- // }
211
199
  };
212
200
 
213
201
  globalThis.$deepScan = function (val) {
@@ -233,6 +221,7 @@ export default class I18n {
233
221
  return langs;
234
222
  } else {
235
223
  const res = await getLanguages({
224
+ baseUrl: this.baseUrl,
236
225
  appCode: this.appCode,
237
226
  token: this.token
238
227
  });
@@ -246,6 +235,7 @@ export default class I18n {
246
235
  async setLanguage(language) {
247
236
  return new Promise(async (resolve, reject) => {
248
237
  const res = await getTranslate({
238
+ baseUrl: this.baseUrl,
249
239
  appCode: this.appCode,
250
240
  language: language ? language : this.locale,
251
241
  token: this.token
@@ -285,6 +275,7 @@ export default class I18n {
285
275
  loginRouteName: this.loginRouteName, // 登录页路由名称
286
276
  loginTranslationKeys: this.loginTranslationKeys,
287
277
  login: this.login,
278
+ baseUrl: this.baseUrl, // 基础URL
288
279
  emitter // 将事件总线作为 prop 传递
289
280
  })
290
281
  .use(iview)
@@ -2,11 +2,10 @@ import axios from "axios";
2
2
  import store2 from "store2";
3
3
  import _ from "lodash-es";
4
4
  import { mergeArraysByKey } from "./utils";
5
- export const service = "https://test.ihotel.cn";
6
- // export const service = "http://192.168.1.170:2018";
5
+ // export const service = "https://test.ihotel.cn";
7
6
 
8
- export const getLanguages = async (token) => {
9
- return axios.get(service + "/i18n-web/sysoption/getsupportedlangs", {
7
+ export const getLanguages = async ({ baseUrl, token }) => {
8
+ return axios.get(baseUrl + "/i18n-web/sysoption/getsupportedlangs", {
10
9
  headers: {
11
10
  Authorization: token
12
11
  }
@@ -18,10 +17,11 @@ export const fetchTranslate = async ({
18
17
  language = "zh-CN",
19
18
  page,
20
19
  lastPullDate,
20
+ baseUrl,
21
21
  token
22
22
  }) => {
23
23
  return new Promise(async (resolve, reject) => {
24
- const serverURI = service + "/i18n-web/kv_translate/kv_translates";
24
+ const serverURI = baseUrl + "/i18n-web/kv_translate/kv_translates";
25
25
  const url = lastPullDate
26
26
  ? serverURI + "?lastPullDate=" + lastPullDate
27
27
  : serverURI;
@@ -43,18 +43,18 @@ export const fetchTranslate = async ({
43
43
  });
44
44
  };
45
45
 
46
- export const getAllTranslate = async (data, token) => {
47
- return axios({
48
- url: service + "/i18n-web/kv_translate/kv_translates",
49
- method: "POST",
50
- data,
51
- headers: { Authorization: token }
52
- });
53
- };
46
+ // export const getAllTranslate = async (data, token) => {
47
+ // return axios({
48
+ // url: service + "/i18n-web/kv_translate/kv_translates",
49
+ // method: "POST",
50
+ // data,
51
+ // headers: { Authorization: token }
52
+ // });
53
+ // };
54
54
 
55
- export const userDicts = async (data, token) => {
55
+ export const userDicts = async ({ data, token, baseUrl }) => {
56
56
  return axios({
57
- url: service + "/i18n-web/kv_translate/userDicts",
57
+ url: baseUrl + "/i18n-web/kv_translate/userDicts",
58
58
  method: "POST",
59
59
  headers: {
60
60
  Authorization: token
@@ -63,9 +63,9 @@ export const userDicts = async (data, token) => {
63
63
  });
64
64
  };
65
65
 
66
- export const saveTranslate = async (data, token) => {
66
+ export const saveTranslate = async ({ data, token, baseUrl }) => {
67
67
  return axios({
68
- url: service + "/i18n-web/kv_translate/batch",
68
+ url: baseUrl + "/i18n-web/kv_translate/batch",
69
69
  method: "POST",
70
70
  data,
71
71
  headers: {
@@ -73,11 +73,17 @@ export const saveTranslate = async (data, token) => {
73
73
  }
74
74
  });
75
75
  };
76
- export const getTranslate = async ({ appCode, language = "zh-CN", token }) => {
76
+ export const getTranslate = async ({
77
+ baseUrl,
78
+ appCode,
79
+ language = "zh-CN",
80
+ token
81
+ }) => {
77
82
  return new Promise(async (resolve, reject) => {
78
83
  // const appCodeStore = i18nStore.get(appCode);
79
84
  const languageStore = store2.namespace(`I18N_${_.toUpper(appCode)}`);
80
85
  const options = {
86
+ baseUrl,
81
87
  appCode,
82
88
  language,
83
89
  token