框架慢慢修改
This commit is contained in:
84
main.go
84
main.go
@@ -2,21 +2,20 @@ package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"go_blog/conf"
|
||||
"go_blog/handlers"
|
||||
"go_blog/controllers"
|
||||
"go_blog/models"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gorilla/websocket"
|
||||
)
|
||||
|
||||
type UserInfo struct {
|
||||
Name string
|
||||
Gender string
|
||||
Age int
|
||||
Password string
|
||||
type User struct {
|
||||
Name string
|
||||
Gender string
|
||||
Age int
|
||||
Password string
|
||||
PasswordHash []byte
|
||||
}
|
||||
|
||||
var host string
|
||||
@@ -25,6 +24,8 @@ var isDebugMode bool
|
||||
var isErrMsg bool
|
||||
var isOrmDebug bool
|
||||
|
||||
const templatePath = "./templates/*"
|
||||
|
||||
func init() {
|
||||
flag.StringVar(&host, "h", "127.0.0.1", "主机")
|
||||
flag.StringVar(&port, "p", "", "监听端口")
|
||||
@@ -40,22 +41,24 @@ func init() {
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
|
||||
r.LoadHTMLGlob("templates/*")
|
||||
r.LoadHTMLGlob(templatePath)
|
||||
// 注册WebSocket路由
|
||||
registerRoutes(r)
|
||||
r.Run(":8080")
|
||||
}
|
||||
|
||||
func registerRoutes(r *gin.Engine) {
|
||||
|
||||
r.GET("/", func(c *gin.Context) {
|
||||
c.HTML(200, "index.tmpl", nil)
|
||||
c.HTML(http.StatusOK, "index.tmpl", nil)
|
||||
})
|
||||
|
||||
user := UserInfo{
|
||||
Name: "user",
|
||||
Gender: "male",
|
||||
Age: 18,
|
||||
Password: "nothings",
|
||||
}
|
||||
user := getUserInfo()
|
||||
r.GET("/page/:id", func(c *gin.Context) {
|
||||
id := c.Param("id")
|
||||
c.HTML(200, "page"+id+".tmpl", map[string]interface{}{
|
||||
c.HTML(http.StatusOK, "page"+id+".tmpl", map[string]interface{}{
|
||||
"title": "这个是titile,传入templates中的",
|
||||
"user": user,
|
||||
"user": getUserInfo,
|
||||
})
|
||||
})
|
||||
|
||||
@@ -66,43 +69,18 @@ func main() {
|
||||
})
|
||||
})
|
||||
|
||||
// 注册WebSocket路由
|
||||
r.GET("/ws", WebSocketHandler)
|
||||
r.GET("/ws", controllers.WebSocketHandler)
|
||||
|
||||
r.POST("/login", handlers.UsersLoginHandler)
|
||||
r.Run(":8080")
|
||||
r.POST("/login", controllers.UsersLoginHandler)
|
||||
}
|
||||
|
||||
func WebSocketHandler(c *gin.Context) {
|
||||
// 获取WebSocket连接
|
||||
//ws, err := websocket.Upgrader.Upgrade(c.Writer, c.Request, nil)
|
||||
|
||||
var upGrader = websocket.Upgrader{
|
||||
CheckOrigin: func(r *http.Request) bool {
|
||||
return true
|
||||
},
|
||||
func getUserInfo() User {
|
||||
user := User{
|
||||
Name: "user",
|
||||
Gender: "male",
|
||||
Age: 18,
|
||||
Password: "nothings",
|
||||
PasswordHash: []byte("nothings"),
|
||||
}
|
||||
|
||||
ws, err := upGrader.Upgrade(c.Writer, c.Request, nil)
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// 处理WebSocket消息
|
||||
for {
|
||||
messageType, p, err := ws.ReadMessage()
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
|
||||
fmt.Println("messageType:", messageType)
|
||||
fmt.Println("p:", string(p))
|
||||
|
||||
// 输出WebSocket消息内容
|
||||
c.Writer.Write(p)
|
||||
}
|
||||
|
||||
// 关闭WebSocket连接
|
||||
ws.Close()
|
||||
return user
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user