chengjie преди 4 месеца
родител
ревизия
324872b61a
променени са 4 файла, в които са добавени 53 реда и са изтрити 17 реда
  1. 18 13
      public/mg/yjbdc_articles.html
  2. 2 0
      src/api/yjbdc/routes.js
  3. 26 3
      src/api/yjbdc/yjbdcController.js
  4. 7 1
      src/model/yjbdc.js

+ 18 - 13
public/mg/yjbdc_articles.html

@@ -348,10 +348,13 @@
348 348
                             创建时间: {{ article.CreateTime }}
349 349
                         </div>
350 350
                         <div style="font-size: 12px; color: #666;">
351
-                            标题: {{ article.ArticleStart }}
351
+                            标题: {{ article.ArticleTitle }}
352 352
                         </div>
353 353
                         <div style="font-size: 12px; color: #666;">
354
-                            字数: {{ article.words }}
354
+                            单词表: {{ article.Words }}
355
+                        </div>
356
+                        <div style="font-size: 12px; color: #666;">
357
+                            是否精选: {{ article.IsFine=="1"?"是":"" }}
355 358
                         </div>
356 359
                     </div>
357 360
                     <div v-else-if="articles && articles.length === 0" 
@@ -434,7 +437,7 @@
434 437
                     <span class="json-key">英语文章:</span>
435 438
                     <span class="json-string editable" @dblclick="editValue(selectedArticle, 'ArticleStart', 'ArticleStart')">
436 439
                         <template v-if="editingKey === 'ArticleStart'">
437
-                            <input type="text" class="json-editor-input" v-model="selectedArticle.ArticleStart"
440
+                            <input type="text" disabled="true" class="json-editor-input" v-model="selectedArticle.ArticleStart"
438 441
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
439 442
                         </template>
440 443
                         <template v-else>
@@ -447,7 +450,7 @@
447 450
                     <span class="json-key">用户ID:</span>
448 451
                     <span class="json-number editable" @dblclick="editValue(selectedArticle, 'UserID', 'UserID')">
449 452
                         <template v-if="editingKey === 'UserID'">
450
-                            <input type="number" class="json-editor-input" v-model.number="selectedArticle.UserID"
453
+                            <input type="number" disabled="true" class="json-editor-input" v-model.number="selectedArticle.UserID"
451 454
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
452 455
                         </template>
453 456
                         <template v-else>
@@ -459,7 +462,7 @@
459 462
                     <span class="json-key">生成秒数:</span>
460 463
                     <span class="json-number editable" @dblclick="editValue(selectedArticle, 'GenerateTime', 'GenerateTime')">
461 464
                         <template v-if="editingKey === 'GenerateTime'">
462
-                            <input type="number" class="json-editor-input" v-model.number="selectedArticle.GenerateTime"
465
+                            <input type="number" disabled="true" class="json-editor-input" v-model.number="selectedArticle.GenerateTime"
463 466
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
464 467
                         </template>
465 468
                         <template v-else>
@@ -471,7 +474,7 @@
471 474
                     <span class="json-key">使用AI模型:</span>
472 475
                     <span class="json-string editable" @dblclick="editValue(selectedArticle, 'AIProvider', 'AIProvider')">
473 476
                         <template v-if="editingKey === 'AIProvider'">
474
-                            <input type="text" class="json-editor-input" v-model="selectedArticle.AIProvider"
477
+                            <input type="text" disabled="true" class="json-editor-input" v-model="selectedArticle.AIProvider"
475 478
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
476 479
                         </template>
477 480
                         <template v-else>
@@ -483,7 +486,7 @@
483 486
                     <span class="json-key">提示语:</span>
484 487
                     <span class="json-string editable" @dblclick="editValue(selectedArticle, 'BuildStr', 'BuildStr')">
485 488
                         <template v-if="editingKey === 'BuildStr'">
486
-                            <input type="text" class="json-editor-input" v-model="selectedArticle.BuildStr"
489
+                            <input type="text" disabled="true" class="json-editor-input" v-model="selectedArticle.BuildStr"
487 490
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
488 491
                         </template>
489 492
                         <template v-else>
@@ -495,7 +498,7 @@
495 498
                     <span class="json-key">单词表:</span>
496 499
                     <span class="json-string editable" @dblclick="editValue(selectedArticle, 'Words', 'Words')">
