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

一、购买流程

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。

退款流程已完成

posted @ 2021-03-02 18:10  试问蟾宫  阅读(1235)  评论(0编辑  收藏  举报