package router import ( "ai_xhs/controller" "ai_xhs/middleware" "ai_xhs/service" "github.com/gin-gonic/gin" ) func SetupRouter(r *gin.Engine) { // 跨域中间件 r.Use(middleware.CORS()) // 健康检查 r.GET("/health", func(c *gin.Context) { c.JSON(200, gin.H{ "status": "ok", }) }) // 静态文件服务(上传的图片) r.Static("/uploads", "./uploads") // API路由组 api := r.Group("/api") { // 公开接口(不需要认证) authCtrl := controller.NewAuthController() api.POST("/login/wechat", authCtrl.WechatLogin) // 微信登录 api.POST("/login/phone", authCtrl.PhoneLogin) // 手机号登录(测试用) api.POST("/login/phone-password", authCtrl.PhonePasswordLogin) // 手机号密码登录 api.POST("/login/xhs-phone-code", authCtrl.XHSPhoneCodeLogin) // 小红书手机号验证码登录 api.POST("/xhs/send-verification-code", authCtrl.SendXHSVerificationCode) // 发送小红书验证码 api.POST("/logout", middleware.AuthMiddleware(), authCtrl.Logout) // 退出登录(需要认证) // 小红书相关接口 employeeCtrlPublic := controller.NewEmployeeController() api.POST("/xhs/send-code", employeeCtrlPublic.SendXHSCode) // 发送小红书验证码 api.GET("/products", middleware.AuthMiddleware(), employeeCtrlPublic.GetProducts) // 获取产品列表 // 员工路由(需要认证) employee := api.Group("/employee") employee.Use(middleware.AuthMiddleware()) { employeeCtrl := controller.NewEmployeeController() // 10.1 获取员工个人信息 employee.GET("/profile", employeeCtrl.GetProfile) // 10.1.1 更新个人信息 employee.PUT("/profile", employeeCtrl.UpdateProfile) // 10.1.2 上传头像 employee.POST("/upload-avatar", employeeCtrl.UploadAvatar) // 10.2 绑定小红书账号 employee.POST("/bind-xhs", employeeCtrl.BindXHS) // 10.2.1 获取绑定状态 employee.GET("/bind-xhs-status", employeeCtrl.GetBindXHSStatus) // 10.3 解绑小红书账号 employee.POST("/unbind-xhs", employeeCtrl.UnbindXHS) // 10.4 获取可领取文案列表 employee.GET("/available-copies", employeeCtrl.GetAvailableCopies) // 10.5 领取文案 employee.POST("/claim-copy", employeeCtrl.ClaimCopy) // 10.6 随机领取文案 employee.POST("/claim-random-copy", employeeCtrl.ClaimRandomCopy) // 10.7 发布内容 employee.POST("/publish", employeeCtrl.Publish) // 10.8 获取我的发布记录 employee.GET("/my-publish-records", employeeCtrl.GetMyPublishRecords) // 10.8.1 获取发布记录详情 employee.GET("/publish-record/:id", employeeCtrl.GetPublishRecordDetail) // 10.9 检查小红书绑定与Cookie状态 employee.GET("/xhs/status", employeeCtrl.CheckXHSStatus) // 10.10 更新文案状态(通过/拒绝) employee.POST("/article/:id/status", employeeCtrl.UpdateArticleStatus) // 10.10.1 更新文案内容(标题、正文) employee.PUT("/article/:id", employeeCtrl.UpdateArticleContent) // 10.10.2 添加文案图片 employee.POST("/article/:id/image", employeeCtrl.AddArticleImage) // 10.10.3 删除文案图片 employee.DELETE("/article/image/:imageId", employeeCtrl.DeleteArticleImage) // 10.10.4 更新文案图片排序 employee.PUT("/article/:id/images/order", employeeCtrl.UpdateArticleImagesOrder) // 10.10.5 上传图片 employee.POST("/upload/image", employeeCtrl.UploadImage) // 10.11 编辑发布记录 employee.PUT("/publish-record/:id", employeeCtrl.UpdatePublishRecord) // 10.12 重新发布种草内容 employee.POST("/publish-record/:id/republish", employeeCtrl.RepublishRecord) // 10.13 禁用用户(撤销Token) employee.POST("/revoke-token", employeeCtrl.RevokeUserToken) // 反馈相关接口 feedbackCtrl := controller.NewFeedbackController(service.NewFeedbackService()) employee.POST("/feedback", feedbackCtrl.CreateFeedback) // 创建反馈 employee.GET("/feedback", feedbackCtrl.GetFeedbackList) // 获取反馈列表 employee.GET("/feedback/:id", feedbackCtrl.GetFeedbackDetail) // 获取反馈详情 } } }