Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
程序yang
unidocs-zh
提交
a95d7fe1
U
unidocs-zh
项目概览
程序yang
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录