图片、视频和消息
一期图片用 OSS,视频用 VOD。业务自己管理所有者、用途、审核和访问权限;资源不能因为上传成功就自动成为公开作品。
图片和资质
客户端先向业务 API 申请上传。服务端核对当前账号、用途、大小和类型,创建 media_assets 记录,再发短期授权。客户端直传 OSS,之后通知业务 API 核对对象是否存在、实际大小及用途,标记上传完成。
头像和公开作品经审核后可展示;营业执照放在私有资源范围,只给本人和审核人员短期访问地址。业务 API 不把长期密钥给客户端,也不接收客户端随意指定的目标 Bucket。
阿里云支持 STS、Post 签名和预签名 URL 等直传方式,具体 SDK 和授权方式在实现时确定。OSS 官方直传说明。国内地域的新账号还要核对自定义域名要求,不能照旧教程假设默认域名可直接完成所有数据操作。阿里云相关说明。
演出视频
服务端创建业务资源,再申请 VOD 上传地址和凭证。客户端用上传 SDK 直传 VOD。凭证过期由服务端重新授权;业务记录自己的 mediaId 和 VOD 的 videoId,两者不混用。
上传、处理与内容审核分别记录。客户端“上传成功”只说明文件传完,展示还要等业务核对处理和审核结果。播放时先检查资源可见性,再返回短期播放授权或受控地址。VOD 上传状态与凭证刷新说明。
回调使用配置好的来源验证,按供应商事件 ID 幂等处理。回调丢失时,定时查询未完成资源补齐状态;较旧事件不能把 READY 改回 UPLOADING。格式、码率、转码模板和播放 SDK 要用实际设备验证后锁定,一期不写未经测量的“秒开”承诺。
基础聊天
每次洽谈关联一个会话,成员固定为对应酒吧和艺人的账号。订单建立后继续使用这个会话。文字消息存 PG,用 clientMessageId 防重复;按消息游标拉取,单页最多 100 条。
用户只能发消息到自己参与的会话,读游标也只能改自己的。系统消息由业务事件生成,标明系统来源,不接受客户端伪造。第一版先支持文字和订单提示;图片附件、在线状态、撤回和已读细节按需要增加。
聊天里谈的内容不自动修改订单。双方需要把最终条件整理出来,再分别确认。运营处理投诉时,只能在授权范围内访问所需内容并留审计。
开发环境
本地开发可使用模拟上传与通知适配器,返回明确标识的示例资源,不需要真实云账号。云服务集成测试单独配置,密钥不进仓库。当前还没有实现真实上传和消息接口。