zcw-shared 1.37.0 → 1.38.0

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 (59) hide show
  1. package/README.md +8 -0
  2. package/dist/functions/android/modifyGradle.d.ts +1 -0
  3. package/dist/functions/android/modifyGradle.js +45 -0
  4. package/dist/functions/android/modifyGradle.js.map +1 -1
  5. package/dist/functions/auth/parseJwtPayload.d.ts +7 -0
  6. package/dist/functions/auth/parseJwtPayload.js +33 -0
  7. package/dist/functions/auth/parseJwtPayload.js.map +1 -0
  8. package/dist/functions/browser/isWeChat.d.ts +5 -0
  9. package/dist/functions/browser/isWeChat.js +5 -0
  10. package/dist/functions/browser/isWeChat.js.map +1 -0
  11. package/dist/functions/ios/integrateNativePlugin.d.ts +31 -0
  12. package/dist/functions/ios/integrateNativePlugin.js +597 -0
  13. package/dist/functions/ios/integrateNativePlugin.js.map +1 -0
  14. package/dist/functions/ios/integrateQQShare.d.ts +14 -0
  15. package/dist/functions/ios/integrateQQShare.js +132 -0
  16. package/dist/functions/ios/integrateQQShare.js.map +1 -0
  17. package/dist/functions/ios/integrateSinaShare.d.ts +16 -0
  18. package/dist/functions/ios/integrateSinaShare.js +108 -0
  19. package/dist/functions/ios/integrateSinaShare.js.map +1 -0
  20. package/dist/functions/ios/integrateThirdPartyModule.d.ts +62 -0
  21. package/dist/functions/ios/integrateThirdPartyModule.js +874 -0
  22. package/dist/functions/ios/integrateThirdPartyModule.js.map +1 -0
  23. package/dist/functions/ios/integrateWechatOauth.d.ts +14 -0
  24. package/dist/functions/ios/integrateWechatOauth.js +107 -0
  25. package/dist/functions/ios/integrateWechatOauth.js.map +1 -0
  26. package/dist/functions/ios/integrateWechatShare.d.ts +14 -0
  27. package/dist/functions/ios/integrateWechatShare.js +101 -0
  28. package/dist/functions/ios/integrateWechatShare.js.map +1 -0
  29. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +128 -35
  30. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  31. package/dist/functions/uniapp/app-plus/buildIOSApp.d.ts +27 -0
  32. package/dist/functions/uniapp/app-plus/buildIOSApp.js +849 -0
  33. package/dist/functions/uniapp/app-plus/buildIOSApp.js.map +1 -0
  34. package/dist/functions/uniapp/parseManifest.d.ts +2 -0
  35. package/dist/functions/uniapp/parseManifest.js +3 -1
  36. package/dist/functions/uniapp/parseManifest.js.map +1 -1
  37. package/dist/vue-hooks/browser/useWechatEnv.d.ts +10 -0
  38. package/dist/vue-hooks/browser/useWechatEnv.js +23 -0
  39. package/dist/vue-hooks/browser/useWechatEnv.js.map +1 -0
  40. package/dist/vue-hooks/browser/useWechatJSSDK.d.ts +47 -0
  41. package/dist/vue-hooks/browser/useWechatJSSDK.js +174 -0
  42. package/dist/vue-hooks/browser/useWechatJSSDK.js.map +1 -0
  43. package/dist/vue-hooks/state/useGlobalSettingsManager.d.ts +2 -6
  44. package/dist/vue-hooks/state/useGlobalSettingsManager.js +20 -19
  45. package/dist/vue-hooks/state/useGlobalSettingsManager.js.map +1 -1
  46. package/dist/vue-hooks/state/useSystemSettingsManager.d.ts +2 -6
  47. package/dist/vue-hooks/state/useSystemSettingsManager.js +16 -15
  48. package/dist/vue-hooks/state/useSystemSettingsManager.js.map +1 -1
  49. package/dist/vue-hooks/state/useTokenManager.d.ts +2 -6
  50. package/dist/vue-hooks/state/useTokenManager.js +16 -15
  51. package/dist/vue-hooks/state/useTokenManager.js.map +1 -1
  52. package/dist/vue-hooks/state/useUserManager.d.ts +2 -6
  53. package/dist/vue-hooks/state/useUserManager.js +14 -13
  54. package/dist/vue-hooks/state/useUserManager.js.map +1 -1
  55. package/package.json +14 -1
  56. package/references/wechat.d.ts +8 -0
  57. package/types/ios-build.d.ts +47 -0
  58. package/types/uniapp-android-build.d.ts +10 -0
  59. package/types/uniapp-ios-build.d.ts +131 -0
