|
@@ -7,6 +7,7 @@ import (
|
|
|
"github.com/gorilla/websocket"
|
|
|
"net/http"
|
|
|
"strconv"
|
|
|
+ "time"
|
|
|
"trading-go/model"
|
|
|
"trading-go/response"
|
|
|
)
|
|
@@ -104,31 +105,31 @@ func reception(conn *websocket.Conn, uid uint) {
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
-//func heartBeat(conn *websocket.Conn, uid uint) {
|
|
|
-// defer func() {
|
|
|
-// delete(Conns, uid)
|
|
|
-// }()
|
|
|
-// for {
|
|
|
-// msg := model.Message{
|
|
|
-// MsgType: 4,
|
|
|
-// From: 0,
|
|
|
-// To: uid,
|
|
|
-// Time: uint(time.Now().Unix()),
|
|
|
-// Content: "alive",
|
|
|
-// }
|
|
|
-// data, err := json.Marshal(msg)
|
|
|
-// if err != nil {
|
|
|
-// fmt.Println(err.Error())
|
|
|
-// break
|
|
|
-// }
|
|
|
-// err = conn.WriteMessage(websocket.TextMessage, data)
|
|
|
-// if err != nil {
|
|
|
-// fmt.Println(err.Error())
|
|
|
-// break
|
|
|
-// }
|
|
|
-// time.Sleep(time.Second * 5)
|
|
|
-// }
|
|
|
-//}
|
|
|
+func heartBeat(conn *websocket.Conn, uid uint) {
|
|
|
+ defer func() {
|
|
|
+ delete(Conns, uid)
|
|
|
+ }()
|
|
|
+ for {
|
|
|
+ msg := model.Message{
|
|
|
+ MsgType: 4,
|
|
|
+ From: 0,
|
|
|
+ To: uid,
|
|
|
+ Time: uint(time.Now().Unix()),
|
|
|
+ Content: "alive",
|
|
|
+ }
|
|
|
+ data, err := json.Marshal(msg)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ break
|
|
|
+ }
|
|
|
+ err = conn.WriteMessage(websocket.TextMessage, data)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ break
|
|
|
+ }
|
|
|
+ time.Sleep(time.Second * 5)
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
func Chat(w http.ResponseWriter, rq *http.Request, uid uint) {
|
|
|
// 升级为websocket
|
|
@@ -148,7 +149,7 @@ func Chat(w http.ResponseWriter, rq *http.Request, uid uint) {
|
|
|
|
|
|
go send(conn, uid)
|
|
|
go reception(conn, uid)
|
|
|
- //go heartBeat(conn, uid)
|
|
|
+ go heartBeat(conn, uid)
|
|
|
|
|
|
response.Success(w, "success", nil)
|
|
|
}
|
|
@@ -233,10 +234,11 @@ func GetMsgToPaged(c *gin.Context) {
|
|
|
|
|
|
// GetMsg
|
|
|
// @Tags 聊天模块
|
|
|
-// @Summary 获取与特定用户相关的所有聊天记录
|
|
|
+// @Summary 获取与特定两个用户之间的所有聊天记录
|
|
|
// @Param uid query string true "用户id"
|
|
|
+// @Param target query string true "对象id"
|
|
|
// @Success 200 {object} response.Response
|
|
|
-// @Router /chat/msg/ [get]
|
|
|
+// @Router /chat/msg [get]
|
|
|
func GetMsg(c *gin.Context) {
|
|
|
var ms model.Message
|
|
|
id := c.Query("uid")
|
|
@@ -246,7 +248,14 @@ func GetMsg(c *gin.Context) {
|
|
|
response.Fail(c.Writer, msg, 500)
|
|
|
return
|
|
|
}
|
|
|
- msgs, err := ms.GetMsg(uint(uid))
|
|
|
+ t := c.Query("target")
|
|
|
+ target, err := strconv.ParseUint(t, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ msgs, err := ms.GetMsg(uint(uid), uint(target))
|
|
|
if err != nil {
|
|
|
msg := err.Error()
|
|
|
response.Fail(c.Writer, msg, 500)
|