mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-18 01:06:39 +08:00
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
package handler
|
|
|
|
import (
|
|
"geekai/service"
|
|
"geekai/service/payment"
|
|
"github.com/gin-gonic/gin"
|
|
"gorm.io/gorm"
|
|
"net/http"
|
|
)
|
|
|
|
type TestHandler struct {
|
|
db *gorm.DB
|
|
snowflake *service.Snowflake
|
|
js *payment.GeekPayService
|
|
}
|
|
|
|
func NewTestHandler(db *gorm.DB, snowflake *service.Snowflake, js *payment.GeekPayService) *TestHandler {
|
|
return &TestHandler{db: db, snowflake: snowflake, js: js}
|
|
}
|
|
|
|
func (h *TestHandler) SseTest(c *gin.Context) {
|
|
//c.Header("Body-Type", "text/event-stream")
|
|
//c.Header("Cache-Control", "no-cache")
|
|
//c.Header("Connection", "keep-alive")
|
|
//
|
|
//
|
|
//// 模拟实时数据更新
|
|
//for i := 0; i < 10; i++ {
|
|
// // 发送 SSE 数据
|
|
// _, err := fmt.Fprintf(c.Writer, "data: %v\n\n", data)
|
|
// if err != nil {
|
|
// return
|
|
// }
|
|
// c.Writer.Flush() // 确保立即发送数据
|
|
// time.Sleep(1 * time.Second) // 每秒发送一次数据
|
|
//}
|
|
//c.Abort()
|
|
}
|
|
|
|
func (h *TestHandler) PostTest(c *gin.Context) {
|
|
var data struct {
|
|
Message string `json:"message"`
|
|
UserId uint `json:"user_id"`
|
|
}
|
|
|
|
if err := c.ShouldBindJSON(&data); err != nil {
|
|
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
|
return
|
|
}
|
|
|
|
// 将参数存储在上下文中
|
|
c.Set("data", data)
|
|
c.Next()
|
|
}
|