karin-plugin-mys-core 1.0.7 → 1.0.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.
Files changed (79) hide show
  1. package/lib/apps/MiHoYoLogin.js +24 -26
  2. package/lib/apps/MysDevice.js +18 -18
  3. package/lib/apps/UIDManage.js +20 -20
  4. package/lib/{chunk-BWFWWHCT.js → chunk-2BVJS5VE.js} +7 -4
  5. package/lib/{chunk-BH4S574A.js → chunk-2WGBVGJM.js} +1 -1
  6. package/lib/{chunk-Y3J3J5B2.js → chunk-3JN5WYUN.js} +31 -20
  7. package/lib/{chunk-BNSHDFFN.js → chunk-3R37ZEXD.js} +5 -5
  8. package/lib/chunk-5DXIT7UB.js +88 -0
  9. package/lib/{chunk-LLYBEHPW.js → chunk-CD2J42HG.js} +1 -1
  10. package/lib/{chunk-DJTJKSNN.js → chunk-CZD74R2W.js} +26 -19
  11. package/lib/{chunk-G547WVGV.js → chunk-DMJ5OQR6.js} +1 -1
  12. package/lib/{chunk-7ZQQ76WC.js → chunk-EDNBKOMS.js} +4 -4
  13. package/lib/{chunk-EAVXU4Q2.js → chunk-G7TMVDGP.js} +17 -6
  14. package/lib/{chunk-HTH25YE2.js → chunk-HJ6HX5HB.js} +4 -4
  15. package/lib/{chunk-EMAUATE3.js → chunk-MPZP23EX.js} +5 -3
  16. package/lib/chunk-OYGNSYOG.js +109 -0
  17. package/lib/{chunk-6PIXUPZ6.js → chunk-PMFOX5HA.js} +14 -16
  18. package/lib/{chunk-P2PBUTB7.js → chunk-UTTUUWA4.js} +10 -15
  19. package/lib/common-BlI5Gsw_.d.ts +35 -0
  20. package/lib/exports/config/array.d.ts +1 -1
  21. package/lib/exports/config/array.js +1 -1
  22. package/lib/exports/config/config.d.ts +56 -1
  23. package/lib/exports/config/config.js +6 -2
  24. package/lib/exports/config/index.d.ts +1 -2
  25. package/lib/exports/config/index.js +7 -5
  26. package/lib/exports/database/database.js +7 -3
  27. package/lib/exports/database/dbs/base.d.ts +5 -3
  28. package/lib/exports/database/dbs/base.js +5 -1
  29. package/lib/exports/database/dbs/index.d.ts +1 -1
  30. package/lib/exports/database/dbs/index.js +12 -6
  31. package/lib/exports/database/dbs/sqlite3.d.ts +7 -3
  32. package/lib/exports/database/dbs/sqlite3.js +6 -2
  33. package/lib/exports/database/dbs/table.d.ts +12 -8
  34. package/lib/exports/database/dbs/table.js +12 -6
  35. package/lib/exports/database/index.d.ts +2 -2
  36. package/lib/exports/database/index.js +18 -14
  37. package/lib/exports/database/tables/index.js +14 -12
  38. package/lib/exports/database/tables/mysAccountInfo.d.ts +1 -1
  39. package/lib/exports/database/tables/mysAccountInfo.js +9 -5
  40. package/lib/exports/database/tables/mysDeviceInfo.d.ts +1 -1
  41. package/lib/exports/database/tables/mysDeviceInfo.js +9 -7
  42. package/lib/exports/database/tables/mysUserInfo.d.ts +1 -1
  43. package/lib/exports/database/tables/mysUserInfo.js +9 -5
  44. package/lib/exports/database/types/dbs/base.d.ts +17 -6
  45. package/lib/exports/database/types/index.d.ts +1 -1
  46. package/lib/exports/database/types/tables/index.d.ts +1 -1
  47. package/lib/exports/database/types/tables/mysUserInfo.d.ts +6 -5
  48. package/lib/exports/mys/api/apis.js +18 -18
  49. package/lib/exports/mys/api/app.js +11 -9
  50. package/lib/exports/mys/api/define.js +18 -18
  51. package/lib/exports/mys/api/index.js +21 -21
  52. package/lib/exports/mys/index.js +24 -24
  53. package/lib/exports/mys/user/deviceInfo.js +12 -10
  54. package/lib/exports/mys/user/game.d.ts +12 -5
  55. package/lib/exports/mys/user/game.js +1 -1
  56. package/lib/exports/mys/user/index.d.ts +3 -3
  57. package/lib/exports/mys/user/index.js +21 -21
  58. package/lib/exports/mys/user/userInfo.js +18 -18
  59. package/lib/exports/render/index.js +5 -3
  60. package/lib/exports/render/render.js +5 -3
  61. package/lib/exports/utils/common.d.ts +1 -33
  62. package/lib/exports/utils/common.js +3 -1
  63. package/lib/exports/utils/index.d.ts +2 -1
  64. package/lib/exports/utils/index.js +4 -2
  65. package/lib/exports/{config/types/config.d.ts → utils/types/common.d.ts} +3 -4
  66. package/lib/exports/utils/types/common.js +1 -0
  67. package/lib/exports/utils/types/index.d.ts +1 -0
  68. package/lib/exports/utils/types/index.js +2 -0
  69. package/package.json +1 -1
  70. package/lib/array-CCexQ14j.d.ts +0 -62
  71. package/lib/chunk-BXA3VAQC.js +0 -131
  72. package/lib/chunk-LG34FPBI.js +0 -50
  73. package/lib/exports/config/types/config.js +0 -1
  74. package/lib/exports/config/types/index.d.ts +0 -1
  75. package/lib/exports/config/types/index.js +0 -2
  76. /package/lib/{chunk-2DHTKQ34.js → chunk-3ERB3ILC.js} +0 -0
  77. /package/lib/{chunk-7SZX3RBZ.js → chunk-ARLTXJFJ.js} +0 -0
  78. /package/lib/{chunk-UC6INRYV.js → chunk-PYTECG57.js} +0 -0
  79. /package/lib/{chunk-XQWTJIT4.js → chunk-T7W4DXRM.js} +0 -0
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ShowBindAccountCmdFunc
3
- } from "../chunk-P2PBUTB7.js";
3
+ } from "../chunk-UTTUUWA4.js";
4
4
  import "../chunk-JT3SU5UU.js";
