feat: now you can use the token query parameter in POST message push request

This commit is contained in:
JustSong
2023-05-22 09:59:10 +08:00
parent 2abd8f4681
commit 446a78e1b9
+27 -14
View File
@@ -45,21 +45,10 @@ func GetPushMessage(c *gin.Context) {
} }
func PostPushMessage(c *gin.Context) { func PostPushMessage(c *gin.Context) {
message := model.Message{ var message model.Message
Title: c.PostForm("title"), if c.Request.Header.Get("Content-Type") == "application/json" {
Description: c.PostForm("description"),
Content: c.PostForm("content"),
URL: c.PostForm("url"),
Channel: c.PostForm("channel"),
Token: c.PostForm("token"),
To: c.PostForm("to"),
Desp: c.PostForm("desp"),
Short: c.PostForm("short"),
OpenId: c.PostForm("openid"),
Async: c.PostForm("async") == "true",
}
if message == (model.Message{}) {
// Looks like the user is using JSON // Looks like the user is using JSON
message = model.Message{}
err := json.NewDecoder(c.Request.Body).Decode(&message) err := json.NewDecoder(c.Request.Body).Decode(&message)
if err != nil { if err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
@@ -68,6 +57,30 @@ func PostPushMessage(c *gin.Context) {
}) })
return return
} }
} else {
message = model.Message{
Title: c.PostForm("title"),
Description: c.PostForm("description"),
Content: c.PostForm("content"),
URL: c.PostForm("url"),
Channel: c.PostForm("channel"),
Token: c.PostForm("token"),
To: c.PostForm("to"),
Desp: c.PostForm("desp"),
Short: c.PostForm("short"),
OpenId: c.PostForm("openid"),
Async: c.PostForm("async") == "true",
}
}
if message == (model.Message{}) {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": "请求体为空,如果使用 JSON 请设置 Content-Type 为 application/json,否则请使用表单提交",
})
return
}
if message.Token == "" {
message.Token = c.Query("token")
} }
keepCompatible(&message) keepCompatible(&message)
pushMessageHelper(c, &message) pushMessageHelper(c, &message)