// routes/api_app.go // 小程序端API路由 package routes import ( "simple-memo/api/app" "simple-memo/middleware" "github.com/gin-gonic/gin" ) // registerAPIAppRoutes 注册小程序端API路由 func registerAPIAppRoutes(r *gin.Engine) { api := r.Group("/api") // 小程序接口(需要加密) appGroup := api.Group("/app") appGroup.Use(middleware.Limiter()) // 限流 appGroup.Use(middleware.Encryption()) // 加解密 { // 登录 appGroup.POST("/user/login", app.NewUserHandler().Login) // 邮箱登录相关(无需登录) appGroup.POST("/user/email/login", app.NewUserHandler().EmailLogin) // 邮箱密码登录 appGroup.POST("/user/register", app.NewUserHandler().EmailRegister) // 注册账号 appGroup.POST("/user/email/code", app.NewUserHandler().SendEmailCode) // 发送验证码(type=register/login/reset_password) appGroup.POST("/user/email/exists", app.NewUserHandler().CheckEmailExists) // 检查邮箱是否已注册 appGroup.POST("/user/reset-password", app.NewUserHandler().ResetPassword) // 重置密码 appGroup.POST("/captcha/digit", app.NewCaptchaHandler().GenerateDigitCaptcha) // 生成数字验证码 appGroup.POST("/captcha/digit/verify", app.NewCaptchaHandler().VerifyDigitCaptcha) // 验证数字验证码 // 需要登录鉴权 auth := appGroup.Group("/") auth.Use(middleware.JWTAuth()) { // ===================== 用户 ===================== auth.POST("/user/logout", app.NewUserHandler().Logout) // 退出登录 auth.POST("/user/info", app.NewUserHandler().UserInfo) // 获取用户信息(预留) auth.POST("/user/edit", app.NewUserHandler().EditUser) // 修改用户信息 auth.POST("/user/email/set", app.NewUserHandler().SetEmail) // 设置邮箱(绑定邮箱) auth.POST("/user/change-password", app.NewUserHandler().ChangePassword) // 修改密码(已登录) auth.POST("/user/bind-wechat", app.NewUserHandler().BindWechatMini) // 绑定微信(小程序端,wx.login code) auth.POST("/user/config/info", app.NewUserConfigHandler().UserConfigInfo) // 获取用户配置 auth.POST("/user/config/edit", app.NewUserConfigHandler().EditUserConfig) // 修改用户配置 // ===================== 成长等级 ===================== auth.POST("/growth/info", app.NewGrowthHandler().GetGrowthInfo) auth.POST("/growth/rules", app.NewGrowthHandler().GetGrowthRules) auth.POST("/growth/achievements", app.NewGrowthHandler().GetAchievements) auth.POST("/growth/add_exp", app.NewGrowthHandler().AddExp) // ===================== 待办 ===================== auth.POST("/todo/add", app.NewTodoHandler().AddTodo) auth.POST("/todo/list", app.NewTodoHandler().TodoList) auth.POST("/todo/delete", app.NewTodoHandler().DeleteTodo) auth.POST("/todo/done", app.NewTodoHandler().DoneTodo) auth.POST("/todo/edit", app.NewTodoHandler().EditTodo) auth.POST("/todo/stat", app.NewTodoHandler().TodoStat) // 待办统计(新增) // ===================== 账单 ===================== auth.POST("/bill/add", app.NewBillHandler().AddBill) auth.POST("/bill/edit", app.NewBillHandler().EditBill) auth.POST("/bill/list", app.NewBillHandler().BillList) auth.POST("/bill/delete", app.NewBillHandler().DeleteBill) auth.POST("/bill/stat/month", app.NewBillHandler().MonthStat) // 月度统计(mine.vue使用) auth.POST("/bill/stat/category", app.NewBillHandler().CateStat) // 分类统计 auth.POST("/bill/stat/aggregate", app.NewBillHandler().AggregateStat) // 聚合统计(新增) auth.POST("/bill/export", app.NewBillHandler().ExportBill) // ===================== 预算 ===================== auth.POST("/budget/get", app.NewBudgetHandler().GetBudget) // 获取预算(mine.vue使用) auth.POST("/budget/set", app.NewBudgetHandler().SetBudget) // 设置预算(mine.vue使用) auth.POST("/budget/delete", app.NewBudgetHandler().DeleteBudget) // ===================== 分类 ===================== auth.POST("/category/list", app.NewCategoryHandler().CategoryList) // 自定义分类(mine.vue使用) auth.POST("/category/add", app.NewCategoryHandler().AddCategory) auth.POST("/category/delete", app.NewCategoryHandler().DeleteCategory) // ===================== 心情 ===================== auth.POST("/mood/get", app.NewMoodHandler().GetMoodByDate) auth.POST("/mood/save", app.NewMoodHandler().SaveMood) auth.POST("/mood/list", app.NewMoodHandler().GetMoodList) auth.POST("/mood/delete", app.NewMoodHandler().DeleteMood) auth.POST("/mood/stat", app.NewMoodHandler().MoodStat) // 心情统计(新增) // ===================== 复盘 ===================== auth.POST("/review/save", app.NewReviewHandler().SaveReview) // 保存复盘(新增) auth.POST("/review/get", app.NewReviewHandler().GetReview) // 获取单日复盘(新增) auth.POST("/review/list", app.NewReviewHandler().ReviewList) // 获取复盘列表(新增) auth.POST("/review/delete", app.NewReviewHandler().DeleteReview) // 删除复盘(新增) // ===================== 首页聚合 ===================== auth.POST("/dashboard/daily", app.NewDashboardHandler().DailyDashboard) // 首页聚合数据(新增) // ===================== AI 助手 ===================== auth.POST("/ai/mood/analysis", app.NewAIHandler().MoodAnalysis) // 心情分析 auth.POST("/ai/mood/weekly", app.NewAIHandler().MoodWeeklySummary) // 心情周报 auth.POST("/ai/mood/result", app.NewAIHandler().GetMoodAIResult) // 获取心情AI生成结果 auth.POST("/ai/mood/regenerate", app.NewAIHandler().RegenerateMoodAI) // 重新生成心情AI内容 auth.POST("/ai/classify", app.NewAIHandler().Classify) // AI 智能分类 } } }