75 lines
1.9 KiB
TypeScript
75 lines
1.9 KiB
TypeScript
import { getUser } from './auth';
|
|
|
|
export interface DownloadLogRecord {
|
|
_id: string;
|
|
userId: string;
|
|
worksheetId: string;
|
|
createdAt: string;
|
|
worksheet?: {
|
|
_id: string;
|
|
title: string;
|
|
subtitle: string;
|
|
category: string;
|
|
subcategory: string;
|
|
previewImg: string;
|
|
} | null;
|
|
}
|
|
|
|
/**
|
|
* 记录下载日志
|
|
*/
|
|
export async function addDownloadLog(worksheetId: string): Promise<boolean> {
|
|
if (!worksheetId) return false;
|
|
try {
|
|
await getUser();
|
|
const res = await wx.cloud.callFunction({
|
|
name: 'userDownloadLogs',
|
|
data: { action: 'add', worksheetId },
|
|
});
|
|
const result = (res?.result as any) || {};
|
|
return result.code === 0;
|
|
} catch (e) {
|
|
console.error('addDownloadLog failed', e);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取下载历史
|
|
*/
|
|
export async function getDownloadLogs(
|
|
page = 1,
|
|
pageSize = 20,
|
|
): Promise<DownloadLogRecord[]> {
|
|
try {
|
|
await getUser();
|
|
const res = await wx.cloud.callFunction({
|
|
name: 'userDownloadLogs',
|
|
data: { action: 'list', page, pageSize },
|
|
});
|
|
const result = (res?.result as any) || {};
|
|
return result.code === 0 ? result.data : [];
|
|
} catch (e) {
|
|
console.error('getDownloadLogs failed', e);
|
|
return [];
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取当前用户下载(打印)总数
|
|
*/
|
|
export async function getDownloadLogCount(): Promise<number> {
|
|
try {
|
|
await getUser();
|
|
const res = await wx.cloud.callFunction({
|
|
name: 'userDownloadLogs',
|
|
data: { action: 'count' },
|
|
});
|
|
const result = (res?.result as any) || {};
|
|
return result.code === 0 ? Number(result.data?.count || 0) : 0;
|
|
} catch (e) {
|
|
console.error('getDownloadLogCount failed', e);
|
|
return 0;
|
|
}
|
|
}
|