ol-base-components 3.5.0 → 3.5.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol-base-components",
3
- "version": "3.5.0",
3
+ "version": "3.5.1",
4
4
  "private": false,
5
5
  "main": "dist/index.umd.js",
6
6
  "module": "dist/index.mjs",
package/src/api/init.js CHANGED
@@ -1,34 +1,73 @@
1
1
  #!/usr/bin/env node
2
- // 就是执行api.js和run.js脚本 npx init http://xxxx
3
2
  const { spawn } = require("child_process");
4
3
  const path = require("path");
4
+ const fs = require("fs");
5
5
 
6
- // 获取命令行参数并设置默认值
7
- const swaggerUrl = process.argv[2];
6
+ // 获取命令行参数
7
+ let swaggerUrl = process.argv[2];
8
+
9
+ // 提取 baseURL 的函数
10
+ // 目录结构
11
+ // ├── public
12
+ // │ ├── configBaseUrl.js
13
+ // window.global_config = {
14
+ // // baseURL: "http://220.179.227.4:20040",
15
+ // baseURL: "http://192.168.101.113:6005",
16
+ // swaggerUrl: "/ctc",
17
+ // };
18
+ async function extractSwaggerUrl() {
19
+ const configPath = path.join(process.cwd(), "public", "configBaseUrl.js");
20
+
21
+ if (!fs.existsSync(configPath)) {
22
+ console.error("\n❌ 错误: 找不到 configBaseUrl.js 文件");
23
+ console.error(`路径: ${configPath}`);
24
+ return null;
25
+ }
26
+
27
+ try {
28
+ const configContent = fs.readFileSync(configPath, "utf8");
29
+ // 使用正则表达式提取 baseURL(排除注释行,支持缩进)
30
+ const baseURLMatch = configContent.match(/^\s*[^\/]*baseURL:\s*["']([^"']+)["']/m);
31
+
32
+ if (!baseURLMatch) {
33
+ console.error("\n❌ 错误: 无法从 configBaseUrl.js 中提取 baseURL");
34
+ console.error("请确保配置文件中有类似这样的配置:");
35
+ console.error(" window.config = { baseURL: 'http://your-swagger-url' }");
36
+ return null;
37
+ }
38
+
39
+ const baseURL = baseURLMatch[1] || "";
40
+ if (!baseURL) {
41
+ console.error("\n❌ 错误: baseURL 为空");
42
+ return null;
43
+ }
44
+
45
+ return baseURL;
46
+ } catch (err) {
47
+ console.error("\n❌ 读取配置文件失败:", err.message);
48
+ return null;
49
+ }
50
+ }
8
51
 
9
52
  // 执行 api.js 脚本
