后端(Java)已实现邀请码的生成/校验/列表/删除。SQL 已执行。现在需要:
新建: java/src/main/java/com/payment/platform/module/system/invite/dto/InvitationCodeVO.java
// 字段:id, code, status, description, createdBy(创建者用户名), createdTime,
// usedBy(使用者用户名), usedTime
修改: InvitationCodeService.java
PageResult<String> 改为 PageResult<InvitationCodeVO>修改: InvitationCodeController.java
新建: frontend/src/api/module_system/invitation.ts
参照 params.ts 模式:
generateInvitation(body: { count: number; description?: string }) → POST /system/invite/generatelistInvitation(query: InvitationPageQuery) → GET /system/invite/listdeleteInvitation(body: number[]) → DELETE /system/invite/delete修改: frontend/src/api/module_system/user.ts
RegisterForm 接口取消注释 invite_code: string(第 153 行)修改: frontend/src/views/module_system/auth/components/Register.vue
模板和校验规则中已有注释掉的邀请码代码,取消注释即可:
新建: frontend/src/views/module_system/invitation/index.vue
参照 notice/index.vue 的 CURD 模式但更简单(无编辑/详情):
组件使用:
PageSearch → PageContent(CrudToolbarLeft + CrudToolbarRight + el-table) → EnhancedDialog(生成弹窗)
权限前缀:module_system:invitation
新建: java/sql/005_invitation_menu.sql
参照 003_service_provider_menu.sql 模式:
-- 在「系统管理」目录下新增「邀请码管理」菜单
-- 权限标识: module_system:invitation:list / generate / delete
-- 路由: /invitation → views/module_system/invitation/index.vue
| 操作 | 文件 |
|---|---|
| 新建 | java/.../invite/dto/InvitationCodeVO.java |
| 修改 | java/.../invite/service/InvitationCodeService.java |
| 修改 | java/.../invite/controller/InvitationCodeController.java |
| 新建 | frontend/src/api/module_system/invitation.ts |
| 修改 | frontend/src/api/module_system/user.ts |
| 修改 | frontend/src/views/module_system/auth/components/Register.vue |
| 新建 | frontend/src/views/module_system/invitation/index.vue |
| 新建 | java/sql/005_invitation_menu.sql |
mvn compile -f java/pom.xml005_invitation_menu.sqlcd frontend && pnpm dev