抛弃床的舒适,只为了它丨云库一款跑在鸿蒙系统上的应用

前文再续,章节上篇。 在篇一,对整个项目要做什么,达到什么样的效果等做了简单的分析。本节将从服务端API约定、登录(没有注册,登录即注册)流程、长连接、华为云对象存储OBS基本概念介绍等对整个项目的技术层面做详细的介绍。 本节内容摘要: 1、约定服

抛弃床的舒适,只为了它丨云库一款跑在鸿蒙系统上的应用

前文再续,章节上篇。

在篇一,对整个项目要做什么,达到什么样的效果等做了简单的分析。本节将从服务端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做请求状态,另一种是以数字的形式做请求状态。两种各有千秋,第一种相对第二种的话要做到具体的异常定位需要在返回消息中加入异常码。本项目只是简单的示例项目,因此我选择第二种,这种方便控制。

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