@lovrabet/cli 1.1.9 → 1.1.11

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 (51) hide show
  1. package/README.md +51 -0
  2. package/lib/add-page/input-page-router.js +1 -1
  3. package/lib/add-page/main.js +1 -1
  4. package/lib/add-page/select-page-template.js +1 -1
  5. package/lib/api/api-doc-ui.js +1 -0
  6. package/lib/api/api-doc.js +1 -0
  7. package/lib/api/api-pull-ui.js +1 -1
  8. package/lib/api/fetch-datasets.js +1 -0
  9. package/lib/api/format-dataset.js +1 -1
  10. package/lib/api/generate-api-file.js +1 -1
  11. package/lib/api/main.js +1 -1
  12. package/lib/api/pull-silent.js +1 -1
  13. package/lib/api/pull.js +1 -1
  14. package/lib/auth/auth-server-ui.js +1 -1
  15. package/lib/auth/auth-server.js +1 -1
  16. package/lib/auth/constant.js +1 -1
  17. package/lib/auth/get-cookie.js +1 -1
  18. package/lib/auth/is-session-valid.js +1 -1
  19. package/lib/auth/logout.js +1 -1
  20. package/lib/cli.js +1 -1
  21. package/lib/cmd/build-watch.js +1 -1
  22. package/lib/cmd/build.js +1 -1
  23. package/lib/cmd/logs.js +1 -1
  24. package/lib/cmd/preview.js +1 -1
  25. package/lib/cmd/start.js +1 -1
  26. package/lib/config/config-help.js +1 -1
  27. package/lib/config/main.js +1 -1
  28. package/lib/constant/domain.js +1 -1
  29. package/lib/constant/env.js +1 -1
  30. package/lib/create-app/enhanced-guided-create.js +1 -1
  31. package/lib/create-app/format-elapsed.js +1 -1
  32. package/lib/create-app/main.js +1 -1
  33. package/lib/create-app/task-finished.js +1 -1
  34. package/lib/create-app/task-loading.js +1 -1
  35. package/lib/create-app/task-running.js +1 -1
  36. package/lib/create-app/task-time.js +1 -1
  37. package/lib/create-app/use-copy-project-template.js +1 -1
  38. package/lib/create-app/use-format-code.js +1 -1
  39. package/lib/create-app/use-install-dependencies.js +1 -1
  40. package/lib/help.js +1 -1
  41. package/lib/utils/config.js +1 -1
  42. package/lib/utils/copy-directory.js +1 -1
  43. package/lib/utils/http-client.js +1 -1
  44. package/lib/utils/logger.js +1 -1
  45. package/lib/utils/router-updater.js +1 -1
  46. package/lib/utils/template-replacer.js +1 -1
  47. package/package.json +1 -1
  48. package/templates/pages/sdk-fetch/index.tsx.tpl +41 -52
  49. package/templates/projects/sub-app-react-demo/package-lock.json +5 -4
  50. package/templates/projects/sub-app-react-demo/package.json +1 -1
  51. package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +42 -28
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from "react";
2
2
  import { Button, Table, Card, Typography, Space, message, Select } from "antd";
3
3
  import { ApiOutlined } from "@ant-design/icons";
4
4
  import { lovrabetClient } from "../../api/client";
5
+ import { SortOrder } from "@lovrabet/sdk";
5
6
 
6
7
  const { Title, Paragraph } = Typography;
7
8
 
@@ -10,7 +11,7 @@ export default function SdkDemo() {
10
11
  const [data, setData] = useState<any[]>([]);
11
12
  const [columns, setColumns] = useState<any[]>([]);
12
13
  const [modelList, setModelList] = useState<string[]>([]);
13
- const [selectedModel, setSelectedModel] = useState<string>('');
14
+ const [selectedModel, setSelectedModel] = useState<string>("");
14
15
 
15
16
  /**
16
17
  * 加载可用的数据模型列表
@@ -24,8 +25,8 @@ export default function SdkDemo() {
24
25
  setSelectedModel(models[0]);
25
26
  }
26
27
  } catch (error) {
27
- console.error('获取模型列表失败:', error);
28
- message.error('获取模型列表失败');
28
+ console.error("获取模型列表失败:", error);
29
+ message.error("获取模型列表失败");
29
30
  }
30
31
  }, []);
31
32
 
@@ -34,7 +35,7 @@ export default function SdkDemo() {
34
35
  */
35
36
  const loadDataWithSyntaxSugar = async () => {
36
37
  if (!selectedModel) {
37
- message.warning('请先选择一个数据模型');
38
+ message.warning("请先选择一个数据模型");
38
39
  return;
39
40
  }
40
41
 
@@ -60,7 +61,7 @@ export default function SdkDemo() {
60
61
  */
61
62
  const loadDataWithNormalMode = async () => {
62
63
  if (!selectedModel) {
63
- message.warning('请先选择一个数据模型');
64
+ message.warning("请先选择一个数据模型");
64
65
  return;
65
66
  }
66
67
 
@@ -122,7 +123,8 @@ export default function SdkDemo() {
122
123
  <Paragraph style={{ color: "#666", marginBottom: 24 }}>
123
124
  演示 Lovrabet SDK 的两种调用方式。对比体验语法糖模式和正常模式的差异。
124
125
  <br />
125
- <strong>注意:</strong>代码示例中的 "Requirements" 是假设已经存在的数据模型名称,实际使用时请根据下拉框中的可用模型进行选择。
126
+ <strong>注意:</strong>代码示例中的 "Requirements"
127
+ 是假设已经存在的数据模型名称,实际使用时请根据下拉框中的可用模型进行选择。
126
128
  </Paragraph>
127
129
 
128
130
  {/* 数据模型选择 */}
@@ -133,7 +135,7 @@ export default function SdkDemo() {
133
135
  style={{ width: 250 }}
134
136
  value={selectedModel}
135
137
  onChange={setSelectedModel}
136
- options={modelList.map(model => ({
138
+ options={modelList.map((model) => ({
137
139
  label: model,
138
140
  value: model,
139
141
  }))}
@@ -160,23 +162,31 @@ export default function SdkDemo() {
160
162
 
161
163
  {/* 代码示例 */}
162
164
  <Card title="两种调用方式对比" size="small" style={{ marginBottom: 16 }}>
163
- <div style={{ display: 'flex', gap: '16px' }}>
165
+ <div style={{ display: "flex", gap: "16px" }}>
164
166
  {/* 语法糖模式 */}
165
167
  <div style={{ flex: 1 }}>
166
- <div style={{ fontWeight: 'bold', marginBottom: '8px', color: '#1890ff' }}>
168
+ <div
169
+ style={{
170
+ fontWeight: "bold",
171
+ marginBottom: "8px",
172
+ color: "#1890ff",
173
+ }}
174
+ >
167
175
  🍬 语法糖模式(推荐)
168
176
  </div>
169
- <pre style={{
170
- background: "#f0f8ff",
171
- padding: "12px",
172
- borderRadius: "4px",
173
- margin: 0,
174
- fontSize: "13px",
175
- border: "1px solid #1890ff"
176
- }}>
177
+ <pre
178
+ style={{
179
+ background: "#f0f8ff",
180
+ padding: "12px",
181
+ borderRadius: "4px",
182
+ margin: 0,
183
+ fontSize: "13px",
184
+ border: "1px solid #1890ff",
185
+ }}
186
+ >
177
187
  {`// 一行代码搞定!
178
188
  const response = await lovrabetClient
179
- .models.${selectedModel || 'Requirements'}.getList({
189
+ .models.${selectedModel || "Requirements"}.getList({
180
190
  currentPage: 1,
181
191
  pageSize: 10
182
192
  });`}
@@ -185,20 +195,24 @@ const response = await lovrabetClient
185
195
 
186
196
  {/* 正常模式 */}
187
197
  <div style={{ flex: 1 }}>
188
- <div style={{ fontWeight: 'bold', marginBottom: '8px', color: '#666' }}>
198
+ <div
199
+ style={{ fontWeight: "bold", marginBottom: "8px", color: "#666" }}
200
+ >
189
201
  🔧 正常模式
190
202
  </div>
191
- <pre style={{
192
- background: "#f5f5f5",
193
- padding: "12px",
194
- borderRadius: "4px",
195
- margin: 0,
196
- fontSize: "13px",
197
- border: "1px solid #d9d9d9"
198
- }}>
203
+ <pre
204
+ style={{
205
+ background: "#f5f5f5",
206
+ padding: "12px",
207
+ borderRadius: "4px",
208
+ margin: 0,
209
+ fontSize: "13px",
210
+ border: "1px solid #d9d9d9",
211
+ }}
212
+ >
199
213
  {`// 分步骤调用
200
214
  const model = lovrabetClient
201
- .getModel('${selectedModel || 'Requirements'}');
215
+ .getModel('${selectedModel || "Requirements"}');
202
216
 
203
217
  const response = await model.getList({
204
218
  currentPage: 1,