@quicktvui/tv-ad-unlock 1.0.6 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,255 +0,0 @@
1
- import { ref, watch, onUnmounted } from 'vue';
2
- const DEFAULT_INVALID_TIMEOUT = 300000;
3
- const DEFAULT_POLL_INTERVAL = 1000;
4
- export function createStorageKeys(packageName) {
5
- return {
6
- credits: `${packageName}_ad_credits`,
7
- totalAdsWatched: `${packageName}_ad_total_ads`,
8
- permanentUnlocked: `${packageName}_ad_permanent`,
9
- todayUnlocked: `${packageName}_ad_today_unlocked`,
10
- todayPlayCount: `${packageName}_ad_today_plays`,
11
- todayAdCount: `${packageName}_ad_today_ad_count`,
12
- todayDate: `${packageName}_ad_today_date`
13
- };
14
- }
15
- export function useTVAdUnlockStorage(storage, keys, initialCredits = 5) {
16
- function getTodayString() {
17
- const today = new Date();
18
- return `${today.getFullYear()}-${today.getMonth() + 1}-${today.getDate()}`;
19
- }
20
- async function checkDailyReset() {
21
- const today = getTodayString();
22
- const savedDate = await storage.getString(keys.todayDate, '');
23
- if (savedDate !== today) {
24
- await storage.putString(keys.todayDate, today);
25
- await storage.putInt(keys.todayPlayCount, 0);
26
- await storage.putBoolean(keys.todayUnlocked, false);
27
- await storage.putInt(keys.todayAdCount, 0);
28
- }
29
- }
30
- async function getCredits() {
31
- return storage.getInt(keys.credits, initialCredits);
32
- }
33
- async function setCredits(value) {
34
- await storage.putInt(keys.credits, value);
35
- }
36
- async function addCredits(amount) {
37
- const current = await getCredits();
38
- await storage.putInt(keys.credits, current + amount);
39
- }
40
- async function consumeCredits(amount) {
41
- const current = await getCredits();
42
- if (current <= 0)
43
- return 0;
44
- const consumed = Math.min(current, amount);
45
- await storage.putInt(keys.credits, current - consumed);
46
- return consumed;
47
- }
48
- async function consumeAllCredits() {
49
- const current = await getCredits();
50
- if (current > 0) {
51
- await storage.putInt(keys.credits, 0);
52
- }
53
- return current;
54
- }
55
- async function isTodayUnlocked() {
56
- await checkDailyReset();
57
- return storage.getBoolean(keys.todayUnlocked, false);
58
- }
59
- async function setTodayUnlocked() {
60
- const today = getTodayString();
61
- await storage.putString(keys.todayDate, today);
62
- await storage.putBoolean(keys.todayUnlocked, true);
63
- }
64
- async function getTodayPlayCount() {
65
- await checkDailyReset();
66
- return storage.getInt(keys.todayPlayCount, 0);
67
- }
68
- async function incrementPlayCount() {
69
- const count = await getTodayPlayCount();
70
- const newCount = count + 1;
71
- await storage.putInt(keys.todayPlayCount, newCount);
72
- return newCount;
73
- }
74
- async function getTotalAdsWatched() {
75
- return storage.getInt(keys.totalAdsWatched, 0);
76
- }
77
- async function incrementTotalAdsWatched() {
78
- const count = await getTotalAdsWatched();
79
- const newCount = count + 1;
80
- await storage.putInt(keys.totalAdsWatched, newCount);
81
- return newCount;
82
- }
83
- async function isPermanentlyUnlocked() {
84
- return storage.getBoolean(keys.permanentUnlocked, false);
85
- }
86
- async function setPermanentUnlocked() {
87
- await storage.putBoolean(keys.permanentUnlocked, true);
88
- }
89
- async function getTodayAdCount() {
90
- await checkDailyReset();
91
- return storage.getInt(keys.todayAdCount, 0);
92
- }
93
- async function incrementTodayAdCount() {
94
- const count = await getTodayAdCount();
95
- const newCount = count + 1;
96
- await storage.putInt(keys.todayAdCount, newCount);
97
- return newCount;
98
- }
99
- return {
100
- checkDailyReset,
101
- getCredits,
102
- setCredits,
103
- addCredits,
104
- consumeCredits,
105
- consumeAllCredits,
106
- isTodayUnlocked,
107
- setTodayUnlocked,
108
- getTodayPlayCount,
109
- incrementPlayCount,
110
- getTotalAdsWatched,
111
- incrementTotalAdsWatched,
112
- isPermanentlyUnlocked,
113
- setPermanentUnlocked,
114
- getTodayAdCount,
115
- incrementTodayAdCount
116
- };
117
- }
118
- export function useTVAdUnlock(config, storageKeys, requestManager, callbacks) {
119
- const adQrCode = ref('');
120
- const isInvalid = ref(false);
121
- const qrCodeState = ref(0);
122
- const isLoading = ref(false);
123
- const isStopPoll = ref(false);
124
- const isShowConfirmToast = ref(false);
125
- let invalidTimer = null;
126
- let pollTimer = null;
127
- const invalidTimeout = config.invalidTimeout ?? DEFAULT_INVALID_TIMEOUT;
128
- const pollInterval = config.pollInterval ?? DEFAULT_POLL_INTERVAL;
129
- const urlGetDeviceCode = config.superRequestBaseUrl + '/superc/ad/open/v2/tv/getAdUrl';
130
- const urlPollTVADStatus = config.superRequestBaseUrl + '/superc/ad/open/v2/tv/pollTVADStatus';
131
- watch(() => qrCodeState.value, (newVal, oldVal) => {
132
- if (newVal === 1 && oldVal === 0) {
133
- startInvalidTimer();
134
- callbacks?.onQrCodeScanned?.();
135
- }
136
- });
137
- async function pollTVADStatus(deviceId) {
138
- try {
139
- const res = await requestManager.post(urlPollTVADStatus, {
140
- data: { deviceId }
141
- });
142
- if (isStopPoll.value) {
143
- return;
144
- }
145
- qrCodeState.value = parseInt(`${res}`);
146
- if (qrCodeState.value === 2) {
147
- callbacks?.onUnlockSuccess?.();
148
- }
149
- else {
150
- pollTimer = setTimeout(() => {
151
- pollTVADStatus(deviceId);
152
- }, pollInterval);
153
- }
154
- }
155
- catch {
156
- pollTimer = setTimeout(() => {
157
- pollTVADStatus(deviceId);
158
- }, pollInterval);
159
- }
160
- }
161
- async function getAdQrCode(deviceId, scanTitle = '观看奖励', scanContent = '观看广告后可获得奖励', scanToast = '奖励已获得,请前往电视端观看') {
162
- isLoading.value = true;
163
- isInvalid.value = false;
164
- qrCodeState.value = 0;
165
- try {
166
- const res = await requestManager.post(urlGetDeviceCode, {
167
- data: {
168
- deviceId,
169
- scanTitle,
170
- scanContent,
171
- scanToast
172
- }
173
- });
174
- if (res) {
175
- adQrCode.value = res;
176
- isInvalid.value = false;
177
- startPollTvADStatusTimer(deviceId);
178
- startInvalidTimer();
179
- isLoading.value = false;
180
- return res;
181
- }
182
- else {
183
- isLoading.value = false;
184
- callbacks?.onUnlockFailed?.(new Error('获取二维码失败'));
185
- return '';
186
- }
187
- }
188
- catch (e) {
189
- isLoading.value = false;
190
- callbacks?.onUnlockFailed?.(e);
191
- return '';
192
- }
193
- }
194
- function startPollTvADStatusTimer(deviceId) {
195
- stopPollTvADStatusTimer();
196
- isStopPoll.value = false;
197
- pollTimer = setTimeout(() => {
198
- pollTVADStatus(deviceId);
199
- }, pollInterval);
200
- }
201
- function stopPollTvADStatusTimer() {
202
- if (pollTimer) {
203
- clearTimeout(pollTimer);
204
- pollTimer = null;
205
- isStopPoll.value = true;
206
- }
207
- }
208
- function stopInvalidTimer() {
209
- if (invalidTimer) {
210
- clearTimeout(invalidTimer);
211
- invalidTimer = null;
212
- }
213
- }
214
- function startInvalidTimer() {
215
- stopInvalidTimer();
216
- invalidTimer = setTimeout(() => {
217
- invalidQrCode();
218
- invalidTimer = null;
219
- }, invalidTimeout);
220
- }
221
- function invalidQrCode() {
222
- isInvalid.value = true;
223
- stopPollTvADStatusTimer();
224
- callbacks?.onQrCodeInvalid?.();
225
- }
226
- function reset() {
227
- adQrCode.value = '';
228
- isInvalid.value = false;
229
- qrCodeState.value = 0;
230
- isLoading.value = false;
231
- isStopPoll.value = false;
232
- isShowConfirmToast.value = false;
233
- stopPollTvADStatusTimer();
234
- stopInvalidTimer();
235
- }
236
- onUnmounted(() => {
237
- stopPollTvADStatusTimer();
238
- stopInvalidTimer();
239
- });
240
- return {
241
- adQrCode,
242
- isInvalid,
243
- qrCodeState,
244
- isLoading,
245
- isShowConfirmToast,
246
- getAdQrCode,
247
- startPollTvADStatusTimer,
248
- stopPollTvADStatusTimer,
249
- startInvalidTimer,
250
- stopInvalidTimer,
251
- invalidQrCode,
252
- reset
253
- };
254
- }
255
- //# sourceMappingURL=useTVAdUnlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTVAdUnlock.js","sourceRoot":"","sources":["../src/useTVAdUnlock.ts"],"names":[],"mappings":"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"}
File without changes
File without changes