docs: 更新 README API 文档,补充完整路由列表

This commit is contained in:
2026-03-20 21:17:24 +08:00
parent 858dfcb5cf
commit 82707de831
+38 -42
View File
@@ -55,7 +55,6 @@ cd server
```properties
# application.properties
active=dev
# application-dev.properties
server.port=8080
database.host=127.0.0.1
@@ -103,22 +102,22 @@ npm run dev
import "kenaito-conf/kenaito-conf-go-client"
cfg := &client.Config{
BaseURL: "http://localhost:8080",
AppName: "myapp",
Env: "dev",
Version: "latest",
Token: "app-token",
SyncInterval: 30,
CacheDir: ".",
BaseURL: "http://localhost:8080",
AppName: "myapp",
Env: "dev",
Version: "latest",
Token: "app-token",
SyncInterval: 30,
CacheDir: ".",
}
c := client.New(cfg)
// 注册变更回调
c.OnChange(func(changed map[string]string) {
for k, v := range changed {
fmt.Printf("%s = %s\n", k, v)
}
c.OnChange(func (changed map[string]string) {
for k, v := range changed {
fmt.Printf("%s = %s\n", k, v)
}
})
// 启动(拉取全量配置 + 开启定时同步)
@@ -136,6 +135,7 @@ dbHost := c.Get("db.host")
**1. 引入依赖**
```xml
<dependency>
<groupId>cn.odboy</groupId>
<artifactId>kenaito-conf-springboot2-client</artifactId>
@@ -157,6 +157,7 @@ kenaito.config.sync-interval-seconds=30
**3. 使用配置**
```java
@Value("${your.config.key}")
private String configValue;
```
@@ -170,6 +171,7 @@ private String configValue;
**1. 引入依赖**
```xml
<dependency>
<groupId>cn.odboy</groupId>
<artifactId>kenaito-conf-springboot3-client</artifactId>
@@ -206,11 +208,13 @@ config = Config(
client = ConfigClient(config)
# 监听配置变更
def on_change(changed):
for k, v in changed.items():
print(f"config changed: {k} = {v}")
client.on_change(on_change)
# 启动客户端(拉取配置 + 开启定时同步)
@@ -244,7 +248,7 @@ npm link kenaito-conf
**2. 使用**
```javascript
import { Config, ConfigClient } from 'kenaito-conf';
import {Config, ConfigClient} from 'kenaito-conf';
const config = new Config({
baseUrl: 'http://localhost:8080',
@@ -317,7 +321,8 @@ $all = $client->getAll();
**1. 引入依赖**
```xml
<ProjectReference Include="..\kenaito-conf-dotnet-client\KenaitoConf.csproj" />
<ProjectReference Include="..\kenaito-conf-dotnet-client\KenaitoConf.csproj"/>
```
**2. 使用**
@@ -496,62 +501,53 @@ value = client.get('database.host')
### 管理端 API(需 JWT 认证)
| 方法 | 路径 | 说明 |
|------|------|------|
|------|-------------------------------------|--------------------------|
| POST | `/user/login` | 登录 |
| GET | `/user/loginUserInfo` | 当前用户信息 |
| POST | `/user/logout` | 登出 |
| GET | `/admin/menus` | 菜单 |
| POST | `/admin/config/list` | 配置列表 |
| POST | `/admin/config/list` | 配置列表(支持按环境、应用筛选) |
| POST | `/admin/config/add` | 新增配置 |
| POST | `/admin/config/update` | 更新配置 |
| GET | `/admin/config/:id` | 配置详情 |
| POST | `/admin/config/delete/:id` | 删除配置 |
| GET | `/admin/config/configHistories/:id` | 配置历史 |
| POST | `/admin/config/rollback/:id` | 回滚配置 |
| POST | `/admin/app/list` | 应用列表 |
| POST | `/admin/app/list` | 应用列表(分页) |
| GET | `/admin/app/:id` | 应用详情 |
| POST | `/admin/app/add` | 新增应用 |
| POST | `/admin/app/update` | 更新应用 |
| POST | `/admin/app/delete/:id` | 删除应用 |
| POST | `/admin/app/delete/:id` | 删除应用(软删除) |
| POST | `/admin/app/switch/:id` | 切换应用状态 |
| GET | `/admin/app/tree` | 应用树 |
| GET | `/admin/app/options` | 应用选项 |
| GET | `/admin/user/list` | 用户列表 |
| POST | `/admin/app/generateToken/:id` | 生成应用 Token |
| POST | `/admin/app/deleteToken/:id` | 删除应用 Token |
| GET | `/admin/app/options` | 应用选项(下拉框) |
| GET | `/admin/user/list` | 用户列表(支持按用户名、类型、所属组、状态筛选) |
| POST | `/admin/user/add` | 新增用户 |
| POST | `/admin/user/update` | 更新用户 |
| POST | `/admin/user/delete/:id` | 删除用户 |
| POST | `/admin/user/delete/:id` | 删除用户(软删除) |
| POST | `/admin/user/resetPassword/:id` | 重置密码 |
| POST | `/admin/user/switch/:id` | 切换用户状态 |
| GET | `/admin/user/options` | 用户选项(下拉框) |
| GET | `/admin/group/list` | 业务组列表 |
| GET | `/admin/group/get/:id` | 业务组详情 |
| POST | `/admin/group/add` | 新增业务组 |
| POST | `/admin/group/update` | 更新业务组 |
| GET | `/admin/group/options` | 业务组选项 |
| POST | `/admin/group/switch/:id` | 切换业务组状态 |
| GET | `/admin/group/options` | 业务组选项(下拉框) |
| GET | `/admin/profile/list` | 环境列表 |
| GET | `/admin/profile/:id` | 环境详情 |
| POST | `/admin/profile/add` | 新增环境 |
| POST | `/admin/profile/update` | 更新环境 |
| POST | `/admin/profile/delete/:id` | 删除环境 |
| POST | `/admin/profile/switch/:id` | 切换环境状态 |
| GET | `/admin/profile/options` | 环境选项 |
| GET | `/admin/profile/options` | 环境选项(下拉框) |
### 客户端 API(无需 JWT)
### 客户端 API(无需 JWT,通过应用 Token 鉴权)
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/fetchAllConfigs` | 全量拉取配置 |
|------|----------------------------|--------|
| POST | `/api/fetchAllConfigs` | 全量拉取配置 |
| POST | `/api/fetchChangedConfigs` | 增量拉取变更 |
| GET | `/api/ping` | 健康检查 |
## 加密说明
配置值支持 AES 加密存储(`{Cipher}xxx` 格式),客户端自动解密:
- **算法**: AES-128/CBC/ZeroIV + PKCS7 填充
- **密钥派生**: `MD5(secretKey + appId_hex + env)` 取后 16 字节
- Go 客户端和 Java 客户端使用相同的加密方案,确保跨语言兼容
## 与原 Java 版的差异
- **去掉了 ZooKeeper**:配置变更通知改为客户端定时轮询
- **认证方式**:管理端用 JWT,客户端 API 通过 Token 鉴权
- **前端**:从 layui 静态页面改为 Vue 2 + Element UI 前后端分离
- **加密算法**:保持 AES 兼容,Java 客户端可继续使用
- **自动建表**:服务端启动时通过 xorm Sync2 自动创建表结构,无需手动执行 SQL