ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# APP后端开发指南 ### APP接口开发强制要求 * 移动端应用APP(不含小程序)开发时,控制器必须添加版本控制,且url前缀需加上版本如`/v1/**` * 这是因为对于客户端APP,一旦接口发生变化,需更新客户端安装包,你无法保证所有用户都会升级更新,这将导致旧版本的接口仍可能有用户继续使用 ![](https://ooo.0o0.ooo/2019/05/14/5cda713c3350b80804.png) ### 快捷登录/注册接口 > 若未注册自动创建账号 * `/Tceon-PERFOOT /app/v1/member/quickLogin` * 所需参数:mobile(手机号)、code(短信验证码)、inviteCode(邀请码,非必须)、platform(平台,非必须) * 返回JSON结果对象中的result字段获取存储token令牌 ~~~ result: { isNew: true, // 是否为新注册的账号 token: 026c8bb5ae764634b4d284c773c3ec75 // Token令牌 } ~~~ ### 附:短信验证码免真实发送测试方法 * 向`Redis`中添加键值对:`Tceon-PERFOOT _PRE_SMS:手机号:验证码`,如:`Tceon-PERFOOT _PRE_SMS:18782089088:1234`。前缀`Tceon-PERFOOT _PRE_SMS:`可在`CommonConstant`常量中修改 ### 携带Token参数发送请求 * 之后需要认证的请求中在header或参数中添加该token参数即可,默认KEY为`appToken`(`SecurityConstant`中可修改) ### 获取当前登录会员方法 ~~~ // 注入工具类 @Autowired private SecurityUtil securityUtil; // 获取当前登录会员 Member member = securityUtil.getCurrMember(); ~~~ ### 角色权限相关 * APP应用会员角色权限不会经常变动,可通过`Spring Security`注解表达式权限管理。主要用于用户认证拦截、以及其他需求如超级VIP接口等认证 * 默认注册用户角色权限为`MEMBER`,可在“会员管理”菜单任意添加编辑,单个字段`permissions`存储,多个权限英文逗号`,`分隔 * `Spring Security`[官方注解表达式权限管理](https://docs.spring.io/spring-security/site/docs/5.4.1/reference/html5/#el-common-built-in) * @PreAuthorize("isAuthenticated()") * @PreAuthorize("hasAuthority('MEMBER')") * @PreAuthorize("hasAuthority('VIP')") * @PreAuthorize("hasAuthority('MEMBER') AND hasAuthority('VIP')") * @PreAuthorize("hasAuthority('MEMBER') OR hasAuthority('VIP')") ### APP相关日志注解 * 日志注解使用同`@SystemLog(description="操作日志名称", type=日志类型)` * 日志类型type枚举类相关候选值:`MEMBER_OPERATION`(会员操作相关)、`MEMBER_LOGIN`(会员登录),可自定义添加修改