feat: 添加短信验证码发送记录功能

This commit is contained in:
2025-12-23 23:47:39 +08:00
parent a125f15f58
commit 5709255e39
19 changed files with 668 additions and 14 deletions

View File

@@ -33,8 +33,9 @@ func (ctl *orders) List(ctx fiber.Ctx, pagination *requests.Pagination, query *O
}
// Refund
// @Router /admin/orders/:id/refund [post]
// @Bind id path
//
// @Router /admin/orders/:id/refund [post]
// @Bind id path
func (ctl *orders) Refund(ctx fiber.Ctx, id int64) error {
order, err := model.OrdersModel().GetByID(ctx.Context(), id)
if err != nil {

View File

@@ -3,15 +3,16 @@
package admin
import (
"quyun/app/requests"
"github.com/gofiber/fiber/v3"
log "github.com/sirupsen/logrus"
_ "go.ipao.vip/atom"
_ "go.ipao.vip/atom/contracts"
. "go.ipao.vip/atom/fen"
"quyun/app/requests"
)
// @provider contracts.HttpRoute atom.GroupRoutes
// @provider contracts.HttpRoute atom.GroupRoutes
type Routes struct {
log *log.Entry `inject:"false"`
auth *auth

View File

@@ -3,16 +3,17 @@
package http
import (
"quyun/app/model"
"quyun/app/requests"
"github.com/gofiber/fiber/v3"
log "github.com/sirupsen/logrus"
_ "go.ipao.vip/atom"
_ "go.ipao.vip/atom/contracts"
. "go.ipao.vip/atom/fen"
"quyun/app/model"
"quyun/app/requests"
)
// @provider contracts.HttpRoute atom.GroupRoutes
// @provider contracts.HttpRoute atom.GroupRoutes
type Routes struct {
log *log.Entry `inject:"false"`
auth *auth

View File

@@ -16,9 +16,10 @@ type wechats struct {
}
// GetJsSDK
// @Router /wechats/js-sdk [get]
// @Bind url query
// @Bind user local
//
// @Router /wechats/js-sdk [get]
// @Bind url query
// @Bind user local
func (ctl *wechats) GetJsSDK(ctx fiber.Ctx, url string, user *model.Users) (*wechat.JsSDK, error) {
if user.AuthToken.Data.StableExpiresAt.Before(time.Now()) {
token, err := ctl.wechat.RefreshAccessToken(user.AuthToken.Data.RefreshToken)

View File

@@ -23,7 +23,150 @@ const docTemplate = `{
},
"host": "{{.Host}}",
"basePath": "{{.BasePath}}",
"paths": {},
"paths": {
"/admin/auth": {
"post": {
"responses": {}
}
},
"/admin/medias": {
"get": {
"responses": {}
}
},
"/admin/medias/{id}": {
"get": {
"responses": {}
},
"delete": {
"responses": {}
}
},
"/admin/orders": {
"get": {
"responses": {}
}
},
"/admin/orders/{id}/refund": {
"post": {
"responses": {}
}
},
"/admin/posts": {
"get": {
"responses": {}
},
"post": {
"responses": {}
}
},
"/admin/posts/{id}": {
"get": {
"responses": {}
},
"put": {
"responses": {}
},
"delete": {
"responses": {}
}
},
"/admin/posts/{id}/send-to/{userId}": {
"post": {
"responses": {}
}
},
"/admin/statistics": {
"get": {
"responses": {}
}
},
"/admin/uploads/post-uploaded-action": {
"post": {
"responses": {}
}
},
"/admin/uploads/pre-uploaded-check/{md5}.{ext}": {
"get": {
"responses": {}
}
},
"/admin/users": {
"get": {
"responses": {}
}
},
"/admin/users/{id}": {
"get": {
"responses": {}
}
},
"/admin/users/{id}/articles": {
"get": {
"responses": {}
}
},
"/admin/users/{id}/balance": {
"post": {
"responses": {}
}
},
"/auth/login": {
"get": {
"responses": {}
}
},
"/auth/wechat": {
"get": {
"responses": {}
}
},
"/pay/callback/{channel}": {
"post": {
"responses": {}
}
},
"/posts": {
"get": {
"responses": {}
}
},
"/posts/mine": {
"get": {
"responses": {}
}
},
"/posts/{id}/buy": {
"post": {
"responses": {}
}
},
"/posts/{id}/play": {
"get": {
"responses": {}
}
},
"/posts/{id}/show": {
"get": {
"responses": {}
}
},
"/users/profile": {
"get": {
"responses": {}
}
},
"/users/username": {
"put": {
"responses": {}
}
},
"/wechats/js-sdk": {
"get": {
"responses": {}
}
}
},
"securityDefinitions": {
"BasicAuth": {
"type": "basic"

View File

@@ -17,7 +17,150 @@
},
"host": "localhost:8080",
"basePath": "/api/v1",
"paths": {},
"paths": {
"/admin/auth": {
"post": {
"responses": {}
}
},
"/admin/medias": {
"get": {
"responses": {}
}
},
"/admin/medias/{id}": {
"get": {
"responses": {}
},
"delete": {
"responses": {}
}
},
"/admin/orders": {
"get": {
"responses": {}
}
},
"/admin/orders/{id}/refund": {
"post": {
"responses": {}
}
},
"/admin/posts": {
"get": {
"responses": {}
},
"post": {
"responses": {}
}
},
"/admin/posts/{id}": {
"get": {
"responses": {}
},
"put": {
"responses": {}
},
"delete": {
"responses": {}
}
},
"/admin/posts/{id}/send-to/{userId}": {
"post": {
"responses": {}
}
},
"/admin/statistics": {
"get": {
"responses": {}
}
},
"/admin/uploads/post-uploaded-action": {
"post": {
"responses": {}
}
},
"/admin/uploads/pre-uploaded-check/{md5}.{ext}": {
"get": {
"responses": {}
}
},
"/admin/users": {
"get": {
"responses": {}
}
},
"/admin/users/{id}": {
"get": {
"responses": {}
}
},
"/admin/users/{id}/articles": {
"get": {
"responses": {}
}
},
"/admin/users/{id}/balance": {
"post": {
"responses": {}
}
},
"/auth/login": {
"get": {
"responses": {}
}
},
"/auth/wechat": {
"get": {
"responses": {}
}
},
"/pay/callback/{channel}": {
"post": {
"responses": {}
}
},
"/posts": {
"get": {
"responses": {}
}
},
"/posts/mine": {
"get": {
"responses": {}
}
},
"/posts/{id}/buy": {
"post": {
"responses": {}
}
},
"/posts/{id}/play": {
"get": {
"responses": {}
}
},
"/posts/{id}/show": {
"get": {
"responses": {}
}
},
"/users/profile": {
"get": {
"responses": {}
}
},
"/users/username": {
"put": {
"responses": {}
}
},
"/wechats/js-sdk": {
"get": {
"responses": {}
}
}
},
"securityDefinitions": {
"BasicAuth": {
"type": "basic"

View File

@@ -15,7 +15,93 @@ info:
termsOfService: http://swagger.io/terms/
title: ApiDoc
version: "1.0"
paths: {}
paths:
/admin/auth:
post:
responses: {}
/admin/medias:
get:
responses: {}
/admin/medias/{id}:
delete:
responses: {}
get:
responses: {}
/admin/orders:
get:
responses: {}
/admin/orders/{id}/refund:
post:
responses: {}
/admin/posts:
get:
responses: {}
post:
responses: {}
/admin/posts/{id}:
delete:
responses: {}
get:
responses: {}
put:
responses: {}
/admin/posts/{id}/send-to/{userId}:
post:
responses: {}
/admin/statistics:
get:
responses: {}
/admin/uploads/post-uploaded-action:
post:
responses: {}
/admin/uploads/pre-uploaded-check/{md5}.{ext}:
get:
responses: {}
/admin/users:
get:
responses: {}
/admin/users/{id}:
get:
responses: {}
/admin/users/{id}/articles:
get:
responses: {}
/admin/users/{id}/balance:
post:
responses: {}
/auth/login:
get:
responses: {}
/auth/wechat:
get:
responses: {}
/pay/callback/{channel}:
post:
responses: {}
/posts:
get:
responses: {}
/posts/{id}/buy:
post:
responses: {}
/posts/{id}/play:
get:
responses: {}
/posts/{id}/show:
get:
responses: {}
/posts/mine:
get:
responses: {}
/users/profile:
get:
responses: {}
/users/username:
put:
responses: {}
/wechats/js-sdk:
get:
responses: {}
securityDefinitions:
BasicAuth:
type: basic