1. 描述
修改产品信息。本接口是God可以访问的,God几乎可以修改Devp的所有属性。在未来,Devp的不重要属性可以被其它角色修改。
2. 调用场景
开发者登录超级控制台后,可以修改自己创建的产品。开发者以God角色修改产品。未来可能开放给专门的产品/设备运维。
3. 配置参数
参数意义参考接口参数
参数名 | 参数值 | 说明 |
---|---|---|
Name | Setdevp | |
URL | https://api.xdua.com/devp | |
Method | PUT | |
XduaApiHttpSchema | HTTPS | 只走HTTPS |
XduaApiMethod | SET | |
XduaApiColor | X | 只有持有神产品,才可以创建产品 |
XduaApiAudience | ConsoleX | 只有devp_id为ConsoleX的产品,也就是consolex.xdua.com才可以发起本请求 |
XduaApiShop | XdUaXduA | 产品直辖店铺,只有这个店铺的登录人员才可以访问 |
XduaApiSubject | i | i,只有创建者自己才可以修改 |
XduaApiRoles | God | 只要登录就可以创建产品 |
XduaApiResource | devp | |
XduaApiKparam | id | |
XduaApiAction | UpdateDevp | |
XduaApiRule | UpdateDevp | |
XduaApiAstates | 0 | 按序devp,zone,corp,shop,devp,devp,login的状态都必须是0(STATE_ENABLED) |
XduaApiEnable | true | 接口使能 |
4. 请求参数
名称 | 位置 | 类型 | 必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|---|
id | path | String | 是 | 无 | 6tYu82hM | 产品ID |
type | body | String | 否 | 无 | Mats | 产品类型代码,本字段受devp_type表的code字段外键约束 |
man | body | String | 否 | 无 | Minew | 制造商代码,本字段受devp_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调用
为了方便测试SetDevp
接口。数据库专门提供了一个测试产品devp_id=TeStTeSt
。可以对这个产品的所有属性进行修改,而不用担心损坏数据库。
const XduaClient = require('lovearth-xdua-browser-sdk')
const xduaClient = await XduaClient({
LOGIN_TOKEN:"eyJhbGciOi...",//开发者在地球号开发者网站创建的登录令牌
})
/*----------------------------
* 运行如下代码
* 下面的代码是直接可以运行的
*--------------------------*/
api_name = "修改产品";
const devp_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.setDevp(devp_id,set_params)
if(res.error == 0){
console.log("测试成功");
}else{
console.log("测试失败");
console.log(res);
}
文档还没有实现
```
{% sample lang="php" -%}
文档还没有实现
```bash