Skip to content

Instantly share code, notes, and snippets.

@marcmoore
Last active May 22, 2020 17:05
Show Gist options
  • Save marcmoore/9b852414aa4524f816e43c5800717932 to your computer and use it in GitHub Desktop.
Save marcmoore/9b852414aa4524f816e43c5800717932 to your computer and use it in GitHub Desktop.

###京东

####领券

  1. 页面:https://a.jd.com/
  2. 标示:$(".quan-sk-item")$(".quan-item") 可获取优惠券element
  3. 操作:(登录状态下)
  4. 找到券的data-key
  5. 发送Get请求到 https://a.jd.com/ajax/freeGetCoupon.html?key={data-key}
  6. 如果抢券成功,会获得以下Response: {"value":999,"desc":"领取成功!感谢您的参与,祝您购物愉快~"}
  7. 如果抢券失败,会获得以下Response: {"value":17,"desc":"此券已经被领完了,下次记得早点来哟~"}
  8. 找到券的data-linkurl,相应值即为可用商品的链接

####加入购物车

  1. 直接访问页面:https://cart.jd.com/gate.action?pid=11222195748&pcount=1&ptype=1 pcount代表数量 ptype代表产品类型

####获取订单信息

  1. 直接访问页面:https://trade.jd.com/shopping/order/getOrderInfo.action

####订单页面获取可用优惠券

  1. 请求地址:https://trade.jd.com/shopping/dynamic/coupon/getCoupons.action

####选择优惠券并下单

  1. 页面:https://trade.jd.com/shopping/order/getOrderInfo.action
  2. 标示:$('.coupon-enable .coupon-item') 可获取可用优惠券list
  3. 操作:(登录状态下,确保已经设置默认地址,默认发票等信息)
  4. 选择优惠券(可用优惠券列表中的第一个元素,应该为系统自动推荐的优惠券,待确认)
  5. 找到该优惠券元素内部onclick事件,执行该事件,即可选中该优惠券
  6. 请求地址http://trade.jd.com/shopping/order/submitOrder.action即可下单
  7. 如果下单成功,会获得以下Response: {"message":null,"resultCode":0,"pin":"mahaoxun","success":true,"needCheckCode":false,"addressVO":null,"orderId":49409527875,"submitSkuNum":1,"deductMoneyFlag":0,"goJumpOrderCenter":false,"payInfo":null,"orderXml":null,"cartXml":null,"noStockSkuIds":""}
  8. 如果下单失败,会获得以下Response: {"message":"获取用户订单信息失败","resultCode":60077,"pin":"mahaoxun","success":false,"needCheckCode":false,"addressVO":null,"orderId":0,"submitSkuNum":0,"deductMoneyFlag":0,"goJumpOrderCenter":false,"payInfo":null,"orderXml":null,"cartXml":null,"noStockSkuIds":""}

####获取商品可用优惠券

  1. 页面:https://cd.jd.com/coupons?skuId=3278437&cat=737,752,755&venderId=1000005515
  2. 标示:
  3. 商品页面有个js对象pageConfig,其中product属性包含了所需要的几个id。
  4. $('.sku_coupon_item') 获取到所有未领取的可用优惠券,$('.current_sku_coupon_item') 获取到所有已领取的可用优惠券

####商品页面领取可用优惠券

  1. 地址:https://cd.jd.com/coupon/active?skuId=3278437&cat=737%2C752%2C755&venderId=1000005515&roleId=5340761&key=39e28bea74314e63a11a2f7620be196b&couponBatchId=&answer=&content=
  2. 标示:roldID, key 可以在每个优惠券元素内隐藏input中获取到,其他字段传空值即可,但必须要提供字段名称
  3. 操作:
  4. 如果请求成功,得到以下Response: {"resultCode":999,"desc":"领取成功!感谢您的参与,祝您购物愉快~"}
  5. 如果请求失败,得到以下Response: {"resultCode":15,"desc":"您今天已经参加过此活动,别太贪心哟,明天再来~"}

###华为