package/README.md CHANGED
@@ -162,6 +162,14 @@ export interface MyFunctionDeps {
162
162
  import type { Ref } from '../../references/vue.d' // Vue 没有 references 文件
163
163
  ```
164
164
 
165
+ #### 规则 7:存储能力统一通过 `useStorage`
166
+
167
+ - 不允许直接依赖 `localStorage` / `sessionStorage` 等同步 API
168
+ - 必须组合 `useStorage` 与具体适配器(如 `useLocalStorage`、`useSessionStorage`、`useStorageWithIndexedDB`)创建 `storage` 对象
169
+ - Env 类型统一定义为 `ReturnType<typeof useStorage<string>>`(或自定义 value 类型)
170
+ - 在实现中仅使用 `storage.get/set/remove/clear` 等 Promise API,避免混用同步方法
171
+ - Playground、测试、文档示例同样需要使用 `useStorage`,确保行为与生产代码一致
172
+
165
173
  #### 规则 5:每个函数维护自己完整的依赖,不要分散
166
174
 
167
175
  ```typescript
@@ -18,6 +18,7 @@ export interface GradleModificationOptions {
18
18
  keyAlias: string;
19
19
  keyPassword: string;
20
20
  };
21
+ dependencies?: string[];
21
22
  }
22
23
  export declare function modifyGradle(buildGradlePath: string, options: GradleModificationOptions, deps: ModifyGradleDeps): Promise<{
23
24
  success: boolean;
@@ -44,6 +44,48 @@ export async function modifyGradle(buildGradlePath, options, deps) {
44
44
  }
45
45
  }
46
46
  }
