Files
shaguabijia-app-server/docs/api/feedback.md
T
ouzhou f7d86011c1 feat(ad-revenue): admin 广告收益报表(按 用户/日期/类型/应用/代码位 聚合) (#54)
- 新增 GET /admin/api/ad-revenue-report:展示条数/收益 + 复用金币审计逐条复算做发奖对账
- ad_ecpm/ad_reward/ad_feed_reward 各加 app_env + our_code_id 两列(alembic 迁移)
- ecpm-report / feed-reward 接收并落库 app_env/our_code_id;激励发奖按 ad_session_id 回填
- ad_audit 抽出 audit_rows,报表与逐条审计复用同一复算口径
- 组级 matched 改「组内逐条全一致」,避免应发和==实发和的互相抵消掩盖错误
- list_feedbacks 改 offset 分页并返回 total(配合 admin 页码分页)
- 反馈正文上限 _CONTENT_MAX 2000→200
- 文档:新增 admin-ad-revenue-report,更新 ecpm/feed-reward/feedback 及对应 db docs

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: OuYingJun1024 <1034284404@qq.com>
Reviewed-on: #54
Co-authored-by: ouzhou <ouzhou@wonderable.ai>
Co-committed-by: ouzhou <ouzhou@wonderable.ai>
2026-06-15 23:13:14 +08:00

1.7 KiB
Raw Permalink Blame History

POST /api/v1/feedback — 提交反馈

所属:Feedback 组(前缀 /api/v1/feedback | 鉴权:Bearer access_token | ← 返回 API 索引

入参

multipart/form-data:

字段 类型 必填 说明
content string 反馈正文,1-200 字(strip 后)
contact string 联系方式(微信/QQ/手机号),≤128 字。原型改版后客户端已不再采集、不传该字段(后端默认空串);保留字段兼容旧端
images file[] 截图,最多 6 张,每张走头像同款校验(JPEG/PNG/WebP,≤ 5 MB,魔数嗅探)

出参

响应 200:

{
  "id": 123,
  "status": "new",
  "created_at": "2026-05-29T12:34:56Z"
}
字段 类型 说明
id int 反馈单 ID
status string new(待处理)/ handled(已处理)
created_at datetime 提交时间(UTC)

不返回上传的 image URL——这是给运营后台看的,客户端通常不需要。

错误码

  • 400 内容为空 / 内容超 200 字 / 联系方式超 128 字 / 图片超 6 张 / 单图非法(空/过大/格式不对)
  • 401 未带 token / token 无效或过期 / 用户被禁用
  • 422content 字段

说明

  • 反馈绑用户:feedback.user_id = current_user.id,便于回访
  • 截图落盘:存到 settings.MEDIA_ROOT/feedback/,URL 写进 feedback.images(JSON 列,SQLite 是 TEXT、PG 是 JSON/JSONB——为不影响现有迁移用 JSON 而非 JSONB)
  • 截图可读:GET /media/feedback/<file> 静态服务暴露,详见 API 索引 — /media 静态服务
  • 文件名随机 u<user_id>_<rand>.<ext>,杜绝路径穿越