package router import ( "github.com/gin-gonic/gin" "live/app/controller/callback" "live/app/controller/goods" "live/app/controller/live" "live/app/controller/order" "live/app/controller/short" "live/app/controller/topic" "live/app/controller/user" "live/app/controller/user/trend" grend2 "live/app/controller/user/trend/comment" "live/app/router/middleware" ) func Router(router *gin.Engine) { liveRouter := router.Group("/api/v1/live") // websocket //wsC := &ws.Ws{} //liveRouter.GET("ws", wsC.Ws) liveRouter.Use(middleware.Decrypt()) { // 橱柜 cupboardR := liveRouter.Group("/cupboard") cupboardR.Use(middleware.Auth()) { cupboard := &goods.Cupboard{} cupboardR.POST("list", cupboard.List) // 会员橱柜列表 cupboardR.POST("delete", cupboard.Delete) // 会员橱柜商品删除 } // 商品 goodsR := liveRouter.Group("/goods") { goodsC := &goods.Goods{} goodsR.POST("list", goodsC.List) // 商品列表 goodsR.POST("brandlist", goodsC.BrandList) // 品牌列表 goodsR.POST("brandgoodslist", goodsC.BrandGoodsList) // 品牌商品列表 } // 会员 userR := liveRouter.Group("/user") { userC := &user.User{} { userR.POST("baseinfo", userC.BaseInfo) // 会员基础信息 } followC := &user.Follow{} userR.POST("follow/list", middleware.BothAuth(), followC.List) // 会员关注列表 followR := userR.Group("follow") followR.Use(middleware.Auth()) { followR.POST("add", followC.Add) // 添加关注 followR.POST("cancel", followC.Cancel) // 取消关注 } trendC := &user.Trend{} userR.POST("trend/list", trendC.List) // 会员动态列表 commentC := &trend.Comment{} userR.POST("trend/comment/list", middleware.BothAuth(), commentC.List) // 评论列表 userR.POST("trend/comment/add", middleware.Auth(), commentC.Add) // 评论列表 // 评论点赞 commentPraiseC := grend2.Praise{} userR.POST("trend/comment/praise/add", middleware.Auth(), commentPraiseC.Add) // 评论点赞 userR.POST("trend/comment/praise/cancel", middleware.Auth(), commentPraiseC.Cancel) // 评论取消点赞 praiseC := &trend.Praise{} userR.POST("trend/praise/add", middleware.Auth(), praiseC.Add) // 动态点赞 userR.POST("trend/praise/cancel", middleware.Auth(), praiseC.Cancel) // 动态取消点赞 } // 订单 orderR := liveRouter.Group("/order") { orderGoodsC := &order.Goods{} orderR.POST("history", middleware.Auth(), orderGoodsC.Histroy) } // 话题 topicR := liveRouter.Group("/topic") { topicC := &topic.Topic{} topicR.POST("list", topicC.List) // 话题列表 topicR.POST("hot", topicC.Hot) // 热门话题 topicR.POST("info", middleware.BothAuth(), topicC.Info) // 话题基础信息 topicR.POST("content/list", middleware.BothAuth(), topicC.ContentList) // 话题内容列表 followC := &topic.Follow{} topicR.POST("follow/list", middleware.BothAuth(), followC.List) topicR.POST("follow/add", middleware.BothAuth(), followC.Add) topicR.POST("follow/cancel", middleware.BothAuth(), followC.Cancel) } // 短视频 shortR := liveRouter.Group("/short") { shortC := &short.Short{} shortR.POST("list", middleware.BothAuth(), shortC.List) // 短视频列表 shortR.POST("upload_sign", middleware.Auth(), shortC.UploadSign) // 短视频列表 shortR.POST("publish", middleware.Auth(), shortC.Publish) // 短视频列表 shortR.POST("info", shortC.Info) // 短视频列表 } // 直播 liveR := liveRouter.Group("/live") { liveC := &live.Live{} { liveR.POST("list", liveC.List) // 直播列表 liveR.POST("follow_list", middleware.Auth(), liveC.FollowList) // 关注主播直播列表 liveR.POST("start", middleware.Auth(), liveC.Start) // 开始直播 liveR.POST("stop", middleware.Auth(), liveC.Stop) // 结束直播 liveR.POST("live_info", middleware.BothAuth(), liveC.LiveInfo) // 获取直播间信息 liveR.POST("video_info", middleware.BothAuth(), liveC.VideoInfo) // 录播信息 liveR.POST("explain", middleware.Auth(), liveC.Explain) // 讲解 liveR.POST("un_explain", middleware.Auth(), liveC.UnExplain) // 取消讲解 dataC := live.Data{} { liveR.POST("data/list", middleware.Auth(), dataC.List) // 直播场次列表 liveR.POST("data/info", middleware.Auth(), dataC.Info) // 直播统计详情 liveR.POST("data/count", middleware.Auth(), dataC.Count) // 统计数据 } praiseC := &live.Praise{} liveR.POST("praise/add", middleware.Auth(), praiseC.Add) // 动态点赞 liveR.POST("praise/cancel", middleware.Auth(), praiseC.Cancel) // 动态取消点赞 } imR := liveR.Group("im") imC := &live.Im{} { imR.POST("login_info", middleware.Auth(), imC.LoginInfo) // 获取当前账号im账号信息 imR.POST("no_login_info", imC.NoLoginInfo) // 获取游客im账号信息 } } // 回调 callbackR := liveRouter.Group("callback") { liveC := &callback.Live{} { callbackR.POST("push", liveC.Push) callbackR.POST("cutout", liveC.Cutout) callbackR.POST("identify", liveC.Identify) callbackR.POST("screenshot", liveC.ScreenShot) callbackR.POST("transcribe", liveC.Transcribe) } shortC := &callback.Short{} { callbackR.POST("short", shortC.Callback) } } } }