164 lines
11 KiB
Go
164 lines
11 KiB
Go
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() {
|
||
RegisterErpRoutes()
|
||
|
||
// ===== 客户端登录器 / 开放接口(无需登录)=====
|
||
// 客户端检查更新
|
||
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")
|
||
|
||
// OA 工作日程(日历待办,与 /backend/oa/schedule/* 同一套数据;小程序「工作日程」页面使用)
|
||
beego.Router("/api/oa/schedule/list", &controllers.AppOaController{}, "get:ScheduleList")
|
||
beego.Router("/api/oa/schedule/detail/:id", &controllers.AppOaController{}, "get:ScheduleDetail")
|
||
beego.Router("/api/oa/schedule/create", &controllers.AppOaController{}, "post:ScheduleCreate")
|
||
beego.Router("/api/oa/schedule/update/:id", &controllers.AppOaController{}, "post:ScheduleUpdate")
|
||
beego.Router("/api/oa/schedule/delete/:id", &controllers.AppOaController{}, "delete:ScheduleDelete")
|
||
beego.Router("/api/oa/schedule/finish/:id", &controllers.AppOaController{}, "post:ScheduleFinish")
|
||
beego.Router("/api/oa/schedule/upload", &controllers.AppOaController{}, "post:ScheduleUploadImage")
|
||
beego.Router("/api/oa/schedule/images/:id", &controllers.AppOaController{}, "post:ScheduleImages")
|
||
|
||
// OA 工作日报(与 /backend/oa/dailyreport/* 同一套数据;小程序「工作日报」页面使用)
|
||
beego.Router("/api/oa/dailyreport/profile", &controllers.AppOaController{}, "get:DailyReportProfile")
|
||
beego.Router("/api/oa/dailyreport/mine/list", &controllers.AppOaController{}, "get:DailyReportMineList")
|
||
beego.Router("/api/oa/dailyreport/save", &controllers.AppOaController{}, "post:DailyReportSave")
|
||
beego.Router("/api/oa/dailyreport/detail/:id", &controllers.AppOaController{}, "get:DailyReportDetail")
|
||
beego.Router("/api/oa/dailyreport/delete/:id", &controllers.AppOaController{}, "delete:DailyReportDelete")
|
||
beego.Router("/api/oa/dailyreport/team/status", &controllers.AppOaController{}, "get:DailyReportTeamStatus")
|
||
beego.Router("/api/oa/dailyreport/team/orgs", &controllers.AppOaController{}, "get:DailyReportTeamOrgs")
|
||
beego.Router("/api/oa/dailyreport/comment", &controllers.AppOaController{}, "post:DailyReportComment")
|
||
beego.Router("/api/oa/dailyreport/comment/:id", &controllers.AppOaController{}, "delete:DailyReportCommentDelete")
|
||
beego.Router("/api/oa/dailyreport/upload", &controllers.AppOaController{}, "post:DailyReportUpload")
|
||
|
||
// OA 报销管理(与 /backend/reimbursements* 同一套数据;小程序「报销管理」页面使用)
|
||
beego.Router("/api/oa/expense/list", &controllers.AppOaController{}, "get:ExpenseList")
|
||
beego.Router("/api/oa/expense/types", &controllers.AppOaController{}, "get:ExpenseTypes")
|
||
beego.Router("/api/oa/expense/upload", &controllers.AppOaController{}, "post:ExpenseUploadImage")
|
||
beego.Router("/api/oa/expense/detail/:id", &controllers.AppOaController{}, "get:ExpenseDetail")
|
||
beego.Router("/api/oa/expense/create", &controllers.AppOaController{}, "post:ExpenseCreate")
|
||
beego.Router("/api/oa/expense/update/:id", &controllers.AppOaController{}, "post:ExpenseUpdate")
|
||
beego.Router("/api/oa/expense/delete/:id", &controllers.AppOaController{}, "delete:ExpenseDelete")
|
||
beego.Router("/api/oa/expense/item/add/:id", &controllers.AppOaController{}, "post:ExpenseAddItem")
|
||
beego.Router("/api/oa/expense/item/update/:id/:item_id", &controllers.AppOaController{}, "post:ExpenseUpdateItem")
|
||
beego.Router("/api/oa/expense/item/delete/:id/:item_id", &controllers.AppOaController{}, "delete:ExpenseDeleteItem")
|
||
beego.Router("/api/oa/expense/submit/:id", &controllers.AppOaController{}, "post:ExpenseSubmit")
|
||
beego.Router("/api/oa/expense/approve/:id", &controllers.AppOaController{}, "post:ExpenseApprove")
|
||
beego.Router("/api/oa/expense/reject/:id", &controllers.AppOaController{}, "post:ExpenseReject")
|
||
beego.Router("/api/oa/expense/my-approve-task/:id", &controllers.AppOaController{}, "get:ExpenseMyApproveTask")
|
||
beego.Router("/api/oa/expense/status/:id", &controllers.AppOaController{}, "post:ExpenseStatus")
|
||
beego.Router("/api/oa/expense/records/:id", &controllers.AppOaController{}, "get:ExpenseRecords")
|
||
|
||
// 通讯录(移动端只读:列表 / 组织树 / 详情)
|
||
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/oa/approval/categories", &controllers.AppOaController{}, "get:ApprovalCategories")
|
||
beego.Router("/api/oa/approval/flows", &controllers.AppOaController{}, "get:ApprovalFlows")
|
||
beego.Router("/api/oa/approval/list", &controllers.AppOaController{}, "get:ApprovalList")
|
||
beego.Router("/api/oa/approval/todo", &controllers.AppOaController{}, "get:ApprovalTodo")
|
||
beego.Router("/api/oa/approval/submit", &controllers.AppOaController{}, "post:ApprovalSubmit")
|
||
beego.Router("/api/oa/approval/approve", &controllers.AppOaController{}, "post:ApprovalApprove")
|
||
beego.Router("/api/oa/approval/withdraw/:id", &controllers.AppOaController{}, "post:ApprovalWithdraw")
|
||
beego.Router("/api/oa/approval/detail/:id", &controllers.AppOaController{}, "get:ApprovalDetail")
|
||
|
||
// 活动日志
|
||
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")
|
||
}
|