32 lines
922 B
TypeScript
32 lines
922 B
TypeScript
type WorksheetStatsField = 'likes' | 'downloads';
|
|
|
|
export async function updateWorksheetStats(
|
|
id: string,
|
|
field: WorksheetStatsField,
|
|
): Promise<boolean> {
|
|
const worksheetId = String(id || '').trim();
|
|
if (!worksheetId) return false;
|
|
|
|
try {
|
|
const { result } = await wx.cloud.callFunction({
|
|
name: 'worksheetsStatsUpdate',
|
|
data: {
|
|
id: worksheetId,
|
|
field,
|
|
},
|
|
});
|
|
return !!(result as { success?: boolean } | undefined)?.success;
|
|
} catch (error) {
|
|
console.error('update worksheet stats failed', field, worksheetId, error);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
export function incrementWorksheetLikes(id: string): Promise<boolean> {
|
|
return updateWorksheetStats(id, 'likes');
|
|
}
|
|
|
|
export function incrementWorksheetDownloads(id: string): Promise<boolean> {
|
|
return updateWorksheetStats(id, 'downloads');
|
|
}
|