Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
a95d7fe1
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3598
Star
108
Fork
921
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
120
列表
看板
标记
里程碑
合并请求
109
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
120
Issue
120
列表
看板
标记
里程碑
合并请求
109
合并请求
109
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
a95d7fe1
编写于
2月 09, 2022
作者:
DCloud_Heavensoft
提交者:
Gitee
2月 09, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs/uniCloud/unicloud-response-format.md.
上级
41ad11b9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1 addition
and
54 deletion
+1
-54
docs/uniCloud/unicloud-response-format.md
docs/uniCloud/unicloud-response-format.md
+1
-54
未找到文件。
docs/uniCloud/unicloud-response-format.md
浏览文件 @
a95d7fe1
## uniCloud响应体规范
uniCloud响应体规范(uniCloud response format),是DCloud官方制定的、服务器给客户端返回json数据的一种建议格式。后续uni-id、uni-pay、clientDB等均会调整为此结构
**由来**
uniCloud服务器给客户端返回的数据格式是json,但json的格式具体是什么没有约定。比如返回错误码,是叫code还是叫errCode?错误内容是message还是errMsg?内容的国际化如何处理?
如果没有一套统一的格式,在客户端将无法编写有效的网络拦截器,无法统一处理错误。
同时如果不同的插件,云端返回的数据格式千差万别,那使用者整合这些插件也会非常麻烦。国际化更无法落地。
为此DCloud推出了
`uniCloud响应体规范`
。
为尽可能的与uni-app前端的API错误回调风格接近,uniCloud响应体规范定义的云端返回信息内应包含
`errCode`
和
`errMsg`
,示例如下
```
js
// 失败返回值
{
errCode
:
'
uni-id-account-banned
'
,
errMsg
:
'
账号被禁用
'
}
// 成功返回值
{
errCode
:
0
,
errMsg
:
'
登录成功
'
,
uid
:
'
xxx
'
// 其他信息
}
```
## errCode
errCode在成功时应返回数字
`0`
,失败时应返回一个以插件id开头的“字符串”,每个单词以连字符(
`-`
)分割。做出这样的规定是为了防止不同插件之间出现重复错误码
以
`'uni-id-account-banned'`
错误码为例,
`uni-id`
为插件id,
`account-banned`
为错误缩写。
如果业务开发的代码并不发布插件市场,那么为了避免下载了一个市场的插件产生冲突,推荐使用不包含“-”的字符串来做errCode(插件市场的所有插件ID必须包含“-”)。
后续uniCloud会提供自动根据errCode对errMsg进行国际化处理的功能,开发者仅需保证云函数返回值满足
`uniCloud响应体规范`
即可。
## errMsg
errMsg用于存放具体错误信息,包括展示给开发者、终端用户的错误信息
<!-- 占位变量格式说明:
## 支持情况
1.
从xx版本开始,clientDB遵循该格式
2.
推荐开发者的云函数在返回json数据给客户端时也遵循这种格式。
3.
uniCloud客户端sdk后续会提供callFunction及数据库操作的拦截器,开发者可以在拦截器内对特定的错误码进行处理。例如:在收到token过期的错误码时进行提示并跳转到登录页面
4.
uniCloud admin和uni-starter等插件内置的网络拦截器也均将支持该格式。
历史兼容说明: -->
\ No newline at end of file
文档已迁移至:
[
/uniCloud/cf-functions?id=resformat
](
/uniCloud/cf-functions?id=resformat
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录