# 资源API接口
UCToo通过采用catchadmin的代码生成功能生成的资源控制器,提供了一组对模型层的资源进行访问和操作的标准接口。
## 公共参数
默认生成的资源接口基于JWT认证,必须在头信息 Header 添加 Token
| 头信息字段 | 类型 | 注释 |
| --- | --- | --- |
| authorization | string | 用户认证token,取值为Bearer连结users表remember_token字段的值,例如,BearereyJ0eXAiOiJKV1QiLCJhbGciOiJ...... ,此值可通过登录接口获取 |
以 https://serverName/appstore 标准Restful API为例,
| 请求类型 | API地址 | 对应接口功能 |
| --- | --- | --- |
| GET | https://serverName/appstore | 显示资源列表,支持按title、model字段模糊查询,按status字段匹配查询 |
| POST | https://serverName/appstore | 保存新建的资源。对提交的不在数据表中包含的字段,自动舍弃 |
| GET | https://serverName/appstore/id | 显示指定id的资源 |
| PUT | https://serverName/appstore/id | 保存指定id更新的资源 |
| DELETE | https://serverName/appstore/id | 删除指定id资源,删除采用软删除 |
# 标准Restful API规范:
## 1. **GET** appstore
### 功能说明
显示appstore模型列表。
### 接口URL
https://serverName/appstore
### 请求参数说明
| 参数 | 类型 | 是否必须 | 说明 | 示例 |
| --- | --- | --- |--- |--- |
| title| string | 否 | 模糊查询标题 | UCToo |
| model | string | 否 | 模糊查询款式 | 2021V2.0 |
| status | number| 否 | 匹配查询状态 | 1 |
### 返回参数说明
返回 appstore 模型的所有字段,由于UCToo集成了微信小商店因此字段和微信小商店标准版交易组件SPU保持了一致。也可以参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent/API/spu/get_spu.html
| 参数 | 类型 | 说明 |
| --- | --- | --- |--- |--- |
| id| number| 数据主键ID |
| product_id| number| 小商店内部商品ID |
| out_product_id | string| 商家自定义商品ID |
| title| string| 标题 |
| sub_title | string| 副标题 |
| head_img| string array| 主图,多张,列表,最多9张,每张不超过2MB |
| desc_info| string array| 商品详情,图文(目前只支持图片,最多20张,每张不超过2MB) |
| brand_id | number| 商家需要申请品牌 |
| status | number| 商品线上状态 |
| edit_status| number| 商品草稿状态 |
| min_price | number| 商品SKU最小价格(单位:分) |
| cats | number | 商家需要先申请可使用类目 |
| attrs| string| 属性 |
| model| string| 商品型号 |
| shopcat| number| 分类ID,对应信息通过 get\_shop\_cat 接口拿到 |
| skus| number| skuID |
| sales_count| number| 销量 |
| weigh| number| 排序 |
| template_id| string | 模板id |
| ext_json| string | ext_json微信第三方平台小程序配置文件内容 |
| memo| string | 备注 |
| ext_attrs| string | 更多属性|
| creator_id| number| 创建人ID,新增数据时自动根据Token对应的登录用户填充|
| created_at| number| 创建时间|
| updated_at| number| 更新时间|
### 示例
![](https://img.kancloud.cn/83/ac/83ac215ec687abfcb5fbe00bf32eafc0_747x694.png)
### 成功返回数据示例
{"code":10000,"message":"success","count":1,"current":1,"limit":10,"data":[{"id":5,"product_id":0,"out_product_id":"1234567","title":"小霸王NintendoSwitch国行续航增强版NS家用体感游戏机掌机","sub_title":"JD自营更放心】【国行Switch,更安心的保修服务,更快的国行服务器】一台主机三种模式,游戏掌机,随时随地,一起趣玩。",
"head_img":"http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg","desc_info":"{\"imgs\":[\"http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg\"]}",
"brand_id":2100000000,"status":0,"edit_status":0,"min_price":0,"cats":"{\"cat_id\":6033,\"level\":1},{\"cat_id\":6057,\"level\":2},{\"cat_id\":6091,\"level\":3}","attrs":"{\"attr_key\":\"商品毛重\",\"attr_value\":\"380g\"},{\"attr_key\":\"商品产地\",\"attr_value\":\"中国大陆\"}",
"model":"国行续航增强版","shopcat":null,"skus":"{\"out_product_id\":\"1234567\",\"out_sku_id\":\"1024\",\"thumb_img\":\"http://img10.360buyimg.com/n1/s450x450_jfs/t1/100778/17/13648/424215/5e590a40E2d68e774/e171d222a0c9b763.jpg\",\"sale_price\":1300,\"market_price\":1500,\"stock_num\":100,\"sku_code\":\"A24525252\",\"barcode\":\"13251454\",\"sku_attrs\":[{\"attr_key\":\"选择颜色\",\"attr_value\":\"红蓝主机\"},{\"attr_key\":\"选择套装\",\"attr_value\":\"主机+保护套\"}]}",
"sales_count":50,"weigh":2,"template_id":"70","ext_json":null,"memo":null,"ext_attrs":null,"creator_id":1,"created_at":"2021-05-1116:58:30","updated_at": "2021-05-11 16:58:30"}]}
## 2. **POST** appstore
### 功能说明
保存appstore模型数据。
### 接口URL
https://serverName/appstore
### 请求参数说明
| 参数 | 类型 | 是否必须 | 说明 | 示例 |
| --- | --- | --- |--- |--- |
| out_product_id| string | 否 | 商家自定义商品ID,与product_id二选一 | 1234567|
| title| string | 否 | 模糊查询标题 | UCToo |
| model | string | 否 | 模糊查询款式 | 2021V2.0 |
| status | number| 否 | 匹配查询状态 | 1 |
POST数据格式:JSON
POST数据字段:1.新增数据,可提交的数据字段和列表接口返回的数据字段一致。2.无需包含数据主键ID、creator_id等框架自动填充的字段。
POST数据例子:
可以参考 文档 https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent/API/spu/add_spu.html
### 返回参数说明
返回appstore模型所新增数据包含新增模型(带自增ID)的数据集(数组),POST数据中提交的字段可能会在模型中进行一些自动处理,具体的字段定义请参考模型章节。
## 示例
![](https://img.kancloud.cn/86/e1/86e1c9e86be766bf705a06cbdef4b2b0_796x894.png)
### 成功示例
{
"code": 10000,
"message": "success",
"data": "6"
}
## 3. **GET** appstore/:id
### 功能说明
显示指定主键的模型数据。
### 接口URL
https://serverName/appstore/id
### 请求参数说明
无
### 返回参数说明
返回appstore模型的所有字段
## 示例
![](https://img.kancloud.cn/d3/40/d34010331648e276c456af8e4fb53bf9_727x665.png)
### 成功示例
{"code":10000,"message":"success","data":{"id":6,"product_id":0,"out_product_id":"1234567","title":"小霸王NintendoSwitch","sub_title":"JD自营更放心","head_img":"","desc_info":"","brand_id":0,"status":0,"edit_status":0,"min_price":100,"cats":null,"attrs":null,"model":null,"shopcat":null,"skus":null,"sales_count":null,"weigh":null,"template_id":null,"ext_json":null,"memo":null,"ext_attrs":null,"creator_id":1,"created_at":"2021-05-1218:15:27","updated_at":"2021-05-1218:15:27"}}
## 4. **PUT** appstore/:id
### 功能说明
更新指定主键的appstore模型数据。
### 接口URL
https://serverName/appstore/:id
### 请求参数说明
| 参数 | 类型 | 是否必须 | 说明 | 示例 |
| --- | --- | --- |--- |--- |
| title| string | 否 | 将字段更新为此值 | UCToo |
PUT数据格式:JSON,注意应使用x-www-form-urlencoded方式提交数据
PUT数据字段:1.包含主键ID的数据和需要更新字段的数据。
PUT数据例子:
### 返回参数
{
"code": 10000,
"message": "success",
"data": true
}
## 示例
![](https://img.kancloud.cn/9d/76/9d760947583a57901ea9ea3098a4bd46_796x658.png)
### 成功示例
## 5. **DELETE** appstore/:id
### 功能说明
删除指定主键的appstore模型数据。注意默认是软删除,仅更新了deleted_at字段。
### 接口URL
https://serverName/appstore/:id
### 请求参数说明
无
### 返回参数
{
"code": 10000,
"message": "success",
"data": true
}
## 示例
![](https://img.kancloud.cn/60/33/6033b9a29345f4bcbafdca795a4dc474_788x361.png)
## 参考文档
catchadmin接口文档: http://apidoc.catchadmin.com/web/#/5?page_id=23