# 資源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| 更新時間|
### 示例

### 成功返回數據示例
{"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數據中提交的字段可能會在模型中進行一些自動處理,具體的字段定義請參考模型章節。
## 示例

### 成功示例
{
"code": 10000,
"message": "success",
"data": "6"
}
## 3. **GET** appstore/:id
### 功能說明
顯示指定主鍵的模型數據。
### 接口URL
https://serverName/appstore/id
### 請求參數說明
無
### 返回參數說明
返回appstore模型的所有字段
## 示例

### 成功示例
{"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
}
## 示例

### 成功示例
## 5. **DELETE** appstore/:id
### 功能說明
刪除指定主鍵的appstore模型數據。注意默認是軟刪除,僅更新了deleted_at字段。
### 接口URL
https://serverName/appstore/:id
### 請求參數說明
無
### 返回參數
{
"code": 10000,
"message": "success",
"data": true
}
## 示例

## 參考文檔
catchadmin接口文檔: http://apidoc.catchadmin.com/web/#/5?page_id=23