Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
refactor(service): 修改banner和guild删除逻辑为软删除 fix(service): 修复删除操作使用软删除而非物理删除 build: 添加SQLite测试仓库实现 docs: 新增奖励管理字段拆分和批量抽奖UI改造文档 ci: 更新CI忽略文件 style: 清理无用资源文件
2.5 KiB
2.5 KiB
现状确认
- 后端接口已对接:
POST /api/admin/activities(internal/router/router.go:78),控制器CreateActivity(internal/api/admin/activities_admin.go:41)。 - 管理端前端已调用:
createActivity()指向admin/activities(web/admin/src/api/adminActivities.ts:13)。 - 向导有两种:
- 独立向导页
wizard/index.vue:下一步仅切换步骤(next()),提交动作分别由页面内的提交按钮触发(submitActivity/submitIssue/submitRewards)。 - 管理页弹窗向导
manage/index.vue:下一步会调用创建接口然后推进步骤(nextWizard())。
- 独立向导页
可能原因
- 使用了独立向导页,点击
下一步未触发API(预期行为需用提交按钮)。 - 请求未通过权限:后端要求超级管理员(
ctx.SessionUserInfo().IsSuper == 1,internal/api/admin/activities_admin.go:56-59)。 - 请求参数不合法:
name必填、activity_category_id不可为0(同文件 15-18, 51-54)。 - 环境未配置或认证头缺失:
VITE_API_URL未指向后端/api前缀,或Authorization未带登录后的纯 Token(不加Bearer)。
排查步骤
- 打开浏览器 Network,在点击
下一步或提交后确认是否发起POST {VITE_API_URL}/api/admin/activities;查看响应码与返回体。 - 确认当前页面是弹窗向导还是独立向导:
- 若是独立向导,请使用每步的
提交按钮;下一步只换页不提交。
- 若是独立向导,请使用每步的
- 验证权限与参数:
- 登录账号需
is_super=1;否则返回 400禁止操作。 name与activity_category_id需填充;分类可通过GET /api/admin/activity_categories获取。
- 登录账号需
- 检查前端环境:
VITE_API_URL应指向后端根(例如http://localhost:8000),请求工具会拼接admin/...成/api/admin/...。Authorization头为登录获得的 Token 字符串(无Bearer前缀)。
改造建议(可选)
- 为独立向导页
wizard/index.vue增强交互:在next()中根据active自动调用对应的submitActivity/submitIssue,使“下一步”即提交。 - 在按钮文案上提示“提交并进入下一步”,并在未填必填项时给出校验提示(阻止推进)。
验收标准
- 在管理端,创建活动流程点击
提交或(改造后)点击下一步能成功发起请求并进入下一步;错误时有明确提示。 - 非超级管理员或参数缺失时,前端能正确显示后端返回的错误信息。