@seayoo-web/app-info 0.1.0 → 0.2.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.
package/README.md CHANGED
@@ -1,21 +1,21 @@
1
1
  # app-info
2
2
 
3
- 读取 `.apk` `.ipa` `.app` 的应用元信息
3
+ 读取 `.apk` `.ipa` `.app` 的应用元信息,需要同时安装 `jszip@^3.10.1`
4
4
 
5
5
  ## 读取 apk 文件
6
6
 
7
7
  ```ts
8
- import { parseApk } from "@seayoo-web/app-info";
8
+ import { AndroidAppParser } from "@seayoo-web/app-info";
9
9
 
10
10
  // file 类型 Uint8Array | ArrayBuffer | Blob;
11
- const apkInfo = await parseApk(file, {
12
- // 可选项,是否忽略查找图标,设置为 true 可以节约解析时间
13
- ignoreIcon: false,
14
- });
15
- if (apkInfo instanceof Error) {
16
- console.log("apk parse error", apkInfo.message);
11
+ const parser = new AndroidAppParser(file);
12
+ // 可选 options 参数,可以设置忽略图标分析以节约解析时间
13
+ const appInfo = await parser.parse({ ignoreIcon: false });
14
+
15
+ if (appInfo instanceof Error) {
16
+ console.log("apk parse error", appInfo.message);
17
17
  } else {
18
- console.log(apkInfo);
18
+ console.log(appInfo);
19
19
  /**
20
20
  {
21
21
  "package": "...",
@@ -30,24 +30,15 @@ if (apkInfo instanceof Error) {
30
30
  ## 读取 ipa 文件
31
31
 
32
32
  ```ts
33
- import { parseIpa } from "@seayoo-web/app-info";
33
+ import { IosAppParser } from "@seayoo-web/app-info";
34
34
 
35
- const ipaInfo = await parseIpa(file, {
36
- /** 可选项,是否忽略查找图标 */
37
- ignoreIcon: false,
38
- /**
39
- * 可选项,查找更多模块的 plist 信息,传入模块名称,比如 "ComboSDKSentry"
40
- */
41
- frameworks: ["ComboSDKSentry"];
42
- /**
43
- * 可选项,读取更多文件信息,比如 "ComboSDK.json"
44
- */
45
- files: ["ComboSDK.json"];
46
- });
47
- if (ipaInfo instanceof Error) {
48
- console.log("ipa parse error", ipaInfo.message);
35
+ const parser = new IosAppParser(file);
36
+ const appInfo = await parser.parse({ ignoreIcon: false });
37
+
38
+ if (appInfo instanceof Error) {
39
+ console.log("ipa parse error", appInfo.message);
49
40
  } else {
50
- console.log(ipaInfo);
41
+ console.log(appInfo);
51
42
  /**
52
43
  {
53
44
  "package": "...",
@@ -55,39 +46,46 @@ if (ipaInfo instanceof Error) {
55
46
  "versionName": "9999.0.0",
56
47
  "icon": "...",
57
48
  "plist": {...},
58
- "frameworks": {
59
- "ComboSDKSentry": {...}
60
- },
61
- "files": {
62
- "ComboSDK.json": <ArrayBuffer>
63
- }
64
49
  }
65
50
  */
66
51
  }
52
+
53
+ // 读取指定模块的 plist 信息
54
+ const frameworkPlist = await parser.parseFramework("ComboSDKSentry");
55
+ if (frameworkPlist instanceof Error) {
56
+ console.log("ComboSDKSentry parse error", frameworkPlist.message);
57
+ } else {
58
+ console.log(frameworkPlist);
59
+ }
60
+
61
+ // 读取指定文件
62
+ const fileContent = await parser.readFile("ComboConfig.json");
63
+ if (fileContent instanceof Error) {
64
+ console.log("ComboConfig.json parse error", fileContent.message);
65
+ } else {
66
+ console.log(fileContent); // fileContent 类型为 ArrayBuffer
67
+ }
67
68
  ```
68
69
 
69
70
  ## 读取鸿蒙 app 文件
70
71
 
71
72
  ```ts
72
- import { parseHosApp } from "@seayoo-web/app-info";
73
+ import { HosAppParser } from "@seayoo-web/app-info";
73
74
 
74
- const hosAppInfo = await parseHosApp(file, {
75
- /** 可选项,是否忽略查找图标 */
76
- ignoreIcon: false,
77
- });
75
+ const parser = new HosAppParser(file);
76
+ const appInfo = await parser.parse({ ignoreIcon: false });
78
77
 
79
- if (hosAppInfo instanceof Error) {
80
- console.log("hos app parse error", hosAppInfo.message);
78
+ if (appInfo instanceof Error) {
79
+ console.log("hos app parse error", appInfo.message);
81
80
  } else {
82
- console.log(hosAppInfo);
81
+ console.log(appInfo);
83
82
  /**
84
83
  {
85
84
  "package": "...",
86
85
  "versionCode": 9999,
87
86
  "versionName": "9999.0.0",
88
87
  "icon": "...",
89
- "summary": {...},
90
- "packages": [...]
88
+ "pack": {...},
91
89
  }
92
90
  */
93
91
  }