5
- import "../chunk-LLYBEHPW.js";
5
+ import "../chunk-CD2J42HG.js";
6
6
  import {
7
7
  UserInfo,
8
8
  fetchQRcode,
@@ -10,29 +10,29 @@ import {
10
10
  getTokenByGameToken,
11
11
  getUserFullInfo,
12
12
  queryQRcode
13
- } from "../chunk-DJTJKSNN.js";
13
+ } from "../chunk-CZD74R2W.js";
14
+ import "../chunk-2BVJS5VE.js";
15
+ import "../chunk-G5W5WAY5.js";
14
16
  import "../chunk-7VAWV6ZE.js";
15
17
  import "../chunk-LJSDSOY6.js";
16
18
  import "../chunk-CFS2WFOO.js";
17
19
  import "../chunk-MWYDWDR4.js";
18
20
  import "../chunk-FOAQZIZ2.js";
19
21
  import "../chunk-WCX7WZAQ.js";
20
- import "../chunk-BH4S574A.js";
21
- import "../chunk-BWFWWHCT.js";
22
- import "../chunk-G5W5WAY5.js";
23
- import "../chunk-XQWTJIT4.js";
24
- import "../chunk-7SZX3RBZ.js";
25
- import "../chunk-2DHTKQ34.js";
22
+ import "../chunk-2WGBVGJM.js";
23
+ import "../chunk-3ERB3ILC.js";
24
+ import "../chunk-OYGNSYOG.js";
25
+ import "../chunk-PMFOX5HA.js";
26
26
  import "../chunk-W4DBT7AD.js";
27
27
  import "../chunk-Z5I6A73Y.js";
28
- import "../chunk-BNSHDFFN.js";
29
- import "../chunk-HTH25YE2.js";
30
- import "../chunk-7ZQQ76WC.js";
28
+ import "../chunk-EDNBKOMS.js";
29
+ import "../chunk-3R37ZEXD.js";
30
+ import "../chunk-HJ6HX5HB.js";
31
31
  import "../chunk-SEWEEPJN.js";
32
- import "../chunk-EAVXU4Q2.js";
33
- import "../chunk-G547WVGV.js";
34
- import "../chunk-EMAUATE3.js";
35
- import "../chunk-Y3J3J5B2.js";
32
+ import "../chunk-G7TMVDGP.js";
33
+ import "../chunk-DMJ5OQR6.js";
34
+ import "../chunk-MPZP23EX.js";
35
+ import "../chunk-3JN5WYUN.js";
36
36
  import "../chunk-7KEG6SDX.js";
37
37
  import "../chunk-FBWSEBAW.js";
38
38
  import "../chunk-JVJQKRJ4.js";
@@ -41,13 +41,13 @@ import "../chunk-SHW6FHIB.js";
41
41
  import "../chunk-K5U2O3HH.js";
42
42
  import "../chunk-I7XZONDN.js";
43
43
  import "../chunk-JRH4JC43.js";
44
- import "../chunk-UC6INRYV.js";
44
+ import "../chunk-ARLTXJFJ.js";
45
+ import "../chunk-PYTECG57.js";
46
+ import "../chunk-T7W4DXRM.js";
45
47
  import {
46
48
  common_exports
47
- } from "../chunk-LG34FPBI.js";
49
+ } from "../chunk-5DXIT7UB.js";
48
50
  import "../chunk-SHLPPEAY.js";
49
- import "../chunk-BXA3VAQC.js";
50
- import "../chunk-6PIXUPZ6.js";
51
51
  import "../chunk-MLKGABMK.js";
52
52
 
53
53
  // src/apps/MiHoYoLogin.ts
@@ -60,7 +60,7 @@ var MiHoYoLoginQRCode = karin.command(
60
60
  const qrcode = QRCodes.get(e.userId);
61
61
  if (qrcode) {
62
62
  if (qrcode === true) return true;
63
- e.reply(["\u8BF7\u4F7F\u7528\u7C73\u6E38\u793E\u626B\u7801\u767B\u5F55", qrcode], {
63
+ e.reply(["\u8BF7\u4F7F\u7528\u7C73\u6E38\u793E\u626B\u7801\u767B\u5F55", segment.image(qrcode)], {
64
64
  at: true,
65
65
  recallMsg: 60
66
66
  });
@@ -240,6 +240,7 @@ var BindCookie = async (userId, cookieObj, perm, Serv) => {
240
240
  cookieParams.mi18nLang = cookieObj.mi18nLang;
241
241
  }
242
242
  const cookieStr = common_exports.ObjToStr(cookieParams, ";");
243
+ const userInfo = await UserInfo.create(userId);
243
244
  const uidList = await (async () => {
244
245
  const errMsg = [];
245
246
  for (const serv of Serv ? [Serv] : ["mihoyo" /* cn */, "hoyolab" /* os */]) {
@@ -248,11 +249,9 @@ var BindCookie = async (userId, cookieObj, perm, Serv) => {
248
249
  type: serv,
249
250
  ltuid,
250
251
  cookie: cookieStr,
251
- deviceMd5: ""
252
+ deviceMd5: userInfo.deviceList[0] || ""
252
253
  }, perm);
253
- if (!result.message) {
254
- return result;
255
- }
254
+ if (!result.message) return result;
256
255
  errMsg.push(result.message);
257
256
  }
258
257
  return {
@@ -276,7 +275,6 @@ var BindCookie = async (userId, cookieObj, perm, Serv) => {
276
275
  return `\u7ED1\u5B9ACookie\u5931\u8D25\uFF1A${userFullInfo?.message || "Cookie\u9519\u8BEF"}`;
277
276
  }
278
277
  }
279
- const userInfo = await UserInfo.create(userId);
280
278
  await userInfo.saveUserInfo({
281
279
  ...uidList.uids.reduce((acc, cur) => {
282
280
  acc[cur.columnKey] = cur.data;
@@ -1,6 +1,8 @@
1
1
  import {
2
2
  UserInfo
3
- } from "../chunk-DJTJKSNN.js";
3
+ } from "../chunk-CZD74R2W.js";
4
+ import "../chunk-2BVJS5VE.js";
5
+ import "../chunk-G5W5WAY5.js";
4
6
  import "../chunk-7VAWV6ZE.js";
5
7
  import "../chunk-LJSDSOY6.js";
6
8
  import "../chunk-CFS2WFOO.js";
@@ -9,22 +11,20 @@ import "../chunk-FOAQZIZ2.js";
9
11
  import "../chunk-WCX7WZAQ.js";
10
12
  import {
11
13
  DeviceInfo
12
- } from "../chunk-BH4S574A.js";
13
- import "../chunk-BWFWWHCT.js";
14
- import "../chunk-G5W5WAY5.js";
15
- import "../chunk-XQWTJIT4.js";
16
- import "../chunk-7SZX3RBZ.js";
17
- import "../chunk-2DHTKQ34.js";
14
+ } from "../chunk-2WGBVGJM.js";
15
+ import "../chunk-3ERB3ILC.js";
16
+ import "../chunk-OYGNSYOG.js";
17
+ import "../chunk-PMFOX5HA.js";
18
18
  import "../chunk-W4DBT7AD.js";
19
19
  import "../chunk-Z5I6A73Y.js";
20
- import "../chunk-BNSHDFFN.js";
21
- import "../chunk-HTH25YE2.js";
22
- import "../chunk-7ZQQ76WC.js";
20
+ import "../chunk-EDNBKOMS.js";
21
+ import "../chunk-3R37ZEXD.js";
22
+ import "../chunk-HJ6HX5HB.js";
23
23
  import "../chunk-SEWEEPJN.js";
24
- import "../chunk-EAVXU4Q2.js";
25
- import "../chunk-G547WVGV.js";
26
- import "../chunk-EMAUATE3.js";
27
- import "../chunk-Y3J3J5B2.js";
24
+ import "../chunk-G7TMVDGP.js";
25
+ import "../chunk-DMJ5OQR6.js";
26
+ import "../chunk-MPZP23EX.js";
27
+ import "../chunk-3JN5WYUN.js";
28
28
  import "../chunk-7KEG6SDX.js";
29
29
  import "../chunk-FBWSEBAW.js";
30
30
  import "../chunk-JVJQKRJ4.js";
@@ -33,11 +33,11 @@ import "../chunk-SHW6FHIB.js";
33
33
  import "../chunk-K5U2O3HH.js";
34
34
  import "../chunk-I7XZONDN.js";
35
35
  import "../chunk-JRH4JC43.js";
36
- import "../chunk-UC6INRYV.js";
37
- import "../chunk-LG34FPBI.js";
36
+ import "../chunk-ARLTXJFJ.js";
37
+ import "../chunk-PYTECG57.js";
38
+ import "../chunk-T7W4DXRM.js";
39
+ import "../chunk-5DXIT7UB.js";
38
40
  import "../chunk-SHLPPEAY.js";
39
- import "../chunk-BXA3VAQC.js";
40
- import "../chunk-6PIXUPZ6.js";
41
41
  import "../chunk-MLKGABMK.js";
42
42
 
43
43
  // src/apps/MysDevice.ts
@@ -4,32 +4,32 @@ import {
4
4
  ShowBindAccountCmdFunc,
5
5
  UnbindAccount,
6
6
  UnbindUID
7
- } from "../chunk-P2PBUTB7.js";
7
+ } from "../chunk-UTTUUWA4.js";
8
8
  import "../chunk-JT3SU5UU.js";
9
- import "../chunk-LLYBEHPW.js";
10
- import "../chunk-DJTJKSNN.js";
9
+ import "../chunk-CD2J42HG.js";
10
+ import "../chunk-CZD74R2W.js";
11
+ import "../chunk-2BVJS5VE.js";
12
+ import "../chunk-G5W5WAY5.js";
11
13
  import "../chunk-7VAWV6ZE.js";
12
14
  import "../chunk-LJSDSOY6.js";
13
15
  import "../chunk-CFS2WFOO.js";
14
16
  import "../chunk-MWYDWDR4.js";
15
17
  import "../chunk-FOAQZIZ2.js";
16
18
  import "../chunk-WCX7WZAQ.js";
17
- import "../chunk-BH4S574A.js";
18
- import "../chunk-BWFWWHCT.js";
19
- import "../chunk-G5W5WAY5.js";
20
- import "../chunk-XQWTJIT4.js";
21
- import "../chunk-7SZX3RBZ.js";
22
- import "../chunk-2DHTKQ34.js";
19
+ import "../chunk-2WGBVGJM.js";
20
+ import "../chunk-3ERB3ILC.js";
21
+ import "../chunk-OYGNSYOG.js";
22
+ import "../chunk-PMFOX5HA.js";
23
23
  import "../chunk-W4DBT7AD.js";
24
24
  import "../chunk-Z5I6A73Y.js";
25
- import "../chunk-BNSHDFFN.js";
26
- import "../chunk-HTH25YE2.js";
27
- import "../chunk-7ZQQ76WC.js";
25
+ import "../chunk-EDNBKOMS.js";
26
+ import "../chunk-3R37ZEXD.js";
27
+ import "../chunk-HJ6HX5HB.js";
28
28
  import "../chunk-SEWEEPJN.js";
29
- import "../chunk-EAVXU4Q2.js";
30
- import "../chunk-G547WVGV.js";
31
- import "../chunk-EMAUATE3.js";
32
- import "../chunk-Y3J3J5B2.js";
29
+ import "../chunk-G7TMVDGP.js";
30
+ import "../chunk-DMJ5OQR6.js";
31
+ import "../chunk-MPZP23EX.js";
32
+ import "../chunk-3JN5WYUN.js";
33
33
  import "../chunk-7KEG6SDX.js";
34
34
  import "../chunk-FBWSEBAW.js";
35
35
  import "../chunk-JVJQKRJ4.js";
@@ -38,11 +38,11 @@ import "../chunk-SHW6FHIB.js";
38
38
  import "../chunk-K5U2O3HH.js";
39
39
  import "../chunk-I7XZONDN.js";
40
40
  import "../chunk-JRH4JC43.js";
41
- import "../chunk-UC6INRYV.js";
42
- import "../chunk-LG34FPBI.js";
41
+ import "../chunk-ARLTXJFJ.js";
42
+ import "../chunk-PYTECG57.js";
43
+ import "../chunk-T7W4DXRM.js";
44
+ import "../chunk-5DXIT7UB.js";
43
45
  import "../chunk-SHLPPEAY.js";
44
- import "../chunk-BXA3VAQC.js";
45
- import "../chunk-6PIXUPZ6.js";
46
46
  import "../chunk-MLKGABMK.js";
47
47
  export {
48
48
  BindUID,
@@ -26,18 +26,21 @@ var RegisterGameBase = class {
26
26
  columnKey;
27
27
  /** @description 游戏名称 */
28
28
  name;
29
- /** @description 指令前缀匹配 */
30
- prefix;
29
+ /** @description 指令前缀 */
30
+ prefixs;
31
31
  refresh;
32
32
  UserInfo;
33
- constructor(game, name, prefix, userInfo, refreshFuc) {
33
+ constructor(game, name, prefixs, userInfo, refreshFuc) {
34
34
  this.game = game;
35
35
  this.columnKey = `${game}-uids`;
36
36
  this.name = name;
37
- this.prefix = prefix;
37
+ this.prefixs = prefixs;
38
38
  this.UserInfo = userInfo;
39
39
  this.refresh = refreshFuc;
40
40
  }
41
+ get prefix() {
42
+ return new RegExp(`^(${this.prefixs.join("|")})$`, "i");
43
+ }
41
44
  };
42
45
 
43
46
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MysDeviceInfoDB
3
- } from "./chunk-BNSHDFFN.js";
3
+ } from "./chunk-3R37ZEXD.js";
4
4
 
5
5
  // src/exports/mys/user/deviceInfo.ts
6
6
  import md5 from "md5";
@@ -1,10 +1,16 @@
1
+ import {
2
+ common_exports
3
+ } from "./chunk-5DXIT7UB.js";
4
+
1
5
  // src/exports/database/dbs/base.ts
2
6
  import { existToMkdirSync, json, logger, rmSync } from "node-karin";
3
7
  import lodash from "node-karin/lodash";
4
8
  import fs from "fs";
5
9
  import path from "path";
6
10
  var DbBase = class {
7
- initBase(DataDir, modelName, modelSchema, type) {
11
+ primaryKey;
12
+ initBase(DataDir, modelName, modelSchema, modelSchemaDefine, type, primaryKey) {
13
+ this.primaryKey = primaryKey;
8
14
  this.databaseType = type;
9
15
  this.databasePath = path.join(DataDir, modelName);
10
16
  if (type !== "db" /* Db */) {
@@ -12,14 +18,17 @@ var DbBase = class {
12
18
  }
13
19
  this.modelName = modelName;
14
20
  this.modelSchema = modelSchema;
21
+ this.modelSchemaDefine = modelSchemaDefine;
15
22
  }
16
23
  schemaToJSON(pk) {
24
+ const primaryKey = this.model?.primaryKeyAttribute || this.primaryKey;
17
25
  const result = {
18
- [this.model.primaryKeyAttribute]: pk
26
+ [primaryKey]: pk
19
27
  };
20
28
  lodash.forEach(this.modelSchema, (value, key) => {
21
- if (key !== this.model.primaryKeyAttribute) {
22
- result[key] = typeof value.defaultValue === "function" ? value.defaultValue() : value.defaultValue;
29
+ if (key !== primaryKey) {
30
+ const Value = typeof value.defaultValue === "function" ? value.defaultValue() : value.defaultValue;
31
+ result[key] = value.JsonColumn ? JSON.parse(Value) : value.ArrayColumn ? Value.split(",") : Value;
23
32
  }
24
33
  });
25
34
  return result;
@@ -42,7 +51,7 @@ var DbBase = class {
42
51
  const result = {
43
52
  save: this.saveDir(pk),
44
53
  destroy: () => this.destroyPath(pk),
45
- [this.model.primaryKeyAttribute]: pk
54
+ [this.primaryKey]: pk
46
55
  };
47
56
  const filePromises = files.map(async (file) => {
48
57
  const data = await json.read(`${path2}/${file}`);
@@ -56,29 +65,29 @@ var DbBase = class {
56
65
  writeDirSync(pk, data) {
57
66
  const path2 = this.userPath(pk);
58
67
  lodash.forEach(this.modelSchema, (value, key) => {
59
- if (key !== this.model.primaryKeyAttribute) {
60
- const result = {
68
+ if (key !== this.primaryKey) {
69
+ const mergeData = common_exports.filterData(data[key], value.defaultValue, this.modelSchemaDefine[key]);
70
+ json.writeSync(`${path2}/${key}.json`, {
61
71
  key,
62
- [this.model.primaryKeyAttribute]: pk,
63
- data: data[key] || value.defaultValue
64
- };
65
- json.writeSync(`${path2}/${key}.json`, result);
72
+ [this.primaryKey]: pk,
73
+ data: mergeData
74
+ });
66
75
  }
67
76
  });
68
77
  return true;
69
78
  }
70
79
  saveFile(pk) {
71
80
  return async (data) => {
72
- delete data[this.model.primaryKeyAttribute];
73
- const defData = this.schemaToJSON(pk);
74
81
  const userPath = this.userPath(pk);
75
- json.writeSync(userPath, lodash.merge({}, defData, data));
82
+ const mergeData = common_exports.filterData(data, this.schemaToJSON(pk), this.modelSchemaDefine);
83
+ delete data[this.primaryKey];
84
+ json.writeSync(userPath, mergeData);
76
85
  return this.readSync(userPath, pk);
77
86
  };
78
87
  }
79
88
  saveDir(pk) {
80
89
  return async (data) => {
81
- delete data[this.model.primaryKeyAttribute];
90
+ delete data[this.primaryKey];
82
91
  this.writeDirSync(pk, data);
83
92
  return this.readDirSync(pk);
84
93
  };
@@ -98,12 +107,14 @@ var DbBase = class {
98
107
  saveSql(model, pk) {
99
108
  return async (data) => {
100
109
  delete data[this.model.primaryKeyAttribute];
101
- for (const key in data) {
102
- if (data[key] === void 0) {
103
- delete data[key];
110
+ const defData = this.schemaToJSON(pk);
111
+ const mergeData = {};
112
+ lodash.forEach(data, (value, key) => {
113
+ if (value !== void 0 && value !== null) {
114
+ mergeData[key] = common_exports.filterData(value, defData[key], this.modelSchemaDefine[key]);
104
115
  }
105
- }
106
- const result = await model.update(data);
116
+ });
117
+ const result = await model.update(mergeData);
107
118
  return {
108
119
  ...result.toJSON(),
109
120
  save: this.saveSql(result, pk),
@@ -1,18 +1,18 @@
1
1
  import {
2
- Table
3
- } from "./chunk-EAVXU4Q2.js";
2
+ createTable
3
+ } from "./chunk-G7TMVDGP.js";
4
4
  import {
5
5
  Database
6
- } from "./chunk-G547WVGV.js";
6
+ } from "./chunk-DMJ5OQR6.js";
7
7
  import {
8
8
  common_exports
9
- } from "./chunk-LG34FPBI.js";
9
+ } from "./chunk-5DXIT7UB.js";
10
10
  import {
11
11
  dir
12
12
  } from "./chunk-SHLPPEAY.js";
13
13
 
14
14
  // src/exports/database/tables/mysDeviceInfo.ts
15
- var MysDeviceInfoTable = new Table(
15
+ var MysDeviceInfoTable = createTable(
16
16
  dir.DataDir,
17
17
  "mys_device_info_data",
18
18
  "db" /* Db */
@@ -0,0 +1,88 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-MLKGABMK.js";
4
+
5
+ // src/exports/utils/common.ts
6
+ var common_exports = {};
7
+ __export(common_exports, {
8
+ ObjToStr: () => ObjToStr,
9
+ StrToObj: () => StrToObj,
10
+ filterData: () => filterData,
11
+ getDeviceGuid: () => getDeviceGuid,
12
+ randomString: () => randomString
13
+ });
14
+ import lodash from "node-karin/lodash";
15
+ var randomString = (length, type) => {
16
+ let str = "0123456789";
17
+ if (type === "Lower" || type === "All") {
18
+ str += "abcdefghijklmnopqrstuvwxyz";
19
+ }
20
+ if (type === "Upper" || type === "All") {
21
+ str += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
22
+ }
23
+ return lodash.sampleSize(str, length).join("");
24
+ };
25
+ var getDeviceGuid = () => {
26
+ function S4() {
27
+ return ((1 + Math.random()) * 65536 | 0).toString(16).substring(1);
28
+ }
29
+ return S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4();
30
+ };
31
+ var StrToObj = (Str, sep) => {
32
+ const strObj = {};
33
+ Str.split(sep).forEach((item) => {
34
+ const [key, value] = item.split("=");
35
+ if (key) {
36
+ strObj[key] = value || "";
37
+ }
38
+ });
39
+ return strObj;
40
+ };
41
+ var ObjToStr = (obj, sep) => {
42
+ return Object.entries(obj).filter(([k, v]) => v).map(([k, v]) => `${k}=${v}`).join(sep) + sep;
43
+ };
44
+ function filterData(user, defaults, Define) {
45
+ if (Array.isArray(user) && Array.isArray(defaults)) {
46
+ const DefineArray = Define;
47
+ if (DefineArray?.defaultConfigItem) {
48
+ const filtered = [];
49
+ const required = DefineArray.defaultConfigItem.required;
50
+ user.forEach((value, key) => {
51
+ if (required && lodash.isPlainObject(value)) {
52
+ const _value = value;
53
+ const hasAllRequired = required.every((requiredKey) => requiredKey in _value && _value[requiredKey] !== void 0 && _value[requiredKey] !== null && _value[requiredKey] !== "");
54
+ if (!hasAllRequired) return;
55
+ }
56
+ filtered[key] = filterData(value, DefineArray.defaultConfigItem.defaultConfig, DefineArray.defaultConfigItem.defaultConfig);
57
+ });
58
+ return filtered;
59
+ }
60
+ return user;
61
+ } else if (lodash.isPlainObject(user) && lodash.isPlainObject(defaults)) {
62
+ const filtered = {};
63
+ const _user = user;
64
+ const _defaults = defaults;
65
+ const mergedValue = lodash.merge({}, _defaults, _user);
66
+ const _Define = Define;
67
+ if (Define?.defaultConfig) {
68
+ lodash.forEach(_user, (value, key) => {
69
+ const mergedValue2 = lodash.merge(Array.isArray(value) ? [] : {}, Define.defaultConfig, value);
70
+ filtered[key] = filterData(mergedValue2, Define.defaultConfig, Array.isArray(value) ? _Define : _Define[key]);
71
+ });
72
+ }
73
+ lodash.forEach(_defaults, (value, key) => {
74
+ filtered[key] = filterData(mergedValue[key], value, _Define?.[key]);
75
+ });
76
+ return filtered;
77
+ }
78
+ return user;
79
+ }
80
+
81
+ export {
82
+ randomString,
83
+ getDeviceGuid,
84
+ StrToObj,
85
+ ObjToStr,
86
+ filterData,
87
+ common_exports
88
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  common_exports
3
- } from "./chunk-LG34FPBI.js";
3
+ } from "./chunk-5DXIT7UB.js";
4
4
  import {
5
5
  dir
6
6
  } from "./chunk-SHLPPEAY.js";
@@ -1,38 +1,36 @@
1
- import {
2
- DeviceInfo
3
- } from "./chunk-BH4S574A.js";
4
1
  import {
5
2
  MysGame
6
- } from "./chunk-BWFWWHCT.js";
3
+ } from "./chunk-2BVJS5VE.js";
7
4
  import {
8
5
  MysApp,
9
6
  MysHosts
10
7
  } from "./chunk-G5W5WAY5.js";
11
8
  import {
12
- MysDeviceInfoDB
13
- } from "./chunk-BNSHDFFN.js";
9
+ DeviceInfo
10
+ } from "./chunk-2WGBVGJM.js";
14
11
  import {
15
- MysUserInfoDB
16
- } from "./chunk-HTH25YE2.js";
12
+ Config
13
+ } from "./chunk-OYGNSYOG.js";
17
14
  import {
18
15
  MysAccountInfoDB
19
- } from "./chunk-7ZQQ76WC.js";
16
+ } from "./chunk-EDNBKOMS.js";
17
+ import {
18
+ MysDeviceInfoDB
19
+ } from "./chunk-3R37ZEXD.js";
20
+ import {
21
+ MysUserInfoDB
22
+ } from "./chunk-HJ6HX5HB.js";
20
23
  import {
21
24
  common_exports
22
- } from "./chunk-LG34FPBI.js";
25
+ } from "./chunk-5DXIT7UB.js";
23
26
  import {
24
27
  dir
25
28
  } from "./chunk-SHLPPEAY.js";
26
- import {
27
- Config
28
- } from "./chunk-BXA3VAQC.js";
29
29
 
30
30
  // src/exports/mys/api/apis.ts
31
31
  import lodash from "node-karin/lodash";
32
32
 
33
33
  // src/core/config/device.ts
34
- import path from "path";
35
- var ConfigPath = path.join(dir.ConfigDir, "device.json");
36
34
  var DefaultDevice = {
37
35
  version: 12,
38
36
  name: "aurora",
@@ -41,7 +39,7 @@ var DefaultDevice = {
41
39
  product: "aurora",
42
40
  fingerprint: "Xiaomi/aurora/aurora:12/V417IR/813:user/release-keys"
43
41
  };
44
- var DeviceCfg = new Config(`${dir.name}:device`, ConfigPath, DefaultDevice, {}).watch();
42
+ var DeviceCfg = new Config(`${dir.name}:device`, dir.ConfigDir, DefaultDevice, {}).watch();
45
43
 
46
44
  // src/exports/mys/api/define.ts
47
45
  import md5 from "md5";
@@ -344,6 +342,7 @@ var getDeviceFp = new DefineApi((self, data) => ({
344
342
  }));
345
343
 
346
344
  // src/exports/mys/user/userInfo.ts
345
+ import lodash2 from "node-karin/lodash";
347
346
  var BaseUserInfo = class {
348
347
  userId;
349
348
  ltuidMap = /* @__PURE__ */ new Map();
@@ -412,20 +411,28 @@ var UserInfo = class _UserInfo extends BaseUserInfo {
412
411
  let message = "";
413
412
  const uids = [];
414
413
  if (MysGame.num > 0) {
415
- const res = (await getUserGameRolesByCookie.init(options).request(null)).data;
414
+ const res = (await (await getUserGameRolesByCookie.initDevice(options)).request(null)).data;
416
415
  if (res?.retcode === 0) {
417
416
  await MysGame.forEachGame(async (Game) => {
418
- const uidList = Game.refresh(res.data.list);
417
+ const uidList = new Set(await Game.refresh(res.data.list, options));
419
418
  const userInfo = await Game.UserInfo.create(options.userId);
420
419
  const bindUids = userInfo.bind_uids;
421
420
  uidList.forEach((uid) => {
422
- if (!(uid in bindUids) || bindUids[uid].perm < perm) {
421
+ if (!bindUids[uid] || bindUids[uid].perm < perm) {
423
422
  bindUids[uid] = {
424
423
  perm,
425
424
  ltuid: options.ltuid
426
425
  };
427
426
  }
428
427
  });
428
+ lodash2.forEach(bindUids, (info, uid) => {
429
+ if (!uidList.has(uid) && info?.ltuid === options.ltuid) {
430
+ bindUids[uid] = {
431
+ perm: 0 /* BIND */,
432
+ ltuid: ""
433
+ };
434
+ }
435
+ });
429
436
  uids.push({
430
437
  name: Game.name,
431
438
  columnKey: Game.columnKey,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Sqlite3,
3
3
  Sqlite3Static
4
- } from "./chunk-EMAUATE3.js";
4
+ } from "./chunk-MPZP23EX.js";
5
5
 
6
6
  // src/exports/database/database.ts
7
7
  import { logger } from "node-karin";
@@ -1,15 +1,15 @@
1
1
  import {
2
- Table
3
- } from "./chunk-EAVXU4Q2.js";
2
+ createTable
3
+ } from "./chunk-G7TMVDGP.js";
4
4
  import {
5
5
  Database
6
- } from "./chunk-G547WVGV.js";
6
+ } from "./chunk-DMJ5OQR6.js";
7
7
  import {
8
8
  dir
9
9
  } from "./chunk-SHLPPEAY.js";
10
10
 
11
11
  // src/exports/database/tables/mysAccountInfo.ts
12
- var MysAccountInfoTable = new Table(
12
+ var MysAccountInfoTable = createTable(
13
13
  dir.DataDir,
14
14
  "mys_account_info_data",
15
15
  "db" /* Db */