| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | package controllerimport (	"github.com/gin-gonic/gin"	"github.com/gorilla/websocket"	"message-pusher/channel"	"message-pusher/model"	"net/http")var upgrader = websocket.Upgrader{	ReadBufferSize:  1024,	WriteBufferSize: 1024,	CheckOrigin: func(r *http.Request) bool {		return true	},}func RegisterClient(c *gin.Context) {	secret := c.Query("secret")	if secret == "" {		c.JSON(http.StatusOK, gin.H{			"success": false,			"message": "secret 为空",		})		return	}	user := model.User{Username: c.Param("username")}	err := user.FillUserByUsername()	if secret != user.ClientSecret {		c.JSON(http.StatusOK, gin.H{			"success": false,			"message": "用户名与密钥不匹配",		})		return	}	conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)	if err != nil {		c.JSON(http.StatusOK, gin.H{			"success": false,			"message": err.Error(),		})		return	}	channel.RegisterClient(user.Id, conn)	return}
 |