Commit 8b7a601e authored by duanjinfei's avatar duanjinfei

fix get app date,cache category count

parent 6bc5f6c0
...@@ -19,7 +19,7 @@ async function fetchAllData(supabase, table: string, pageSize: number = 1000) { ...@@ -19,7 +19,7 @@ async function fetchAllData(supabase, table: string, pageSize: number = 1000) {
.gt('recommend', 0) .gt('recommend', 0)
// .eq('is_show', 1) // .eq('is_show', 1)
.order('recommend', { ascending: false }) .order('recommend', { ascending: false })
.order('created_at', { ascending: true }) // 按照创建时间排序 .order('updated_at', { ascending: false }) // 按照创建时间排序
.range(offset, offset + pageSize - 1); // 分页范围 .range(offset, offset + pageSize - 1); // 分页范围
if (error) { if (error) {
......
...@@ -17,7 +17,7 @@ async function fetchAllData(supabase, table: string, pageSize: number = 1000) { ...@@ -17,7 +17,7 @@ async function fetchAllData(supabase, table: string, pageSize: number = 1000) {
.select('id,name,icon,description,points,category_id,link,images,appPlatforms,caption,is_forward,is_show') // 可以根据需要调整字段 .select('id,name,icon,description,points,category_id,link,images,appPlatforms,caption,is_forward,is_show') // 可以根据需要调整字段
.gt('is_show', 0) .gt('is_show', 0)
// .eq('is_show', 1) // .eq('is_show', 1)
.order('created_at', { ascending: true }) // 按照创建时间排序 .order('updated_at', { ascending: false }) // 按照创建时间排序
.range(offset, offset + pageSize - 1); // 分页范围 .range(offset, offset + pageSize - 1); // 分页范围
if (error) { if (error) {
...@@ -90,6 +90,9 @@ async function cacheAllApp(supabase) { ...@@ -90,6 +90,9 @@ async function cacheAllApp(supabase) {
} }
async function cacheCategoryApp(supabase, allApps, directory, bucketName) { async function cacheCategoryApp(supabase, allApps, directory, bucketName) {
let categoryCount = {
app_all: allApps.length,
}
// 按 category_id 分组 // 按 category_id 分组
const groupedData: Record<string, any[]> = {}; const groupedData: Record<string, any[]> = {};
allApps.forEach((app) => { allApps.forEach((app) => {
...@@ -102,6 +105,7 @@ async function cacheCategoryApp(supabase, allApps, directory, bucketName) { ...@@ -102,6 +105,7 @@ async function cacheCategoryApp(supabase, allApps, directory, bucketName) {
// 上传每个 category_id 的分页数据 // 上传每个 category_id 的分页数据
for (const [categoryId, apps] of Object.entries(groupedData)) { for (const [categoryId, apps] of Object.entries(groupedData)) {
const totalCount = apps.length; // 当前分类的总数 const totalCount = apps.length; // 当前分类的总数
categoryCount[categoryId] = totalCount
const pageSize = 30; const pageSize = 30;
const paginatedApps = []; const paginatedApps = [];
for (let i = 0; i < totalCount; i += pageSize) { for (let i = 0; i < totalCount; i += pageSize) {
...@@ -135,12 +139,30 @@ async function cacheCategoryApp(supabase, allApps, directory, bucketName) { ...@@ -135,12 +139,30 @@ async function cacheCategoryApp(supabase, allApps, directory, bucketName) {
console.log(`Uploading page ${categoryId}_${pageNum}.json JSON successful`); console.log(`Uploading page ${categoryId}_${pageNum}.json JSON successful`);
} }
} }
const categoryCountFileName = `${directory}/category_count.json`;
const categoryCountJson = JSON.stringify(categoryCount);
const { error: categoryCountUploadError } = await supabase.storage
.from(bucketName)
.upload(categoryCountFileName, new Blob([categoryCountJson]), {
contentType: 'application/json',
upsert: true,
});
if (categoryCountUploadError) {
console.error(
`Error uploading category_count JSON:`,
categoryCountUploadError
);
} else {
console.log(`Uploading page category_count JSON successful`);
}
} }
} }
async function cacheRentUpdateApp(supabase, allApps, directory, bucketName) { async function cacheRentUpdateApp(supabase, allApps, directory, bucketName) {
const recentUpdateAppFileName = `${directory}/resent_update_app.json`; const recentUpdateAppFileName = `${directory}/resent_update_app.json`;
const pageJson = JSON.stringify(allApps.slice(allApps.length - 6, allApps.length)) const pageJson = JSON.stringify(allApps.slice(0, 6))
const { error: pageUploadError } = await supabase.storage const { error: pageUploadError } = await supabase.storage
.from(bucketName) .from(bucketName)
.upload(recentUpdateAppFileName, new Blob([pageJson]), { .upload(recentUpdateAppFileName, new Blob([pageJson]), {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment