Files
yunzerwebsiteallinone/go/routers/api/api.go
T
2026-10-07 13:46:32 +08:00

112 lines
6.6 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.
package api
import (
"server/controllers"
beego "github.com/beego/beego/v2/server/web"
)
// Register 注册移动端 / 客户端开放 API(api)路由。
// 说明:/api 统一承载「所有移动端接口」(uniapp)与「登录器等客户端开放接口」,
// 与 /platform、/backend、/index、/auth 各端完全隔离,不复用其它端的功能接口。
//
// 注意:字面量路由必须注册在 :id 通配之前(beego 按注册顺序匹配)。
func Register() {
// ===== 客户端登录器 / 开放接口(无需登录)=====
// 客户端检查更新
beego.Router("/api/softwareupgrade/check", &controllers.ApiSoftwareUpgradeController{}, "get:Check")
// 登录器上报 Cursor 设备信息
beego.Router("/api/cursor/equipment/report", &controllers.ApiCursorEquipmentController{}, "post:Report")
// 登录器使用激活码激活/续期 Cursor 设备
beego.Router("/api/cursor/equipment/activateByCode", &controllers.ApiCursorEquipmentController{}, "post:ActivateByCode")
// 登录器心跳接口,用于更新在线状态
beego.Router("/api/cursor/equipment/heartbeat", &controllers.ApiCursorEquipmentController{}, "post:Heartbeat")
// Cursor Token 顺序读取/检测接口(peek 不改变号池状态)
// GET /api/cursor/token/peek?id=11&data_type=tk
beego.Router("/api/cursor/token/peek", &controllers.ApiCursorDetectController{}, "get:PeekToken")
// Cursor Token 可用状态标记接口
// POST /api/cursor/token/available?id=11
// POST /api/cursor/token/unavailable?id=11
beego.Router("/api/cursor/token/available", &controllers.ApiCursorDetectController{}, "post:MarkTokenAvailable")
beego.Router("/api/cursor/token/unavailable", &controllers.ApiCursorDetectController{}, "post:MarkTokenUnavailable")
// 对外提卡接口
// GET /api/getcard?type=xianyu&module=cursor&data_type=tk
beego.Router("/api/getcard", &controllers.ApiGetCardController{}, "get:GetCard")
// 日程提醒确认接口
beego.Router("/api/schedule/reminder/ack", &controllers.ApiReminderController{}, "get:AckReminder")
// ===== 移动端(uniapp)登录相关(AppAuthController)=====
beego.Router("/api/login", &controllers.AppAuthController{}, "post:LoginBackend")
beego.Router("/api/sendLoginCode", &controllers.AppAuthController{}, "post:SendLoginCode")
beego.Router("/api/loginBySms", &controllers.AppAuthController{}, "post:LoginBySms")
beego.Router("/api/logout", &controllers.AppAuthController{}, "post:Logout")
// 当前用户信息
beego.Router("/api/currentUser", &controllers.AppAuthController{}, "get:GetCurrentUser")
// 极验与登录验证配置
beego.Router("/api/login/getGeetest3Infos", &controllers.AppAuthController{}, "get:GetGeetest3Infos")
beego.Router("/api/login/getGeetest4Infos", &controllers.AppAuthController{}, "get:GetGeetest4Infos")
beego.Router("/api/login/getOpenVerify", &controllers.AppAuthController{}, "get:GetOpenVerify")
// 找回密码(三步流程)
beego.Router("/api/verifyAccount", &controllers.AppAuthController{}, "post:VerifyAccount")
beego.Router("/api/sendResetCode", &controllers.AppAuthController{}, "post:SendResetCode")
beego.Router("/api/resetPassword", &controllers.AppAuthController{}, "post:ResetPassword")
// 注册
beego.Router("/api/register", &controllers.AppAuthController{}, "post:Register")
beego.Router("/api/sendRegisterCode", &controllers.AppAuthController{}, "post:SendRegisterCode")
// 日程提醒
beego.Router("/api/schedule/list", &controllers.AppReminderController{}, "get:GetList")
beego.Router("/api/schedule", &controllers.AppReminderController{}, "post:Create")
beego.Router("/api/schedule/:id", &controllers.AppReminderController{}, "get:GetDetail;put:Update;delete:Delete")
beego.Router("/api/schedule/:id/toggle", &controllers.AppReminderController{}, "post:ToggleComplete")
// 记事本
beego.Router("/api/notebook/list", &controllers.AppNotebookController{}, "get:GetList")
beego.Router("/api/notebook", &controllers.AppNotebookController{}, "post:Create")
beego.Router("/api/notebook/:id", &controllers.AppNotebookController{}, "get:GetDetail;put:Update;delete:Delete")
beego.Router("/api/notebook/:id/togglePin", &controllers.AppNotebookController{}, "post:TogglePin")
// OA 协同办公(移动端只读:通知公告 / 文档库 / 薪酬工资单 / 员工档案)
beego.Router("/api/oa/notice/list", &controllers.AppOaController{}, "get:NoticeList")
beego.Router("/api/oa/notice/:id", &controllers.AppOaController{}, "get:NoticeDetail")
beego.Router("/api/oa/document/categories", &controllers.AppOaController{}, "get:DocCategories")
beego.Router("/api/oa/document/list", &controllers.AppOaController{}, "get:DocList")
beego.Router("/api/oa/document/download/:id", &controllers.AppOaController{}, "get:DocDownload")
beego.Router("/api/oa/document/:id/star", &controllers.AppOaController{}, "post:DocStar")
beego.Router("/api/oa/document/:id", &controllers.AppOaController{}, "get:DocDetail")
beego.Router("/api/oa/compensation/payrolls", &controllers.AppOaController{}, "get:PayrollList")
beego.Router("/api/oa/compensation/payrolls/:id", &controllers.AppOaController{}, "get:PayrollDetail")
beego.Router("/api/oa/employee-file", &controllers.AppOaController{}, "get:MyEmployeeFile")
// 员工档案 HR 视角:access 判定是否可看全公司档案,list 全公司档案列表,detail 档案详情
beego.Router("/api/oa/employee-file/access", &controllers.AppOaController{}, "get:EmployeeFileAccess")
beego.Router("/api/oa/employee-file/list", &controllers.AppOaController{}, "get:EmployeeFileList")
beego.Router("/api/oa/employee-file/detail/:id", &controllers.AppOaController{}, "get:EmployeeFileDetail")
// OA 工作台仪表盘(移动端首屏顶部聚合:待办/报销统计 + 通知公告 + 今日日程)
beego.Router("/api/oa/dashboard", &controllers.AppOaController{}, "get:Dashboard")
// 通讯录(移动端只读:列表 / 组织树 / 详情)
beego.Router("/api/oa/contact/list", &controllers.AppOaController{}, "get:ContactList")
beego.Router("/api/oa/contact/org-tree", &controllers.AppOaController{}, "get:ContactOrgTree")
beego.Router("/api/oa/contact/:id", &controllers.AppOaController{}, "get:ContactDetail")
// 活动日志
beego.Router("/api/activity/list", &controllers.AppActivityController{}, "get:GetList")
// 工作台聚合(ERP/OA/CRM/CMS 应用门户首屏数据)
beego.Router("/api/home", &controllers.AppAggregateController{}, "get:Home")
// 移动端用户自定义「常用功能」保存(读取随 /api/home 下发 quick_menu_ids)
beego.Router("/api/quick-menus", &controllers.AppAggregateController{}, "post:SaveQuickMenus")
}