Files
simple-memo/routes/api_app.go
T
sunct 3c3bf53ae4 docs(website): 添加简记memo产品原型和UI设计规范文档
- 新增「简记memo」一体化小程序产品原型设计文档
- 新增简记memo完整版UI视觉设计规范和界面细节
- 添加IDEA项目配置文件.gitignore
- 创建404页面HTML文件,包含响应式布局和错误提示
- 添加关于页面HTML文件,展示品牌介绍和团队信息
- 实现AES加解密工具函数,支持请求体加密
- 添加用户协议页面基础框架
2026-07-31 14:12:32 +08:00

108 lines
5.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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 智能分类
}
}
}