通用返回值数据结构说明
一、接口调用方式
- uplusAPI 核心库开放的接口内部采用Promise封装,前端可以使用then去处理接口回调的正常数据,使用catch去捕获所有的接口异常回调
- uplusAPI 核心库开放的接口调用方式: uplusAPI核心库实例化对象.模块名.接口名 (初始化模块除外)
- uplusAPI 核心库调用具体的业务接口之前,保证uplusAPI已经进行初始化操作,建议在项目初始化的入口js文件中,就导入uplusAPI核心库,实例化对象,并调用初始化方法初始化uplusAPI核心库
示例
// 导入uplusAPI核心库
import UplusApi from '@uplus/uplus-api';
// 实例化uplusAPI对象
const instance = new UplusApi();
// 初始化uplusAPI,并在初始化成功后调用接口
instance.initDeviceReady().then(function() {
instance.upUserModule.getUserInfo().then((res) => {
console.log(res);
}).catch(err => console.log(err));
}).catch(err => console.log(err));
二、 返回数据结构
uplusAPI 核心库所有接口的回调数据均以JSON结构返回,由代码,信息和数据三部分组成。
注意:一些接口的监听的回调函数除外
结构
| 属性名称 | 类型 | 说明 |
|---|---|---|
| retCode | String | 操作代码 |
| retInfo | String | 操作信息 |
| retData | Object | 操作数据 |
示例如下:
{
"retCode": "000000",
"retInfo": "操作成功",
"retData": null
}
数据说明:
- retCode:操作代码,非空,由6位数字组成,所有模块统一的代码为:"000000"->"操作成功","999999"→"未知错误",其他与模块相关的错误由模块自定义
- retInfo:操作信息,与操作代码相对应的描述信息
- retData:操作数据,根据业务情况返回的业务数据
通用错误代码表:
注意:错误代码需要在 catch 中进行捕获处理
事例代码:
// porimise
uplusapi.upAppinfoModule.getAppInfo()
.then((result) => console.log('result', result))
.catch((err) => console.log('err: ', err))
// async
try {
const result = await uplusapi.upAppinfoModule.getAppInfo();
// TODO...
} catch (err) {
console.log('err', err);
}
| 错误代码 | 描述信息 |
|---|---|
| 000000 | 操作成功 |
| 000001 | 操作失败 |
| 000002 | 非法参数错误 |
| 990001 | 模块未定义 |
错误代码范围: 六位的错误码分为两个部分xx+xxxx,前两位为模块的代码,后四位为模块定义的错误代码。模块代码由本文指定。
示例: 用户模块的错误代码为11,则其错误码范围为110000-119999。