1 Star 0 Fork 2

郑健/小米商城综合rbac后台权限管理系统

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.go 1.42 KB
一键复制 编辑 原始数据 按行查看 历史
package main
import (
"fmt"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
socketio "github.com/googollee/go-socket.io"
. "xm_shop/database"
. "xm_shop/routers"
)
func main() {
r := gin.Default()
// 配置gin允许跨域请求
r.Use(cors.Default())
InitSession(r) // 注意session要先配置, 因为下面要用到session
InitMysql()
InitAdminRouters(r)
InitDefaultRouter(r)
// 配置静态路由
r.Static("/static", "./static")
// 初始化socket
InitSocket(r)
r.Run(":8001")
}
// 初始化socketio
func InitSocket(r *gin.Engine) {
// 配置socket.io服务对象
server := socketio.NewServer(nil)
// 监听客户端连接事件
server.OnConnect("/", func(s socketio.Conn) error {
s.SetContext("")
fmt.Println("connected:", s.ID())
return nil
})
// 监听客户端广播
server.OnEvent("/", "notice", func(s socketio.Conn, msg string) {
fmt.Println("notice:", msg)
s.Emit("reply", "have--:"+msg)
// 通过命名空间进行广播 广播和单独发送可以同时存在
server.BroadcastToNamespace("/", "reply", "这是一个广播")
})
// 启动socket服务
go server.Serve()
// 如果你要把初始化socket封装成一个函数, 这句应该去掉, 因为函数一执行完毕就触发server.Close()将服务销毁了
//defer server.Close()
// 配置socket路由
r.GET("/socket.io/", gin.WrapH(server)) // 等效http.Handle("/socket.io/", server)
r.POST("/socket.io/", gin.WrapH(server))
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zheng-jians/xm_shop.git
git@gitee.com:zheng-jians/xm_shop.git
zheng-jians
xm_shop
小米商城综合rbac后台权限管理系统
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385