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
+18 -5
View File
@@ -45,7 +45,20 @@ func GetPushMessage(c *gin.Context) {
}
func PostPushMessage(c *gin.Context) {
message := model.Message{
var message model.Message
if c.Request.Header.Get("Content-Type") == "application/json" {
// Looks like the user is using JSON
message = model.Message{}
err := json.NewDecoder(c.Request.Body).Decode(&message)
if err != nil {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": "无法解析请求体,请检查其是否为合法 JSON",
})
return
}
} else {
message = model.Message{
Title: c.PostForm("title"),
Description: c.PostForm("description"),
Content: c.PostForm("content"),
@@ -58,16 +71,16 @@ func PostPushMessage(c *gin.Context) {
OpenId: c.PostForm("openid"),
Async: c.PostForm("async") == "true",
}
}
if message == (model.Message{}) {
// Looks like the user is using JSON
err := json.NewDecoder(c.Request.Body).Decode(&message)
if err != nil {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": "无法解析请求体,请检查其是否为合法 JSON",
"message": "请求体为空,如果使用 JSON 请设置 Content-Type 为 application/json,否则请使用表单提交",
})
return
}
if message.Token == "" {
message.Token = c.Query("token")
}
keepCompatible(&message)
pushMessageHelper(c, &message)