1. 描述
修改楼栋信息。本接口是God可以访问的,God几乎可以修改Build的所有属性。在未来,Build的不重要属性可以被其它角色修改。
2. 调用场景
开发者登录超级控制台后,可以修改自己创建的楼栋。开发者以God角色修改楼栋。未来可能开放给专门的楼栋/设备运维。
3. 配置参数
参数意义参考接口参数
参数名 | 参数值 | 说明 |
---|---|---|
Name | Setbuild | |
URL | https://api.xdua.com/build | |
Method | PUT | |
XduaApiHttpSchema | HTTPS | 只走HTTPS |
XduaApiMethod | SET | |
XduaApiColor | X | 只有持有神楼栋,才可以创建楼栋 |
XduaApiAudience | ConsoleX | 只有build_id为ConsoleX的楼栋,也就是consolex.xdua.com才可以发起本请求 |
XduaApiShop | XdUaXduA | 楼栋直辖店铺,只有这个店铺的登录人员才可以访问 |
XduaApiSubject | i | i,只有创建者自己才可以修改 |
XduaApiRoles | God | 只要登录就可以创建楼栋 |
XduaApiResource | build | |
XduaApiKparam | id | |
XduaApiAction | UpdateBuild | |
XduaApiRule | UpdateBuild | |
XduaApiAstates | 0 | 按序build,zone,corp,shop,build,build,login的状态都必须是0(STATE_ENABLED) |
XduaApiEnable | true | 接口使能 |
4. 请求参数
名称 | 位置 | 类型 | 必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|---|
id | path | String | 是 | 无 | 6tYu82hM | 楼栋ID |
type | body | String | 否 | 无 | Mats | 楼栋类型代码,本字段受build_type表的code字段外键约束 |
man | body | String | 否 | 无 | Minew | 制造商代码,本字段受build_man表的code字段外键约束 |
model | body | String | 否 | 无 | CBOX-7 | 制造商代码,从楼栋的包装盒,介绍中获取 |
name | body | String | 否 | 无 | 蓝牙网关 | 楼栋的平台系统名字,由录入者自定义 |
vlot | body | Integer | 否 | 无 | 3600 | 楼栋的日志存活时间 |
brief | body | String | 否 | 空 | 这是一个* | 楼栋的介绍 |
cost | body | Double | 是 | 空 | 45.0 | 楼栋的采购价格或者平摊下来的生产制造价格 |
earn | body | Double | 是 | 空 | 60.0 | 对外销售价格,包含设置人工成本 |
5. 返回参数
名称 | 位置 | 类型 | 示例 | 说明 |
---|---|---|---|---|
id | result | string | rYub4wrT | 修改的楼栋ID |
updates | result | json dict | 修改的内容 |
示例
result字段
{
"id":"rYub4wrT",
"updates":{
"name":"新的楼栋名",
"brief":"新的楼栋介绍",
}
}
6. 错误码
错误码来自于error字段,通用错误码参考地球号通用错误码
7. SDK调用
为了方便测试SetBuild
接口。数据库专门提供了一个测试楼栋build_id=TeStTeSt
。可以对这个楼栋的所有属性进行修改,而不用担心损坏数据库。
const XduaClient = require('lovearth-xdua-browser-sdk')
const xduaClient = await XduaClient({
LOGIN_TOKEN:"eyJhbGciOi...",//开发者在地球号开发者网站创建的登录令牌
})
/*----------------------------
* 运行如下代码
* 下面的代码是直接可以运行的
*--------------------------*/
api_name = "修改楼栋";
const build_id ="TeStTeSt"; //要修改的楼栋ID
/*----------------------------
* 下面展示的是修改"TeStTeSt"所有属性的操作,实际上可以只修改其中任何一个到两个参数
*--------------------------*/
const set_params = {
type:"Test", //类别
model:"Motest3", //型号
vlot:360, //它在日志表里存6分钟数据
name:"测试楼栋", //名字
man:"xdua.com", //楼栋生产商
pkey:"a1lPKOTest2", //阿里云平台ProductKey,从那里拷贝过来
brief:"接口测试", //简介
earn:65, //价格
cost:45, //成本
}
const res_api = await xduaClient.setBuild(build_id,set_params)
if(res.error == 0){
console.log("测试成功");
}else{
console.log("测试失败");
console.log(res);
}
文档还没有实现
```
{% sample lang="php" -%}
文档还没有实现
```bash