10
53
  function runApiScript() {
11
54
  return new Promise((resolve, reject) => {
12
55
  console.log("📝 正在执行 swagger 脚本...");
13
56
 
14
- const apiProcess = spawn(
15
- "node",
16
- [path.join(__dirname, "api.js"), swaggerUrl],
17
- {
18
- stdio: "inherit",
19
- }
20
- );
57
+ const apiProcess = spawn("node", [path.join(__dirname, "api.js"), swaggerUrl], {
58
+ stdio: "inherit",
59
+ });
21
60
 
22
- apiProcess.on("close", (code) => {
61
+ apiProcess.on("close", code => {
23
62
  if (code === 0) {
24
- console.log("✅ swagger脚本执行完成\n");
63
+ console.log("✅ swagger脚本执行完成");
25
64
  resolve();
26
65
  } else {
27
66
  reject(new Error(`swagger 脚本执行失败,退出码: ${code}`));
28
67
  }
29
68
  });
30
69
 
31
- apiProcess.on("error", (err) => {
70
+ apiProcess.on("error", err => {
32
71
  reject(new Error(`执行 swagger 时出错: ${err.message}`));
33
72
  });
34
73
  });
@@ -39,39 +78,82 @@ function runRunScript() {
39
78
  return new Promise((resolve, reject) => {
40
79
  console.log("🔧 正在执行 接口 脚本...");
41
80
 
42
- const runProcess = spawn(
43
- "node",
44
- [path.join(__dirname, "run.js"), swaggerUrl],
45
- {
46
- stdio: "inherit",
47
- }
48
- );
81
+ const runProcess = spawn("node", [path.join(__dirname, "run.js"), swaggerUrl], {
82
+ stdio: "inherit",
83
+ });
49
84
 
50
- runProcess.on("close", (code) => {
85
+ runProcess.on("close", code => {
51
86
  if (code === 0) {
52
- console.log("✅ 接口 脚本执行完成\n");
87
+ console.log("✅ 接口脚本执行完成");
53
88
  resolve();
54
89
  } else {
55
- reject(new Error(`接口 脚本执行失败,退出码: ${code}`));
90
+ reject(new Error(`接口脚本执行失败,退出码: ${code}`));
56
91
  }
57
92
  });
58
93
 
59
- runProcess.on("error", (err) => {
94
+ runProcess.on("error", err => {
60
95
  reject(new Error(`执行 接口 时出错: ${err.message}`));
61
96
  });
62
97
  });
63
98
  }
64
99
 
100
+ // 执行 fetch-swagger.js 脚本
101
+ function runFetchSwaggerScript() {
102
+ return new Promise((resolve, reject) => {
103
+ console.log("📥 正在下载 swagger.json...");
104
+
105
+ const fetchProcess = spawn("node", [path.join(__dirname, "../bin/fetch-swagger.js")], {
106
+ stdio: "inherit",
107
+ });
108
+
109
+ fetchProcess.on("close", code => {
110
+ if (code === 0) {
111
+ console.log("✅ swagger.json 下载完成");
112
+ resolve();
113
+ } else {
114
+ reject(new Error(`swagger.json 下载失败,退出码: ${code}`));
115
+ }
116
+ });
117
+
118
+ fetchProcess.on("error", err => {
119
+ reject(new Error(`执行 fetch-swagger 时出错: ${err.message}`));
120
+ });
121
+ });
122
+ }
123
+
65
124
  // 主执行函数
66
125
  async function main() {
67
126
  try {
127
+ // 如果命令行没有传参,尝试从配置文件提取
128
+ if (!swaggerUrl) {
129
+ console.log("🔍 未指定 URL,正在从 configBaseUrl.js 自动检测...");
130
+ const extractedUrl = await extractSwaggerUrl();
131
+ if (extractedUrl) {
132
+ swaggerUrl = extractedUrl;
133
+ console.log(`✨ 自动检测到 baseURL: ${swaggerUrl}`);
134
+ }
135
+ }
136
+
137
+ // 检查是否有有效的 URL
138
+ if (!swaggerUrl) {
139
+ console.error("\n❌ 错误: 无法获取有效的 swagger URL");
140
+ console.error("请手动指定 URL,用法:");
141
+ console.error(" npx ol-base-components init http://your-swagger-url");
142
+ process.exit(1);
143
+ }
144
+
145
+ console.log(`\n🚀 开始初始化,URL: ${swaggerUrl}`);
146
+
68
147
  // 先执行 api.js
69
148
  await runApiScript();
70
149
 
71
150
  // 再执行 run.js
72
151
  await runRunScript();
73
152
 
74
- console.log("🎉 所有脚本执行完成!");
153
+ // 最后执行 fetch-swagger.js 下载 swagger.json
154
+ await runFetchSwaggerScript();
155
+
156
+ console.log("\n🎉 所有脚本执行完成!");
75
157
  } catch (error) {
76
158
  console.error("❌ 执行过程中出现错误:", error.message);
77
159
  process.exit(1);
@@ -79,4 +161,4 @@ async function main() {
79
161
  }
80
162
 
81
163
  // 执行主函数
82
- main();
164
+ main();