497 500
                         <template v-if="editingKey === 'Words'">
498
-                            <input type="text" class="json-editor-input" v-model="selectedArticle.Words"
501
+                            <input type="text" disabled="true" class="json-editor-input" v-model="selectedArticle.Words"
499 502
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
500 503
                         </template>
501 504
                         <template v-else>
@@ -507,7 +510,7 @@
507 510
                     <span class="json-key">文章难度:</span>
508 511
                     <span class="json-string editable" @dblclick="editValue(selectedArticle, 'Level', 'Level')">
509 512
                         <template v-if="editingKey === 'Level'">
510
-                            <input type="text" class="json-editor-input" v-model="selectedArticle.Level"
513
+                            <input type="text"  disabled="true" class="json-editor-input" v-model="selectedArticle.Level"
511 514
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
512 515
                         </template>
513 516
                         <template v-else>
@@ -519,7 +522,7 @@
519 522
                     <span class="json-key">文章类型:</span>
520 523
                     <span class="json-string editable" @dblclick="editValue(selectedArticle, 'ArticleStyle', 'ArticleStyle')">
521 524
                         <template v-if="editingKey === 'ArticleStyle'">
522
-                            <input type="text" class="json-editor-input" v-model="selectedArticle.ArticleStyle"
525
+                            <input type="text"  disabled="true" class="json-editor-input" v-model="selectedArticle.ArticleStyle"
523 526
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
524 527
                         </template>
525 528
                         <template v-else>
@@ -531,7 +534,7 @@
531 534
                     <span class="json-key">用户阅读数:</span>
532 535
                     <span class="json-number editable" @dblclick="editValue(selectedArticle, 'ReadCount', 'ReadCount')">
533 536
                         <template v-if="editingKey === 'ReadCount'">
534
-                            <input type="number" class="json-editor-input" v-model.number="selectedArticle.ReadCount"
537
+                            <input type="number"  disabled="true" class="json-editor-input" v-model.number="selectedArticle.ReadCount"
535 538
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
536 539
                         </template>
537 540
                         <template v-else>
@@ -544,7 +547,7 @@
544 547
                     <span class="json-key">JSON结果:</span>
545 548
                     <span class="json-string editable" @dblclick="editValue(selectedArticle, 'JSONString', 'JSONString')">
546 549
                         <template v-if="editingKey === 'JSONString'">
547
-                            <textarea class="json-editor-input" v-model="selectedArticle.JSONString"
550
+                            <textarea class="json-editor-input" disabled="true" v-model="selectedArticle.JSONString"
548 551
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus></textarea>
549 552
                         </template>
550 553
                         <template v-else>
@@ -556,7 +559,7 @@
556 559
                     <span class="json-key">是否删除:</span>
557 560
                     <span class="json-number editable" @dblclick="editValue(selectedArticle, 'Flag', 'Flag')">
558 561
                         <template v-if="editingKey === 'Flag'">
559
-                            <input type="number" class="json-editor-input" v-model.number="selectedArticle.Flag"
562
+                            <input type="number"  disabled="true" class="json-editor-input" v-model.number="selectedArticle.Flag"
560 563
                                 @blur="finishEdit" @keyup.enter="finishEdit" v-focus>
561 564
                         </template>
562 565
                         <template v-else>
