chengjie 4 kuukautta sitten
vanhempi
commit
6d3f0cf45c
3 muutettua tiedostoa jossa 44 lisäystä ja 17 poistoa
  1. 30 3
      src/api/yjbdc/yjbdcController.js
  2. 2 2
      src/model/yjbdc.js
  3. 12 12
      src/util/constant/index.js

+ 30 - 3
src/api/yjbdc/yjbdcController.js

@@ -366,6 +366,7 @@ export async function GetYJBDCGenerateConfig(ctx) {
366 366
     }
367 367
 
368 368
     for(let i=0;i<result.ArticleStyle.length;i++){
369
+        delete result.ArticleStyle[i].English;
369 370
         delete result.ArticleStyle[i].Content;
370 371
     }
371 372
 
@@ -424,14 +425,22 @@ export async function GetYJBDCArticleList(ctx) {
424 425
     const param = {
425 426
         UserID: ctx.query.UserID || 0,
426 427
         ID:ctx.query.ID || 0,
427
-        IsChoiceness:ctx.query.IsChoiceness || 0,//是否是精选文章
428
+        IsFine:ctx.query.IsFine || 0,//是否是精选文章
429
+        IsChoiceness:ctx.query.IsChoiceness || 0,//是否是精选文章(要删除)
428 430
         IsTodayCount: ctx.query.IsTodayCount || false,
429 431
         IsNew: ctx.query.IsNew || 0,
430 432
         PageID: ctx.query.PageID || 999999,
431
-        PageCount: ctx.query.PageCount || 5,
433
+        PageCount: ctx.query.PageCount || 10,
432 434
     };
435
+
436
+    if (param.IsChoiceness && !param.IsFine)
437
+        param.IsFine=param.IsChoiceness;
438
+
439
+    if (param.IsFine)
440
+        param.PageCount=9999;
441
+
433 442
     // 尝试从缓存获取
434
-    const url='GetYJBDCArticleList?IsChoiceness='+param.IsChoiceness+'&UserID='+param.UserID+'&ID='+param.ID;
443
+    const url='GetYJBDCArticleList?IsFine='+param.IsFine+'&UserID='+param.UserID+'&ID='+param.ID;
435 444
     let result = globalCache.get(url);
436 445
     if (param.IsNew==1)
437 446
         result=0;
@@ -440,11 +449,29 @@ export async function GetYJBDCArticleList(ctx) {
440 449
         result = await yjbdc.GetYJBDCArticleList(param);
441 450
         
442 451
         let menuConfig=constantClass.GetYJBDCGenerateConfig();
452
+        // 随机选择三个不重复的索引用于今日推荐
453
+        let recommendIndices = [];
454
+        if(result.length > 3) {
455
+            while(recommendIndices.length < 3) {
456
+                const randomIndex = Math.floor(Math.random() * result.length);
457
+                if(!recommendIndices.includes(randomIndex)) {
458
+                    recommendIndices.push(randomIndex);
459
+                }
460
+            }
461
+        } else {
462
+            // 如果结果少于3个,全部标记为推荐
463
+            for(let i = 0; i < result.length; i++) {
464
+                recommendIndices.push(i);
465
+            }
466
+        }
467
+        
443 468
         for(let i=0;i<result.length;i++){
444 469
             let item=result[i];
445 470
             item.CreateTime=moment(item.CreateTime).format("YYYY年MM月DD日 HH:mm");
446 471
             //debugger;
447 472
             item.LevelStr=menuConfig.Level[item.Level].Name;
473
+            // 添加今日推荐标记
474
+            item.IsRecommend = recommendIndices.includes(i);
448 475
         }
449 476
         globalCache.set(url, result, config.BufferMemoryTime);
450 477
         console.log("缓存"+config.BufferMemoryTime+"秒");

+ 2 - 2
src/model/yjbdc.js

@@ -115,8 +115,8 @@ class YJBDC {
115 115
                     return await query(sql, [obj.UserID,obj.ID]);
116 116
                 }
117 117
             }
118
-            else if (obj.IsChoiceness){
119
-                let sql = "SELECT `ID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`ArticleStart`,`ArticleTitle`,`ArticleTitleCHN`,`ArticleImage`,`Flag` FROM YJBDC_Articles WHERE IsFine=1 and Flag=0 order by ID;";
118
+            else if (obj.IsFine){
119
+                let sql = "SELECT `ID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`ArticleStart`,`ArticleTitle`,`ArticleTitleCHN`,`ArticleImage`,`WordSource`,`Flag` FROM YJBDC_Articles WHERE IsFine=1 and Flag=0 order by ID desc;";
120 120
                 return await query(sql, null);
121 121
             }
122 122
             else{

+ 12 - 12
src/util/constant/index.js

@@ -13,18 +13,18 @@ export default {
13 13
             {Name:"C2",CSS:"",English:"C2",Content:"精通,母语水平\n适用留学"},
14 14
         ];            
15 15
         result.ArticleStyle=[
16
-            {Name:"童话",ID:1,CSS:"Selected",English:"Fairy Tales",Content:"充满神奇和想象的故事,里面可能有会说话的动物、美丽的人、勇敢的人,还有魔法和冒险"},
17
-            {Name:"动物",ID:4,CSS:"",English:"Animal Stories",Content:"生活在地球上的各种生物,有的会跑,有的会飞,有的会游泳,比如猫、狗、大象、企鹅,它们都有自己的特点和习性"},
18
-            {Name:"旅行",ID:6,CSS:"",English:"Travel Stories",Content:"去不同的地方游玩,看看美丽的风景,体验不一样的生活,比如爬山、逛动物园、参观博物馆"},
19
-            {Name:"校园生活",ID:8,CSS:"",English:"School Life",Content:"发生在学校里的故事,比如上课、考试、运动会、和同学一起玩耍,与友情、团结、如何学习、克服困难有关的事情,也可能有搞笑或感人的事情"},
20
-            {Name:"家庭亲子",ID:10,CSS:"",English:"Family Stories",Content:"指爸爸妈妈和孩子之间的相处,比如一起玩游戏、读书、聊天,让家庭充满爱和温暖"},
21
-            {Name:"奇幻",ID:2,CSS:"",English:"Fantasy",Content:"充满魔法、神奇生物和不可思议事件的故事"},
22
-            {Name:"成长",ID:3,CSS:"",English:"Personal Growth",Content:"指一个人从小慢慢长大,不仅身体变高变壮,还学会更多知识,懂得更多道理,变得越来越懂事、能干"},
23
-            {Name:"科普",ID:11,CSS:"",English:"Popular Science",Content:"科学普及知识,用有趣的方式讲解自然、宇宙、动物、植物等科学现象"},
24
-            {Name:"大自然",ID:5,CSS:"",English:"Environmental Stories",Content:"指环境保护、保护大自然,让地球更干净、更健康。比如节约用水、减少垃圾、种树、不乱扔塑料袋,这样空气会更清新,动物也有更好的家园。每个人都可以从小事做起爱护地球"},
25
-            {Name:"科幻",ID:7,CSS:"",English:"Science Fiction",Content:"科学幻想故事,里面有未来科技、外星人、太空旅行等"},
26
-            {Name:"节日文化",ID:9,CSS:"",English:"Cultural Stories",Content:"不同节日的习俗和传统,比如春节贴春联、中秋节吃月饼、端午划龙舟、清明节扫墓、重阳节登高望远、元宵节猜灯谜,让我们了解不同文化"},
27
-            {Name:"人生励志",ID:12,CSS:"",English:"Inspirational",Content:"讲述一个人如何克服困难、努力奋斗,最终取得成功的故事,鼓励我们不要轻易放弃"}
16
+            {Name:"童话",ID:1,CSS:"Selected",Eng:"Fairy Tales",English:"Fairy Tales",Content:"充满神奇和想象的故事,里面可能有会说话的动物、美丽的人、勇敢的人,还有魔法和冒险"},
17
+            {Name:"动物",ID:4,CSS:"",Eng:"Animal",English:"Animal Stories",Content:"生活在地球上的各种生物,有的会跑,有的会飞,有的会游泳,比如猫、狗、大象、企鹅,它们都有自己的特点和习性"},
18
+            {Name:"旅行",ID:6,CSS:"",Eng:"Travel",English:"Travel Stories",Content:"去不同的地方游玩,看看美丽的风景,体验不一样的生活,比如爬山、逛动物园、参观博物馆"},
19
+            {Name:"校园生活",ID:8,CSS:"",Eng:"School Life",English:"School Life",Content:"发生在学校里的故事,比如上课、考试、运动会、和同学一起玩耍,与友情、团结、如何学习、克服困难有关的事情,也可能有搞笑或感人的事情"},
20
+            {Name:"家庭亲子",ID:10,CSS:"",Eng:"Family",English:"Family Stories",Content:"指爸爸妈妈和孩子之间的相处,比如一起玩游戏、读书、聊天,让家庭充满爱和温暖"},
21
+            {Name:"奇幻",ID:2,CSS:"",Eng:"Fantasy",English:"Fantasy",Content:"充满魔法、神奇生物和不可思议事件的故事"},
22
+            {Name:"成长",ID:3,CSS:"",Eng:"Growth",English:"Personal Growth",Content:"指一个人从小慢慢长大,不仅身体变高变壮,还学会更多知识,懂得更多道理,变得越来越懂事、能干"},
23
+            {Name:"科普",ID:11,CSS:"",Eng:"Popular Science",English:"Popular Science",Content:"科学普及知识,用有趣的方式讲解自然、宇宙、动物、植物等科学现象"},
24
+            {Name:"大自然",ID:5,CSS:"",Eng:"Environmental",English:"Environmental Stories",Content:"指环境保护、保护大自然,让地球更干净、更健康。比如节约用水、减少垃圾、种树、不乱扔塑料袋,这样空气会更清新,动物也有更好的家园。每个人都可以从小事做起爱护地球"},
25
+            {Name:"科幻",ID:7,CSS:"",Eng:"Science Fiction",English:"Science Fiction",Content:"科学幻想故事,里面有未来科技、外星人、太空旅行等"},
26
+            {Name:"节日文化",ID:9,CSS:"",Eng:"Cultural",English:"Cultural Stories",Content:"不同节日的习俗和传统,比如春节贴春联、中秋节吃月饼、端午划龙舟、清明节扫墓、重阳节登高望远、元宵节猜灯谜,让我们了解不同文化"},
27
+            {Name:"人生励志",ID:12,CSS:"",Eng:"Inspirational",English:"Inspirational",Content:"讲述一个人如何克服困难、努力奋斗,最终取得成功的故事,鼓励我们不要轻易放弃"}
28 28
         ];        
29 29
         result.AIVersion=[
30 30
             {Version:"1.0",BuildSecond:30,Model:"",Content:"词句丰富,结构简明\n平均30秒生成",CSS:"Selected"},