前文再续,章节上篇。
在篇一,对整个项目要做什么,达到什么样的效果等做了简单的分析。本节将从服务端API约定、登录(没有注册,登录即注册)流程、长连接、华为云对象存储OBS基本概念介绍等对整个项目的技术层面做详细的介绍。
本节内容摘要:
1、约定服务端API返回结构
2、登录流程
3、华为云对象存储OBS介绍
4、HAP输入手机号获取验证码
约定服务端API返回结构
封装一个好的返回结构,使得我们在处理数据的时候能够减少各种拆解。因此在初期搭建完服务端项目后,首要做的是封装一套合理的返回数据结构,使API返回结构体大体相似。
1)使用Java Enum枚举类,将公用的返回错误进行封装,比如请求接口成功,请求接口失败,登录验证成功等等。
package com.ming.harmonyos.photokit.conf;
/**
* 枚举类对象
*/
public enum StatusCode {
//公共
SUCCESS(200, "成功"),
FAILED(9999, "失败"),
UNKNOWN_ERROR(9998, "未知异常"),
SYSTEM_ERROR(9997, "系统异常"),
REQUEST_PARAMETER_ERROR(1001, "请求参数错误"),
REQUEST_ACCESS_TOKEN_ERROR(1002, "请求参数token值错误"),
//手机号校验
CHECK_CELL_PHONE_NUM_ERROR(2001, "手机号码输入错误"),
LOGIN_VALID_CODE_ERROR(2002, "登录验证码错误"),
LOGOUT_ERROR(2003, "退出失败"),
LOGOUT_AUTH_ERROR(2004, "退出失败,token不存在");
/**
* 状态码
*/
private int code;
/**
* 状态消息
*/
private String message;
StatusCode(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}
2)、封装一套API返回的数据结构
我目前使用的有两种,一种是以true|false做请求状态,另一种是以数字的形式做请求状态。两种各有千秋,第一种相对第二种的话要做到具体的异常定位需要在返回消息中加入异常码。本项目只是简单的示例项目,因此我选择第二种,这种方便控制。