云虎H5商城

云虎H5商城


购物车商品列表

<h5>简要描述</h5> <ul> <li>应首先获取店铺信息,请求URL不是固定的,生成方式请查看[API总体说明]</li> </ul> <h5>请求URL</h5> <ul> <li><code>https://52.yunhu365.com/ErpServer/h5api/12116/st0908_1</code> </li> </ul> <h5>请求方式</h5> <ul> <li>post</li> </ul> <h5>Header</h5> <table> <thead> <tr> <th style="text-align: left;">header</th> <th style="text-align: left;">必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">sign</td> <td style="text-align: left;">是</td> <td>string</td> <td>上传的json字符串经过md5签名的值</td> </tr> <tr> <td style="text-align: left;">token</td> <td style="text-align: left;">是</td> <td>string</td> <td>登录成功后返回的用户token,登录前传入空字符串</td> </tr> </tbody> </table> <h5>请求参数示例</h5> <pre><code>{ "actionName": "carList", "userid": 1 } </code></pre> <h5>json字段说明</h5> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">actionName</td> <td style="text-align: left;">是</td> <td>string</td> <td>固定传carList</td> </tr> <tr> <td style="text-align: left;">userid</td> <td style="text-align: left;">是</td> <td>int</td> <td>用户ID,必须要已经登录</td> </tr> </tbody> </table> <h5>成功返回示例</h5> <pre><code>{ "code": 1, "msg": "", "actionName": "carList", "data": { "goodsList": [ { "carsid": 6, "nums": 1, "standardid": 2, "standard": "奥硝唑1盒+蛋白质粉1盒", "is_selected": 0, "id": 102109, "name": "奥硝唑分散片 0.25g*24s 天方药业", "isMed": 1, "thumb": "https:\/\/52.yunhu365.com\/ErpServer\/imguploader.aspx?sc=st0908_1&amp;g=101459", "price": 301, "origin_price": 315, "sales": 0, "inventory_nums": 89, "saleinfo": "", "std": 1, "pageSize": 10 } ], "goodsNums": 1, "totalPrice": 301 } } </code></pre> <h5>成功返回示例的参数说明</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">string</td> <td>错误码,1表示成功</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">string</td> <td>如果有错误此值不为空,否则值为空字符串</td> </tr> <tr> <td style="text-align: left;">actionName</td> <td style="text-align: left;">string</td> <td>无</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">object</td> <td>无</td> </tr> <tr> <td style="text-align: left;">goodsList</td> <td style="text-align: left;">array</td> <td>购物车列表</td> </tr> <tr> <td style="text-align: left;">goodsList.carsid</td> <td style="text-align: left;">int</td> <td>购物车ID</td> </tr> <tr> <td style="text-align: left;">goodsList.nums</td> <td style="text-align: left;">number</td> <td>购物车数量</td> </tr> <tr> <td style="text-align: left;">goodsList.standardid</td> <td style="text-align: left;">int</td> <td>选择的多规格ID</td> </tr> <tr> <td style="text-align: left;">goodsList.standard</td> <td style="text-align: left;">string</td> <td>选择的多规格名称</td> </tr> <tr> <td style="text-align: left;">goodsList.is_selected</td> <td style="text-align: left;">int</td> <td>1表示选中</td> </tr> <tr> <td style="text-align: left;">goodsList.id</td> <td style="text-align: left;">int</td> <td>商品ID</td> </tr> <tr> <td style="text-align: left;">goodsList.name</td> <td style="text-align: left;">string</td> <td>商品名称</td> </tr> <tr> <td style="text-align: left;">goodsList.isMed</td> <td style="text-align: left;">int</td> <td>=1表示药品</td> </tr> <tr> <td style="text-align: left;">goodsList.thumb</td> <td style="text-align: left;">string</td> <td>图片</td> </tr> <tr> <td style="text-align: left;">goodsList.price</td> <td style="text-align: left;">number</td> <td>销售价</td> </tr> <tr> <td style="text-align: left;">goodsList.origin_price</td> <td style="text-align: left;">number</td> <td>原价,划线价</td> </tr> <tr> <td style="text-align: left;">goodsList.sales</td> <td style="text-align: left;">number</td> <td>销量</td> </tr> <tr> <td style="text-align: left;">goodsList.inventory_nums</td> <td style="text-align: left;">number</td> <td>库存量</td> </tr> <tr> <td style="text-align: left;">goodsList.saleinfo</td> <td style="text-align: left;">string</td> <td>促销信息</td> </tr> <tr> <td style="text-align: left;">goodsList.isRx</td> <td style="text-align: left;">int</td> <td>表示购物车</td> </tr> <tr> <td style="text-align: left;">goodsList.std</td> <td style="text-align: left;">int</td> <td>1表示为多规格品种</td> </tr> <tr> <td style="text-align: left;">goodsNums</td> <td style="text-align: left;">number</td> <td>购物车总数量</td> </tr> <tr> <td style="text-align: left;">totalPrice</td> <td style="text-align: left;">number</td> <td>购物车总金额</td> </tr> </tbody> </table> <h5>失败返回示例</h5> <pre><code>{ "code": 0, "msg": "错误信息", "actionName": "carList" } </code></pre> <h5>失败返回示例的参数说明</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">string</td> <td>0表示产生错误</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">string</td> <td>如果有错误时此值不为空</td> </tr> <tr> <td style="text-align: left;">actionName</td> <td style="text-align: left;">string</td> <td>无</td> </tr> </tbody> </table> <h5>备注</h5> <p><strong>示例代码:</strong> </p> <pre><code class="language-language">&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8" /&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"&gt;&lt;/script&gt; &lt;script&gt; //全局对象AppConfig存放服务器传来的数据 var AppConfig = {}; AppConfig.serverurl = "http://118.31.32.52/ErpServer/h5api/12116/st0908_1"; AppConfig.token = ""; AppConfig.singkey = ""; AppConfig.userid = 0;//用户登录后服务器传来的用户id AppConfig.username = "";//用户登录后服务器传来的用户名 AppConfig.shopid = 0;//用户登录后服务器传来的店铺id AppConfig.shopname = "";//用户登录后服务器传来的店铺名 AppConfig.shoplogo = "";//用户登录后服务器传来的店铺logo //获取店铺信息 function getshop() { var obj = new Object(); obj.actionName = "getshop"; postdata(obj); } function postdata(obj) { //将对象obj转换为json字符串 var jsondata = JSON.stringify(obj); //数据签名 var sign = ""; if (AppConfig.token == null || AppConfig.token.length == 0) sign = calculateMD5("json=" + jsondata); else sign = calculateMD5("json=" + jsondata + "&amp;key=" + AppConfig.singkey + AppConfig.token); sign = sign.toUpperCase(); //发送请求 var xhr = new XMLHttpRequest(); xhr.open('POST', AppConfig.serverurl, true); xhr.setRequestHeader('Content-Type', 'application/json'); //在header中传递token xhr.setRequestHeader('token', AppConfig.token); //将sign放在header中传递 xhr.setRequestHeader('sign', sign); xhr.onload = function () { if (this.status == 200) { var res = this.responseText; if (res == null || res.length == 0) { alert("返回数据为空"); return; } document.getElementById("id_error").innerHTML = res; //解析返回数据 var obj = JSON.parse(res); if (obj.code == 1) { debugger; } else { alert(obj.msg); if (obj.code == 2) { //店铺未上线,跳转店铺建立中的页面 } else if (obj.code == 3) { //店铺已关闭,跳转到警请期待页面 } else if (obj.code == 4) { //店铺已到期,跳转到续费页面 } else if (obj.code == 5) { //请重新登录,跳转到登录页面 } else if (obj.code == 6) { //超时或未登录,跳转到登录页面 } else if (obj.code == 7) { //签名不正确,跳转到登录页面 } } } }; //发送数据 xhr.send(jsondata); } // 使用 CryptoJS 计算 MD5 哈希值 function calculateMD5(value) { return CryptoJS.MD5(value).toString(); } getshop(); &lt;/script&gt; &lt;div id="id_error"&gt;&lt;/div&gt; &lt;/body&gt; &lt;/html&gt;</code></pre>

页面列表

ITEM_HTML