返回 AiToEarn
task.ts
1 /*
2 * @Author: nevin
3 * @Date: 2025-02-22 12:02:55
4 * @LastEditTime: 2025-03-24 14:08:12
5 * @LastEditors: nevin
6 * @Description: 任务
7 */
8 import http, { hotHttp } from './request';
9 import {
10 ApplyTask,
11 MineTaskListParams,
12 TaskMaterial,
13 UserTask,
14 } from './types/task';
15 import { Task, TaskDataInfo } from 'commont/types/task';
16 import { Pagination } from './types';
17 import { UserWalletRecord } from './types/finance';
18
19 export const taskApi = {
20 /**
21 * 获取评论搜索
22 */
23 searchNotesTask(params: any) {
24 return hotHttp.get('/comment/search/notes/task', {
25 isToken: false,
26 params,
27 });
28 },
29
30 searchNotesResult(params: any) {
31 return hotHttp.get<any>('/comment/search/notes', {
32 isToken: false,
33 params,
34 });
35 },
36 searchNotesList(params: any) {
37 return hotHttp.get<any>('/comment/search/notes/list', {
38 isToken: false,
39 params,
40 });
41 },
42
43 /**
44 * 获取任务列表
45 */
46 getTaskList<T extends TaskDataInfo>(params: any) {
47 return http.get<Pagination<Task<T>>>('/tasks/list', {
48 isToken: false,
49 params,
50 });
51 },
52
53 /**
54 * 获取我的任务列表
55 */
56 getMineTaskList(params: MineTaskListParams) {
57 return http.get<Pagination<UserTask<Task<TaskDataInfo>>>>(
58 '/tasks/mine/list',
59 {
60 isToken: true,
61 params,
62 },
63 );
64 },
65
66 /**
67 * 获取任务详情
68 * @returns
69 */
70 getTaskInfo(id: string) {
71 return http.get<Task<TaskDataInfo>>(`/tasks/info/${id}`);
72 },
73
74 /**
75 * 申请任务
76 */
77 taskApply<T extends TaskDataInfo>(id: string, data: ApplyTask) {
78 return http.post<Task<T>>(`/tasks/apply/${id}`, data, {
79 isToken: true,
80 });
81 },
82
83 /**
84 * 完成任务
85 */
86 taskDone(
87 id: string,
88 data: {
89 submissionUrl?: string; // 提交的结果,视频、文章或截图URL
90 screenshotUrls?: string[]; // 任务截图
91 qrCodeScanResult?: string; // 二维码扫描结果
92 },
93 ) {
94 return http.post<UserTask<string>>(`/tasks/submit/${id}`, data, {
95 isToken: true,
96 });
97 },
98
99 // 提现
100 withdraw(id: string, walletAccountId?: string) {
101 return http.post<UserWalletRecord>(
102 `/tasks/withdraw/${id}`,
103 {
104 accountId: walletAccountId,
105 },
106 {
107 isToken: true,
108 },
109 );
110 },
111
112 // 删除搜索笔记任务
113 deleteSearchNotesTask: (data: {
114 userId: string;
115 taskType: string;
116 taskId: string;
117 }) => hotHttp.post('/comment/search/notes/delete', data),
118
119 // 统计合计进行中的任务的金额总数
120 getTotalAmountOfDoingTasks() {
121 return http.get<number>(`/tasks/reward/amount`, {
122 isToken: true,
123 });
124 },
125
126 /**
127 * 获取任务的最优素材
128 * @returns
129 */
130 getFristTaskMaterial(taskId: string) {
131 return http.get<TaskMaterial>(`/tasks/material/frist/${taskId}`);
132 },
133 };
134
134 lines TYPESCRIPT