438 lines
35 KiB
Go
438 lines
35 KiB
Go
package backend
|
||
|
||
import (
|
||
"server/controllers"
|
||
|
||
beego "github.com/beego/beego/v2/server/web"
|
||
)
|
||
|
||
// Register 注册租户端(backend)路由。
|
||
// 该端不包含平台菜单配置接口。
|
||
func Register() {
|
||
RegisterAuthRoutes()
|
||
RegisterRoleRoutes()
|
||
}
|
||
|
||
// RegisterRoleRoutes 注册 backend 租户角色管理路由。
|
||
func RegisterRoleRoutes() {
|
||
// 租户角色管理(yz_system_admin_role, cid=2)
|
||
beego.Router("/backend/allRoles", &controllers.BackendRoleController{}, "get:GetAllRoles")
|
||
beego.Router("/backend/roles/:id", &controllers.BackendRoleController{}, "get:GetRoleByID")
|
||
beego.Router("/backend/roles", &controllers.BackendRoleController{}, "post:CreateRole")
|
||
beego.Router("/backend/roles/:id", &controllers.BackendRoleController{}, "put:UpdateRole")
|
||
beego.Router("/backend/roles/:id", &controllers.BackendRoleController{}, "delete:DeleteRole")
|
||
}
|
||
|
||
// RegisterAuthRoutes 注册 backend 认证相关路由。
|
||
func RegisterAuthRoutes() {
|
||
// 登录、注册与找回密码相关
|
||
beego.Router("/backend/login", &controllers.BackendAuthController{}, "post:LoginBackend")
|
||
beego.Router("/backend/sendLoginCode", &controllers.BackendAuthController{}, "post:SendLoginCode")
|
||
beego.Router("/backend/loginBySms", &controllers.BackendAuthController{}, "post:LoginBySms")
|
||
beego.Router("/backend/logout", &controllers.BackendAuthController{}, "post:Logout")
|
||
beego.Router("/backend/register", &controllers.BackendAuthController{}, "post:Register")
|
||
beego.Router("/backend/sendRegisterCode", &controllers.BackendAuthController{}, "post:SendRegisterCode")
|
||
beego.Router("/backend/resetPassword", &controllers.BackendAuthController{}, "post:ResetPassword")
|
||
beego.Router("/backend/sendResetCode", &controllers.BackendAuthController{}, "post:SendResetCode")
|
||
|
||
// 极验与登录验证配置
|
||
beego.Router("/backend/login/getGeetest3Infos", &controllers.BackendAuthController{}, "get:GetGeetest3Infos")
|
||
beego.Router("/backend/login/getGeetest4Infos", &controllers.BackendAuthController{}, "get:GetGeetest4Infos")
|
||
beego.Router("/backend/login/getOpenVerify", &controllers.BackendAuthController{}, "get:GetOpenVerify")
|
||
|
||
// 当前登录用户信息
|
||
beego.Router("/backend/getCurrentUser", &controllers.BackendAuthController{}, "get:GetCurrentUser")
|
||
// 当前登录用户的角色 / 部门 / 职位
|
||
beego.Router("/backend/getCurrentUserProfile", &controllers.BackendAuthController{}, "get:GetCurrentUserProfile")
|
||
|
||
// 菜单接口
|
||
// 可分配给角色的菜单(服务端已过滤停用/隐藏菜单)
|
||
beego.Router("/backend/assignableMenus", &controllers.BackendMenuController{}, "get:GetAssignableMenus")
|
||
beego.Router("/backend/allmenu", &controllers.BackendMenuController{}, "get:GetAllMenus")
|
||
beego.Router("/backend/menu/:id", &controllers.BackendMenuController{}, "get:GetBackendMenu")
|
||
// 前端菜单接口
|
||
beego.Router("/backend/frontmenus", &controllers.BackendMenuFrontController{}, "get:List;post:Create")
|
||
beego.Router("/backend/frontmenus/:id", &controllers.BackendMenuFrontController{}, "post:Update;delete:Delete")
|
||
|
||
// 操作日志(yz_system_operation_log)
|
||
beego.Router("/backend/operationLogs", &controllers.BackendOperationLogController{}, "get:List")
|
||
beego.Router("/backend/operationLogs/statistics", &controllers.BackendOperationLogController{}, "get:Statistics")
|
||
beego.Router("/backend/operationLogs/:id", &controllers.BackendOperationLogController{}, "get:Detail;delete:Delete")
|
||
beego.Router("/backend/operationLogs/batchDelete", &controllers.BackendOperationLogController{}, "post:BatchDelete")
|
||
|
||
// 登录日志(yz_system_login_log)
|
||
beego.Router("/backend/loginLogs", &controllers.BackendLoginLogController{}, "get:List")
|
||
beego.Router("/backend/loginLogs/:id", &controllers.BackendLoginLogController{}, "get:Detail;delete:Delete")
|
||
beego.Router("/backend/loginLogs/batchDelete", &controllers.BackendLoginLogController{}, "post:BatchDelete")
|
||
|
||
// 租户站点设置
|
||
beego.Router("/backend/normalInfos", &controllers.BackendSiteSettingsController{}, "get:GetNormalInfos")
|
||
beego.Router("/backend/saveNormalInfos", &controllers.BackendSiteSettingsController{}, "post:SaveNormalInfos")
|
||
beego.Router("/backend/legalInfos", &controllers.BackendSiteSettingsController{}, "get:GetLegalInfos")
|
||
beego.Router("/backend/saveLegalInfos", &controllers.BackendSiteSettingsController{}, "post:SaveLegalInfos")
|
||
beego.Router("/backend/companyInfos", &controllers.BackendSiteSettingsController{}, "get:GetCompanyInfos")
|
||
beego.Router("/backend/saveCompanyInfos", &controllers.BackendSiteSettingsController{}, "post:SaveCompanyInfos")
|
||
beego.Router("/backend/companySeo", &controllers.BackendSiteSettingsController{}, "get:GetCompanySeo")
|
||
beego.Router("/backend/saveCompanySeo", &controllers.BackendSiteSettingsController{}, "post:SaveCompanySeo")
|
||
beego.Router("/backend/loginVerifyInfos", &controllers.BackendLoginVerifyController{}, "get:GetLoginVerifyInfos")
|
||
beego.Router("/backend/saveloginVerifyInfos", &controllers.BackendLoginVerifyController{}, "post:SaveLoginVerifyInfos")
|
||
|
||
// 站内信(yz_system_reminderlist)
|
||
beego.Router("/backend/sitereminder/myList", &controllers.BackendSiteReminderController{}, "get:GetMyList")
|
||
beego.Router("/backend/sitereminder/read", &controllers.BackendSiteReminderController{}, "post:MarkRead")
|
||
beego.Router("/backend/sitereminder/readall", &controllers.BackendSiteReminderController{}, "post:MarkAllRead")
|
||
beego.Router("/backend/sitereminder/delete", &controllers.BackendSiteReminderController{}, "post:Delete")
|
||
|
||
// 文件管理(yz_system_files / yz_system_files_category)
|
||
beego.Router("/backend/usercate", &controllers.BackendFileController{}, "get:GetUserCate")
|
||
beego.Router("/backend/allfiles", &controllers.BackendFileController{}, "get:GetAllFiles")
|
||
beego.Router("/backend/catefiles/:id", &controllers.BackendFileController{}, "get:GetCateFiles")
|
||
beego.Router("/backend/file/:id", &controllers.BackendFileController{}, "get:GetFileByID")
|
||
beego.Router("/backend/deletefilepermanently/:id", &controllers.BackendFileController{}, "delete:DeleteFilePermanently")
|
||
beego.Router("/backend/uploadfile", &controllers.BackendFileController{}, "post:UploadFile")
|
||
beego.Router("/backend/uploadfiles", &controllers.BackendFileController{}, "post:UploadFile")
|
||
beego.Router("/backend/updatefile/:id", &controllers.BackendFileController{}, "post:UpdateFile")
|
||
beego.Router("/backend/deletefile/:id", &controllers.BackendFileController{}, "delete:DeleteFile")
|
||
beego.Router("/backend/movefile/:id", &controllers.BackendFileController{}, "get:MoveFile")
|
||
beego.Router("/backend/createfilecate", &controllers.BackendFileController{}, "post:CreateFileCate")
|
||
beego.Router("/backend/renamefilecate/:id", &controllers.BackendFileController{}, "post:RenameFileCate")
|
||
beego.Router("/backend/deletefilecate/:id", &controllers.BackendFileController{}, "delete:DeleteFileCate")
|
||
beego.Router("/backend/uploadavatar", &controllers.BackendFileController{}, "post:UploadAvatar")
|
||
beego.Router("/backend/uploadavatar/:id", &controllers.BackendFileController{}, "post:UpdateAvatar")
|
||
beego.Router("/backend/batchdeletefiles", &controllers.BackendFileController{}, "post:BatchDeleteFiles")
|
||
beego.Router("/backend/batchDeleteFilesPermanently", &controllers.BackendFileController{}, "post:BatchDeleteFilesPermanently")
|
||
beego.Router("/backend/batchMoveFiles", &controllers.BackendFileController{}, "post:BatchMoveFiles")
|
||
|
||
// 模块接口
|
||
beego.Router("/backend/modules/getTenantList", &controllers.BackendModulesController{}, "get:GetTenantList")
|
||
|
||
// 用户接口
|
||
beego.Router("/backend/getTenantUsers/:tid", &controllers.BackendAdminUserController{}, "get:GetTenantUsers")
|
||
beego.Router("/backend/getAllUsers", &controllers.BackendAdminUserController{}, "get:GetAllUsers")
|
||
beego.Router("/backend/getUserInfo/:id", &controllers.BackendAdminUserController{}, "get:GetUserInfo")
|
||
beego.Router("/backend/addUser", &controllers.BackendAdminUserController{}, "post:AddUser")
|
||
beego.Router("/backend/editUser/:id", &controllers.BackendAdminUserController{}, "post:EditUser")
|
||
beego.Router("/backend/deleteUser/:id", &controllers.BackendAdminUserController{}, "delete:DeleteUser")
|
||
beego.Router("/backend/changePassword", &controllers.BackendAdminUserController{}, "post:ChangePassword")
|
||
|
||
// 组织架构(组织 / 员工 / 职位)
|
||
// 组织架构是租户端通用基础数据:进销存(erp)与办公自动化(oa)两套界面读写同一份数据,
|
||
// 数据按 JWT 中的租户ID 隔离。两个前缀注册到同一个控制器,便于两端各自的菜单与权限配置。
|
||
registerOrganizationRoutes("erp")
|
||
registerOrganizationRoutes("oa")
|
||
|
||
// 员工档案(OA 人事档案:一人一档 + 教育/工作/合同/证照子记录)
|
||
beego.Router("/backend/oa/employeefile/list", &controllers.BackendEmployeeFileController{}, "get:List")
|
||
beego.Router("/backend/oa/employeefile/stats", &controllers.BackendEmployeeFileController{}, "get:Stats")
|
||
beego.Router("/backend/oa/employeefile/detail/:id", &controllers.BackendEmployeeFileController{}, "get:Detail")
|
||
beego.Router("/backend/oa/employeefile/create", &controllers.BackendEmployeeFileController{}, "post:Create")
|
||
beego.Router("/backend/oa/employeefile/update/:id", &controllers.BackendEmployeeFileController{}, "post:Update")
|
||
beego.Router("/backend/oa/employeefile/certificates/:id", &controllers.BackendEmployeeFileController{}, "post:UpdateCertificates")
|
||
beego.Router("/backend/oa/employeefile/delete/:id", &controllers.BackendEmployeeFileController{}, "delete:Delete")
|
||
beego.Router("/backend/oa/employeefile/filedEmployees", &controllers.BackendEmployeeFileController{}, "get:FiledEmployees")
|
||
beego.Router("/backend/oa/employeefile/record/create", &controllers.BackendEmployeeFileController{}, "post:CreateRecord")
|
||
beego.Router("/backend/oa/employeefile/record/update/:id", &controllers.BackendEmployeeFileController{}, "post:UpdateRecord")
|
||
beego.Router("/backend/oa/employeefile/record/delete/:id", &controllers.BackendEmployeeFileController{}, "delete:DeleteRecord")
|
||
|
||
// 通讯录管理(与组织架构联动)
|
||
beego.Router("/backend/erp/contact/list", &controllers.BackendErpContactController{}, "get:List")
|
||
beego.Router("/backend/erp/contact/detail/:id", &controllers.BackendErpContactController{}, "get:Detail")
|
||
beego.Router("/backend/erp/contact/create", &controllers.BackendErpContactController{}, "post:Create")
|
||
beego.Router("/backend/erp/contact/update/:id", &controllers.BackendErpContactController{}, "post:Update")
|
||
beego.Router("/backend/erp/contact/delete/:id", &controllers.BackendErpContactController{}, "delete:Delete")
|
||
beego.Router("/backend/erp/contact/star/:id", &controllers.BackendErpContactController{}, "post:Star")
|
||
beego.Router("/backend/erp/contact/syncAll", &controllers.BackendErpContactController{}, "post:SyncAllContacts")
|
||
beego.Router("/backend/erp/contact/orgTree", &controllers.BackendErpContactController{}, "get:GetContactOrgTree")
|
||
|
||
// 文章管理
|
||
beego.Router("/backend/articlesList", &controllers.BackendArticleController{}, "get:List")
|
||
beego.Router("/backend/contentstats", &controllers.BackendArticleController{}, "get:ContentStats")
|
||
beego.Router("/backend/allarticles", &controllers.BackendArticleController{}, "get:ListAll")
|
||
beego.Router("/backend/articles/:id", &controllers.BackendArticleController{}, "get:Detail")
|
||
beego.Router("/backend/createarticle", &controllers.BackendArticleController{}, "post:Create")
|
||
beego.Router("/backend/editarticle/:id", &controllers.BackendArticleController{}, "post:Update")
|
||
beego.Router("/backend/deletearticle/:id", &controllers.BackendArticleController{}, "delete:Delete")
|
||
beego.Router("/backend/publisharticle/:id", &controllers.BackendArticleController{}, "post:Publish")
|
||
beego.Router("/backend/unPublisharticle/:id", &controllers.BackendArticleController{}, "post:Unpublish")
|
||
beego.Router("/backend/articleRecommend/:id", &controllers.BackendArticleController{}, "post:Recommend")
|
||
beego.Router("/backend/unArticleRecommend/:id", &controllers.BackendArticleController{}, "post:Unrecommend")
|
||
beego.Router("/backend/articleTop/:id", &controllers.BackendArticleController{}, "post:Top")
|
||
beego.Router("/backend/unArticleTop/:id", &controllers.BackendArticleController{}, "post:Untop")
|
||
|
||
beego.Router("/backend/categories", &controllers.BackendArticleCategoryController{}, "get:List")
|
||
beego.Router("/backend/allcategories", &controllers.BackendArticleCategoryController{}, "get:ListAll")
|
||
beego.Router("/backend/categories/:id", &controllers.BackendArticleCategoryController{}, "get:Detail;delete:Delete")
|
||
beego.Router("/backend/createCategory", &controllers.BackendArticleCategoryController{}, "post:Create")
|
||
beego.Router("/backend/editCategory/:id", &controllers.BackendArticleCategoryController{}, "post:Update")
|
||
beego.Router("/backend/categories/:id/status", &controllers.BackendArticleCategoryController{}, "patch:UpdateStatus")
|
||
|
||
// 产品管理(yz_cms_product / yz_cms_product_category,按租户隔离)
|
||
beego.Router("/backend/productsList", &controllers.BackendProductController{}, "get:List")
|
||
beego.Router("/backend/addProducts", &controllers.BackendProductController{}, "post:Create")
|
||
beego.Router("/backend/editProducts/:id", &controllers.BackendProductController{}, "put:Update")
|
||
beego.Router("/backend/deleteProducts/:id", &controllers.BackendProductController{}, "delete:Delete")
|
||
|
||
beego.Router("/backend/productsTypesList", &controllers.BackendProductCategoryController{}, "get:List")
|
||
beego.Router("/backend/addProductsTypes", &controllers.BackendProductCategoryController{}, "post:Create")
|
||
beego.Router("/backend/editProductsTypes/:id", &controllers.BackendProductCategoryController{}, "put:Update")
|
||
beego.Router("/backend/deleteProductsTypes/:id", &controllers.BackendProductCategoryController{}, "delete:Delete")
|
||
|
||
// 解决方案/特色服务管理(yz_cms_solution / yz_cms_solution_category,按租户隔离)
|
||
beego.Router("/backend/servicesList", &controllers.BackendSolutionController{}, "get:List")
|
||
beego.Router("/backend/addServices", &controllers.BackendSolutionController{}, "post:Create")
|
||
beego.Router("/backend/editServices/:id", &controllers.BackendSolutionController{}, "put:Update")
|
||
beego.Router("/backend/deleteServices/:id", &controllers.BackendSolutionController{}, "delete:Delete")
|
||
|
||
beego.Router("/backend/servicesTypesList", &controllers.BackendSolutionCategoryController{}, "get:List")
|
||
beego.Router("/backend/addServicesTypes", &controllers.BackendSolutionCategoryController{}, "post:Create")
|
||
beego.Router("/backend/editServicesTypes/:id", &controllers.BackendSolutionCategoryController{}, "put:Update")
|
||
beego.Router("/backend/deleteServicesTypes/:id", &controllers.BackendSolutionCategoryController{}, "delete:Delete")
|
||
|
||
// 官网前台内容(Banner / 友链 / 单页,yz_cms_frontend_*,按租户隔离)
|
||
beego.Router("/backend/allbanners", &controllers.BackendBannerController{}, "get:ListAll")
|
||
beego.Router("/backend/createbanner", &controllers.BackendBannerController{}, "post:Create")
|
||
beego.Router("/backend/editbanner/:id", &controllers.BackendBannerController{}, "post:Update")
|
||
beego.Router("/backend/deletebanner/:id", &controllers.BackendBannerController{}, "delete:Delete")
|
||
|
||
beego.Router("/backend/friendlinks", &controllers.BackendFriendlinkController{}, "get:List;post:Create")
|
||
beego.Router("/backend/friendlinks/all", &controllers.BackendFriendlinkController{}, "get:ListAll")
|
||
beego.Router("/backend/friendlinks/batchdelete", &controllers.BackendFriendlinkController{}, "post:BatchDelete")
|
||
beego.Router("/backend/friendlinks/:id", &controllers.BackendFriendlinkController{}, "put:Update;delete:Delete")
|
||
|
||
beego.Router("/backend/allonepages", &controllers.BackendOnepageController{}, "get:ListAll")
|
||
beego.Router("/backend/createonepage", &controllers.BackendOnepageController{}, "post:Create")
|
||
beego.Router("/backend/editonepage/:id", &controllers.BackendOnepageController{}, "post:Update")
|
||
beego.Router("/backend/deleteonepage/:id", &controllers.BackendOnepageController{}, "delete:Delete")
|
||
|
||
// 官网模板选用(只读列表 + 切换,模板管理在 platform 端)
|
||
beego.Router("/backend/theme", &controllers.BackendThemeController{}, "get:List")
|
||
beego.Router("/backend/theme/switch", &controllers.BackendThemeController{}, "post:Switch")
|
||
beego.Router("/backend/theme/data", &controllers.BackendThemeController{}, "get:GetData;post:SaveData")
|
||
|
||
// 域名管理(主域名池 / 租户域名)
|
||
beego.Router("/backend/domain/pool/index", &controllers.BackendDomainPoolController{}, "get:Index")
|
||
beego.Router("/backend/domain/pool/getEnabledDomains", &controllers.BackendDomainPoolController{}, "get:GetEnabledDomains")
|
||
beego.Router("/backend/domain/pool/create", &controllers.BackendDomainPoolController{}, "post:Create")
|
||
beego.Router("/backend/domain/pool/update", &controllers.BackendDomainPoolController{}, "post:Update")
|
||
beego.Router("/backend/domain/pool/delete/:id", &controllers.BackendDomainPoolController{}, "delete:Delete")
|
||
beego.Router("/backend/domain/pool/toggleStatus", &controllers.BackendDomainPoolController{}, "post:ToggleStatus")
|
||
|
||
beego.Router("/backend/domain/tenant/index", &controllers.BackendTenantDomainController{}, "get:Index")
|
||
beego.Router("/backend/domain/tenant/myDomains", &controllers.BackendTenantDomainController{}, "get:MyDomains")
|
||
beego.Router("/backend/domain/tenant/apply", &controllers.BackendTenantDomainController{}, "post:Apply")
|
||
beego.Router("/backend/domain/tenant/bindCustom", &controllers.BackendTenantDomainController{}, "post:BindCustom")
|
||
beego.Router("/backend/domain/tenant/checkCustomDns", &controllers.BackendTenantDomainController{}, "post:CheckCustomDns")
|
||
beego.Router("/backend/domain/tenant/customDomainGuide", &controllers.BackendTenantDomainController{}, "get:CustomDomainGuide")
|
||
beego.Router("/backend/domain/tenant/audit", &controllers.BackendTenantDomainController{}, "post:Audit")
|
||
beego.Router("/backend/domain/tenant/toggleStatus", &controllers.BackendTenantDomainController{}, "post:ToggleStatus")
|
||
beego.Router("/backend/domain/tenant/delete/:id", &controllers.BackendTenantDomainController{}, "delete:Delete")
|
||
|
||
// 密码存储管理
|
||
beego.Router("/backend/passwordStore/list", &controllers.BackendPasswordStoreController{}, "get:List")
|
||
beego.Router("/backend/passwordStore/detail/:id", &controllers.BackendPasswordStoreController{}, "get:Detail")
|
||
beego.Router("/backend/passwordStore/create", &controllers.BackendPasswordStoreController{}, "post:Create")
|
||
beego.Router("/backend/passwordStore/update/:id", &controllers.BackendPasswordStoreController{}, "post:Update")
|
||
beego.Router("/backend/passwordStore/delete/:id", &controllers.BackendPasswordStoreController{}, "delete:Delete")
|
||
|
||
// 记事本管理
|
||
beego.Router("/backend/notebook/list", &controllers.BackendNotebookController{}, "get:List")
|
||
beego.Router("/backend/notebook/detail/:id", &controllers.BackendNotebookController{}, "get:Detail")
|
||
beego.Router("/backend/notebook/create", &controllers.BackendNotebookController{}, "post:Create")
|
||
beego.Router("/backend/notebook/update/:id", &controllers.BackendNotebookController{}, "post:Update")
|
||
beego.Router("/backend/notebook/delete/:id", &controllers.BackendNotebookController{}, "delete:Delete")
|
||
|
||
// 报销与审批管理
|
||
beego.Router("/backend/reimbursements", &controllers.BackendReimburseController{}, "get:List;post:Create")
|
||
beego.Router("/backend/reimbursements/dashboard", &controllers.BackendReimburseController{}, "get:Dashboard")
|
||
beego.Router("/backend/reimbursements/types/manage", &controllers.BackendReimburseController{}, "get:TypesManage")
|
||
beego.Router("/backend/reimbursements/types/:type_id", &controllers.BackendReimburseController{}, "post:UpdateType;delete:DeleteType")
|
||
beego.Router("/backend/reimbursements/types", &controllers.BackendReimburseController{}, "get:Types;post:CreateType")
|
||
beego.Router("/backend/reimbursements/flows", &controllers.BackendReimburseController{}, "get:Flows")
|
||
beego.Router("/backend/reimbursements/:id/items", &controllers.BackendReimburseController{}, "post:AddItem")
|
||
beego.Router("/backend/reimbursements/:id/items/:item_id", &controllers.BackendReimburseController{}, "post:UpdateItem;delete:DeleteItem")
|
||
beego.Router("/backend/reimbursements/:id", &controllers.BackendReimburseController{}, "get:Detail;post:Update;delete:Delete")
|
||
beego.Router("/backend/reimbursements/:id/submit", &controllers.BackendReimburseController{}, "post:Submit")
|
||
beego.Router("/backend/reimbursements/:id/status", &controllers.BackendReimburseController{}, "post:UpdateStatus")
|
||
beego.Router("/backend/reimbursements/:id/records", &controllers.BackendReimburseController{}, "get:Records")
|
||
|
||
// 日程提醒管理
|
||
beego.Router("/backend/reminder/list", &controllers.BackendReminderController{}, "get:GetReminderList")
|
||
beego.Router("/backend/reminder/test", &controllers.BackendReminderController{}, "post:TestReminder")
|
||
beego.Router("/backend/reminder/:id", &controllers.BackendReminderController{}, "get:GetReminderDetail;put:UpdateReminder;delete:DeleteReminder")
|
||
beego.Router("/backend/reminder", &controllers.BackendReminderController{}, "post:CreateReminder")
|
||
beego.Router("/backend/reminder/batchDelete", &controllers.BackendReminderController{}, "post:BatchDeleteReminder")
|
||
beego.Router("/backend/reminder/finish/:id", &controllers.BackendReminderController{}, "post:FinishReminder")
|
||
|
||
// 用户通知配置(每个用户自己的邮箱/手机号/Bark)
|
||
beego.Router("/backend/notify-config", &controllers.BackendNotifyConfigController{}, "get:GetConfig;put:UpdateConfig")
|
||
|
||
// OA 薪酬管理(薪酬方案 / 月度薪资单)
|
||
beego.Router("/backend/oa/compensation/employees", &controllers.BackendOaCompensationController{}, "get:Employees")
|
||
beego.Router("/backend/oa/compensation/dashboard", &controllers.BackendOaCompensationController{}, "get:Dashboard")
|
||
beego.Router("/backend/oa/compensation/schemes", &controllers.BackendOaCompensationController{}, "get:SchemeList;post:CreateScheme")
|
||
beego.Router("/backend/oa/compensation/schemes/:id", &controllers.BackendOaCompensationController{}, "post:UpdateScheme;delete:DeleteScheme")
|
||
beego.Router("/backend/oa/compensation/payrolls", &controllers.BackendOaCompensationController{}, "get:List;post:Create")
|
||
beego.Router("/backend/oa/compensation/payrolls/:id", &controllers.BackendOaCompensationController{}, "get:Detail;post:Update;delete:Delete")
|
||
beego.Router("/backend/oa/compensation/payrolls/:id/status", &controllers.BackendOaCompensationController{}, "post:UpdateStatus")
|
||
|
||
// OA日程管理(日历待办)
|
||
beego.Router("/backend/oa/schedule/list", &controllers.BackendOaScheduleController{}, "get:List")
|
||
beego.Router("/backend/oa/schedule/stats", &controllers.BackendOaScheduleController{}, "get:Stats")
|
||
beego.Router("/backend/oa/schedule/create", &controllers.BackendOaScheduleController{}, "post:Create")
|
||
beego.Router("/backend/oa/schedule/update/:id", &controllers.BackendOaScheduleController{}, "post:Update")
|
||
beego.Router("/backend/oa/schedule/delete/:id", &controllers.BackendOaScheduleController{}, "delete:Delete")
|
||
beego.Router("/backend/oa/schedule/finish/:id", &controllers.BackendOaScheduleController{}, "post:FinishSchedule")
|
||
beego.Router("/backend/oa/schedule/carry/:id", &controllers.BackendOaScheduleController{}, "post:CarrySchedule")
|
||
beego.Router("/backend/oa/schedule/carry-pending", &controllers.BackendOaScheduleController{}, "post:CarryPending")
|
||
beego.Router("/backend/oa/schedule/images/:id", &controllers.BackendOaScheduleController{}, "post:SetImages")
|
||
beego.Router("/backend/oa/schedule/content/:id", &controllers.BackendOaScheduleController{}, "post:UpdateContent")
|
||
|
||
// OA通知公告
|
||
beego.Router("/backend/oa/notice/list", &controllers.BackendOaNoticeController{}, "get:List")
|
||
beego.Router("/backend/oa/notice/portal", &controllers.BackendOaNoticeController{}, "get:Portal")
|
||
beego.Router("/backend/oa/notice/detail/:id", &controllers.BackendOaNoticeController{}, "get:Detail")
|
||
beego.Router("/backend/oa/notice/create", &controllers.BackendOaNoticeController{}, "post:Create")
|
||
beego.Router("/backend/oa/notice/update/:id", &controllers.BackendOaNoticeController{}, "post:Update")
|
||
beego.Router("/backend/oa/notice/delete/:id", &controllers.BackendOaNoticeController{}, "delete:Delete")
|
||
beego.Router("/backend/oa/notice/publish/:id", &controllers.BackendOaNoticeController{}, "post:Publish")
|
||
beego.Router("/backend/oa/notice/top/:id", &controllers.BackendOaNoticeController{}, "post:Top")
|
||
|
||
// OA文档管理(文档库 / 文档图谱)
|
||
beego.Router("/backend/oa/document/categories", &controllers.BackendOaDocumentController{}, "get:Categories;post:CreateCategory")
|
||
beego.Router("/backend/oa/document/categories/:id", &controllers.BackendOaDocumentController{}, "post:UpdateCategory;delete:DeleteCategory")
|
||
beego.Router("/backend/oa/document/list", &controllers.BackendOaDocumentController{}, "get:List")
|
||
beego.Router("/backend/oa/document/stats", &controllers.BackendOaDocumentController{}, "get:Stats")
|
||
beego.Router("/backend/oa/document/graph", &controllers.BackendOaDocumentController{}, "get:Graph")
|
||
beego.Router("/backend/oa/document/links", &controllers.BackendOaDocumentController{}, "get:LinkList;post:LinkCreate")
|
||
beego.Router("/backend/oa/document/links/:id", &controllers.BackendOaDocumentController{}, "delete:LinkDelete")
|
||
beego.Router("/backend/oa/document/detail/:id", &controllers.BackendOaDocumentController{}, "get:Detail")
|
||
beego.Router("/backend/oa/document/content/:id", &controllers.BackendOaDocumentController{}, "get:Content")
|
||
beego.Router("/backend/oa/document/create", &controllers.BackendOaDocumentController{}, "post:Create")
|
||
beego.Router("/backend/oa/document/update/:id", &controllers.BackendOaDocumentController{}, "post:Update")
|
||
beego.Router("/backend/oa/document/delete/:id", &controllers.BackendOaDocumentController{}, "delete:Delete")
|
||
beego.Router("/backend/oa/document/delete-batch", &controllers.BackendOaDocumentController{}, "post:DeleteBatch")
|
||
beego.Router("/backend/oa/document/move", &controllers.BackendOaDocumentController{}, "post:Move")
|
||
beego.Router("/backend/oa/document/star/:id", &controllers.BackendOaDocumentController{}, "post:Star")
|
||
beego.Router("/backend/oa/document/download/:id", &controllers.BackendOaDocumentController{}, "post:Download")
|
||
beego.Router("/backend/oa/document/members", &controllers.BackendOaDocumentController{}, "get:Members")
|
||
beego.Router("/backend/oa/document/shares/:id", &controllers.BackendOaDocumentController{}, "get:ShareList;post:ShareSet")
|
||
beego.Router("/backend/oa/document/share/:sid", &controllers.BackendOaDocumentController{}, "delete:ShareRemove")
|
||
}
|
||
|
||
// registerOrganizationRoutes 为指定模块前缀注册组织架构路由。
|
||
// 进销存(erp)与办公自动化(oa)各有独立界面,但共用 BackendOrganizationController 与同一套表,
|
||
// 因此这里用同一份定义注册两遍,只有 URL 前缀不同。
|
||
func registerOrganizationRoutes(module string) {
|
||
prefix := "/backend/" + module
|
||
|
||
// 组织机构
|
||
beego.Router(prefix+"/getOrganization", &controllers.BackendOrganizationController{}, "get:GetOrganization")
|
||
beego.Router(prefix+"/getOrganizationTree", &controllers.BackendOrganizationController{}, "get:GetOrganizationTree")
|
||
beego.Router(prefix+"/getOrganizationDetail/:id", &controllers.BackendOrganizationController{}, "get:GetOrganizationDetail")
|
||
beego.Router(prefix+"/createOrganization", &controllers.BackendOrganizationController{}, "post:CreateOrganization")
|
||
beego.Router(prefix+"/editOrganization/:id", &controllers.BackendOrganizationController{}, "post:EditOrganization")
|
||
beego.Router(prefix+"/deleteOrganization/:id", &controllers.BackendOrganizationController{}, "delete:DeleteOrganization")
|
||
beego.Router(prefix+"/getCompanys", &controllers.BackendOrganizationController{}, "get:GetCompanys")
|
||
beego.Router(prefix+"/getDepartments", &controllers.BackendOrganizationController{}, "get:GetDepartments")
|
||
beego.Router(prefix+"/searchOrganizations", &controllers.BackendOrganizationController{}, "get:SearchOrganizations")
|
||
beego.Router(prefix+"/getOrganizationHierarchy/:org_id", &controllers.BackendOrganizationController{}, "get:GetOrganizationHierarchy")
|
||
beego.Router(prefix+"/getOrganizationStats", &controllers.BackendOrganizationController{}, "get:GetOrganizationStats")
|
||
beego.Router(prefix+"/moveOrganization", &controllers.BackendOrganizationController{}, "post:MoveOrganization")
|
||
beego.Router(prefix+"/batchOrganizeOrganizations", &controllers.BackendOrganizationController{}, "post:BatchOrganizeOrganizations")
|
||
beego.Router(prefix+"/checkOrgCodeUnique", &controllers.BackendOrganizationController{}, "get:CheckOrgCodeUnique")
|
||
|
||
// 员工
|
||
beego.Router(prefix+"/getEmployee", &controllers.BackendOrganizationController{}, "get:GetEmployee")
|
||
beego.Router(prefix+"/getEmployeeDetail/:id", &controllers.BackendOrganizationController{}, "get:GetEmployeeDetail")
|
||
beego.Router(prefix+"/createEmployee", &controllers.BackendOrganizationController{}, "post:CreateEmployee")
|
||
beego.Router(prefix+"/editEmployee/:id", &controllers.BackendOrganizationController{}, "post:EditEmployee")
|
||
beego.Router(prefix+"/deleteEmployee/:id", &controllers.BackendOrganizationController{}, "delete:DeleteEmployee")
|
||
beego.Router(prefix+"/getOrganizationEmployees/:org_id", &controllers.BackendOrganizationController{}, "get:GetOrganizationEmployees")
|
||
beego.Router(prefix+"/moveEmployeeToOrg", &controllers.BackendOrganizationController{}, "post:MoveEmployeeToOrg")
|
||
beego.Router(prefix+"/checkEmployeeAccountUnique", &controllers.BackendOrganizationController{}, "get:CheckEmployeeAccountUnique")
|
||
|
||
// 职位
|
||
beego.Router(prefix+"/getPosition", &controllers.BackendOrganizationController{}, "get:GetPosition")
|
||
beego.Router(prefix+"/getPositionDetail/:id", &controllers.BackendOrganizationController{}, "get:GetPositionDetail")
|
||
beego.Router(prefix+"/createPosition", &controllers.BackendOrganizationController{}, "post:CreatePosition")
|
||
beego.Router(prefix+"/editPosition/:id", &controllers.BackendOrganizationController{}, "post:EditPosition")
|
||
beego.Router(prefix+"/deletePosition/:id", &controllers.BackendOrganizationController{}, "delete:DeletePosition")
|
||
beego.Router(prefix+"/checkPositionCodeUnique", &controllers.BackendOrganizationController{}, "get:CheckPositionCodeUnique")
|
||
|
||
// 设置与导入导出
|
||
beego.Router(prefix+"/getOrgSettings", &controllers.BackendOrganizationController{}, "get:GetOrgSettings")
|
||
beego.Router(prefix+"/saveOrgSettings", &controllers.BackendOrganizationController{}, "post:SaveOrgSettings")
|
||
beego.Router(prefix+"/exportOrganization", &controllers.BackendOrganizationController{}, "get:ExportOrganization")
|
||
beego.Router(prefix+"/importOrganization", &controllers.BackendOrganizationController{}, "post:ImportOrganization")
|
||
beego.Router(prefix+"/organizationImportTemplate", &controllers.BackendOrganizationController{}, "get:GetImportTemplate")
|
||
|
||
// ERP客户管理
|
||
beego.Router("/backend/erp/customer/list", &controllers.BackendErpCustomerController{}, "get:List")
|
||
beego.Router("/backend/erp/customer", &controllers.BackendErpCustomerController{}, "post:Create")
|
||
beego.Router("/backend/erp/customer/:id", &controllers.BackendErpCustomerController{}, "get:Detail;put:Update;delete:Delete")
|
||
beego.Router("/backend/erp/customer/:id/status", &controllers.BackendErpCustomerController{}, "post:ToggleStatus")
|
||
|
||
// ERP供应商管理
|
||
beego.Router("/backend/erp/supplier/list", &controllers.BackendErpSupplierController{}, "get:List")
|
||
beego.Router("/backend/erp/supplier", &controllers.BackendErpSupplierController{}, "post:Create")
|
||
beego.Router("/backend/erp/supplier/:id", &controllers.BackendErpSupplierController{}, "get:Detail;put:Update;delete:Delete")
|
||
beego.Router("/backend/erp/supplier/:id/status", &controllers.BackendErpSupplierController{}, "post:ToggleStatus")
|
||
|
||
// ERP账套管理
|
||
beego.Router("/backend/erp/account-set/list", &controllers.BackendErpAccountSetController{}, "get:List")
|
||
beego.Router("/backend/erp/account-set", &controllers.BackendErpAccountSetController{}, "post:Create")
|
||
beego.Router("/backend/erp/account-set/:id", &controllers.BackendErpAccountSetController{}, "get:Detail;put:Update;delete:Delete")
|
||
beego.Router("/backend/erp/account-set/:id/status", &controllers.BackendErpAccountSetController{}, "post:ToggleStatus")
|
||
|
||
// ERP基础设置
|
||
beego.Router("/backend/erp/normal-settings", &controllers.BackendErpNormalSettingController{}, "get:List;put:Save")
|
||
beego.Router("/backend/erp/normal-settings/reset", &controllers.BackendErpNormalSettingController{}, "post:Reset")
|
||
|
||
// ERP客户/供应商联系人
|
||
beego.Router("/backend/erp/company-contact/list", &controllers.BackendErpCompanyContactController{}, "get:List")
|
||
beego.Router("/backend/erp/company-contact", &controllers.BackendErpCompanyContactController{}, "post:Create")
|
||
beego.Router("/backend/erp/company-contact/:id", &controllers.BackendErpCompanyContactController{}, "put:Update;delete:Delete")
|
||
|
||
// AI接入配置
|
||
beego.Router("/backend/ai/provider/list", &controllers.BackendAiProviderController{}, "get:List")
|
||
beego.Router("/backend/ai/provider", &controllers.BackendAiProviderController{}, "post:Create")
|
||
beego.Router("/backend/ai/provider/test", &controllers.BackendAiProviderController{}, "post:Test")
|
||
beego.Router("/backend/ai/provider/:id", &controllers.BackendAiProviderController{}, "put:Update;delete:Delete")
|
||
|
||
// AI聊天会话
|
||
beego.Router("/backend/ai/chat/session/list", &controllers.BackendAiChatSessionController{}, "get:List")
|
||
beego.Router("/backend/ai/chat/session", &controllers.BackendAiChatSessionController{}, "post:Create")
|
||
beego.Router("/backend/ai/chat/session/:id", &controllers.BackendAiChatSessionController{}, "put:Update;delete:Delete")
|
||
|
||
// AI聊天消息
|
||
beego.Router("/backend/ai/chat/message/list", &controllers.BackendAiChatController{}, "get:MessageList")
|
||
beego.Router("/backend/ai/chat/message/:id", &controllers.BackendAiChatController{}, "delete:DeleteMessage")
|
||
beego.Router("/backend/ai/chat/send", &controllers.BackendAiChatController{}, "post:Send")
|
||
beego.Router("/backend/ai/chat/send-stream", &controllers.BackendAiChatController{}, "post:SendStream")
|
||
|
||
// AI智能生成
|
||
beego.Router("/backend/ai/smart-generate/company", &controllers.BackendAiSmartGenerateController{}, "post:GenerateCompany")
|
||
|
||
// AI聊天角色预设
|
||
beego.Router("/backend/ai/preset/list", &controllers.BackendAiChatPresetController{}, "get:List")
|
||
beego.Router("/backend/ai/preset", &controllers.BackendAiChatPresetController{}, "post:Create")
|
||
beego.Router("/backend/ai/preset/:id", &controllers.BackendAiChatPresetController{}, "put:Update;delete:Delete")
|
||
beego.Router("/backend/ai/preset/:id/default", &controllers.BackendAiChatPresetController{}, "put:SetDefault")
|
||
|
||
// MCP工具管理
|
||
beego.Router("/backend/mcp/tool/list", &controllers.BackendMcpToolController{}, "get:List")
|
||
beego.Router("/backend/mcp/tool", &controllers.BackendMcpToolController{}, "post:Create")
|
||
beego.Router("/backend/mcp/tool/:id", &controllers.BackendMcpToolController{}, "put:Update;delete:Delete")
|
||
beego.Router("/backend/mcp/tool/test", &controllers.BackendMcpToolController{}, "post:Test")
|
||
|
||
// MCP服务器配置管理(真正接入 MCP 协议的服务)
|
||
beego.Router("/backend/mcp/server/list", &controllers.BackendMcpServerController{}, "get:List")
|
||
beego.Router("/backend/mcp/server", &controllers.BackendMcpServerController{}, "post:Create")
|
||
beego.Router("/backend/mcp/server/market", &controllers.BackendMcpServerController{}, "get:Market")
|
||
beego.Router("/backend/mcp/server/from-market", &controllers.BackendMcpServerController{}, "post:AddFromMarket")
|
||
beego.Router("/backend/mcp/server/test", &controllers.BackendMcpServerController{}, "post:Test")
|
||
beego.Router("/backend/mcp/server/:id", &controllers.BackendMcpServerController{}, "put:Update;delete:Delete")
|
||
beego.Router("/backend/mcp/server/:id/toggle", &controllers.BackendMcpServerController{}, "put:Toggle")
|
||
beego.Router("/backend/mcp/server/:id/tools", &controllers.BackendMcpServerController{}, "post:Tools")
|
||
}
|