商城购买流程及退款流程总结


一、购买流程

1、加入购物车

传3个参数:商品id,加入购物车数量,商品参与活动类型

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
      * @param {Object} para : id商品id  num加入购物车数量  type商品参与活动
      */
     addToCart:  function (para) {
         app.postAjax( '/order/myCart/add' , {
             data: {
                 goodsId: para.id,
                 count: para.num,
                 type: para.type
             },
             success:  function (res) {
                 if  (para.success) {
                     para.success(res);
                 }
                 if  (res.statusCode == 100) {
                     mui.toast( "加入购物车成功" );
                 else  {
                     app.toast(res.msg);
                 }
             },
             error:  function () {
                 if  (para.error) {
                     para.error();
                 }
             }
         },  '' );
     },
 

1.1 购物车中修改商品数量

 

传递参数:id  商品id    count 修改后商品数量

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
app.postAjax( '/order/myCart/edit' , {
     data: {
         id: id,
         count: count
     },
                     success:  function (res) {
                         if  (res.statusCode == 100) {
                             if  (res.url) {
                                 var  data = JSON.parse(res.url);
                                 vm.renderData(data);
                             }
                         else  {
                             app.toast(res.msg);
                         }
                     }
                 });
 

1.2 删除购物车中某个商品 

 

传递参数:id 商品id

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
app.postAjax( '/order/myCart/delete' , {
                     data: {
                         id: id
                     },
                     success:  function (res) {
                         if  (res.statusCode == 100) {
                             if  (res.url) {
                                 var  data = JSON.parse(res.url);
                                 vm.renderData(data);
                             }
                         else  {
                             app.toast(res.msg);
                         }
                     }
                 },  '' );
 

1.3 购物车中  选中/取消选中

 

传递参数:ids 选中商品id的json字符串

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
app.postAjax( '/order/myCart/select' , {
                     data: {
                         ids: JSON.stringify(arr)
                     },
                     success:  function (res) {
                         if  (res.statusCode == 100) {
                             console.log(res.url);
                             if  (res.url) {
                                 var  data = JSON.parse(res.url);
                                 vm.renderData(data);
                             }
                         else  {
                             app.toast(res.msg);
                         }
                     }
                 }, '' );
 

2、立即购买

 

跳转至结算页面,并将立即购买的商品数量,商品id,参与活动传递至跳转页面;

3、结算

3.1 请求用户的收货地址

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
app.postAjax( '/operation/address/getList' , {
                     data: {},
                     success:  function (res) {
                         if  (res.statusCode == 100) {
                             if  (res.data.length > 0) {
                                 vm.address = res.data[0];
                                 vm.getExpressList();
                             else  {
                                 app.confirm({
                                     msg:  '您还没有收货地址,立即去添加?' ,
                                     title:  '提示' ,
                                     ok:  function () {
                                         $.openWindow({
                                             url:  '/templates/user/new_address.html' ,
                                             id:  'newAddress'
                                         });
                                     },
                                     cancel:  function () {
                                         vm.currentPage.close();
                                     }
                                 });
                             }
                         else  {
                             app.toast(res.msg);
                         }
                     }
                 },  '' );
 

如果返回数据为空数组,跳转页面至添加收货地址,用户添加完成之后,返回至结算页面,并携带添加的地址数据,根据地址id请求后台设置的快递信息;

 

如果返回数据不为空,使用第一个数据(因为默认地址永远在第一个,如果没有默认,还是取第一个数据),根据地址id请求后台设置的快递信息。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
app.postAjax( '/order/myCart/getExpressList' , {
                     data: {},
                     success:  function (res) {
                         if  (res.statusCode == 100) {
                             vm.expressList = res.data;
                             if  (vm.expressList.length > 0) {
                                 vm.$set(vm.expressList[0],  'selected' true );
                                 vm.express = vm.expressList[0];
                             }
                             vm.getListByOrder();
                         else  {
                             app.toast(res.msg);
                         }
                     }
                 },  '' );
 

如果返回的数据为空数组,则快递id为空,请求结算数据;
如果返回的数据不为空,则快递id为第一条数据,根据快递id请求结算数据;

 

请求结算数据:传递参数 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
app.postAjax( '/order/myCart/getListByOrder' , {
                     data: {
                         id: vm.goods.id,
                         count: vm.goods.count,
                         couponId: vm.couponId,
                         type: vm.goods.type,
                         userCoupon: true ,
                         expressId: vm.express.id,
                         activityId: vm.goods.activityId,
                         addressId: vm.address.id
                     },
                     success:  function (res) {
                         if  (res.statusCode == 100) {
                             document.getElementById( 'realPayMoney' ).innerText =  '¥'  + res.data.realPayMoney;
                             vm.info = res.data;
                             if  (res.data.groupList) vm.groupList = res.data.groupList;
                             if  (res.data.couponList) vm.couponList = res.data.couponList;
 
                         else  {
                             app.toast(res.msg);
                         }
                     }
                 },  '' );
 

4、提交订单

 

请求成功,生成订单,跳转至支付页面,并携带参数:orderNum(订单编号)orderId(订单id)money(支付金额);
5、支付功能

请求支付类型

如果是平台支付,需要输入支付密码;
如果是第三方支付,如支付宝、微信,需要调用相应支付接口。

支付成功,商品购买已完成。

6、订单

订单管理一般分为四个状态:待付款、待发货、待收货、待评价。

6.1 待付款状态,用户可以支付/取消订单

支付同5;

取消订单:

6.2 待发货状态,用户只有一个操作,提醒卖家发货;

6.3 待收货状态,用户可以确认收货/查看物流;

确认收货:

查看物流:

6.4 待评价状态,用户可以申请退款/立即评价。

根据返回数据判断,如果isCanRefund==true,用户可以申请退款;如果isCanComment==true,用户可以评价订单。

为了更好的操作体验,申请退款以商品为单位,每次只操作一个商品。

申请退款:

立即评价:

 

二、退款流程

一般分为四个状态:待审核,已审核,退货中,已完成。

1、待审核:用户发起退款申请,等待后台审核;
2、已审核: 后台审核通过,用户根据退货地址,退回商品,并填写退货物流信息。

3、退货中:用户已将商品寄回,卖家尚未收到商品;
4、已完成:卖家收到商品,用户需要确认收到退款。

确认收到退款请求参数:id 退款订单id。

退款流程已完成


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM