From da3f1638c697ce2b3ae4cb2d6633efbb302cb6af Mon Sep 17 00:00:00 2001 From: chantouRichard <2897167455@qq.com> Date: Tue, 3 Jun 2025 15:25:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E8=AE=B0=E5=BD=95=E5=88=97=E8=A1=A8=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Debate_backend/README.md | 15 +- .../newdemo/controller/WxAIController.java | 2 +- .../controller/WxConversationController.java | 1 + .../com/learning/newdemo/util/JwtUtil.java | 4 + .../src/main/resources/application.yml | 2 +- Debate_backend/target/classes/application.yml | 2 +- .../newdemo/Dto/ArgumentDetailDTO.class | Bin 4058 -> 3970 bytes .../newdemo/Dto/ConversationDTO.class | Bin 3983 -> 3895 bytes .../newdemo/Dto/DebateDetailDTO.class | Bin 4101 -> 4013 bytes .../newdemo/Dto/ReviewDetailDTO.class | Bin 4101 -> 4013 bytes .../newdemo/controller/WxAIController.class | Bin 5712 -> 5737 bytes .../controller/WxConversationController.class | Bin 7792 -> 7882 bytes .../learning/newdemo/entity/WxArgument.class | Bin 5014 -> 4926 bytes .../newdemo/entity/WxConversation.class | Bin 4439 -> 4346 bytes .../learning/newdemo/entity/WxDebate.class | Bin 4329 -> 4241 bytes .../learning/newdemo/entity/WxReview.class | Bin 4329 -> 4241 bytes .../service/impl/WxUserServiceImpl.class | Bin 4783 -> 4701 bytes .../com/learning/newdemo/util/JwtUtil.class | Bin 5046 -> 5375 bytes Debate_front/src/components/ArgumentCom.vue | 170 ++++++++- .../src/components/ConversationHistory.vue | 359 ++++++++++++++++++ Debate_front/src/components/DebateCom.vue | 177 +++++++-- Debate_front/src/components/HomeCom.vue | 218 ++++++++--- Debate_front/src/components/ReviewCom.vue | 157 +++++++- Debate_front/src/pages/login/index.vue | 6 + Debate_front/src/static/icons/list.png | Bin 0 -> 1428 bytes Debate_front/src/static/icons/no-data.png | Bin 0 -> 20394 bytes Debate_front/src/stores/argumentStore.js | 28 +- Debate_front/src/stores/debateStore.js | 20 +- Debate_front/src/stores/reviewStore.js | 23 ++ Debate_front/src/stores/tokenStore.js | 15 + 30 files changed, 1075 insertions(+), 124 deletions(-) create mode 100644 Debate_front/src/components/ConversationHistory.vue create mode 100644 Debate_front/src/static/icons/list.png create mode 100644 Debate_front/src/static/icons/no-data.png create mode 100644 Debate_front/src/stores/reviewStore.js create mode 100644 Debate_front/src/stores/tokenStore.js diff --git a/Debate_backend/README.md b/Debate_backend/README.md index 855f768..d3a4caa 100644 --- a/Debate_backend/README.md +++ b/Debate_backend/README.md @@ -337,14 +337,7 @@ Authorization: 登录接口返回的token "success": true, "code": 200, "message": "操作成功", - "data": { - "conversation": { - "id": 1, - "type": "debate", - "title": "对话标题", - "createTime": "2023-01-01 12:00:00" - }, - "records": [ + "data": { "id": 1, "userMessage": "用户消息", @@ -352,8 +345,6 @@ Authorization: 登录接口返回的token "sequence": 1, "createTime": "2023-01-01 12:00:00" } - ] - } } ``` - 调用时机:用户点击辩论历史记录列表中的某一项时调用 @@ -374,7 +365,7 @@ Authorization: 登录接口返回的token "success": true, "code": 200, "message": "操作成功", - "data": { + "data": [ { "id": 1, @@ -384,7 +375,7 @@ Authorization: 登录接口返回的token "createTime": "2023-01-01 12:00:00" } ] - } + } ``` - 调用时机:用户点击立论历史记录列表中的某一项时调用 diff --git a/Debate_backend/src/main/java/com/learning/newdemo/controller/WxAIController.java b/Debate_backend/src/main/java/com/learning/newdemo/controller/WxAIController.java index 5966719..851206e 100644 --- a/Debate_backend/src/main/java/com/learning/newdemo/controller/WxAIController.java +++ b/Debate_backend/src/main/java/com/learning/newdemo/controller/WxAIController.java @@ -50,7 +50,7 @@ public class WxAIController { if (argument == null) { return Result.error("立论获取失败"); } - + log.info("test",argument); long relatedConversationId = wxArgumentService.UpdateArgument(conversationId, topic, stance, argument, topic + stance, token); Map data = new HashMap<>(); diff --git a/Debate_backend/src/main/java/com/learning/newdemo/controller/WxConversationController.java b/Debate_backend/src/main/java/com/learning/newdemo/controller/WxConversationController.java index aedd1dc..5a3398b 100644 --- a/Debate_backend/src/main/java/com/learning/newdemo/controller/WxConversationController.java +++ b/Debate_backend/src/main/java/com/learning/newdemo/controller/WxConversationController.java @@ -41,6 +41,7 @@ public class WxConversationController { @GetMapping("/list") public Result> getConversationList(@RequestHeader("Authorization") String token){ + log.info("test111:",token); try{ int userId = jwtUtil.getUserIdFromToken(token); diff --git a/Debate_backend/src/main/java/com/learning/newdemo/util/JwtUtil.java b/Debate_backend/src/main/java/com/learning/newdemo/util/JwtUtil.java index 5819b68..687c7b4 100644 --- a/Debate_backend/src/main/java/com/learning/newdemo/util/JwtUtil.java +++ b/Debate_backend/src/main/java/com/learning/newdemo/util/JwtUtil.java @@ -6,6 +6,7 @@ import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.io.Decoders; import io.jsonwebtoken.security.Keys; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -17,6 +18,7 @@ import java.util.Map; /** * JWT工具类 */ +@Slf4j @Component public class JwtUtil { @@ -45,6 +47,7 @@ public class JwtUtil { * 从token中获取openid */ public int getUserIdFromToken(String bearerToken) { + log.info("test:",bearerToken); int userId; try { String token = extractToken(bearerToken); @@ -73,6 +76,7 @@ public class JwtUtil { * 从token中获取JWT中的负载 */ private Claims getClaimsFromToken(String token) { + log.info("111111:",token); Claims claims = null; try { // 使用正确的方法: parseClaimsJws而不是parseClaimsJwt diff --git a/Debate_backend/src/main/resources/application.yml b/Debate_backend/src/main/resources/application.yml index d727bc1..35acca6 100644 --- a/Debate_backend/src/main/resources/application.yml +++ b/Debate_backend/src/main/resources/application.yml @@ -5,7 +5,7 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/wx_miniapp?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: 1234 + password: 123456 mybatis: mapper-locations: classpath:mapper/*.xml diff --git a/Debate_backend/target/classes/application.yml b/Debate_backend/target/classes/application.yml index d727bc1..35acca6 100644 --- a/Debate_backend/target/classes/application.yml +++ b/Debate_backend/target/classes/application.yml @@ -5,7 +5,7 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/wx_miniapp?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: 1234 + password: 123456 mybatis: mapper-locations: classpath:mapper/*.xml diff --git a/Debate_backend/target/classes/com/learning/newdemo/Dto/ArgumentDetailDTO.class b/Debate_backend/target/classes/com/learning/newdemo/Dto/ArgumentDetailDTO.class index cc984ff2f8568a841f43c3ce110e3148774f786a..d2e3aff66296e681ab1f6ec23a3767a77098b0e7 100644 GIT binary patch delta 1408 zcma)6Sx*yD6#k~mv`iPF1}b#{!)i%IFi}}WDX0i2$l`+FSW(uZGJsoxTa3|YAosyP zp$P=#ffy5wFZ!fUB*r&+;1BpJelx98gkpTSz27}O=ey^8_ni5bbw5k_{A=MIfGXUX zRk|&OKH?fT4&kr_|FAmPTRRess9I;g)<-m|sZniILbP!D>t+$M`b5C$63=Ac^mpf` z#sPI)EgsYQhl<0h);m{iU9xyb6kNqM2d?X!qhgQzQ5q9J? zu%M2=vSC!9GwQB%h%-t^=N;>V{WIwMJKB{rdVA979c!<4Ck@Vt$TkRCl2?}dzm?^il||S+`37ez zPMM{xQmg2HIYZc;s54|x?n9|gDH>eM>*{<651(PtlzS0vXeU8BKA?kLZb2^Q&`Fz> zPyPz0iEQ+q!Wkkv1$ct9L^6gjh;u}oE%c&`$cbq_>3O0Qyg&`Q(Y^%==CKn!G`jE> zTXBKN4OM({*H6aZxQ$ucP!h|U*_AOLy>0A8@8NyBg{kYdkYkOM#lOc=OJCbMKjR?t6EpbHC?mpZ_d= z08okPIju`B)liK?Dr$7p;;@ADL1WS=3mM_QvewAhK)6qWI%$L^g3Y}Wii*XE;)}i5 zpGlTF9Y=9Yf@jzm3f7K<)3oegoa66 zRdLNszAk<^KS?*l3#D7S{Y3RU?nv;7YQ-abiYgk_8s~Ays24)5k{ZM}wIJHa?`Crk zC_xiWa5hmhPC~*dVyDCfxJZT0XFYKlXUTl!e*^a{fs6(|6>C$2$!LZ$AjT*mi{DtE z?3qPib#`jfY_FXyp1ZQ6D__!+#ug-%S-4iFJ8AL`_>;&CBqT>IV`)jVThMA2m&PkN znuikbz9H$BLeTbS_Tg%xcQ0&FR@FXAZWlaOPN?XV-Gt zl)ep7dU?!wiJW;BXPa$ZG;5xO6Z)UgqC}%b7Qs23Uv1PD71)p{YAQi#%x5}pY>CCW z8|5aa_^tg~C+Z&DJe8$*^_S3&4l-onBRbgzG72$|3*1ZLop_BdA_p7nF}jJ&i~SH6 zi4=q|1cOM$7=pM&^0@bo7acUbiK7r{@-~swEz-TA# zV~|Lu&bu^Z+AiR`5Rrp?O&BI}@{r0ACQ=ZA2O~r(J>;h?PmRVq{3zqh?)Ul^u#00a x$3Bid92M_ya1lpG5Vn9 zJouu2Ac+LUgcuWyPy7Hcet_}KA5hnssnbcFCO#a_I(zn7?6daSeZKBv++6;(_!&Sa z?$4Qhs##0i9mFp5h*@>5GAWkTO!ahrBG;N8&5zA*s9I9PS4~{QbptnK-c9jS`>ITf z1$|JtEleZfyQ?5BVtQO;jUH_`RHVflqf6-(-;AcsebldK3`k)Q_HvhKANrwSKe49p z03HGe@^4zS`s)k5jOaW8CZvG;!qlRGf;vhvm$6pv*0;oaMBXu=qC^gOl4G9axQkq{ zB!iypCQo*=i*1oZp5%>4@N0S9$#QZm?8!cWjAiafb;RY6-^#Tu)*Xv=)S#CCt7vfz zR`GBUhok^q>fkPWq9>9c5Sc6Ut&(IE4MoWU+ZMGn4|{9I|5vlo(WGRfC3(bKve_kR zcc@aGEpE*gOLG8&URO`LGI7Q^gOZNOUQ8iwn z8)q=QnuD@{^*GC50H3f1BSb-riU+~I@!}&Gq7y!Bv8!fv?W{*W0xh|O@LK}+?6{5i zJ9u&gv($B-Ro3#h6I~3YMI!WitTcSKzyPZSo)vwl!V{dsd1h;Pj0;363xCLaNgtYU z3FAaQ>Sb_|NTVBVj7lH!h+u-q;H8q`A2XBAAf}lod)JUyz*es9TsyehxjGiH6DS`r iyEgk*rNOCf%CaDb%iR4`yuy{oEuKuG8Qj4=ME?M;8jPF( delta 1421 zcma)+%TE(g6vn?hv@>OBNg;uX0%Aav5AGJaSD=P9(eAHLe=t9X| zxN+gyXaYge5M$K1a)IvHn&`rn@h=d+nbv8AVp!an@7_80ch5QZoOzY|V7dP3_taYe zHMlXZ`;<~0o3Ta1RwuS$yMVjbKjbe9`TK%pZ3F#1eL(?j$R8T)YUvgzTrJnAxoMFP zRq3SooTx*+Y*(^HNDeDa@`>V{m{#5?se?L(Fs$K%VR2DDwtp0tq+e~bT@_duHIX|*ljyf_| z#oTlyv@L?ya8ph@GQ%<3)P%OJXfsmDFe~{s5~zBMU&1v`6`v4?xjT|#)k?97G^F#a zXo}O|=43DSSx6a3POpynun;8+OJkHQld?ZTk>kmpxF8k+Ou&ISH{v2ISZrj4 z7Bax7GG5Ita+X2XwN^ z6%=3shq;!-D}Rn7R5muxLmZ_t>h>OvQK<;w6#P^g`q72sR1S>7hX7SF98Zko55+Q%NzKoo; z+PIDc;|Gyr_{gz=V6IPz!7u^c~VCaxdn`F0RGz%hc$oat0o J5M~%ze*h;_r1Ag& diff --git a/Debate_backend/target/classes/com/learning/newdemo/Dto/DebateDetailDTO.class b/Debate_backend/target/classes/com/learning/newdemo/Dto/DebateDetailDTO.class index 07833f4330451e1fe375e71c351ce75d3d55371a..f298017c1f6e6087543ce611c5ed20428b12f261 100644 GIT binary patch delta 1324 zcma)6OHWfl7(Ms4y=`xM381tVMXJ?cTALali6Y_)i_fa{0aXzZsv`KpBEG9e4bhEe z7H(YV+K@m{7R0zPuH3lfFQ_XQu8n8zt?ez;gvH!BGyT3Z=X^6?pM=L6^{;=XKLOZ+ z{Dl5U)oY1&_^}gh;)l9K84#KyL+!&T|H$<2AMY$=K zyStP-;(W^U?`j53q~1x5vRJY#Nha2&DnY+uFf1}j@MdIR~=N&bql z5v-_i(#qK~jf%-Jtget8w;sGmB72EEX0}yytypvo zHK-+fq3AWJ=Hd_zms92~&ft7GL#QuthD^@%Y)*@E>AWZ#c+FuuXV~OCf}>KW_@)PK zH}pTFO;}YD)npPJ!|`&XmZI8FiOei812GSoF`JL^C2#f)PV@+ej+DYY4;+L zJZ>%RO4~UEX8Dlj+SX`2W!hc7{M*BbfVk1i~9)u1>+@*TmS$7 delta 1418 zcma)+TTc@~7>3{7w!39p8X!VN(^`XwX@wFGQ4XSlg33`)5fyO7ax6umfa0NoK#bmK z_QD$z|A0gZN(?b18m~;a<}Vnp`~w=_-PX3LOJbVoyfZuBv){Zk-!AQ1@G0MZudM?( zhJ|HiPApYWi#i#noH&ho0Xf6!lo|}Hk%3@GbbKf>AV8i{!;_)begS*6a&epXR&tcZ zpH<}%bjFFZI48h8s*Z%}#v*-cv~wsrNHq~vBhd)~quPqt;z(nzD3+h1>yCoEn2~W$ z2i(`}(pTZ3wjp&3vsys*TOSMXYGtxlo0e;BjS$hKt;;n+v-V3aDsSP73pfXqq7`lI zb#)%?5YRzw6F2||4mkPWq_x=#V$Gb9I06*t0R0JPSfZj>@j(DaayzyoNXE$z}X1UWGvKwpT z7E4KsCFCNH?@CyliyRIvp;HIYrAqetnMnS?2e_9reA^0Hh#d)JjK@}JFfW@kz5mPf zC7DF}3}hFsn59{qhCISNfUWW@!M@biOAO{!T+^A_hT^VHU68E+L6oNeK?86UhYWzv z@%y0nc%R%ElY}6n#_@!Wh9# zDjDMl@z=vWzCb&MJQvSu5&PCt8( ze-($>D%q;oD%h$&;^Z2AMP@<8_ZR<)c#`Qw4HqUc#okWnG}{BjI8vw{VGi>s`~$es Bs{;T4 diff --git a/Debate_backend/target/classes/com/learning/newdemo/Dto/ReviewDetailDTO.class b/Debate_backend/target/classes/com/learning/newdemo/Dto/ReviewDetailDTO.class index 13407e51fffb600c01b4e12e0f3b8afc738e9158..7b9cdbec45131758e5cc6e8e079f0652d99b27df 100644 GIT binary patch delta 1324 zcma)6OHWfl7(Ms4y=`xM381tVMXJ?cTALali6Y_)i_fa{0aXzZsv`KpBEG9e4bhEe z7H(YV+K@m{7R0zPuH3lfFQ_XQu8n8zt?ez;gvH!BGyT3Z=X^6?pM=L6^{;=XKLOZ+ z{Dl5U)oY1&_^}gh;)l9K84#KyL+!&T|H$<2AMY$=K zyStP-;(W^U?`j53q~1x5vRJY#Nha2&DnY+uFf1}j@MdIR~=N&bql z5v-_i(#qK~jf%-Jtget8w;sGmB72EEX0}yytypvo zHK-+fq3AWJ=Hd_zms92~&ft7GL#QuthD^@%Y)*@E>AWZ#c+FuuXV~OCf}>KW_@)PK zH}pTFO;}YD)npPJ!|`&XmZI8FiOei812GSoF`JL^C2#f)PV@+ej+DYY4;+L zJZ>%RO4~UEX8Dlj+SX`2W!hc7{M*BbfVk1i~9)u1>+@*TmS$7 delta 1418 zcma)+TTc@~7>3{7w!39p8X!VN(^`XwX@wFGQ4XSlg33`)5fyO7ax6umfa0NoK#bmK z_QD$z|A0gZN(?b18m~;a<}Vnp`~w=_-PX3LOJbVoyfZuBv){Zk-!AQ1@G0MZudM?( zhJ|HiPApYWi#i#noH&ho0Xf6!lo|}Hk%3@GbbKf>AV8i{!;_)begS*6a&epXR&tcZ zpH<}%bjFFZI48h8s*Z%}#v*-cv~wsrNHq~vBhd)~quPqt;z(nzD3+h1>yCoEn2~W$ z2i(`}(pTZ3wjp&3vsys*TOSMXYGtxlo0e;BjS$hKt;;n+v-V3aDsSP73pfXqq7`lI zb#)%?5YRzw6F2||4mkPWq_x=#V$Gb9I06*t0R0JPSfZj>@j(DaayzyoNXE$z}X1UWGvKwpT z7E4KsCFCNH?@CyliyRIvp;HIYrAqetnMnS?2e_9reA^0Hh#d)JjK@}JFfW@kz5mPf zC7DF}3}hFsn59{qhCISNfUWW@!M@biOAO{!T+^A_hT^VHU68E+L6oNeK?86UhYWzv z@%y0nc%R%ElY}6n#_@!Wh9# zDjDMl@z=vWzCb&MJQvSu5&PCt8( ze-($>D%q;oD%h$&;^Z2AMP@<8_ZR<)c#`Qw4HqUc#okWnG}{BjI8vw{VGi>s`~$es Bs{;T4 diff --git a/Debate_backend/target/classes/com/learning/newdemo/controller/WxAIController.class b/Debate_backend/target/classes/com/learning/newdemo/controller/WxAIController.class index d53562c7ac921ee42863b3d8cd2d1b9760e8b802..038cd30a611b434a74e26503637487f701c8c511 100644 GIT binary patch delta 2005 zcmbW1dr(wW9LK+B_r7-bvf$kS7aB6hNO{CKW0{l+V+cKCa0#qb*kUFyX=^b&D8GP^E>Bve!p|i`F-y9 zoXq+q%X#e2-TMGc#817>e!HRJJ_adh27(58AJ9?EkJ?8l59)Xb)A;Z9rDLZv46E@q z`*IcstLt)#e1WQBU!xPHuxpsfpw4gb2Tgy_1t(_fn1hG;MrjHw=Yvw3@`#Q{@fdf> zg`+AMJk~OGKL5g;g4X$FW3alx@4}s^)R6;|A%icnrzOp(YHDclRn(bxjhX3$4-0iv zp_*@#M>}e1d#Gbbr$7(?O-@em>zIi|2MjdoScE2?s1&$^SgfL1M~jHf;`y#bo~I<= z#^5M4gQaG3wb`Pfjlnp-Y1LrY+6$}u&$oA;-_(0y$7UCTctXdMSi%n~^Ws7bN>eo9 z8J?x4jjPqLj1FB@9SAlwwP{$+;949on~Kdqz_-v8J9%Em3wV(szNPgZv%(iN`3NP0 zZ&ec?TUkR?`6)a)U%Ni>wI+CNIlipov&dlEKE9hSNOHoyyMga%#Wft?mrzdxl&1 zDR&y*8>iY;{K!wZ3ql)+y8?!{$=XB>ssB$Oo#q;!hD0kqIckZ5HBQB7vNFZX)~fH& zD2GN&cr*IJdabaH)QXn^V+?E}qemjJ8Sm1FVGFj>3Y5)$g-UZT+~VT_CnMfTiCwpR&bUQdbe z6q0AY9of6EU^i-jFfx0n6s4%g8TtVIIBi)8V%H_`P@9f;+=?{tLkTyAZbuvLzW2OpEqu#sc0a0alC%qQey2+;=Y z#EG99mZFyphz0i}ekbbrAD-c%hKwDkA3(r{lI$aJ7_FkR- zJ$((k)+^aP8)KJ)spxRiDGSk#4zdJ~Z!xBX#J46WOvH5Byr57XqhQ7;ths_hcZ@=J zj6(NS6e5`s2x4vsLMm*RQD^}uvH;BfUj+953xQ4|AOIZjc;l810Vv5bp5ud_k)ajY zUTFX?*^w)IWr3h0ieQC6;FY}+5qOyhC`0PeyqfW zWg(yr;UfikWlKV@$1r#%U>ep@`Afyk6~)kXL!pJC91g-$hEBpDV*yD>h(RHFWLsj; z=$1>d#2^#2a128@h9MlqkW81?G7IJ?x=NQ*Pl^d7vRWTBYmF!x?n}%F{RasgxGn&V zv@R|(anIdMR{R`>5yl&R7%OzetXm^;*TvJm4w27>!`LvDItFz=CHonLMZ|UlpVK&n d0*{jKE2}+awP&pMYkW)dBw>7qA8-!dzX9oZs}2AF delta 2028 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 S&<1gnBa!G9?$}t$MgIVwd&Beq delta 1836 zcma)-SxggA6o&uXZR${<3s3|h7!9jhqlp`$jV745p;mB5t0J@lq5|$##T9q2=$pQ1 zVj@uq;1=VO_+*TU(U|Cq&%WrRFKYZdQ%Y^egf#8^b9?^p-gEAmJI{-+m8ft2JbezJ z3fKG8JElo0mSCxZ8V8nPxqveq>MyxYombD8Eo!osM#h^Tq=Lr3SIgi zm2Of34y;72d}bOWdgNzQr_41w`q!9+Iip*}S)5aFJ{oaBHrZZ_OLC%eNJx2CDYx_p z6v}%_q5P@TN9suOLGS}u%O64XQJAobzcy`9!D?!U9)LAi%R52KWd8nZ9)R*7$*dZh zD==ZmEI-=ak>SZ4hVe5oYbc&qeWe3%B~O-NXs$9eXD65=8q#U#_8Yo$6Wp5FZD^iv zXwFYI7i1Z_r|Bh@Ld_`|u27C)Y&8~e9d&Y!nv+n?T*KIPSkDcPZrv1Cluz^0S;Ej_L*JEQGDL<(0*~9DA+b5NhsTpGw{bmz_QHmU!=1oZA ze*h1%ICBi((P*1>Kyqf;BhAbkM@E>MS7UB5X6BBRnHOggnWrJQ8YA-)kkhrU`d{h= ziOd3x*`RN#Y;kx;Q2e6AEiBRi+t8>L|K*4P<1l`>_~SIdRFp;m{hoBcNZGz#xOi&# zhPsHV2_X`)MIORDQcReF-`LJEGiKl?nyDK3Eafr{M z=_>;q1buQ=&bCyQKSbHQG0sZ)J@Z{kA={V_17l<}KCmDMh_T{54pNzz`CA;~1ZEWA z2@Z2!D@%F<5h@!3=wjib*A z3H8h4az)}i8!|sJxi32~fk_EhRJkc-L3}SePo$gfkwB0^~5NkBO^@Y_gS!Cj3LgRdY>6PS=B+YQO4vlZ%{&>}s8T-=1oa%P_PSI}Nh*rC;PWB=0sP zm!yz&gFJ@pW*lM@)ZSEcH*vQH%jO`>B>mOw)jON7N5ng;c0Eh$_F+bg0uR{?K7y8| zl8w~#&B3)?O^+rM*VGS3aZJ@zx*Xme$rtmlq;inUJmLa5n%eQWz_i1g@m@2l@}>%S zHGx)LAl;}{%Pp!fAsMApg_>p?PAqjwH{Z8h%_0;h>nzeFPZ~>>q)1l%x1s)2O~0nO z5v6LHvkO^;LWX${;NgGVzW5}F+R?!q^6(R#8~`R%;w!rNn;BL3j8jAwdO3&FL?WYK z;tY`$leh<&NJ12MahAx2#~462ksVLbgLCL8hXe0W&qD{F+Xw7IFOd`9;m3I*7k z$1=R>WZuAZ+#54qpkL#Nc*eT2d4Db*VUVI`j>y{>BC?=?=?@c$th@;$L{?nKCR`wr z@DN^HB(fn)-ve;|VdWMHHbIzu<0%lLml9Je#Bg=m27<2<;$r1|w0*@-Xg#Z8m delta 1705 zcma)6$xjn;7=1JCbh^?aOIbt$5mOPZTS7o_NnCJY5pY9LS_Pya2(pM}BjPy7*|h)I|2xPq{Zt7`N$WmNhg3@IT? z$b3scf$~)L^Yol?NG)6Vy7N}8q{(ppa`q^oKK#F zJQhc`8IpZiIZG}f&_6v1*Yh~G-H^Qj8&$UAx2A{ZY&r~Mi}hIQ&gD3Xw0N6NLvpDh zIU|M~*1Wq6*=5+G+Kl^jb_`o1CmE8r83C`a}V)U61efu)?pk`1$b1-RU;H;Pr+q;Hxeb?nu;nJrl!6-iuwf2RZ~b_tY!*Q z=`3P1Mf<=pW687_Nxef0rS6T@^lF+7#+n&1np)o$lFW*g%z{HLXCscQsVg(~#q=Ww z%jOcz(M+At1?KgGwaZZRBY#=10S&s9Yjw2q}MY=K7>fv)@B(Kwj)Z6ECKB23N9dubi8FBs z=ZMTGXR5tK5{p!UJ|YVT@_O_W$#@7a28gWaVwv;doMED78CF4<2)Z+cl=IQiQ^Rm| zK>CysPe%P4>@0kRtz4$DPj$8MtoB764{A{taFMH(Vwd>8jvL(BiEiRH?jrL)bep*a diff --git a/Debate_backend/target/classes/com/learning/newdemo/entity/WxDebate.class b/Debate_backend/target/classes/com/learning/newdemo/entity/WxDebate.class index 6d756cb5d78e8d59177b702dcb49ec21205c85bd..63757aa8db7ee83d0d510857e1987304f68ef21f 100644 GIT binary patch delta 1468 zcma)6OHUI~7(Fw6Ognw1#bSjvDZXMMsZkRmDvDOYM->q8g=obhD2ih1+jim3jgndD z!iC1fl}1TL6JktET)A{b!pfELAGjdunM-LW?U=Bbx#!+|=iKi*_ulVUY$~RH`!o9) zzz!6q)vT-rh&$ZajXm1D+$i1Ee#=A7Ty|_ckxXYZ#k6Hk_D-s}j;w;59(P0Qw11Uu zX>Mhd(K#h9-PfKg6H-$1J3@uMl(R$PU%@{9-2&Uti7w70ti?M1lf(&*dYmo(9?Clc z85OeAl-y!U_87#txtd|Ds-zhflD#-;CfQ(+Y$a#uHPn_KLA0V75txVwO}8 LCAx!q$Rqp@H2{+o delta 1632 zcma)6NlX)A7=1Hcrc67fVx*}ov7kf?TGyyl5LZwHL|hOMtjLa_Sa5}^s4-rY%s~&v z#27u9C}9mTCMKRddLr?nC*##KE^lTUsO=n@=AU{0-|xL|`{x_;|MbhB|IB>=P=b5o zazxx9V-NO9*yqB291!5?4iANcz2Ux&U|nROtFJ?VG!*U~Y^!M(P_S0LZ_iz3{1M8a zO1TRaIHW!hvxQ;xmDuczV@|j%^P>BzjBB_q;f7{;Q~hQ8B#fvt_DtKJEIUgd@Z*!vIyN=1#yG6!7^!c@omQ1ag`wxoC+TrHbKt z5=tUlHf3+YRuk8rM6%PAygh-e&N`InQnD^nQV<(WJbDv7DyHOOgiOd;ab&FqfZLQ^ zgQM(*R_9{AMZWEU!YN4RUCJ~pVqMZY=+rw`OP)>O#zR-f5+$RCrjn{=dc0=3u33lU zW?_0#lFVV88CcHHVsU2ZnkNiRwMF*Eb;!7m$%$sh3uNj7CvnOwC~rzZF(w~Y#$sw^ z@qD^wJx-fxW~Hi`gWRP&b9Bjd$kQYz>Ya*^l;~5Wvv&)N9bG^J8mX`XKhVT)QN(J@ z;|$L%2;d8viL5Bc6k3RE{bAbF%1 zJ=8+fMhZ=tkd|6Zu}LpZDR%RS_g}1_L>kRrdqTUcC4p(=S7&=d>Nn+iQqh_W!*D;& zgX=F3tP&i8F!9^%6GkpCPL@g%wJ+MQ1<4iQ+QhYuYdzPFS(MGO$cUQ(Iw5}4`WK^* aP)fughWK{S?h4m1qTIq8g=obhD2ih1+jim3jgndD z!iC1fl}1TL6JktET)A{b!pfELAGjdunM-LW?U=Bbx#!+|=iKi*_ulVUY$~RH`!o9) zzz!6q)vT-rh&$ZajXm1D+$i1Ee#=A7Ty|_ckxXYZ#k6Hk_D-s}j;w;59(P0Qw11Uu zX>Mhd(K#h9-PfKg6H-$1J3@uMl(R$PU%@{9-2&Uti7w70ti?M1lf(&*dYmo(9?Clc z85OeAl-y!U_87#txtd|Ds-zhflD#-;CfQ(+Y$a#uHPn_KLA0V75txVwO}8 LCAx!q$Rqp@H2{+o delta 1632 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 WobeCN_%{Abx%!a&1@GWJ1pfywh4c9U diff --git a/Debate_backend/target/classes/com/learning/newdemo/util/JwtUtil.class b/Debate_backend/target/classes/com/learning/newdemo/util/JwtUtil.class index 02c4c6e881518a794da5b981197765f79e7d6b4c..b696dea393441a4f696dae3b52ec78febbac99a4 100644 GIT binary patch delta 2348 zcmZXV33yyp6~}+~&GKfsGmS}`Hfh?Xv872SleDB*nxu_QH>gQUrKF@$U>c`k+B9jC zDYEHM7Zep2u4r&YMeBmn1*Vyz2%<$>6%avCl%P~mQE}gpdhVMfe!_g;yZ60w&OP`1 z&;Oh=`6XxSA}3!weh;up#Scd=Q`^E+us~DILWOT|ctBCwIXp7ZG&;C*`L3qU;emnl zNNb2!DgxQ`XtpKFV$O0|qN$}$QSwq-g+DX2bJ#o_EjQQ2qGg+R>`M1%TkCova#2Fl zK+u>L%fgIxx8L;370CW zJ&OrnZ>W!yW(WOdjlVvgW~a-5=5jKMib{m5q3Y;Y`I^f;ny<6MJQ%7iyHDZtbws$IZ@PR-bAks1=7bt!#?@`%*BF~ef z{8SXe@yiuIBP_xIL0O-YGflE9*#q^*P=`H-6S7)0%;srXbR1tVY+&^WW zi8tgXL=?v-YaJo#nMJ}oRPD*;P9B1}65TU$I7Atz`K6rym7KAzi;`zW@@tUb9owD{1yJvNP)8*?j@Gz+*Jn&b~~%8 zZWlLEnL!EK#KnZTsFB;?Y>}SBD`c3=VTI^h#Nu3;IxA_U)rJXqyke%1xi*lR2!Hl zBh9k6+#|c(1K@~uhSbGh>YCG<3R9i*)L2z!%xt~k!skmpSe7E+9) zIG-Y_QL+b{WxYT&7YZ3$WpG`@0(w})HnH6<))$joMz2ixJ`ZZWWN?`Pw6H8K9n-Kn zCSk>dcgtjvmU5gk;>G7u;d08Q86|jU{6F9-$&}Bl!v`e4whlK=lF}u6uD2o2TkG%S z9eLiJI>!6E$1#HV!%`syKJJh#@F@qIkt5tz;EO(Nxfb|}l4*x{o{+UzmOG?4`-QtS z)$HUf2BgR?mtxJ(&hBY0<^E|{8_C&TvOUz!Uxijjjwkq=M{v7HZ|3iklc`R#M^E#t z*iUxaX}S9!@;Llc9{C3omF>7L`LcB}>j;Mh+pz+7+upjjGcnFLY}k$$wv@Hye?;12 z)Qe9NYEMnZS0dT^7x#%zB}kH@v%dRew^rqe6O<)Nzn$mgEkqI}Zk~q@CH|L_;!wF- z*uRFE@;7H|x#+)q8h<(07Te7>nGZE{3YhJ#5dZeZn7wqNgkXQ+(u#3@c$E2e(kTx_ oanj9_G`%1)hyQq^)Jk8J?=$j*P;y$Spt8dwB5z?8RWU053tlAEPXGV_ delta 2058 zcmZXVcXU)$5XOJ^ZF!rQn@tX2G&GZ7NV1z46eWs6q$r9>lwwdpWQ{9^l3=nR*2S*a zxfaA;u}je<3u0I7iWPhBz3Vw1aqde|kAK|q=FZ%iZ@!uPwpM1!y{G?L{{S$GKURCQ zl;=^z_L^c!%r9!s@DR-ol$ly*pWJdPTq-p&;^u6pzJIl5M`{$2mey2LV&1}}B2ZDe zpUY0>TW7mSIm0!(u&ap%%1de$(K(4liJFC}mU%Vf6RD)f2m*E*so8@)O;eyGcQkb_ zdua+7V@?fJ=Xs1{yvyF2eVAaL3QP{~rBulGGfG%LcTxhIo$S)w^bjy8q2FB-vVnh>Wef)x`hn=IlpHD__Q z*&42nF6CU8^EBskfug_3cl(>E?&!!;F4A1gGPA-RQ?`^#G?%hWk=Kz-?Y($GOM4>K z($<>8T1n3Tx(`VlBG+zUULI;6>f9e`~`{TR1P)+|4~Mt2C>nIu6UJ z=(|?oOdsoU9~qZ*nohE2dCsKmHi*Zu$wYgyz1U+T54b$2d5DLN@ z9o9bLZE?)ac{B3)+T$C(b@|TH@VzOBKI-tJc{N(@@Qe8?S{dRu#bBfI2b+ocebNq& zjTprfQrNk&Zj$k22T#d?5b^(mr-_I#L|Eo$#HL18C2J_Q4z*e~4$sPLk6|00lUa8u z@H{Wbmtr7~ihkC!Dq)RCm-WvCjpl5nFl zYM@OA43fqkCL!4H2II=Sv!EJIo^OmTee6#1EN(RLB2sy zbOV0ij%Yi)$y+|GvR+u}GT!zX7$V0Op~E}k%)^=GGVD(r)r0D75i8#1JyEgQTP`;R zWi7R+N*k)O?5t?4-oS`M*0EcL-8&hzsv&4+AJG8Gd=H{RKOcKZ#OW~->{vM(C!vn_ zq3q)GTj&FDrS zld-W3`%3=n9kNVT#IrQn?F=P+lsBxTZ{r${5UP$|&pgP`R%LNG;<~ICM@$k0^&&k$ zupB6bG>LvpmX~>o=rxJvREBbpa5c?`78CzN1yBzUwWPbsQiAHn;fS)Ou8W64oUL+8 zz@^A#qboJ41YrJu5f1cOww!E|C~T!o=w_k8u2mTp#_r{~3@0VlacW~HX9(DH9E7q9 zr3b6C7zdk^$23hRsi<)E+^e_?lf*`^Ah s`t{(l-4x_AdBDWg=l=U=AFVG${G|;0%6%o{2Y!+-Pj)}^E5B3pH*v0yIRF3v diff --git a/Debate_front/src/components/ArgumentCom.vue b/Debate_front/src/components/ArgumentCom.vue index b01840b..1506653 100644 --- a/Debate_front/src/components/ArgumentCom.vue +++ b/Debate_front/src/components/ArgumentCom.vue @@ -24,6 +24,11 @@ >AI辅助构建辩论框架,智能生成论点与论据 + + + + + + + + + diff --git a/Debate_front/src/components/DebateCom.vue b/Debate_front/src/components/DebateCom.vue index 8a2c877..2c464c0 100644 --- a/Debate_front/src/components/DebateCom.vue +++ b/Debate_front/src/components/DebateCom.vue @@ -27,6 +27,11 @@ >与AI进行实时辩论对练,提升应变能力 + + + + + + + @@ -124,9 +137,11 @@ import { useArgumentStore } from "../stores/ArgumentStore"; import { useDebateStore } from "../stores/DebateStore"; import Popup from "./Popup.vue"; +import ConversationHistory from "./ConversationHistory.vue"; +import { useTokenStore } from "../stores/tokenStore"; export default { - components: { Popup }, + components: { Popup,ConversationHistory }, props: { argument: { type: Object, @@ -136,11 +151,21 @@ export default { mounted() { const pinia = this.$pinia; const store = useArgumentStore(pinia); - this.content = store.selectedArgument.content; + if(store.selectedArgument.content)this.content = store.selectedArgument.content; + + this.getHistoryList(); + this.conversationId = useDebateStore().conversationId; + console.log("conversationId:", this.conversationId); + + this.messages = useDebateStore().conversation; }, data() { return { + conversationId: -1, + showHistory: false, + chatHistory: ["test1", "test2"], + showSheet:false, StoreHistory:"", input: "", @@ -166,6 +191,104 @@ export default { }; }, methods: { + async getHistoryList() { + return new Promise((resolve, reject) => { + const token = useTokenStore().token.content; + + console.log("token:", token); + uni.request({ + url: "http://localhost:8080/api/conversation/list", // 修改为正确的URL + method: "GET", // 修改请求方法为GET + header: { + Authorization: "Bearer " + token, + }, + success: (res) => { + console.log("res:", res); + if (res.statusCode === 200 && res.data.code === 200) { + // 过滤出 type === "argument" 的数据 + const debateList = res.data.data.filter( + (item) => item.type === "debate" + ); + + // 赋值给 chatHistory + this.chatHistory = debateList; + + // 可选:resolve 第一个结果或提示信息 + if (debateList.length > 0) { + resolve(debateList); // 或者 resolve(argumentList[0]) 如果你只需要第一个 + } else { + resolve("没有找到类型为 argument 的对话"); + } + } else { + reject("请求失败:" + (res.data.message || "未知错误")); + } + }, + fail: (err) => { + reject("请求失败:" + err.errMsg); + }, + }); + }); + }, + createNew() { + this.messages = [ + { + role: "ai", + content: + "哈喽~ 我是辩论助手,很高兴为你服务!请告诉我你想立论的立场和题目。", + }, + ]; + console.log("createNew"); + + this.conversationId = -1; + + useDebateStore().setConversationId(-1); + + useDebateStore().setConversation(this.messages); + }, + handleSelect(conversationId) { + console.log("选中了历史记录 id:", conversationId); + this.showHistory = false; + + return new Promise((resolve, reject) => { + const token = useTokenStore().token.content; + + console.log("token:", token); + uni.request({ + url: `http://localhost:8080/api/conversation/debate/${conversationId}`, // 使用模板字符串插入 conversationId + method: "GET", + header: { + Authorization: "Bearer " + token, + }, + success: (res) => { + console.log("res:", res); + if (res.statusCode === 200 && res.data.code === 200) { + this.messages=[]; + for(let item of res.data.data){ + this.messages.push({ + role:"user", + content:item.userMessage + }); + this.messages.push({ + role:"ai", + content:item.content + }); + } + useDebateStore().setConversation(this.messages); + + this.conversationId = conversationId; + + useDebateStore().setConversationId(conversationId); + } else { + reject("请求失败:" + (res.data.message || "未知错误")); + } + }, + fail: (err) => { + reject("请求失败:" + err.errMsg); + }, + }); + }); + }, + handleSheetClick() { const pinia = this.$pinia; const store = useDebateStore(pinia); @@ -188,21 +311,6 @@ export default { this.StoreHistory = history; this.showSheet = true; - // console.log(history); - - // uni.showActionSheet({ - // itemList: ["进行复盘"], - // success: (res) => { - // if (res.tapIndex === 0) { - // const pinia = this.$pinia; - // const store = useDebateStore(pinia); - // store.setDebate(history); - // this.$emit("start-review", "debate"); // 通知父组件 - - // // console.log("开始复盘:",store.selectedDebate.content); - // } - // }, - // }); }, // 切换卡片展开/收缩状态 toggleCard() { @@ -285,27 +393,44 @@ export default { this.content = ""; return new Promise((resolve, reject) => { console.log("callAI:", history, content); + const token = useTokenStore().token.content; + if (!token) { + reject("未登录,请先登录"); + return; + } uni.request({ url: "http://localhost:8080/api/ai/debate", method: "POST", header: { "Content-Type": "application/json", + Authorization: "Bearer " + token, // 添加认证头 }, data: { - history: history, - content: content, + conversationId: this.conversationId, + // history: history, + userMessage: content, }, success: (res) => { - console.log("res:", res); - let reviewJson = JSON.parse(res.data.data.debate); - this.scrollToBottom(); + console.log("API响应:", res); + if (res.statusCode === 200 && res.data.code === 200) { - resolve( - reviewJson.choices[0].message.content || "AI 没有返回有效内容" - ); + const responseData = res.data.data; + + console.log("responseData:", responseData); + + // 更新会话ID(如果是新会话) + if (this.conversationId == -1) { + this.conversationId = responseData.conversationId; + console.log("更新会话ID为:", responseData.id); + this.getHistoryList(); + + useDebateStore().setConversationId(this.conversationId); + } + + resolve(responseData.content); } else { - reject("请求失败:" + (res.data.msg || "未知错误")); + reject("请求失败:" + (res.data.message || "未知错误")); } }, fail: (err) => { diff --git a/Debate_front/src/components/HomeCom.vue b/Debate_front/src/components/HomeCom.vue index 9b54737..5f69617 100644 --- a/Debate_front/src/components/HomeCom.vue +++ b/Debate_front/src/components/HomeCom.vue @@ -2,7 +2,12 @@ - + @@ -24,33 +29,50 @@ 与AI进行实时辩论对练,提升应变能力 - + - + 立论助手 - AI辅助构建辩论框架,智能生成论点与论据 + AI辅助构建辩论框架,智能生成论点与论据 - + - + 复盘分析 分析辩论过程,提供改进建议与优化方向 - + @@ -61,21 +83,34 @@ 最近活动 查看更多 - + - + - + {{ activity.title }} - {{ activity.time }} + {{ activity.updateTime }} - + @@ -83,33 +118,106 @@ + + + + \ No newline at end of file + diff --git a/Debate_front/src/components/ReviewCom.vue b/Debate_front/src/components/ReviewCom.vue index 3d7b0fc..2aebbfc 100644 --- a/Debate_front/src/components/ReviewCom.vue +++ b/Debate_front/src/components/ReviewCom.vue @@ -27,6 +27,11 @@ >分析辩论过程,提供改进建议与优化方向 + + + + + + +