####添加购物车

  1. 地址:http://cart.vmall.com/cart/add.json?sbs=762843846&type=1&qty=1&ess=
  2. 标示:sbs即商品sku,通过页面js方法ec.product.getSku()获取,type传1,其用处未知,尝试传其他值均无法成功添加,qty为商品数量,ess未知,传空即可
  3. 操作: 1. 如果请求成功,得到以下Response(即购物车内商品json数据): {"cart":[{"bundleId":762843846,"productType":"2","quantity":3},{"productType":"1","quantity":1,"skuId":561279530},{"productType":"1","quantity":8,"skuId":762843846},{"productType":"1","quantity":1,"skuId":404829856}],"success":true}

####订单详情

  1. 提交表单:
<form action="http://www.vmall.com/order/confirmcart" method="post">
    <input name="sbs" type="hidden" value="762843846"> <!--一件商品-->
    <input name="types" type="hidden" value="1"> <!--类型,目前已知的值为1,传其他值不行-->
    <input name="qtys" type="hidden" value="1"> <!--商品数量-->
    <input name="ess" type="hidden" value=""> <!--未知字段-->
    <input name="state" type="hidden" value="1"> <!--未知字段,传1即可-->
</form>
<form action="http://www.vmall.com/order/confirmcart" method="post">
    <input name="sbs" type="hidden" value="762843846,825500270"> <!--多件商品*/-->
    <input name="types" type="hidden" value="1,1">
    <input name="qtys" type="hidden" value="1,1">
    <input name="ess" type="hidden" value=",">
    <input name="state" type="hidden" value="1">
</form>

####创建订单

  1. 提交表单:
<form id="order-confirm-form" action="/order/createcart" autocomplete="off" method="post">
    <input name="consigneeAddressId" id="order-address" type="hidden" value="">
    <input name="deliveryMethod" id="order-deliveryMethod" type="hidden" value="1">
    <input name="paymentMethod" id="order-paymentMethod" type="hidden" value="">
    <input name="paymentType" id="order-paymentType" type="hidden" value="">
    <input name="invoiceTitle" id="order-invoiceTitle" type="hidden" value="个人">
    <input name="titleType" id="order-titleType" type="hidden" value="50">
    <input name="custMessage" id="order-custMessage" type="hidden">
    <input name="couponCode" id="order-couponCode" type="hidden">
    <input name="activityId" id="order-activityId" type="hidden" value="">
    <input name="state" id="order-state" type="hidden" value="1">
    <input name="paramExtra" id="order-paramExtra" type="hidden" value="">
    <input name="skuIds" type="hidden" value="762843846"> <!--多件商品,需要创建多个skuIds的hidden input-->
    <input name="skuIds" type="hidden" value="825500270">
    <input name="answer" id="answer" type="hidden">
    <input name="petalNumber" id="order-huaban" type="hidden">
    <input name="couponCodeNumber" id="couponCodeNumber" type="hidden" value=""><!-- 团购所需参数 -->
    <input id="orderTag" name="orderTag" type="hidden" value="">
    <input name="UIDesignID" type="hidden" value="">
    <input name="sbs" type="hidden" value="762843846,825500270">
    <input name="types" type="hidden" value="1,1">
    <input name="qtys" type="hidden" value="1,1">
    <input name="css" type="hidden" value="">
    <input name="ess" type="hidden" value=",">
    <input name="ass" type="hidden" value="">
    <input name="orderNote" id="order-note" type="hidden">
    <input name="wareHouseId" id="wareHouseId" type="hidden" value="1">
    <input type="hidden" name="_sf" value="69f3d09b71876f34797f8a93c14bbcf3"> <!--未知字段,cookie中没有,可以尝试传固定值-->
    <input name="usePointFlag" id="usePointFlag" type="hidden" value="false">
    <input name="usePetalFlag" id="usePetalFlag" type="hidden" value="false">
    <input name="vatInvoiceJson" id="order-vatInvoiceJson" type="hidden">
    <input name="vatInvoiceKey" id="order-vatInvoiceKey" type="hidden">
    <input name="vatInvoiceDeliveryJson" id="order-vatInvoiceDeliveryJson" type="hidden">
    <input name="vatInvoiceDeliveryKey" id="order-vatInvoiceDeliveryKey" type="hidden">
    <input name="enableElectronicInvoice" id="enableElectronicInvoice" type="hidden" value="true">
    <input name="enableVatInvoice" id="enableVatInvoice" type="hidden" value="true">
</form>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment