- 新端点 /ai/v1/audio/speech(xai.grok-tts)、/rerank(cohere.rerank-v4)、/moderations(OCI Guardrails) - Responses 放行 code_interpreter 与远程 mcp 工具,web_search/x_search 解除仅非流式限制 - 模型能力映射扩展:TEXT_RERANK→RERANK、TEXT_TO_AUDIO→TTS - AI 网关文档独立 docs/ai-gateway.md,字段兼容矩阵只列支持项;README 精简引用 - swagger 修缺:135 处响应注解具体化,RawMessage/联合类型统一渲染 AnyJSON,overrides 迁至 docs/.swaggo - CHANGELOG 0.4.0,版本段不再记日期;DASH_VERSION v0.4.0
39 lines
1.0 KiB
Go
39 lines
1.0 KiB
Go
package api
|
|
|
|
import (
|
|
"net/http"
|
|
"strconv"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
_ "oci-portal/internal/model" // swagger 注解引用
|
|
"oci-portal/internal/service"
|
|
)
|
|
|
|
// systemLogHandler 处理面板系统操作日志的查询请求。
|
|
type systemLogHandler struct {
|
|
svc *service.SystemLogService
|
|
}
|
|
|
|
// list 分页倒序返回系统日志,支持路径 / 用户名关键字模糊过滤。
|
|
//
|
|
// @Summary 系统操作日志列表
|
|
// @Tags 设置
|
|
// @Success 200 {object} pagedResponse[model.SystemLog] "items 与 total"
|
|
// @Security BearerAuth
|
|
// @Router /api/v1/system-logs [get]
|
|
func (h *systemLogHandler) list(c *gin.Context) {
|
|
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
|
|
pageSize, _ := strconv.Atoi(c.DefaultQuery("pageSize", "20"))
|
|
items, total, err := h.svc.List(c.Request.Context(), service.SystemLogQuery{
|
|
Page: page,
|
|
PageSize: pageSize,
|
|
Keyword: c.Query("keyword"),
|
|
})
|
|
if err != nil {
|
|
respondError(c, err)
|
|
return
|
|
}
|
|
c.JSON(http.StatusOK, gin.H{"items": items, "total": total})
|
|
}
|