Skip to content

Commit 9b189b6

Browse files
committed
update api
1 parent 8ed9f4c commit 9b189b6

2 files changed

Lines changed: 121 additions & 8 deletions

File tree

lavcode-docs/docs/usage/api.md

Lines changed: 121 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,35 @@ Lavcode 支持通过接口的方式存取数据
66

77
输入接口地址和密码即可使用
88

9-
本教程使用源码提供的 `lavcode-node` 快速部署接口
9+
## 后端接口方案
10+
11+
Lavcode 没有提供直接用的接口,因为大多数人都不愿意将密码存储到别人那里,因此你需要自行部署
12+
13+
源码提供两种方案实现后端接口。对于复杂需求,也可以仿照这两种方案实现自定义方案
14+
15+
1. 方案 1
16+
17+
[cloudbase](https://www.cloudbase.net/) + nodejs + [ipare](https://ipare.org)
18+
19+
源码目录 `lavcode-node`
20+
21+
此方案使用比较简单,适合零开发经验的用户,稍微有些开发经验就更好了
22+
23+
2. 方案 2
24+
25+
.NET6 + Asp + Sql Server
26+
27+
源码目录 `Lavcode.Asp`
28+
29+
此方案使用起来稍复杂,需要一定的开发基础
1030

1131
## 部署接口
1232

13-
Lavcode 没有提供直接用的接口,因为大多数人都不愿意将密码存储到别人那里,因此你需要自行部署
33+
此部分同样适用于 0 开发基础的普通用户
1434

15-
在源码 `lavcode-node` 文件夹中,提供了 `nodejs` + 腾讯云 `CloudBase` 的方式部署云接口
35+
使用源码提供的 `lavcode-node` 快速部署接口
1636

17-
你需要按以下步骤进行
37+
按以下步骤进行
1838

1939
1. 一键部署
2040

@@ -58,7 +78,7 @@ lavcode-node 使用了 nodejs 框架 [ipare](https://ipare.org),按 Restful
5878

5979
接口的默认页面是 `swagger`,同样是由 [ipare](https://ipare.org) 自动生成,你可以通过修改源码的方式隐藏 `swagger`
6080

61-
## 本地运行
81+
### 本地运行
6282

6383
你也可以选择本地运行 `lavcode-node`
6484

@@ -73,14 +93,107 @@ TENCENT_SECRET_ID=腾讯云 SecretId
7393

7494
`SecretKey``SecretId` 的获取参考 <https://cloud.tencent.com/developer/article/1385239>
7595

76-
用 vscode 打开 `lavcode-node` 目录,按 F5 即可启动调试
96+
先运行命令
97+
98+
```sh
99+
npm install
100+
```
101+
102+
然后用 vscode 打开 `lavcode-node` 目录,按 F5 即可启动调试
103+
104+
或执行命令
105+
106+
```sh
107+
npm start
108+
```
109+
110+
### 部署
111+
112+
可以本地部署,也可以使用 `GitHub Actions` 部署
113+
114+
#### 本地部署
115+
116+
与前面 `本地运行` 部分创建了 `.env.local` 文件类似,但只用确保包含下面内容
117+
118+
```
119+
SECRET_KEY=云接口密码
120+
ENV_ID=CloudBase 环境Id
121+
```
122+
123+
然后在 `lavcode-node` 目录,运行下面命令
124+
125+
```sh
126+
npm install
127+
128+
npx tcb login
129+
npx tcb framework deploy --mode local
130+
```
131+
132+
#### 使用 `GitHub Actions` 部署
133+
134+
1. 设置 GitHub Secrets
135+
136+
Fork 仓库后,设置 GitHub Secrets,添加如下 Secrets
137+
138+
- NODE_ENV_ID: CloudBase 环境 Id
139+
- NODE_SECRET_KEY: 云接口密码
140+
- TENCENT_SECRET_ID: 腾讯云 SecretId
141+
- TENCENT_SECRET_KEY: 腾讯云 SecretKey
142+
143+
![Secrets](./api/secrets.png)
144+
145+
`SecretKey``SecretId` 的获取参考 <https://cloud.tencent.com/developer/article/1385239>
146+
147+
2. 修改脚本
148+
149+
修改源码文件 `.github/workflows/publish-node.yml`
150+
151+
删除此行:`if: github.repository == 'hal-wang/Lavcode'`
152+
153+
3. 提交代码
154+
155+
上面操作完成后,每次提交代码,都会自动部署
156+
157+
## Lavcode.Asp 介绍
158+
159+
Lavcode.Asp 用 C# 语言开发,使用了 Asp.Net Core 框架,按 Restful 规范实现接口
160+
161+
数据库使用 Sql Server + EF,可以很方便的切换数据库,如 MySQL 或 Sqlite
162+
163+
接口的默认页面是 `swagger`,你可以通过修改源码的方式隐藏 `swagger`
164+
165+
### 本地运行
166+
167+
`Lavcode.Asp` 文件夹中,创建文件 `appsettings.local.json`,内容如
168+
169+
```json
170+
{
171+
"SecretKey": "your_secret_key",
172+
"ConnectionStrings": {
173+
"MSSQL": "Server=127.0.0.1;Database=Lavcode;uid=sa;Password=H;Encrypt=True;TrustServerCertificate=True;"
174+
}
175+
}
176+
```
177+
178+
- `SecretKey` 为云接口密码
179+
- `ConnectionStrings.MSSQL` 为数据库连接字符串,一般修改地址和端口即可
180+
181+
无需手动创建数据库,数据库会在首次运行时自动创建
182+
183+
使用 vs 2022 或更新版本打开 `Lavcode.sln`,启动项目选择 `Lavcode.Asp`,按下 F5 即可开始调试
184+
185+
### 部署
186+
187+
与其他 Asp.NET Core 项目部署方式相同
188+
189+
可以部署到 `IIS` / `Docker`/ `Apache`
77190

78-
或执行命令 `npm start`
191+
部署时别忘记修改 `appsettings.json` 文件中的 `SecretKey``ConnectionStrings.MSSQL`
79192

80193
## 安全性
81194

82195
云接口使用 [jwt](https://jwt.io/) 来保证接口不会被非法调用
83196

84197
## 开发接口
85198

86-
你也可以参考源码 `lavcode-node` 自己开发后端接口,能更灵活的更换语言框架和数据库
199+
你也可以参考源码提供的两种后端方案,自己开发后端接口,能更灵活的更换语言框架和数据库
79.2 KB
Loading

0 commit comments

Comments
 (0)