chore: 更新忽略规则、优化文档及整合重置token状态路由

- 在忽略文件中新增对.idea目录的忽略规则以避免版本控制该目录。
- 优化HTTP接口文档表格格式并更新接口描述及新增重置token状态接口说明。
- 整合禁用和启用令牌的路由为单一重置状态路由,并修改绑定地址以支持所有网络接口。
This commit is contained in:
2025-08-19 22:24:35 +08:00
parent 1ac48526ca
commit 6e2b811373
3 changed files with 21 additions and 37 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
/target
authorize_data/
.idea/

View File

@@ -1,10 +1,9 @@
#### http接口
| 方法 | doc | 请求字段 |
| ---- | ---- | ---- |
|----------|----------------|-------------------|
| /create | 根据项目、设备生成token | project、device_id |
| /verify | 验证token有效性 | token |
| /info | 查询token信息 | token |
| /disable | 禁用token | token |
| /enable | 启用token | token |
| /reset | 更新token状态 | token、enable |
| /renewal | token续期 | token、days |

View File

@@ -46,14 +46,11 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
.route("/create", get(create_token))
.route("/verify", get(verify_token))
.route("/info", get(get_token_info))
.route("/disable", get(disable_token))
.route("/enable", get(enable_token))
.route("/reset", get(update_token_status))
.route("/renewal", get(renewal_token))
.with_state(state);
let listener = tokio::net::TcpListener::bind("127.0.0.1:3009")
.await
.unwrap();
let listener = tokio::net::TcpListener::bind("0.0.0.0:3009").await.unwrap();
axum::serve(listener, app).await.unwrap();
Ok(())
}
@@ -165,35 +162,16 @@ async fn get_token_info(
}
}
async fn disable_token(
async fn update_token_status(
State(state): State<AppState>,
Query(args): Query<VerifyToken>,
Query(args): Query<UpdateTokenStatus>,
) -> (StatusCode, Json<VerifyResult>) {
let result = state.db.update_token_state(&args.token, 0).await.unwrap();
if result {
(
StatusCode::OK,
Json(VerifyResult {
code: 200,
msg: "操作成功".to_owned(),
}),
)
let result = if args.enable {
state.db.update_token_state(&args.token, 1).await.unwrap()
} else {
(
StatusCode::OK,
Json(VerifyResult {
code: 404,
msg: "操作失败".to_owned(),
}),
)
}
}
state.db.update_token_state(&args.token, 0).await.unwrap()
};
async fn enable_token(
State(state): State<AppState>,
Query(args): Query<VerifyToken>,
) -> (StatusCode, Json<VerifyResult>) {
let result = state.db.update_token_state(&args.token, 1).await.unwrap();
if result {
(
StatusCode::OK,
@@ -332,3 +310,9 @@ struct CreateTokenInfo {
token: String,
msg: String,
}
#[derive(Deserialize)]
struct UpdateTokenStatus {
token: String,
enable: bool,
}