云接口

不想看废话的,就直接转到后面 “部署接口” 部分

Lavcode 支持通过接口的方式存取数据

在选择 “数据存储位置” 界面,选择云接口

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

后端接口方案

Lavcode 没有提供直接用的接口,因为大多数人都不愿意将密码存储到别人那里,因此你需要自行部署

源码提供两种方案实现后端接口。对于复杂需求,也可以仿照这两种方案实现自定义方案

  1. 方案 1

cloudbaseopen in new window + nodejs + ipareopen in new window

源码目录 src/lavcode-node

此方案使用比较简单,适合零开发经验的用户,稍微有些开发经验就更好了

  1. 方案 2

.NET6 + Asp + Sql Server

源码目录 Lavcode.Asp

此方案使用起来稍复杂,需要一定的开发基础

部署接口

此部分同样适用于零开发基础的普通用户,“有图有真相”

使用源码提供的 src/lavcode-node 快速部署接口

按以下步骤进行

  1. 一键部署

open in new window

  1. 设置环境变量

设置环境变量步骤如下

(1) 选择 “我的应用”,点击 Lavcode 右侧的 “管理”

管理

(2) 点击编辑按钮,以打开编辑开关

编辑环境变量

(3) 点击 “新建环境变量” 按钮,添加环境变量 SECRET_KEY,值作为云接口密码,然后点 “保存并部署”,等待部署完毕。请尽量设置复杂密码并保管好。

添加环境变量

  1. 查看域名并连接

(1) 点击左侧菜单 “环境” -> “访问服务”,查看默认域名。也可以添加自定义域名(如果了解域名,建议添加,不加也没影响,等于废话

查看域名

(2) 在 Lavcode 客户端,存储方式选择云接口,地址为 https://域名/v1,密码为前面的环境变量设置的密码 SECRET_KEY

https://env-yourenvid-123456789.ap-shanghai.app.tcloudbase.com/v1

登录

lavcode-node 介绍

lavcode-node 使用了 nodejs 框架 ipareopen in new window,按 Restful 规范实现接口

接口的默认页面是 swagger,同样是由 ipareopen in new window 自动生成,你可以通过修改源码的方式隐藏 swagger

本地运行

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

fork 并 clone 项目后,在 src/lavcode-node 目录下新增 .env.local 文件,内如如下

SECRET_KEY=云接口密码
ENV_ID=CloudBase 环境Id
TENCENT_SECRET_KEY=腾讯云 SecretKey
TENCENT_SECRET_ID=腾讯云 SecretId

SecretKeySecretId 的获取参考 https://cloud.tencent.com/developer/article/1385239open in new window

先运行命令

npm install

然后用 vscode 打开 src/lavcode-node 目录,按 F5 即可启动调试

或执行命令

npm start

部署

可以本地部署,也可以使用 GitHub Actions 部署

本地部署

与前面 本地运行 部分创建了 .env.local 文件类似,但只用确保包含下面内容

SECRET_KEY=云接口密码
ENV_ID=CloudBase 环境Id

然后在 src/lavcode-node 目录,运行下面命令

npm install

npx tcb login
npx tcb framework deploy --mode local

使用 GitHub Actions 部署

  1. 设置 GitHub Secrets

Fork 仓库后,设置 GitHub Secrets,添加如下 Secrets

  • NODE_ENV_ID: CloudBase 环境 Id
  • NODE_SECRET_KEY: 云接口密码
  • TENCENT_SECRET_ID: 腾讯云 SecretId
  • TENCENT_SECRET_KEY: 腾讯云 SecretKey

Secrets

SecretKeySecretId 的获取参考 https://cloud.tencent.com/developer/article/1385239open in new window

  1. 修改脚本

修改源码文件 .github/workflows/publish-node.yml

删除此行:if: github.repository == 'hal-wang/Lavcode'

  1. 提交代码

上面操作完成后,每次提交代码,都会自动部署

Lavcode.Asp 介绍

Lavcode.Asp 用 C# 语言开发,使用了 Asp.Net Core 框架,按 Restful 规范实现接口

数据库使用 Sql Server + EF,可以很方便的切换数据库,如 MySQL 或 Sqlite

接口的默认页面是 swagger,你可以通过修改源码的方式隐藏 swagger

本地运行

Lavcode.Asp 文件夹中,创建文件 appsettings.local.json,内容如

{
  "SecretKey": "your_secret_key",
  "ConnectionStrings": {
    "MSSQL": "Server=127.0.0.1;Database=Lavcode;uid=sa;Password=H;Encrypt=True;TrustServerCertificate=True;"
  }
}
  • SecretKey 为云接口密码
  • ConnectionStrings.MSSQL 为数据库连接字符串,一般修改地址和端口即可

无需手动创建数据库,数据库会在首次运行时自动创建

使用 vs 2022 或更新版本打开 Lavcode.sln,启动项目选择 Lavcode.Asp,按下 F5 即可开始调试

部署

与其他 Asp.NET Core 项目部署方式相同

可以部署到 IIS / Docker/ Apache

部署时别忘记修改 appsettings.json 文件中的 SecretKeyConnectionStrings.MSSQL

安全性

云接口使用 jwtopen in new window 来保证接口不会被非法调用

开发接口

你也可以参考源码提供的两种后端方案,自己开发后端接口,能更灵活的更换语言框架和数据库