@@ -628,6 +631,7 @@
628 631
                 saveArticle() {
629 632
                     if (!this.selectedArticle) return;
630 633
                     this.isDetailLoading = true;
634
+                    this.selectedArticle.Source="web";
631 635
                     $.ajax({
632 636
                         url: 'api/UpdateYJBDCArticle',
633 637
                         method: 'POST',
@@ -635,6 +639,7 @@
635 639
                         success: () => {
636 640
                             this.isDetailLoading = false;
637 641
                             alert('保存成功');
642
+                            this.searchArticles();
638 643
                         },
639 644
                         error: () => {
640 645
                             this.isDetailLoading = false;

+ 2 - 0
src/api/yjbdc/routes.js

@@ -6,6 +6,8 @@ const router = new Router();
6 6
 router.post('/api/YJBDCLogin',yjbdcController.YJBDCLogin);
7 7
 router.post('/api/OCRImageData',yjbdcController.OCRImageData);
8 8
 router.post('/api/GenerateArticle',yjbdcController.GenerateArticle);
9
+router.post('/api/UpdateYJBDCArticle',yjbdcController.UpdateYJBDCArticle);
10
+
9 11
 router.get('/api/GetYJBDCGenerateConfig',yjbdcController.GetYJBDCGenerateConfig);
10 12
 router.post('/api/GeneratePDF',yjbdcController.GeneratePDF);
11 13
 router.get('/api/GetYJBDCArticleList',yjbdcController.GetYJBDCArticleList);

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

@@ -198,11 +198,18 @@ export async function GenerateArticle(ctx) {
198 198
             }
199 199
 
200 200
             level=menuConfig.Level[Number(params.Level)].Name;
201
-            console.log("Level:"+level);
201
+
202
+            let articleStyleContent="";
203
+            for(let i=0;i<menuConfig.ArticleStyle.length;i++){
204
+                if (params.ArticleStyle==menuConfig.ArticleStyle[i].Name){
205
+                    articleStyleContent=menuConfig.ArticleStyle[i].Content;
206
+                }
207
+            }
208
+            //console.log("Level:"+level);
202 209
             let content={
203
-                "instruction": "用单词("+words+")生成"+level+"难度童话故事。要求:",
210
+                "instruction": "用单词("+words+")生成"+level+"难度童话故事。",
204 211
                 "requirements": [
205
-                    "200-300词,要求:"+articleStyle+"([类型])",
212
+                    "200-300词,要求:"+articleStyle+"("+articleStyleContent+")",
206 213
                     "每句分数组提供中英双语",
207 214
                     "所有单词至少出现一次(允许变形)",
208 215
                     "生成5道四选一阅读题(含答案)"
@@ -475,6 +482,22 @@ export async function DeleteYJBDCArticleList(ctx) {
475 482
     ctx.body = {"errcode": 10000};
476 483
 }
477 484
 
485
+export async function UpdateYJBDCArticle(ctx) {
486
+    const param = ctx.request.body;
487
+    
488
+    if (param.ID>0 && param.UserID<12 && param.Source=="web"){
489
+        const url='GetYJBDCArticleList?IsChoiceness=0&UserID='+param.UserID+"&ID=0";
490
+        globalCache.delete(url);
491
+        delete param.LevelStr;
492
+        delete param.CreateTime;
493
+        delete param.CreateTime;
494
+        
495
+        await yjbdc.UpdateYJBDCArticle(param);
496
+    }
497
+    
498
+    ctx.body = {"errcode": 10000};
499
+}
500
+
478 501
 //更新阅读数
479 502
 export async function UpdateYJBDCArticleReadCount(ctx) {
480 503
     const param = {

+ 7 - 1
src/model/yjbdc.js

@@ -120,7 +120,7 @@ class YJBDC {
120 120
                 return await query(sql, null);
121 121
             }
122 122
             else{
123
-                let sql = "SELECT `ID`,`UserID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`ArticleStart`,`ReadCount`,`Flag` FROM YJBDC_Articles WHERE UserID=? order by ID desc;";
123
+                let sql = "SELECT `ID`,`UserID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`IsFine`,`ArticleTitle`,`ArticleStart`,`ReadCount`,`Flag` FROM YJBDC_Articles WHERE UserID=? order by ID desc;";
124 124
                 return await query(sql, [obj.UserID]);
125 125
             }
126 126
         } catch (error) {
@@ -135,10 +135,16 @@ class YJBDC {
135 135
                 const sql = "UPDATE YJBDC_Articles SET Flag=-1 WHERE ID=? and UserID=?";
136 136
                 return await query(sql, [obj.ID,obj.UserID]);
137 137
             }
138
+            else if (obj.Source=="web"){
139
+                delete obj.Source;
140
+                const sql = "UPDATE YJBDC_Articles SET ? WHERE ID=?";
141
+                return await query(sql, [obj,obj.ID]);
142
+            }
138 143
             else if (obj.ReadCount==1){
139 144
                 const sql = "UPDATE YJBDC_Articles SET ReadCount=ReadCount+1 WHERE ID=? and UserID=?";
140 145
                 return await query(sql, [obj.ID,obj.UserID]);
141 146
             }
147
+            
142 148
         } catch (error) {
143 149
             console.error('更新信息失败:', error);
144 150
             throw error;