bookShopApi

商城Api项目


商品列表

<h5>接口描述</h5> <ul> <li>商品列表</li> </ul> <h5>请求URL</h5> <ul> <li><code>/api/goods</code></li> </ul> <h5>请求方式</h5> <ul> <li>GET</li> </ul> <h5>Query 请求参数</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">page</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td>分页</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>商品名模糊搜索</td> </tr> <tr> <td style="text-align: left;">category_id</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td>分类搜索</td> </tr> <tr> <td style="text-align: left;">sales</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td>销量排序,值为1, 倒序, 值为2,正序</td> </tr> <tr> <td style="text-align: left;">recommend</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td>推荐, 值为1,获取推荐商品</td> </tr> <tr> <td style="text-align: left;">price</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td>价格排序,值为1, 倒序, 值为2,正序</td> </tr> <tr> <td style="text-align: left;">comments_count</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td>评论数排序,值为1, 倒序, 值为2,正序</td> </tr> </tbody> </table> <blockquote> <p>sales recommend price comments_count 这四个排序字段,每次只传一个, 值为(1 或 2)。也可以四个参数都传,但是只能有一个值为(1 或 2), 其他的为0。如果有多个参数的值为(1 或 2), 结果可能不会达到预期。</p> </blockquote> <h5>返回参数</h5> <p><strong>goods 分页相关数据</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必含</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">current_page</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>当前页</td> </tr> <tr> <td style="text-align: left;">from</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>起始量</td> </tr> <tr> <td style="text-align: left;">to</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>结束量</td> </tr> <tr> <td style="text-align: left;">first_page_url</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>第一页url</td> </tr> <tr> <td style="text-align: left;">next_page_url</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>下一页url</td> </tr> <tr> <td style="text-align: left;">prev_page_url</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>上一页url</td> </tr> <tr> <td style="text-align: left;">path</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>资源路径</td> </tr> <tr> <td style="text-align: left;">per_page</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>每页数量</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">是</td> <td style="text-align: left;">array</td> <td>商品数据见下表</td> </tr> </tbody> </table> <p><strong>goods.data 商品数据</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必含</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>自增长主键ID</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>标题</td> </tr> <tr> <td style="text-align: left;">price</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>价格</td> </tr> <tr> <td style="text-align: left;">sales</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>销量</td> </tr> <tr> <td style="text-align: left;">cover</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>封面图</td> </tr> <tr> <td style="text-align: left;">cover_url</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>封面图url</td> </tr> <tr> <td style="text-align: left;">updated_at</td> <td style="text-align: left;">是</td> <td style="text-align: left;">timestamp</td> <td>修改时间</td> </tr> <tr> <td style="text-align: left;">category_id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>分类</td> </tr> <tr> <td style="text-align: left;">comments_count</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>评论数量</td> </tr> <tr> <td style="text-align: left;">collects_count</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>收藏人数</td> </tr> </tbody> </table> <p><strong>categories 分类数据</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必含</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>自增长主键ID</td> </tr> <tr> <td style="text-align: left;">pid</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>父级id</td> </tr> <tr> <td style="text-align: left;">name</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>标题</td> </tr> <tr> <td style="text-align: left;">level</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>层级</td> </tr> <tr> <td style="text-align: left;">status</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>是否启用 0不启用 1启用</td> </tr> <tr> <td style="text-align: left;">children</td> <td style="text-align: left;">是</td> <td style="text-align: left;">array</td> <td>子级</td> </tr> </tbody> </table> <blockquote> <p>子级字段与父级字段一直, 分类最多只有3层</p> </blockquote> <p><strong>recommend_goods 推荐商品-PC适用</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必含</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>自增长主键ID</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>标题</td> </tr> <tr> <td style="text-align: left;">price</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>价格</td> </tr> <tr> <td style="text-align: left;">cover</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>封面图</td> </tr> <tr> <td style="text-align: left;">cover_url</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>封面图url</td> </tr> <tr> <td style="text-align: left;">comments_count</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>评论数量</td> </tr> <tr> <td style="text-align: left;">collects_count</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>收藏人数</td> </tr> </tbody> </table> <h5>返回示例</h5> <ul> <li>状态码 200 请求成功</li> </ul> <pre><code>{ "goods": { "current_page": 1, "data": [ { "id": 1, "title": "《产品经理手册》", "price": 45, "cover": "product/2020-0820-5f3e17d6ed7e8.png", "category_id": 21, "sales": 0, "updated_at": "2021-01-04T00:16:39.000000Z", "comments_count": 0, "collects_count": 0, "cover_url": "https://wqqx2020.oss-cn-beijing.aliyuncs.com/product/2020-0820-5f3e17d6ed7e8.png" }, { "id": 2, "title": "《Linux私房菜》", "price": 55, "cover": "product/2020-0820-5f3e177b79824.png", "category_id": 17, "sales": 0, "updated_at": "2021-01-04T00:16:39.000000Z", "comments_count": 0, "collects_count": 0, "cover_url": "https://wqqx2020.oss-cn-beijing.aliyuncs.com/product/2020-0820-5f3e177b79824.png" } ], "first_page_url": "http://bookshopapi.mamp/api/goods?recommend=0&amp;page=1", "from": 1, "next_page_url": "http://bookshopapi.mamp/api/goods?recommend=0&amp;page=2", "path": "http://bookshopapi.mamp/api/goods", "per_page": 10, "prev_page_url": null, "to": 10 }, "recommend_goods": [ { "id": 156, "title": "《人工智能》", "price": 45, "cover": "product/2020-0820-5f3e156b2c657.png", "comments_count": 0, "collects_count": 0, "cover_url": "https://wqqx2020.oss-cn-beijing.aliyuncs.com/product/2020-0820-5f3e156b2c657.png" }, { "id": 52, "title": "《Java核心编程》", "price": 32, "cover": "product/2020-0820-5f3e16c2aba88.png", "comments_count": 0, "collects_count": 0, "cover_url": "https://wqqx2020.oss-cn-beijing.aliyuncs.com/product/2020-0820-5f3e16c2aba88.png" } ], "categories": [ { "id": 1, "pid": 0, "name": "前沿", "level": 1, "status": 1, "children": [ { "id": 2, "pid": 1, "name": "区块链", "level": 2, "status": 1 }, { "id": 3, "pid": 1, "name": "人工智能", "level": 2, "status": 1 } ] }, { "id": 4, "pid": 0, "name": "前端", "level": 1, "status": 1, "children": [ { "id": 5, "pid": 4, "name": "小程序", "level": 2, "status": 1 }, { "id": 6, "pid": 4, "name": "JavaScript", "level": 2, "status": 1 }, { "id": 7, "pid": 4, "name": "HTML/CSS", "level": 2, "status": 1 }, { "id": 8, "pid": 4, "name": "Vue", "level": 2, "status": 1 }, { "id": 9, "pid": 4, "name": "React", "level": 2, "status": 1 }, { "id": 10, "pid": 4, "name": "ES6", "level": 2, "status": 1 }, { "id": 11, "pid": 4, "name": "Node.js", "level": 2, "status": 1 } ] }, { "id": 12, "pid": 0, "name": "后端", "level": 1, "status": 1, "children": [ { "id": 13, "pid": 12, "name": "Java", "level": 2, "status": 1 }, { "id": 14, "pid": 12, "name": "PHP", "level": 2, "status": 1 }, { "id": 15, "pid": 12, "name": "Python", "level": 2, "status": 1 }, { "id": 16, "pid": 12, "name": "GoLang", "level": 2, "status": 1 } ] }, { "id": 17, "pid": 0, "name": "云计算", "level": 1, "status": 1, "children": [ { "id": 18, "pid": 17, "name": "私有云", "level": 2, "status": 1 }, { "id": 19, "pid": 17, "name": "公有云", "level": 2, "status": 1 }, { "id": 20, "pid": 17, "name": "混合云", "level": 2, "status": 1 } ] }, { "id": 21, "pid": 0, "name": "产品设计", "level": 1, "status": 1, "children": [ { "id": 22, "pid": 21, "name": "UI设计", "level": 2, "status": 1 }, { "id": 23, "pid": 21, "name": "网站设计", "level": 2, "status": 1 } ] }, { "id": 47, "pid": 0, "name": "前沿", "level": 1, "status": 1, "children": [ { "id": 48, "pid": 47, "name": "区块链", "level": 2, "status": 1 }, { "id": 49, "pid": 47, "name": "人工智能", "level": 2, "status": 1 } ] }, { "id": 50, "pid": 0, "name": "前端", "level": 1, "status": 1, "children": [ { "id": 51, "pid": 50, "name": "小程序", "level": 2, "status": 1 }, { "id": 52, "pid": 50, "name": "JavaScript", "level": 2, "status": 1 }, { "id": 53, "pid": 50, "name": "HTML/CSS", "level": 2, "status": 1 }, { "id": 54, "pid": 50, "name": "Vue", "level": 2, "status": 1 }, { "id": 55, "pid": 50, "name": "React", "level": 2, "status": 1 }, { "id": 56, "pid": 50, "name": "ES6", "level": 2, "status": 1 }, { "id": 57, "pid": 50, "name": "Node.js", "level": 2, "status": 1 } ] }, { "id": 58, "pid": 0, "name": "后端", "level": 1, "status": 1, "children": [ { "id": 59, "pid": 58, "name": "Java", "level": 2, "status": 1 }, { "id": 60, "pid": 58, "name": "PHP", "level": 2, "status": 1 }, { "id": 61, "pid": 58, "name": "Python", "level": 2, "status": 1 }, { "id": 62, "pid": 58, "name": "GoLang", "level": 2, "status": 1 } ] }, { "id": 63, "pid": 0, "name": "云计算", "level": 1, "status": 1, "children": [ { "id": 64, "pid": 63, "name": "私有云", "level": 2, "status": 1 }, { "id": 65, "pid": 63, "name": "公有云", "level": 2, "status": 1 }, { "id": 66, "pid": 63, "name": "混合云", "level": 2, "status": 1 } ] }, { "id": 67, "pid": 0, "name": "产品设计", "level": 1, "status": 1, "children": [ { "id": 68, "pid": 67, "name": "UI设计", "level": 2, "status": 1 }, { "id": 69, "pid": 67, "name": "网站设计", "level": 2, "status": 1 } ] } ] }</code></pre>

页面列表

ITEM_HTML