一、購買流程
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。
退款流程已完成