feat: integrate swagger documentation and gin cors middleware

This commit is contained in:
2026-02-12 19:13:58 +08:00
parent aed996f409
commit d51e2dc500
13 changed files with 3378 additions and 131 deletions

View File

@@ -30,10 +30,10 @@ func NewSerialsController() *SerialsController {
// @Produce json
// @Security BearerAuth
// @Param generateData body models.GenerateSerialDTO true "生成数据"
// @Success 200 {object} gin.H{message: string, serials: []models.Serial}
// @Failure 400 {object} gin.H{message: string}
// @Failure 401 {object} gin.H{message: string}
// @Failure 500 {object} gin.H{message: string}
// @Success 200 {object} models.DataResponse
// @Failure 400 {object} models.ErrorResponse
// @Failure 401 {object} models.ErrorResponse
// @Failure 500 {object} models.ErrorResponse
// @Router /serials/generate [post]
func (c *SerialsController) Generate(ctx *gin.Context) {
userModel, ok := GetCurrentUser(ctx)
@@ -70,10 +70,10 @@ func (c *SerialsController) Generate(ctx *gin.Context) {
// @Produce json
// @Security BearerAuth
// @Param generateData body models.GenerateWithPrefixDTO true "生成数据"
// @Success 200 {object} gin.H{message: string, serials: []models.Serial}
// @Failure 400 {object} gin.H{message: string}
// @Failure 401 {object} gin.H{message: string}
// @Failure 500 {object} gin.H{message: string}
// @Success 200 {object} models.DataResponse
// @Failure 400 {object} models.ErrorResponse
// @Failure 401 {object} models.ErrorResponse
// @Failure 500 {object} models.ErrorResponse
// @Router /serials/generate-with-prefix [post]
func (c *SerialsController) GenerateWithPrefix(ctx *gin.Context) {
userModel, ok := GetCurrentUser(ctx)
@@ -112,11 +112,11 @@ func (c *SerialsController) GenerateWithPrefix(ctx *gin.Context) {
// @Security BearerAuth
// @Param serialNumber path string true "序列号"
// @Param qrCodeData body models.QRCodeDTO false "二维码数据"
// @Success 200 {object} gin.H{message: string, qrCodeData: string, queryUrl: string}
// @Failure 400 {object} gin.H{message: string}
// @Failure 401 {object} gin.H{message: string}
// @Failure 404 {object} gin.H{message: string}
// @Failure 500 {object} gin.H{message: string}
// @Success 200 {object} models.QRCodeResponse
// @Failure 400 {object} models.ErrorResponse
// @Failure 401 {object} models.ErrorResponse
// @Failure 404 {object} models.ErrorResponse
// @Failure 500 {object} models.ErrorResponse
// @Router /serials/{serialNumber}/qrcode [post]
func (c *SerialsController) GenerateQRCode(ctx *gin.Context) {
serialNumber := ctx.Param("serialNumber")
@@ -154,10 +154,10 @@ func (c *SerialsController) GenerateQRCode(ctx *gin.Context) {
// @Tags 序列号查询
// @Produce json
// @Param serialNumber path string true "序列号"
// @Success 200 {object} gin.H{message: string, serial: models.Serial}
// @Failure 400 {object} gin.H{message: string}
// @Failure 404 {object} gin.H{message: string}
// @Failure 500 {object} gin.H{message: string}
// @Success 200 {object} models.DataResponse
// @Failure 400 {object} models.ErrorResponse
// @Failure 404 {object} models.ErrorResponse
// @Failure 500 {object} models.ErrorResponse
// @Router /serials/{serialNumber}/query [get]
func (c *SerialsController) Query(ctx *gin.Context) {
serialNumber := ctx.Param("serialNumber")
@@ -180,11 +180,11 @@ func (c *SerialsController) Query(ctx *gin.Context) {
// @Produce json
// @Security BearerAuth
// @Param page query int false "页码"
// @Param limit query int false "每页数量"
// @Param limit query int false " "每页数量"
// @Param search query string false "搜索关键词"
// @Success 200 {object} gin.H{message: string, data: []models.Serial, pagination: gin.H{page: int, limit: int, total: int, totalPages: int}}
// @Failure 401 {object} gin.H{message: string}
// @Failure 500 {object} gin.H{message: string}
// @Success 200 {object} models.PaginationResponse
// @Failure 401 {object} models.ErrorResponse
// @Failure 500 {object} models.ErrorResponse
// @Router /serials [get]
func (c *SerialsController) FindAll(ctx *gin.Context) {
page, _ := strconv.Atoi(ctx.DefaultQuery("page", "1"))
@@ -217,11 +217,11 @@ func (c *SerialsController) FindAll(ctx *gin.Context) {
// @Security BearerAuth
// @Param serialNumber path string true "序列号"
// @Param updateData body models.UpdateSerialDTO true "更新数据"
// @Success 200 {object} gin.H{message: string, serial: models.Serial}
// @Failure 400 {object} gin.H{message: string}
// @Failure 401 {object} gin.H{message: string}
// @Failure 404 {object} gin.H{message: string}
// @Failure 500 {object} gin.H{message: string}
// @Success 200 {object} models.DataResponse
// @Failure 400 {object} models.ErrorResponse
// @Failure 401 {object} models.ErrorResponse
// @Failure 404 {object} models.ErrorResponse
// @Failure 500 {object} models.ErrorResponse
// @Router /serials/{serialNumber} [put]
func (c *SerialsController) Update(ctx *gin.Context) {
serialNumber := ctx.Param("serialNumber")
@@ -249,11 +249,11 @@ func (c *SerialsController) Update(ctx *gin.Context) {
// @Produce json
// @Security BearerAuth
// @Param serialNumber path string true "序列号"
// @Success 200 {object} gin.H{message: string}
// @Failure 400 {object} gin.H{message: string}
// @Failure 401 {object} gin.H{message: string}
// @Failure 404 {object} gin.H{message: string}
// @Failure 500 {object} gin.H{message: string}
// @Success 200 {object} models.BaseResponse
// @Failure 400 {object} models.ErrorResponse
// @Failure 401 {object} models.ErrorResponse
// @Failure 404 {object} models.ErrorResponse
// @Failure 500 {object} models.ErrorResponse
// @Router /serials/{serialNumber}/revoke [post]
func (c *SerialsController) Revoke(ctx *gin.Context) {
serialNumber := ctx.Param("serialNumber")