order.js
2.76 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import { ref, reactive } from 'vue';
// 创建全局状态对象
const globalOrderState = reactive({
orderParams: null, // 订单参数
selectedGiftCardIds: [], // 选中的礼品卡ID
selectedCouponId: '', // 选中的优惠券ID
selectedCoursePackageId: '', // 选中的课程包ID
isInitialized: false, // 新增:是否已初始化
});
// 创建订单状态管理 composable
export function useOrderStore() {
// 获取订单参数
const getOrderParams = () => globalOrderState.orderParams;
// 设置订单参数
const setOrderParams = (params) => {
if (!globalOrderState.isInitialized) {
globalOrderState.orderParams = { ...params };
}
globalOrderState.isInitialized = true;
};
// 获取选中的礼品卡ID
const getSelectedGiftCardIds = () => globalOrderState.selectedGiftCardIds;
// 设置选中的礼品卡ID
const setSelectedGiftCardIds = (cardIds) => {
globalOrderState.selectedGiftCardIds = Array.isArray(cardIds) ? [...cardIds] : [];
};
// 添加礼品卡ID
const addGiftCardIds = (cardIds) => {
const newIds = Array.isArray(cardIds) ? cardIds : [cardIds];
globalOrderState.selectedGiftCardIds = [
...new Set([...globalOrderState.selectedGiftCardIds, ...newIds]),
];
};
// 移除礼品卡ID
const removeGiftCardId = (cardId) => {
globalOrderState.selectedGiftCardIds = globalOrderState.selectedGiftCardIds.filter(
(id) => id !== cardId,
);
};
// 清除礼品卡ID
const clearGiftCardIds = () => {
globalOrderState.selectedGiftCardIds = [];
};
// 获取选中的优惠券ID
const getSelectedCouponId = () => globalOrderState.selectedCouponId;
// 设置选中的优惠券ID
const setSelectedCouponId = (couponId) => {
globalOrderState.selectedCouponId = couponId;
};
// 获取选中的课程包ID
const getSelectedCoursePackageId = () => globalOrderState.selectedCoursePackageId;
// 设置选中的课程包ID
const setSelectedCoursePackageId = (packageId) => {
globalOrderState.selectedCoursePackageId = packageId;
};
// 清除所有订单状态
const clearOrderState = () => {
globalOrderState.orderParams = null;
globalOrderState.selectedGiftCardIds = [];
globalOrderState.selectedCouponId = '';
globalOrderState.selectedCoursePackageId = '';
globalOrderState.isInitialized = false;
};
// 返回所有方法
return {
// 订单参数相关
getOrderParams,
setOrderParams,
// 礼品卡相关
getSelectedGiftCardIds,
setSelectedGiftCardIds,
addGiftCardIds,
removeGiftCardId,
clearGiftCardIds,
// 优惠券相关
getSelectedCouponId,
setSelectedCouponId,
// 课程包相关
getSelectedCoursePackageId,
setSelectedCoursePackageId,
// 清除状态
clearOrderState,
};
}