47
+ if (options.dependencies && options.dependencies.length > 0) {
48
+ const dependenciesRegex = /dependencies\s*\{/;
49
+ if (dependenciesRegex.test(buildGradleContent)) {
50
+ for (const dependency of options.dependencies) {
51
+ const depMatch = dependency.match(/([^:]+:[^:]+:[^:]+)/);
52
+ if (depMatch) {
53
+ const depId = depMatch[1];
54
+ const escapedDepId = depId.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
55
+ const depPattern = new RegExp(`implementation\\s+['"]${escapedDepId}[^'"]*['"]`, 'g');
56
+ if (!depPattern.test(buildGradleContent)) {
57
+ const depInsertionPoint = buildGradleContent.search(dependenciesRegex);
58
+ if (depInsertionPoint !== -1) {
59
+ const afterDependencies = buildGradleContent.substring(depInsertionPoint);
60
+ const firstDepMatch = afterDependencies.match(/dependencies\s*\{\s*\n/);
61
+ let insertPos;
62
+ let indent;
63
+ if (firstDepMatch) {
64
+ insertPos = depInsertionPoint + firstDepMatch[0].length;
65
+ indent = firstDepMatch[0].match(/\n(\s*)/)?.[1] || ' ';
66
+ }
67
+ else {
68
+ const openBracePos = buildGradleContent.indexOf('{', depInsertionPoint);
69
+ insertPos = openBracePos !== -1 ? openBracePos + 1 : depInsertionPoint;
70
+ indent = ' ';
71
+ }
72
+ buildGradleContent = buildGradleContent.slice(0, insertPos) +
73
+ `${indent}implementation '${dependency}'\n` +
74
+ buildGradleContent.slice(insertPos);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ else {
81
+ let dependenciesBlock = `\n\ndependencies {\n`;
82
+ for (const dependency of options.dependencies) {
83
+ dependenciesBlock += ` implementation '${dependency}'\n`;
84
+ }
85
+ dependenciesBlock += `}\n`;
86
+ buildGradleContent += dependenciesBlock;
87
+ }
88
+ }
47
89
  deps.writeFileSync(buildGradlePath, buildGradleContent);
48
90
  const modifications = [];
49
91
  if (options.applicationId)
@@ -54,6 +96,9 @@ export async function modifyGradle(buildGradlePath, options, deps) {
54
96
  modifications.push(`versionCode=${options.versionCode}`);
55
97
  if (options.signing)
56
98
  modifications.push('签名配置已添加');
99
+ if (options.dependencies && options.dependencies.length > 0) {
100
+ modifications.push(`已添加 ${options.dependencies.length} 个依赖`);
101
+ }
57
102
  return {
58
103
  success: true,
59
104
  message: `build.gradle 修改完成: ${modifications.join(', ')}`
@@ -1 +1 @@
1
- {"version":3,"file":"modifyGradle.js","sourceRoot":"","sources":["../../../src/functions/android/modifyGradle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modifyGradle.js","sourceRoot":"","sources":["../../../src/functions/android/modifyGradle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Console } from '../../../references/console.d';
2
+ export interface ParseJwtPayloadDeps {
3
+ base64Decode: (value: string) => string;
4
+ consoleError?: Console['error'];
5
+ }
6
+ export declare function parseJwtPayload<TPayload extends Record<string, any> = Record<string, any>>(token: string, deps: ParseJwtPayloadDeps): TPayload | null;
7
+ export declare function extractJwtSubject(token: string, deps: ParseJwtPayloadDeps): string | null;
@@ -0,0 +1,33 @@
1
+ export function parseJwtPayload(token, deps) {
2
+ if (!token)
3
+ return null;
4
+ const parts = token.split('.');
5
+ if (parts.length !== 3)
6
+ return null;
7
+ try {
8
+ const normalized = normalizeBase64Url(parts[1]);
9
+ const decoded = deps.base64Decode(normalized);
10
+ return JSON.parse(decoded);
11
+ }
12
+ catch (error) {
13
+ deps.consoleError?.('[parseJwtPayload] Failed to parse JWT payload', error);
14
+ return null;
15
+ }
16
+ }
17
+ export function extractJwtSubject(token, deps) {
18
+ const payload = parseJwtPayload(token, deps);
19
+ return typeof payload?.sub === 'string' ? payload.sub : null;
20
+ }
21
+ function normalizeBase64Url(input) {
22
+ let output = input.replace(/-/g, '+').replace(/_/g, '/');
23
+ const pad = output.length % 4;
24
+ if (pad === 2)
25
+ output += '==';
26
+ else if (pad === 3)
27
+ output += '=';
28
+ else if (pad !== 0 && pad !== 2 && pad !== 3) {
29
+ output += '='.repeat((4 - pad) % 4);
30
+ }
31
+ return output;
32
+ }
33
+ //# sourceMappingURL=parseJwtPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseJwtPayload.js","sourceRoot":"","sources":["../../../src/functions/auth/parseJwtPayload.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,IAAyB;IAEzB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEnC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAA;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,EAAE,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,IAAyB;IAEzB,MAAM,OAAO,GAAG,eAAe,CAAmB,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9D,OAAO,OAAO,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACxD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7B,IAAI,GAAG,KAAK,CAAC;QAAE,MAAM,IAAI,IAAI,CAAA;SACxB,IAAI,GAAG,KAAK,CAAC;QAAE,MAAM,IAAI,GAAG,CAAA;SAC5B,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Navigator } from '../../../references/browser.d';
2
+ export interface IsWeChatDeps {
3
+ userAgent: Navigator['userAgent'];
4
+ }
5
+ export declare function isWeChat(deps: IsWeChatDeps): boolean;
@@ -0,0 +1,5 @@
1
+ export function isWeChat(deps) {
2
+ const wechatRegex = /MicroMessenger/i;
3
+ return wechatRegex.test(deps.userAgent);
4
+ }
5
+ //# sourceMappingURL=isWeChat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isWeChat.js","sourceRoot":"","sources":["../../../src/functions/browser/isWeChat.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,QAAQ,CAAC,IAAkB;IAEzC,MAAM,WAAW,GAAG,iBAAiB,CAAA;IACrC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACzC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { FileSystem, Path, ChildProcess } from '../../../references/node.d';
2
+ import type { JSON5Parser } from '../../../references/json5.d';
3
+ import type { XMLParserConstructor, XMLSerializerConstructor } from '../../../references/xml.d';
4
+ export interface IntegrateNativePluginIOSDeps {
5
+ existsSync: FileSystem['existsSync'];
6
+ readFileSync: FileSystem['readFileSync'];
7
+ writeFileSync: FileSystem['writeFileSync'];
8
+ copyFileSync: FileSystem['copyFileSync'];
9
+ statSync: FileSystem['statSync'];
10
+ mkdirSync: FileSystem['mkdirSync'];
11
+ readdirSync: FileSystem['readdirSync'];
12
+ cp: FileSystem['promises']['cp'];
13
+ join: Path['join'];
14
+ dirname: Path['dirname'];
15
+ basename: Path['basename'];
16
+ exec: ChildProcess['exec'];
17
+ parse: JSON5Parser['parse'];
18
+ xmlParser: XMLParserConstructor;
19
+ xmlSerializer: XMLSerializerConstructor;
20
+ }
21
+ export interface NativePluginItem {
22
+ type: string;
23
+ name: string;
24
+ class: string;
25
+ }
26
+ export declare function integrateNativePluginIOS(projectPath: string, projectName: string, pluginPath: string, deps: IntegrateNativePluginIOSDeps, parameters?: Record<string, string>): Promise<{
27
+ success: boolean;
28
+ message?: string;
29
+ error?: string;
30
+ logs: string[];
31
+ }>;