山东大学软件学院创新实训——项目记录(五)

基于RAG技术的心理健康大模型的开发及应用 

接项目记录四,本次介绍心灵对话页面连接openai大模型、实现进行与chatgpt对话功能,实现chat页面停止生成对话、重新生成对话、清空对话功能实现,以及将页面加入导航栏中。

一、心灵对话页面功能实现

(一)连接openai大模型

这一步花了我许多时间,本来想通过java调用python文件进行大模型连接,但是调用的时候,一直报没有openai的错误,因此还是通过node.js的方式进行连接。

1.安装openai

这里安装的是openai 3.3.0版本

查看package.json文件,安装成功。

2.调用openai接口

这一步是花时间最多的部分,原因是没有看依赖中的使用文档。这次经历给我学会了在使用依赖前一定要看此依赖如何进行使用!!!!!!

打开标蓝色的文件,进行查看使用流程。

const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);

const chatCompletion = await openai.createChatCompletion({
  model: "gpt-3.5-turbo",
  messages: [{role: "user", content: "Hello world"}],
});
console.log(chatCompletion.data.choices[0].message);

 这里调用的是gpt-3.5-turbo模型,发送信息角色是user,内容是用户传入的内容。

前端连接:

const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
  apiKey: "sk-zZsXZ6pxCnj0dbBj13992eD8F4974fC7*************",
  basePath: "https://**********"
});
const openai = new OpenAIApi(configuration);

因为这里使用非官方的api的接口,所以这里设置basePath的参数,并输入apiKey。

之后进行初始化openai对象,并进行使用,这里设置了一个异步方法。

//一定要看文档啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//这里不用await,使用async函数封装:这里是异步的,
//就必须使用then进行处理,等消息返回在进行展示
async function fetchChatCompletion(){
  try {
    const chatCompletion = await openai.createChatCompletion({
      model: "gpt-3.5-turbo",
      messages: [{role: "user", content: "你好呀!"}],
    });
    console.log(chatCompletion.data.choices[0].message);
    return chatCompletion.data.choices[0].message.content
  } catch (error) {
    console.error('Error fetching chat completion:', error);
  }
}
mounted: function () {
fetchChatCompletion()}

调用测试结果:

 

调用成功,因此设置方法参数,messages是api传过来的内容。

//这里不用await,使用async函数封装:这里是异步的,
//就必须使用then进行处理,等消息返回在进行展示
async function fetchChatCompletion(messages){
  try {
    const chatCompletion = await openai.createChatCompletion({
      model: "gpt-3.5-turbo",
      messages: [{role: "user", content: messages}],
    });
    console.log(chatCompletion.data.choices[0].message);
//返回大模型回答的内容
    return chatCompletion.data.choices[0].message.content
  } catch (error) {
    console.error('Error fetching chat completion:', error);
  }
}

3.前端展示部分

这个也是头疼的部分,主要是如何实现将传递的内容进行对话框进行展示。实现部分如下:

首先观察api传过来的信息结构:

有角色(role)和消息内容(messages) ,而请求的messages也是有两个属性值。因此在构建对话数据的时候,也需要保存这两个内容。

(1)实现发送功能

 在data中,建立一个存储一次对话的数组conversation,一个存储多个对话的数组conversations,以及后面实现停止生成的判断条件flag,和标记ai回复对话索引index,前端传回的消息chatmsg,以及是否加载对话的overloading。

 data(){
conversation: [],
conversations:[],
flag: true,
index: 0,
chatMsg: "",
overloading:false}

前端点击发送按钮,触发send函数

<button @click.stop.prevent="send" :disabled="convLoading"
                            class="absolute p-1 rounded-md text-gray-500 bottom-1.5 right-1 md:bottom-2.5 md:right-2 hover:bg-gray-100 dark:hover:text-gray-400 dark:hover:bg-gray-900 disabled:hover:bg-transparent dark:disabled:hover:bg-transparent">
                      <div v-if="convLoading" class="text-2xl" style="line-height: 1.3rem;">
                        <span class="load_dot1">·</span><span class="load_dot2">·</span><span class="load_dot3">·</span>
                      </div>
                      <svg height="25" node-id="1" sillyvg="true" template-height="1024" template-width="1024" version="1.1" viewBox="0 0 1024 1024" width="25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs node-id="80"><clipPath id="clip-草丛" node-id="9"><path d="M 0.00 0.00 L 1024.00 0.00 L 1024.00 1024.00 L 0.00 1024.00 Z" fill="#000000" fill-rule="nonzero" node-id="83" stroke="none" target-height="1024" target-width="1024" target-x="0" target-y="0"/></clipPath><clipPath id="clip-path" node-id="3"><path d="M 8589.78 1189.18 L 8597.65 1184.75 L 8605.30 1179.82 L 8612.76 1174.37 L 8620.03 1168.39 L 8627.11 1161.85 L 8633.77 1155.05 L 8640.26 1147.80 L 8646.59 1140.07 L 8652.76 1131.85 L 8658.77 1123.12 L 8665.73 1112.07 L 8672.44 1100.39 L 8678.91 1088.07 L 8685.13 1075.07 L 8690.87 1062.00 L 8696.36 1048.44 L 8701.60 1034.37 L 8706.60 1019.78 L 8712.69 1000.23 L 8718.34 980.09 L 8723.55 959.33 L 8728.25 938.45 L 8732.53 917.28 L 8736.38 895.82 L 8739.81 874.28 L 8742.84 852.78 L 8745.48 831.32 L 8747.76 809.80 L 8749.67 788.67 L 8751.22 767.91 L 8752.47 747.11 L 8753.40 727.03 L 8754.01 707.68 L 8754.41 679.00 L 8754.22 652.71 L 8753.46 627.32 L 8752.24 605.08 L 8751.11 590.59 L 8749.85 577.91 L 8748.47 566.88 L 8746.75 555.86 L 8745.02 547.07 L 8743.29 540.18 L 8737.35 547.51 L 8730.58 556.44 L 8722.89 567.18 L 8715.49 578.09 L 8707.50 590.45 L 8698.89 604.39 L 8690.58 618.47 L 8681.92 633.82 L 8672.92 650.53 L 8664.25 667.37 L 8655.48 685.29 L 8646.60 704.33 L 8638.13 723.52 L 8629.78 743.58 L 8621.57 764.54 L 8613.85 785.66 L 8606.47 807.43 L 8599.47 829.87 L 8594.59 846.79 L 8590.04 863.96 L 8585.81 881.39 L 8581.91 899.07 L 8578.41 916.81 L 8575.35 934.68 L 8572.72 952.70 L 8570.53 970.87 L 8568.83 989.08 L 8567.67 1007.33 L 8567.05 1025.64 L 8566.96 1044.00 L 8567.32 1058.68 L 8568.08 1073.34 L 8569.26 1087.97 L 8570.84 1102.59 L 8572.84 1117.19 L 8575.27 1131.71 L 8578.18 1146.16 L 8581.57 1160.55 L 8585.43 1174.89 L 8589.78 1189.18 Z" fill="#000000" fill-rule="nonzero" id="路径_175" node-id="4" stroke="none" target-height="649" target-width="187.44629" target-x="8566.964" target-y="540.182"/></clipPath><clipPath id="clip-path-2" node-id="5"><path d="M 553.00 908.17 L 553.19 899.71 L 552.88 891.21 L 552.04 882.64 L 550.67 873.98 L 548.77 865.22 L 546.44 856.67 L 543.67 848.06 L 540.45 839.37 L 536.74 830.60 L 532.56 821.74 L 526.94 811.03 L 520.73 800.25 L 513.90 789.40 L 506.42 778.47 L 498.64 767.89 L 490.39 757.31 L 481.65 746.73 L 472.41 736.15 L 459.73 722.45 L 446.46 708.91 L 432.58 695.52 L 418.37 682.48 L 403.84 669.74 L 389.00 657.31 L 373.91 645.18 L 358.82 633.50 L 343.72 622.26 L 328.42 611.29 L 313.45 600.91 L 298.80 591.12 L 283.98 581.55 L 269.81 572.73 L 256.30 564.61 L 236.17 553.09 L 218.26 543.48 L 206.42 537.51 L 195.96 532.54 L 186.76 528.47 L 177.40 524.69 L 169.85 522.04 L 163.84 520.30 L 166.76 528.63 L 170.60 538.50 L 175.50 550.10 L 180.70 561.54 L 186.81 574.19 L 193.94 588.14 L 201.35 601.90 L 209.64 616.54 L 218.88 632.08 L 228.43 647.40 L 238.81 663.23 L 250.05 679.59 L 261.67 695.67 L 274.04 711.91 L 287.20 728.32 L 297.33 740.37 L 307.84 752.32 L 318.74 764.17 L 330.04 775.92 L 341.59 787.37 L 353.48 798.53 L 365.72 809.43 L 378.31 820.05 L 391.20 830.28 L 404.39 840.08 L 417.91 849.44 L 431.74 858.36 L 443.03 865.14 L 454.50 871.55 L 466.16 877.57 L 478.01 883.23 L 490.06 888.52 L 502.27 893.37 L 514.66 897.76 L 527.23 901.69 L 540.01 905.16 L 553.00 908.17 Z" fill="#000000" fill-rule="nonzero" id="路径_175-2" node-id="6" stroke="none" target-height="387.86176" target-width="389.3519" target-x="163.84195" target-y="520.30347"/></clipPath><clipPath id="clip-path-3" node-id="7"><path d="M 540.82 902.30 L 547.84 902.18 L 554.90 901.55 L 562.02 900.41 L 569.20 898.76 L 576.47 896.56 L 585.24 893.28 L 594.11 889.32 L 603.08 884.64 L 612.17 879.21 L 620.87 873.41 L 629.61 867.03 L 638.41 860.06 L 647.26 852.47 L 658.58 841.96 L 669.86 830.67 L 681.07 818.58 L 691.90 806.13 L 702.53 793.19 L 712.96 779.77 L 723.06 766.10 L 732.83 752.28 L 742.25 738.30 L 751.41 724.13 L 760.08 710.15 L 768.29 696.38 L 780.02 675.69 L 790.40 656.25 L 799.98 637.18 L 807.94 620.16 L 815.00 603.81 L 820.24 590.34 L 823.27 581.52 L 825.35 574.51 L 826.64 569.02 L 819.66 571.99 L 811.28 575.96 L 801.30 581.09 L 791.51 586.49 L 780.66 592.88 L 768.66 600.34 L 756.88 608.07 L 744.39 616.72 L 731.15 626.36 L 718.19 636.30 L 704.89 647.08 L 691.22 658.75 L 677.91 670.79 L 664.60 683.57 L 651.31 697.12 L 641.66 707.55 L 632.20 718.34 L 622.94 729.51 L 613.88 741.06 L 605.19 752.85 L 596.87 764.96 L 588.93 777.40 L 581.35 790.17 L 574.26 803.20 L 567.71 816.52 L 561.68 830.13 L 556.18 844.05 L 552.24 855.33 L 548.73 866.79 L 545.66 878.43 L 543.02 890.26 L 540.82 902.30 Z" fill="#000000" fill-rule="nonzero" id="路径_175-3" node-id="8" stroke="none" target-height="333.27985" target-width="285.82288" target-x="540.8163" target-y="569.01965"/></clipPath></defs><g clip-path="url(#clip-草丛)" id="草丛" node-id="11"><path d="M 0.00 0.00 L 1024.00 0.00 L 1024.00 1024.00 L 0.00 1024.00 Z" fill="#ffffff" fill-rule="nonzero" node-id="97" stroke="none" target-height="1024" target-width="1024" target-x="0" target-y="0"/><path d="M 311.32 479.12 L 311.39 474.24 L 311.62 460.91 L 312.10 441.09 L 312.87 416.73 L 314.03 389.80 L 315.62 362.26 L 316.61 348.73 L 317.72 336.07 L 319.01 323.83 L 320.40 313.18 L 322.04 303.22 L 323.71 295.56 L 326.74 284.66 L 330.01 274.91 L 333.48 266.23 L 337.14 258.52 L 340.62 252.33 L 344.27 246.90 L 348.07 242.18 L 352.03 238.10 L 356.14 234.61 L 359.91 232.03 L 363.85 229.90 L 367.98 228.21 L 372.32 226.95 L 376.91 226.12 L 381.76 225.74 L 384.45 225.90 L 387.30 226.45 L 390.36 227.45 L 393.65 228.93 L 397.77 231.26 L 402.14 234.19 L 406.76 237.79 L 413.41 243.68 L 420.23 250.45 L 426.83 257.61 L 433.20 265.03 L 439.30 272.54 L 444.80 279.64 L 454.15 292.40 L 460.40 301.44 L 462.68 304.87 L 465.34 383.77 L 482.68 336.56 L 485.18 340.44 L 491.94 351.15 L 501.82 367.23 L 513.71 387.24 L 519.99 398.18 L 526.46 409.76 L 532.81 421.51 L 538.96 433.33 L 544.81 445.17 L 550.07 456.52 L 554.83 467.74 L 558.66 477.90 L 560.87 484.67 L 562.49 490.69 L 563.61 496.02 L 563.56 496.62 L 562.71 499.94 L 559.86 509.56 L 555.81 522.58 L 551.34 536.71 L 547.20 549.63 L 544.16 559.07 L 542.98 562.73 L 590.40 524.19 L 591.40 529.90 L 593.89 545.63 L 597.08 569.30 L 598.66 583.17 L 600.19 598.82 L 601.46 614.94 L 602.43 632.09 L 602.99 649.45 L 603.03 667.04 L 602.73 678.79 L 602.11 690.29 L 601.19 701.57 L 599.88 712.81 L 598.19 723.47 L 596.14 733.59 L 594.23 741.17 L 592.08 748.25 L 589.69 754.86 L 587.08 761.02 L 584.02 767.09 L 580.69 772.54 L 577.10 777.42 L 573.25 781.77 L 563.92 790.93 L 554.71 799.45 L 545.64 807.37 L 536.33 815.04 L 527.38 822.04 L 518.77 828.38 L 505.82 837.31 L 494.17 844.67 L 482.84 851.19 L 473.34 856.09 L 464.37 860.11 L 457.80 862.50 L 453.50 863.61 L 450.73 863.93 L 449.05 863.76 L 446.82 863.08 L 442.37 861.46 L 437.34 859.34 L 430.61 856.04 L 423.55 852.06 L 415.25 846.65 L 409.78 842.65 L 403.97 837.94 L 397.80 832.45 L 391.93 826.69 L 385.91 820.09 L 379.73 812.59 L 373.98 804.80 L 368.25 796.04 L 362.56 786.23 L 358.68 778.77 L 354.92 770.69 L 351.28 761.95 L 347.76 752.51 L 344.70 743.17 L 341.84 733.09 L 339.22 722.25 L 336.84 710.61 L 330.45 674.70 L 325.49 644.96 L 321.21 617.16 L 318.09 594.77 L 315.57 574.07 L 313.95 558.02 L 312.83 543.40 L 312.35 532.66 L 312.29 523.10 L 312.59 516.66 L 312.87 516.74 L 315.17 517.98 L 321.84 521.92 L 330.97 527.44 L 340.91 533.53 L 350.04 539.15 L 356.72 543.27 L 359.31 544.88 Z" fill="#72c9a1" fill-rule="nonzero" group-id="1" id="路径_193" node-id="14" stroke="none" target-height="638.19385" target-width="291.70468" target-x="311.32394" target-y="225.73868"/><path d="M 382.42 267.14 L 381.60 275.08 L 381.10 284.79 L 381.01 296.53 L 381.29 308.23 L 381.92 321.37 L 382.92 336.08 L 384.91 358.51 L 387.59 383.43 L 390.74 409.00 L 394.44 436.19 L 398.48 463.72 L 402.90 491.97 L 407.55 520.28 L 412.39 548.41 L 417.38 576.30 L 422.35 603.12 L 432.20 653.73 L 441.37 697.85 L 445.66 717.34 L 449.29 733.11 L 452.80 747.42 L 455.39 757.12 L 457.26 763.27 L 458.42 766.31 L 459.09 767.52 L 460.19 768.57 L 461.01 768.97 L 461.68 768.95 L 462.28 768.56 L 462.94 767.63 L 463.57 766.04 L 464.15 763.55 L 464.66 759.62 L 464.99 754.63 L 465.11 743.94 L 464.82 733.66 L 464.42 725.91 L 464.22 722.84 L 462.36 715.72 L 457.24 695.50 L 449.56 663.88 L 440.01 622.58 L 434.84 599.25 L 429.28 573.30 L 423.77 546.52 L 418.08 517.76 L 412.56 488.39 L 407.10 457.66 L 401.93 426.55 L 397.03 394.72 L 392.56 362.72 L 388.58 330.64 L 386.22 309.22 L 384.17 288.05 L 382.42 267.14 Z" fill="#ffffff" fill-rule="nonzero" group-id="1,9" id="路径_194" node-id="15" stroke="none" target-height="501.83362" target-width="84.10123" target-x="381.0098" target-y="267.13898"/><path d="M 547.60 409.98 L 545.33 406.50 L 541.97 400.47 L 539.80 396.05 L 537.40 390.47 L 534.77 383.55 L 532.47 376.56 L 530.18 368.26 L 527.93 358.49 L 526.12 348.69 L 524.58 337.43 L 523.36 324.56 L 522.67 311.70 L 522.52 297.23 L 522.97 281.00 L 523.69 269.05 L 524.86 256.12 L 526.51 242.15 L 528.67 227.08 L 531.15 212.50 L 534.23 196.84 L 537.96 180.05 L 542.39 162.06 L 538.44 185.96 L 535.38 207.55 L 533.11 227.00 L 531.34 246.54 L 530.22 263.99 L 529.69 279.51 L 529.62 295.08 L 529.97 308.78 L 530.69 320.76 L 531.84 332.75 L 533.20 343.08 L 534.72 351.92 L 536.61 360.73 L 538.49 368.08 L 540.35 374.16 L 543.49 382.70 L 546.17 388.64 L 548.90 393.68 L 550.76 396.54 L 555.45 378.66 L 560.84 360.54 L 566.95 342.17 L 571.94 328.57 L 577.39 314.98 L 583.30 301.41 L 589.68 287.84 L 596.47 274.53 L 603.78 261.37 L 611.62 248.36 L 620.01 235.49 L 627.03 225.46 L 634.43 215.61 L 642.22 205.92 L 650.41 196.40 L 658.99 187.04 L 667.83 178.05 L 677.11 169.30 L 686.84 160.78 L 697.03 152.49 L 707.70 144.43 L 696.75 153.73 L 686.33 163.20 L 676.44 172.85 L 667.05 182.67 L 658.16 192.68 L 649.52 203.08 L 641.33 213.58 L 633.58 224.19 L 626.27 234.91 L 619.38 245.75 L 611.17 259.65 L 603.56 273.60 L 596.54 287.60 L 590.09 301.66 L 584.07 315.98 L 578.55 330.21 L 573.54 344.36 L 569.02 358.42 L 564.85 372.70 L 561.12 386.72 L 557.80 400.51 L 554.90 414.05 L 551.47 432.30 L 548.66 449.80 L 546.44 466.57 L 544.64 483.43 L 543.29 499.22 L 542.38 513.99 L 541.59 535.68 L 541.44 554.32 L 541.76 571.83 L 542.35 585.59 L 543.15 597.95 L 543.82 605.81 L 544.60 612.99 L 532.05 617.59 L 531.60 611.95 L 530.76 595.96 L 530.44 585.03 L 530.30 571.03 L 530.44 556.07 L 530.98 538.56 L 531.97 520.30 L 533.58 499.96 L 534.97 486.22 L 536.73 471.78 L 538.86 456.63 L 541.32 441.56 L 544.22 426.01 L 547.60 409.98 Z" fill="#cf6a3e" fill-rule="nonzero" group-id="2,10" id="联合_11" node-id="17" stroke="none" target-height="473.158" target-width="185.18042" target-x="522.5196" target-y="144.42801"/><path d="M 529.49 175.23 L 529.26 178.53 L 528.63 181.63 L 527.60 184.57 L 526.20 187.36 L 524.49 189.89 L 522.46 192.20 L 520.15 194.23 L 517.62 195.94 L 514.83 197.34 L 511.89 198.37 L 508.79 199.00 L 505.49 199.23 L 502.19 199.00 L 499.09 198.37 L 496.15 197.34 L 493.36 195.94 L 490.83 194.23 L 488.52 192.20 L 486.49 189.89 L 484.78 187.36 L 483.38 184.57 L 482.35 181.63 L 481.72 178.53 L 481.49 175.23 L 481.72 171.93 L 482.35 168.83 L 483.38 165.89 L 484.78 163.10 L 486.49 160.57 L 488.52 158.26 L 490.83 156.23 L 493.36 154.52 L 496.15 153.12 L 499.09 152.09 L 502.19 151.46 L 505.49 151.23 L 508.79 151.46 L 511.89 152.09 L 514.83 153.12 L 517.62 154.52 L 520.15 156.23 L 522.46 158.26 L 524.49 160.57 L 526.20 163.10 L 527.60 165.89 L 528.63 168.83 L 529.26 171.93 L 529.49 175.23 Z" fill="#a71375" fill-rule="nonzero" group-id="2,11" id="椭圆_8" node-id="18" stroke="none" target-height="48" target-width="48" target-x="481.49" target-y="151.231"/><path d="M 694.49 140.94 L 694.26 144.24 L 693.63 147.34 L 692.60 150.28 L 691.20 153.07 L 689.49 155.60 L 687.46 157.91 L 685.15 159.94 L 682.62 161.65 L 679.83 163.05 L 676.89 164.08 L 673.79 164.71 L 670.49 164.94 L 667.19 164.71 L 664.09 164.08 L 661.15 163.05 L 658.36 161.65 L 655.83 159.94 L 653.52 157.91 L 651.49 155.60 L 649.78 153.07 L 648.38 150.28 L 647.35 147.34 L 646.72 144.24 L 646.49 140.94 L 646.72 137.64 L 647.35 134.54 L 648.38 131.60 L 649.78 128.81 L 651.49 126.28 L 653.52 123.97 L 655.83 121.94 L 658.36 120.23 L 661.15 118.83 L 664.09 117.80 L 667.19 117.17 L 670.49 116.94 L 673.79 117.17 L 676.89 117.80 L 679.83 118.83 L 682.62 120.23 L 685.15 121.94 L 687.46 123.97 L 689.49 126.28 L 691.20 128.81 L 692.60 131.60 L 693.63 134.54 L 694.26 137.64 L 694.49 140.94 Z" fill="#7570a6" fill-rule="nonzero" group-id="2,12" id="椭圆_9" node-id="19" stroke="none" target-height="48.000008" target-width="48" target-x="646.49" target-y="116.941"/><path d="M 656.96 778.52 L 663.36 777.94 L 681.27 775.81 L 693.39 774.08 L 708.72 771.58 L 724.98 768.59 L 743.75 764.69 L 763.16 760.15 L 784.40 754.57 L 798.66 750.45 L 813.43 745.83 L 828.71 740.67 L 843.84 735.15 L 859.17 729.07 L 874.71 722.42 L 890.04 715.31 L 905.29 707.59 L 920.46 699.27 L 931.62 692.66 L 942.59 685.69 L 953.37 678.35 L 963.97 670.64 L 974.28 662.58 L 984.27 654.12 L 993.94 645.26 L 1003.30 635.99 L 994.70 645.55 L 985.68 654.73 L 976.24 663.52 L 966.36 671.94 L 956.17 679.97 L 945.70 687.64 L 934.94 694.96 L 923.90 701.92 L 908.86 710.69 L 893.60 718.86 L 878.12 726.45 L 862.40 733.54 L 846.78 740.06 L 831.25 746.03 L 815.55 751.61 L 800.31 756.65 L 785.50 761.18 L 770.57 765.42 L 756.44 769.16 L 743.09 772.43 L 723.40 776.84 L 706.25 780.28 L 690.05 783.18 L 677.18 785.24 L 658.12 787.85 L 651.27 788.60 Z" fill="#cf6a3e" fill-rule="nonzero" group-id="2,13" id="路径_139" node-id="20" stroke="none" target-height="152.607" target-width="352.03223" target-x="651.26953" target-y="635.992"/><path d="M 634.40 798.16 L 640.73 795.83 L 647.63 793.10 L 658.48 788.50 L 670.48 783.04 L 685.78 775.59 L 701.94 767.14 L 720.77 756.55 L 733.45 748.98 L 747.04 740.43 L 761.57 730.83 L 775.83 720.91 L 790.74 709.95 L 806.32 697.88 L 817.69 688.64 L 829.29 678.78 L 841.11 668.28 L 853.16 657.13 L 864.80 645.85 L 876.52 633.92 L 888.32 621.32 L 900.21 608.03 L 911.64 594.59 L 923.02 580.46 L 934.35 565.61 L 945.62 550.02 L 956.36 534.30 L 966.93 517.83 L 977.31 500.59 L 987.51 482.56 L 979.94 498.10 L 971.96 513.20 L 963.58 527.89 L 954.78 542.16 L 945.53 556.21 L 936.00 569.84 L 926.18 583.05 L 916.09 595.85 L 905.62 608.44 L 895.00 620.60 L 884.24 632.35 L 873.34 643.68 L 858.38 658.45 L 843.41 672.44 L 828.44 685.69 L 813.13 698.56 L 798.10 710.64 L 783.33 721.93 L 768.29 732.93 L 753.83 743.09 L 739.90 752.46 L 719.05 765.83 L 700.08 777.33 L 681.66 787.90 L 665.77 796.58 L 650.74 804.39 L 638.90 810.27 L 621.37 818.44 L 615.10 821.16 Z" fill="#cf6a3e" fill-rule="nonzero" group-id="2,14" id="路径_140" node-id="21" stroke="none" target-height="338.59995" target-width="372.41357" target-x="615.1011" target-y="482.556"/><path d="M 672.60 675.06 L 677.07 667.88 L 689.35 647.52 L 697.52 633.59 L 707.72 615.79 L 718.38 596.71 L 730.46 574.46 L 742.74 551.14 L 755.87 525.33 L 768.90 498.68 L 782.22 470.20 L 790.87 450.91 L 799.40 431.13 L 807.80 410.84 L 815.86 390.43 L 823.56 369.84 L 830.89 349.06 L 827.24 362.03 L 823.02 375.70 L 818.22 390.10 L 810.47 411.68 L 801.78 434.19 L 792.55 456.76 L 782.77 479.58 L 772.65 502.28 L 762.39 524.55 L 751.99 546.50 L 741.85 567.36 L 731.76 587.68 L 722.35 606.27 L 705.08 639.55 L 691.26 665.48 L 682.09 682.30 L 678.76 688.29 Z" fill="#d5703c" fill-rule="nonzero" group-id="3,15" id="路径_141" node-id="23" stroke="none" target-height="339.23297" target-width="158.2998" target-x="672.5952" target-y="349.06"/><path d="M 791.28 545.33 L 794.38 544.71 L 797.23 544.49 L 799.88 544.64 L 802.36 545.14 L 805.53 546.34 L 808.23 547.96 L 810.52 550.04 L 812.37 552.51 L 813.66 555.22 L 814.40 558.23 L 814.47 560.54 L 814.13 562.70 L 813.38 564.77 L 812.28 566.70 L 810.89 568.48 L 809.18 570.12 L 806.27 572.16 L 802.96 573.71 L 800.62 574.43 L 798.26 574.85 L 795.86 574.98 L 791.86 575.08 L 785.69 575.54 L 778.90 576.27 L 770.51 577.39 L 761.68 578.79 L 751.78 580.60 L 741.66 582.70 L 731.01 585.22 L 736.34 578.90 L 741.34 573.52 L 746.04 568.99 L 751.00 564.70 L 755.61 561.12 L 759.91 558.19 L 766.49 554.32 L 772.29 551.51 L 777.98 549.25 L 782.86 547.66 L 791.28 545.33 Z M 722.47 481.25 L 720.77 477.95 L 719.62 474.33 L 719.07 470.59 L 719.14 466.92 L 719.54 464.52 L 720.22 462.33 L 721.18 460.32 L 722.45 458.52 L 724.02 457.04 L 725.92 455.86 L 728.76 454.86 L 731.66 454.50 L 734.68 454.76 L 737.60 455.63 L 740.40 457.10 L 743.12 459.24 L 744.87 461.12 L 746.44 463.35 L 747.83 465.97 L 749.02 469.03 L 751.74 477.68 L 753.11 482.82 L 754.40 489.03 L 755.30 495.65 L 755.76 503.52 L 755.73 508.90 L 755.35 514.90 L 754.59 521.58 L 753.49 528.18 L 751.86 535.50 L 749.66 543.61 L 745.87 532.91 L 742.04 522.90 L 738.09 513.25 L 734.40 504.76 L 730.71 496.79 L 727.59 490.45 L 724.58 484.80 L 722.47 481.25 Z M 830.99 453.78 L 834.59 453.13 L 837.82 453.09 L 840.76 453.62 L 843.56 454.67 L 845.95 456.10 L 847.97 457.93 L 849.60 460.11 L 850.73 462.51 L 851.38 465.16 L 851.45 467.19 L 851.15 469.10 L 850.48 470.92 L 849.52 472.62 L 848.29 474.19 L 846.79 475.64 L 844.21 477.44 L 841.30 478.81 L 838.19 479.66 L 835.03 479.94 L 831.50 480.03 L 826.06 480.43 L 820.08 481.07 L 812.67 482.06 L 804.88 483.30 L 796.15 484.89 L 787.22 486.75 L 777.83 488.97 L 783.75 482.04 L 789.21 476.39 L 794.25 471.86 L 799.62 467.66 L 804.51 464.34 L 808.96 461.79 L 813.61 459.52 L 817.74 457.79 L 821.40 456.51 L 830.99 453.78 Z M 767.92 380.14 L 766.10 376.90 L 764.83 373.33 L 764.16 369.61 L 764.10 365.94 L 764.42 363.53 L 765.02 361.32 L 765.92 359.28 L 767.13 357.43 L 768.65 355.90 L 770.50 354.64 L 773.31 353.54 L 776.20 353.07 L 779.23 353.23 L 782.17 353.99 L 785.02 355.36 L 787.81 357.40 L 789.62 359.21 L 791.27 361.39 L 792.74 363.96 L 794.03 366.97 L 797.05 375.51 L 798.59 380.60 L 800.09 386.77 L 801.21 393.35 L 801.93 401.20 L 802.08 406.57 L 801.91 412.58 L 801.37 419.28 L 800.49 425.92 L 799.11 433.30 L 797.18 441.48 L 793.03 430.93 L 788.87 421.06 L 784.60 411.56 L 780.62 403.21 L 776.67 395.38 L 773.33 389.15 L 770.14 383.62 L 767.92 380.14 Z M 861.42 357.17 L 864.27 356.65 L 866.83 356.62 L 869.16 357.04 L 871.38 357.87 L 873.27 359.01 L 874.87 360.46 L 876.17 362.19 L 877.07 364.09 L 877.58 366.19 L 877.58 368.32 L 877.09 370.28 L 876.10 372.12 L 874.74 373.75 L 873.10 375.16 L 871.14 376.34 L 869.03 377.21 L 866.86 377.73 L 864.62 377.91 L 860.75 378.04 L 854.30 378.63 L 847.16 379.55 L 838.36 380.98 L 829.20 382.77 L 819.26 385.07 L 823.95 379.58 L 828.28 375.10 L 832.28 371.51 L 836.54 368.18 L 840.42 365.55 L 843.95 363.52 L 849.31 360.99 L 853.81 359.33 L 861.42 357.17 Z M 816.71 266.38 L 815.98 263.08 L 815.63 259.72 L 815.65 256.27 L 816.04 252.85 L 816.77 249.59 L 817.84 246.49 L 819.27 243.55 L 820.99 241.00 L 822.99 238.80 L 825.32 236.99 L 827.91 235.72 L 830.82 234.97 L 833.85 234.79 L 836.82 235.10 L 839.76 235.90 L 842.54 237.14 L 845.17 238.82 L 847.66 240.97 L 849.83 243.45 L 851.72 246.33 L 853.35 249.68 L 854.54 253.20 L 855.32 257.12 L 855.68 261.50 L 855.91 273.79 L 855.73 281.01 L 855.03 289.57 L 854.23 295.38 L 853.00 301.79 L 851.27 308.87 L 849.19 315.81 L 846.42 323.41 L 842.89 331.72 L 838.95 339.81 L 834.07 348.61 L 828.13 358.18 L 827.30 342.80 L 826.16 328.28 L 824.72 314.18 L 823.18 301.68 L 821.44 289.87 L 819.82 280.38 L 818.08 271.85 L 816.71 266.38 Z" fill="#c992b9" fill-rule="nonzero" group-id="3,16" id="联合_12" node-id="24" stroke="none" target-height="350.4245" target-width="158.51093" target-x="719.07306" target-y="234.79152"/><path d="M 507.55 876.44 L 501.51 875.24 L 494.94 873.74 L 484.68 871.10 L 473.35 867.85 L 459.05 863.24 L 449.24 859.80 L 438.44 855.69 L 426.57 850.86 L 414.86 845.74 L 402.42 839.85 L 389.21 833.16 L 376.25 826.08 L 362.84 818.16 L 348.95 809.34 L 338.81 802.46 L 328.57 795.06 L 318.22 787.11 L 307.75 778.61 L 297.66 769.89 L 287.60 760.59 L 277.58 750.69 L 267.58 740.18 L 258.04 729.43 L 248.67 718.05 L 239.45 705.99 L 230.40 693.25 L 223.60 682.95 L 216.97 672.19 L 210.52 660.96 L 204.26 649.24 L 198.19 637.01 L 192.61 624.83 L 187.28 612.13 L 182.22 598.88 L 177.42 585.08 L 172.91 570.69 L 168.93 556.49 L 165.29 541.69 L 162.00 526.27 L 159.07 510.21 L 156.52 493.48 L 154.52 477.11 L 152.95 460.06 L 151.83 442.31 L 151.17 423.82 L 151.01 404.58 L 151.35 385.89 L 152.22 366.43 L 153.66 346.18 L 155.69 325.12 L 158.32 303.20 L 156.30 325.38 L 154.86 346.69 L 153.97 367.15 L 153.60 386.80 L 153.74 405.67 L 154.39 425.08 L 155.50 443.71 L 157.05 461.58 L 159.02 478.73 L 161.39 495.18 L 164.31 511.99 L 167.58 528.11 L 171.19 543.57 L 175.12 558.39 L 179.37 572.60 L 184.15 586.99 L 189.19 600.79 L 194.48 614.00 L 200.00 626.66 L 205.77 638.77 L 212.02 650.95 L 218.44 662.60 L 225.03 673.74 L 231.78 684.39 L 238.68 694.57 L 247.86 707.18 L 257.18 719.08 L 266.63 730.30 L 276.22 740.86 L 286.27 751.18 L 296.32 760.88 L 306.39 769.97 L 316.47 778.48 L 326.92 786.76 L 337.24 794.48 L 347.44 801.65 L 357.52 808.29 L 371.33 816.80 L 384.64 824.41 L 397.49 831.17 L 410.57 837.55 L 422.88 843.13 L 434.45 847.96 L 446.18 852.49 L 456.85 856.33 L 466.52 859.52 L 480.62 863.76 L 491.78 866.72 L 501.87 869.09 L 508.33 870.41 L 514.27 871.45 Z" fill="#d46c49" fill-rule="nonzero" group-id="4,17" id="路径_148" node-id="26" stroke="none" target-height="573.234" target-width="363.26123" target-x="151.00586" target-y="303.20398"/><path d="M 157.77 316.30 L 164.77 299.32 L 171.78 283.46 L 178.96 268.20 L 185.63 254.78 L 192.23 242.21 L 197.81 232.23 L 203.13 223.36 L 206.83 217.78 L 208.94 214.38 L 210.67 210.74 L 212.00 206.85 L 212.91 202.83 L 213.37 198.85 L 213.40 194.90 L 212.95 190.98 L 212.02 187.38 L 210.63 184.05 L 209.24 181.73 L 207.58 179.70 L 205.61 177.93 L 203.33 176.40 L 199.97 174.91 L 196.51 173.99 L 192.89 173.65 L 189.26 173.86 L 185.64 174.64 L 182.00 176.00 L 178.58 177.86 L 175.30 180.30 L 172.15 183.37 L 169.43 186.83 L 167.00 190.91 L 164.87 195.69 L 159.76 209.44 L 157.12 217.64 L 154.53 227.58 L 153.14 234.45 L 152.00 242.20 L 151.15 250.91 L 150.76 259.61 L 150.88 269.34 L 151.57 280.22 L 152.44 288.19 L 153.74 296.83 L 155.50 306.18 L 157.77 316.30 Z" fill="#c23629" fill-rule="nonzero" group-id="4,18" id="路径_149" node-id="27" stroke="none" target-height="142.6518" target-width="62.630966" target-x="150.76428" target-y="173.64676"/><path d="M 151.29 425.24 L 159.67 411.94 L 167.89 399.59 L 176.17 387.77 L 183.75 377.44 L 191.16 367.82 L 197.32 360.22 L 203.10 353.53 L 207.04 349.38 L 209.32 346.83 L 211.31 344.01 L 213.00 340.92 L 214.35 337.66 L 215.31 334.36 L 215.90 331.01 L 216.08 327.62 L 215.81 324.43 L 215.11 321.38 L 213.93 318.53 L 212.24 316.00 L 210.02 313.77 L 207.39 311.98 L 204.59 310.67 L 201.58 309.82 L 198.47 309.43 L 195.29 309.53 L 192.01 310.11 L 188.84 311.16 L 185.71 312.72 L 182.60 314.83 L 179.80 317.34 L 177.15 320.42 L 174.66 324.14 L 168.35 335.00 L 164.94 341.53 L 161.31 349.56 L 159.15 355.16 L 157.07 361.55 L 155.09 368.80 L 153.51 376.11 L 152.21 384.38 L 151.23 393.70 L 150.74 403.02 L 150.74 413.50 L 151.29 425.24 Z" fill="#c23629" fill-rule="nonzero" group-id="4,19" id="路径_150" node-id="28" stroke="none" target-height="115.80585" target-width="65.33617" target-x="150.74068" target-y="309.43375"/><path d="M 156.20 463.57 L 148.36 454.90 L 140.76 446.92 L 133.19 439.32 L 126.31 432.74 L 119.65 426.65 L 114.16 421.89 L 109.07 417.74 L 105.65 415.21 L 103.65 413.64 L 101.84 411.83 L 100.20 409.78 L 98.21 406.43 L 96.83 402.88 L 96.27 400.41 L 96.06 398.02 L 96.20 395.68 L 96.71 393.42 L 97.64 391.33 L 99.00 389.39 L 100.73 387.70 L 102.62 386.36 L 104.70 385.34 L 106.98 384.63 L 110.13 384.22 L 113.39 384.45 L 116.83 385.35 L 119.25 386.41 L 121.64 387.89 L 124.00 389.82 L 126.34 392.25 L 132.34 399.40 L 135.68 403.75 L 139.35 409.17 L 141.65 413.01 L 143.98 417.43 L 146.34 422.51 L 148.41 427.68 L 150.41 433.59 L 152.29 440.33 L 153.82 447.13 L 155.13 454.84 L 156.20 463.57 Z" fill="#c23629" fill-rule="nonzero" group-id="4,20" id="路径_185" node-id="29" stroke="none" target-height="79.346924" target-width="60.130737" target-x="96.0643" target-y="384.22113"/><path d="M 197.64 626.05 L 201.21 612.47 L 204.89 599.73 L 208.76 587.42 L 212.44 576.56 L 216.16 566.35 L 219.36 558.20 L 222.49 550.93 L 224.72 546.31 L 225.98 543.51 L 226.92 540.58 L 227.52 537.49 L 227.80 534.36 L 227.74 531.30 L 227.34 528.32 L 226.59 525.41 L 225.51 522.79 L 224.10 520.42 L 222.34 518.35 L 220.23 516.70 L 217.75 515.44 L 215.04 514.68 L 212.31 514.37 L 209.52 514.50 L 206.77 515.05 L 204.10 516.03 L 201.47 517.45 L 199.06 519.23 L 196.82 521.43 L 194.74 524.09 L 193.03 527.00 L 191.60 530.35 L 190.48 534.19 L 188.03 545.13 L 186.87 551.61 L 185.94 559.40 L 185.59 564.74 L 185.53 570.71 L 185.79 577.38 L 186.40 583.99 L 187.51 591.33 L 189.17 599.47 L 191.24 607.47 L 194.04 616.31 L 197.64 626.05 Z" fill="#c23629" fill-rule="nonzero" group-id="4,21" id="路径_151" node-id="30" stroke="none" target-height="111.68042" target-width="42.26712" target-x="185.53214" target-y="514.3656"/><path d="M 180.87 586.18 L 170.45 577.17 L 160.40 568.93 L 150.44 561.15 L 141.43 554.45 L 132.74 548.30 L 125.62 543.54 L 119.05 539.44 L 114.67 536.99 L 112.09 535.45 L 109.71 533.60 L 107.51 531.43 L 105.55 529.03 L 103.92 526.50 L 102.59 523.81 L 101.60 520.98 L 101.04 518.19 L 100.88 515.41 L 101.19 512.66 L 102.00 510.05 L 103.35 507.54 L 105.15 505.29 L 107.21 503.41 L 109.57 501.86 L 112.13 500.68 L 114.86 499.88 L 117.79 499.48 L 120.76 499.50 L 123.80 499.97 L 126.97 500.91 L 129.98 502.27 L 132.99 504.17 L 136.03 506.65 L 144.08 514.14 L 148.60 518.76 L 153.67 524.59 L 156.89 528.76 L 160.24 533.62 L 163.71 539.24 L 166.86 545.01 L 170.00 551.69 L 173.14 559.35 L 175.86 567.13 L 178.44 576.04 L 180.87 586.18 Z" fill="#c23629" fill-rule="nonzero" group-id="4,22" id="路径_152" node-id="31" stroke="none" target-height="86.69403" target-width="79.98265" target-x="100.88486" target-y="499.48145"/><path d="M 233.59 688.70 L 222.88 684.92 L 212.67 681.62 L 202.66 678.65 L 193.71 676.23 L 185.17 674.14 L 178.24 672.64 L 171.94 671.49 L 167.82 670.94 L 165.36 670.54 L 162.97 669.84 L 160.63 668.83 L 158.42 667.57 L 156.42 666.10 L 154.61 664.42 L 153.03 662.53 L 151.78 660.53 L 150.86 658.40 L 150.30 656.17 L 150.18 653.88 L 150.51 651.50 L 151.60 648.46 L 153.21 645.78 L 155.39 643.42 L 157.97 641.51 L 160.93 640.12 L 164.33 639.23 L 166.94 638.98 L 169.68 639.12 L 172.60 639.66 L 175.73 640.65 L 184.17 643.99 L 189.02 646.18 L 194.65 649.15 L 198.36 651.39 L 202.37 654.14 L 206.70 657.44 L 210.81 660.97 L 215.19 665.19 L 219.84 670.19 L 224.19 675.41 L 228.77 681.55 L 233.59 688.70 Z" fill="#c23629" fill-rule="nonzero" group-id="4,23" id="路径_153" node-id="32" stroke="none" target-height="49.715576" target-width="83.40314" target-x="150.18494" target-y="638.98285"/><path d="M 307.65 773.28 L 306.20 759.96 L 305.17 747.33 L 304.47 735.00 L 304.11 724.03 L 304.02 713.61 L 304.18 705.21 L 304.57 697.60 L 305.07 692.68 L 305.28 689.72 L 305.12 686.78 L 304.60 683.83 L 303.73 680.97 L 302.57 678.31 L 301.11 675.83 L 299.35 673.57 L 297.36 671.68 L 295.14 670.13 L 292.71 669.00 L 290.08 668.35 L 287.21 668.21 L 284.32 668.58 L 281.57 669.36 L 278.92 670.55 L 276.46 672.10 L 274.23 674.00 L 272.21 676.26 L 270.52 678.77 L 269.15 681.57 L 268.11 684.69 L 267.50 687.93 L 267.33 691.42 L 267.64 695.22 L 269.21 705.79 L 270.42 711.94 L 272.33 719.15 L 273.92 723.99 L 276.02 729.27 L 278.67 735.04 L 281.64 740.61 L 285.35 746.64 L 289.89 753.17 L 294.77 759.40 L 300.65 766.09 L 307.65 773.28 Z" fill="#c23629" fill-rule="nonzero" group-id="4,24" id="路径_154" node-id="33" stroke="none" target-height="105.07367" target-width="40.318237" target-x="267.33298" target-y="668.20667"/><path d="M 433.63 852.92 L 433.75 839.51 L 434.21 826.84 L 434.97 814.51 L 435.90 803.57 L 437.05 793.22 L 438.19 784.89 L 439.48 777.39 L 440.55 772.56 L 441.11 769.65 L 441.30 766.71 L 441.12 763.72 L 440.60 760.77 L 439.76 757.98 L 438.60 755.34 L 437.12 752.87 L 435.37 750.74 L 433.35 748.92 L 431.06 747.49 L 428.53 746.52 L 425.70 746.00 L 422.78 746.01 L 419.96 746.43 L 417.19 747.28 L 414.57 748.51 L 412.13 750.11 L 409.86 752.09 L 407.88 754.37 L 406.19 756.98 L 404.79 759.95 L 403.81 763.08 L 403.23 766.53 L 403.08 770.34 L 403.40 781.03 L 403.88 787.29 L 404.93 794.69 L 405.94 799.69 L 407.40 805.20 L 409.35 811.27 L 411.65 817.18 L 414.62 823.64 L 418.36 830.70 L 422.47 837.50 L 427.52 844.89 L 433.63 852.92 Z" fill="#c23629" fill-rule="nonzero" group-id="4,25" id="路径_164" node-id="34" stroke="none" target-height="106.91809" target-width="38.210663" target-x="403.08487" target-y="746.00415"/><path d="M 466.18 865.13 L 454.75 868.66 L 444.02 872.31 L 433.67 876.14 L 424.56 879.79 L 415.99 883.48 L 409.16 886.66 L 403.08 889.75 L 399.22 891.97 L 396.87 893.23 L 394.40 894.15 L 391.80 894.75 L 389.15 895.02 L 386.55 894.95 L 383.99 894.55 L 381.51 893.81 L 379.25 892.74 L 377.16 891.33 L 375.36 889.60 L 373.88 887.51 L 372.72 885.01 L 371.98 882.32 L 371.62 879.60 L 371.64 876.83 L 372.03 874.09 L 372.78 871.43 L 373.90 868.84 L 375.35 866.42 L 377.15 864.20 L 379.33 862.16 L 381.76 860.45 L 384.56 859.04 L 387.78 857.94 L 397.00 855.50 L 402.48 854.36 L 409.08 853.44 L 413.61 853.10 L 418.69 853.05 L 424.38 853.31 L 430.01 853.92 L 436.29 855.03 L 443.29 856.69 L 450.14 858.74 L 457.75 861.53 L 466.18 865.13 Z" fill="#c23629" fill-rule="nonzero" group-id="4,26" id="路径_165" node-id="35" stroke="none" target-height="41.968445" target-width="94.558716" target-x="371.62296" target-y="853.0486"/><path d="M 539.42 904.20 L 532.51 902.73 L 524.97 900.94 L 513.07 897.86 L 499.87 894.13 L 483.03 888.94 L 465.15 882.93 L 444.29 875.28 L 430.17 869.72 L 415.02 863.39 L 398.81 856.22 L 382.79 848.71 L 366.03 840.35 L 348.49 831.09 L 331.22 821.40 L 313.49 810.79 L 295.26 799.21 L 281.88 790.23 L 268.39 780.70 L 254.78 770.60 L 241.05 759.91 L 227.70 748.98 L 214.37 737.45 L 201.07 725.30 L 187.78 712.53 L 174.95 699.49 L 162.28 685.79 L 149.76 671.43 L 137.38 656.39 L 127.91 644.20 L 118.61 631.56 L 109.49 618.46 L 100.55 604.89 L 91.78 590.83 L 103.52 608.13 L 115.47 624.66 L 127.61 640.43 L 139.94 655.46 L 152.82 670.25 L 165.77 684.33 L 178.81 697.73 L 191.93 710.45 L 205.50 722.93 L 219.03 734.75 L 232.51 745.95 L 245.96 756.54 L 259.80 766.89 L 273.46 776.65 L 286.95 785.83 L 300.27 794.45 L 318.43 805.56 L 336.03 815.70 L 353.09 824.92 L 370.42 833.72 L 386.92 841.63 L 402.64 848.69 L 418.55 855.42 L 433.37 861.33 L 447.16 866.49 L 467.50 873.56 L 484.87 879.06 L 501.22 883.77 L 513.99 887.12 L 525.49 889.86 L 532.77 891.42 L 539.42 892.69 Z" fill="#d46c49" fill-rule="nonzero" group-id="5,27" id="路径_155" node-id="37" stroke="none" target-height="313.37097" target-width="447.6421" target-x="91.77881" target-y="590.827"/><path d="M 106.54 614.42 L 101.83 600.20 L 97.57 586.46 L 93.64 572.89 L 90.23 560.26 L 87.14 547.99 L 84.60 537.13 L 82.40 526.80 L 80.78 518.37 L 79.52 510.65 L 78.86 505.30 L 78.22 501.23 L 77.13 497.26 L 75.59 493.38 L 73.65 489.68 L 71.41 486.34 L 68.86 483.34 L 65.97 480.67 L 62.95 478.59 L 59.76 477.04 L 57.23 476.26 L 54.68 475.88 L 52.07 475.91 L 49.38 476.36 L 45.94 477.57 L 42.78 479.30 L 39.86 481.58 L 37.32 484.28 L 35.14 487.41 L 33.32 491.00 L 31.99 494.81 L 31.15 498.96 L 30.82 503.50 L 31.04 508.04 L 31.90 512.84 L 33.43 517.95 L 38.58 531.95 L 41.95 540.03 L 46.49 549.38 L 49.93 555.58 L 54.12 562.26 L 59.14 569.45 L 64.52 576.33 L 70.94 583.64 L 78.50 591.39 L 84.33 596.84 L 90.91 602.49 L 98.29 608.35 L 106.54 614.42 Z" fill="#c23629" fill-rule="nonzero" group-id="5,28" id="路径_156" node-id="38" stroke="none" target-height="138.54019" target-width="75.723175" target-x="30.815403" target-y="475.88266"/><path d="M 140.91 658.25 L 127.04 658.29 L 113.94 658.67 L 101.20 659.35 L 89.89 660.21 L 79.19 661.28 L 70.59 662.37 L 62.84 663.61 L 57.86 664.65 L 54.86 665.18 L 51.82 665.35 L 48.72 665.16 L 45.67 664.62 L 42.78 663.77 L 40.03 662.59 L 37.47 661.09 L 35.26 659.33 L 33.37 657.31 L 31.87 655.01 L 30.85 652.48 L 30.31 649.66 L 30.29 646.76 L 30.71 643.94 L 31.57 641.19 L 32.83 638.58 L 34.47 636.16 L 36.51 633.91 L 38.85 631.95 L 41.54 630.28 L 44.61 628.90 L 47.84 627.94 L 51.40 627.39 L 55.35 627.26 L 66.40 627.64 L 72.88 628.17 L 80.54 629.26 L 85.72 630.30 L 91.42 631.79 L 97.70 633.78 L 103.83 636.10 L 110.53 639.11 L 117.84 642.88 L 124.91 647.03 L 132.58 652.12 L 140.91 658.25 Z" fill="#c23629" fill-rule="nonzero" group-id="5,29" id="路径_160" node-id="39" stroke="none" target-height="38.08667" target-width="110.61551" target-x="30.292892" target-y="627.2639"/><path d="M 205.91 727.87 L 192.04 727.91 L 178.94 728.29 L 166.20 728.97 L 154.89 729.83 L 144.19 730.90 L 135.59 731.99 L 127.84 733.23 L 122.86 734.27 L 119.86 734.80 L 116.82 734.97 L 113.72 734.78 L 110.67 734.24 L 107.78 733.38 L 105.03 732.21 L 102.47 730.71 L 100.26 728.95 L 98.37 726.93 L 96.87 724.63 L 95.85 722.10 L 95.31 719.28 L 95.29 716.38 L 95.71 713.56 L 96.57 710.81 L 97.83 708.20 L 99.47 705.78 L 101.51 703.52 L 103.85 701.57 L 106.54 699.90 L 109.61 698.52 L 112.84 697.56 L 116.40 697.00 L 120.34 696.88 L 131.40 697.26 L 137.88 697.79 L 145.54 698.88 L 150.72 699.92 L 156.42 701.41 L 162.70 703.40 L 168.83 705.72 L 175.53 708.73 L 182.84 712.50 L 189.91 716.65 L 197.58 721.74 L 205.91 727.87 Z" fill="#c23629" fill-rule="nonzero" group-id="5,30" id="路径_161" node-id="40" stroke="none" target-height="38.08667" target-width="110.61551" target-x="95.29288" target-y="696.8829"/><path d="M 296.38 797.12 L 280.81 797.17 L 266.10 797.59 L 251.79 798.35 L 239.09 799.32 L 227.08 800.53 L 217.42 801.75 L 208.72 803.13 L 203.12 804.30 L 199.75 804.90 L 196.34 805.09 L 192.86 804.88 L 189.43 804.27 L 186.19 803.31 L 183.11 802.00 L 180.23 800.31 L 177.75 798.34 L 175.62 796.06 L 173.94 793.48 L 172.79 790.64 L 172.18 787.48 L 172.17 784.21 L 172.64 781.05 L 173.61 777.96 L 175.02 775.04 L 176.86 772.32 L 179.15 769.78 L 181.78 767.59 L 184.79 765.72 L 188.24 764.17 L 191.87 763.09 L 195.87 762.46 L 200.30 762.32 L 212.72 762.75 L 219.99 763.34 L 228.59 764.56 L 234.40 765.73 L 240.81 767.41 L 247.86 769.64 L 254.74 772.25 L 262.26 775.63 L 270.48 779.86 L 278.41 784.52 L 287.03 790.23 L 296.38 797.12 Z" fill="#c23629" fill-rule="nonzero" group-id="5,31" id="路径_162" node-id="41" stroke="none" target-height="42.767456" target-width="124.21242" target-x="172.16841" target-y="762.32495"/><path d="M 383.58 847.25 L 368.94 850.54 L 355.18 854.01 L 341.87 857.71 L 330.11 861.28 L 319.04 864.93 L 310.19 868.11 L 302.27 871.24 L 297.24 873.52 L 294.18 874.79 L 291.00 875.69 L 287.69 876.21 L 284.35 876.35 L 281.11 876.11 L 277.96 875.50 L 274.92 874.49 L 272.20 873.13 L 269.76 871.41 L 267.68 869.31 L 266.05 866.84 L 264.86 863.95 L 264.21 860.85 L 264.04 857.74 L 264.35 854.59 L 265.11 851.52 L 266.31 848.54 L 267.98 845.65 L 270.03 843.01 L 272.50 840.60 L 275.44 838.41 L 278.65 836.62 L 282.29 835.20 L 286.42 834.15 L 298.19 831.96 L 305.15 831.01 L 313.48 830.38 L 319.17 830.28 L 325.53 830.54 L 332.59 831.20 L 339.58 832.25 L 347.31 833.90 L 355.86 836.22 L 364.22 839.00 L 373.44 842.64 L 383.58 847.25 Z" fill="#c23629" fill-rule="nonzero" group-id="5,32" id="路径_163" node-id="42" stroke="none" target-height="46.06488" target-width="119.53525" target-x="264.04443" target-y="830.2819"/><path d="M 170.94 693.54 L 169.56 679.46 L 168.57 666.12 L 167.89 653.12 L 167.54 641.55 L 167.45 630.58 L 167.59 621.73 L 167.96 613.73 L 168.43 608.57 L 168.62 605.47 L 168.47 602.37 L 167.97 599.24 L 167.15 596.19 L 166.04 593.35 L 164.66 590.69 L 162.98 588.23 L 161.10 586.17 L 159.01 584.47 L 156.69 583.17 L 154.20 582.40 L 151.51 582.14 L 148.78 582.43 L 146.18 583.14 L 143.67 584.30 L 141.36 585.83 L 139.25 587.74 L 137.33 590.06 L 135.74 592.62 L 134.44 595.52 L 133.46 598.79 L 132.88 602.16 L 132.73 605.84 L 133.02 609.86 L 134.51 621.05 L 135.67 627.57 L 137.48 635.23 L 138.99 640.39 L 140.98 646.02 L 143.49 652.19 L 146.31 658.18 L 149.83 664.67 L 154.12 671.70 L 158.76 678.46 L 164.33 685.73 L 170.94 693.54 Z" fill="#c23629" fill-rule="nonzero" group-id="5,33" id="路径_157" node-id="43" stroke="none" target-height="111.39697" target-width="38.2164" target-x="132.72551" target-y="582.1423"/><path d="M 263.50 773.78 L 260.21 763.11 L 257.35 752.93 L 254.79 742.97 L 252.72 734.05 L 250.94 725.56 L 249.68 718.67 L 248.72 712.40 L 248.29 708.31 L 247.69 704.67 L 246.48 701.16 L 244.72 697.90 L 242.52 695.11 L 240.81 693.50 L 238.99 692.24 L 237.06 691.29 L 235.02 690.71 L 232.93 690.55 L 230.74 690.83 L 227.94 691.85 L 225.46 693.41 L 223.24 695.53 L 221.46 698.05 L 220.13 700.95 L 219.26 704.32 L 218.98 706.90 L 219.06 709.63 L 219.51 712.53 L 220.37 715.64 L 223.29 724.06 L 225.23 728.91 L 227.86 734.53 L 231.03 740.23 L 235.27 746.61 L 238.44 750.75 L 242.25 755.16 L 246.75 759.84 L 251.47 764.26 L 257.03 768.90 L 263.50 773.78 Z" fill="#c23629" fill-rule="nonzero" group-id="5,34" id="路径_158" node-id="44" stroke="none" target-height="83.22931" target-width="44.515457" target-x="218.98427" target-y="690.55096"/><path d="M 374.48 842.22 L 370.65 831.74 L 367.28 821.73 L 364.23 811.92 L 361.71 803.13 L 359.51 794.75 L 357.90 787.94 L 356.63 781.73 L 355.99 777.67 L 355.21 774.06 L 353.82 770.62 L 351.90 767.47 L 349.57 764.80 L 347.77 763.29 L 345.90 762.12 L 343.93 761.28 L 341.86 760.81 L 339.76 760.77 L 337.59 761.17 L 334.85 762.34 L 332.45 764.02 L 330.34 766.26 L 328.69 768.87 L 327.50 771.85 L 326.80 775.26 L 326.66 777.86 L 326.87 780.57 L 327.47 783.45 L 328.48 786.51 L 331.82 794.75 L 334.00 799.49 L 336.91 804.96 L 340.36 810.48 L 344.92 816.62 L 348.29 820.59 L 352.31 824.78 L 357.04 829.21 L 361.99 833.36 L 367.77 837.70 L 374.48 842.22 Z" fill="#c23629" fill-rule="nonzero" group-id="5,35" id="路径_159" node-id="45" stroke="none" target-height="81.45392" target-width="47.821228" target-x="326.6561" target-y="760.7654"/><path d="M 542.07 901.36 L 549.93 896.93 L 557.59 892.00 L 565.04 886.55 L 572.31 880.57 L 579.40 874.03 L 586.05 867.23 L 592.55 859.98 L 598.88 852.25 L 605.04 844.03 L 611.05 835.29 L 618.01 824.24 L 624.72 812.57 L 631.19 800.24 L 637.42 787.24 L 643.15 774.17 L 648.64 760.61 L 653.89 746.54 L 658.88 731.95 L 664.97 712.41 L 670.62 692.27 L 675.83 671.51 L 680.54 650.63 L 684.81 629.46 L 688.67 608.00 L 692.10 586.46 L 695.13 564.96 L 697.76 543.49 L 700.04 521.98 L 701.95 500.85 L 703.50 480.08 L 704.75 459.28 L 705.68 439.21 L 706.29 419.85 L 706.69 391.18 L 706.50 364.88 L 705.74 339.50 L 704.53 317.25 L 703.40 302.76 L 702.13 290.08 L 700.75 279.05 L 699.04 268.04 L 697.30 259.25 L 695.57 252.36 L 689.63 259.69 L 682.86 268.62 L 675.17 279.36 L 667.77 290.27 L 659.78 302.63 L 651.17 316.57 L 642.86 330.65 L 634.21 346.00 L 625.20 362.70 L 616.53 379.54 L 607.76 397.46 L 598.88 416.51 L 590.41 435.70 L 582.07 455.76 L 573.86 476.71 L 566.13 497.83 L 558.76 519.60 L 551.75 542.05 L 546.88 558.97 L 542.33 576.14 L 538.10 593.56 L 534.19 611.25 L 530.70 628.98 L 527.63 646.85 L 525.01 664.88 L 522.81 683.05 L 521.11 701.26 L 519.95 719.51 L 519.33 737.81 L 519.25 756.18 L 519.60 770.86 L 520.37 785.51 L 521.54 800.15 L 523.12 814.76 L 525.12 829.37 L 527.55 843.89 L 530.46 858.34 L 533.85 872.73 L 537.72 887.07 L 542.07 901.36 Z" fill="#e3a870" fill-rule="nonzero" group-id="6,36" id="路径_166" node-id="47" stroke="none" target-height="649.00006" target-width="187.44629" target-x="519.2471" target-y="252.35799"/><g clip-path="url(#clip-path)" group-id="6,37" id="蒙版组_1" node-id="48"><path d="M 695.00 247.38 L 692.30 255.07 L 684.80 277.00 L 673.40 311.46 L 658.98 356.74 L 651.06 382.42 L 642.43 411.14 L 633.75 440.83 L 624.65 472.93 L 615.65 505.79 L 606.53 540.41 L 597.67 575.58 L 588.97 611.88 L 580.68 648.51 L 572.84 685.62 L 567.93 710.46 L 563.34 735.22 L 559.06 759.91 L 555.11 784.66 L 551.59 809.04 L 548.50 833.06 L 545.83 857.14 L 543.69 880.57 L 542.07 903.35" fill="none" group-id="6,37,40" id="路径_167" node-id="49" stroke="#d57249" stroke-linecap="butt" stroke-width="2" target-height="655.97296" target-width="152.93164" target-x="542.06836" target-y="247.37602"/><path d="M 665.61 289.17 L 665.60 291.63 L 665.79 297.66 L 666.06 301.34 L 666.51 305.24 L 667.19 309.06 L 668.08 312.36 L 668.92 314.42 L 669.84 315.93 L 670.84 317.00 L 671.71 317.34 L 672.87 317.25 L 674.49 316.55 L 676.89 314.91 L 679.93 312.25 L 682.99 309.18 L 686.31 305.54 L 692.75 297.83 L 698.42 290.56 L 702.45 285.15 L 703.99 283.03" fill="none" group-id="6,37,41" id="路径_168" node-id="50" stroke="#d57249" stroke-linecap="butt" stroke-width="2" target-height="34.307312" target-width="38.384766" target-x="665.6006" target-y="283.034"/><path d="M 645.12 322.47 L 644.84 325.59 L 644.25 333.72 L 643.74 345.04 L 643.64 351.29 L 643.71 357.70 L 644.00 364.05 L 644.55 369.88 L 645.46 375.40 L 646.65 379.75 L 647.79 382.39 L 649.05 384.24 L 650.41 385.47 L 651.61 385.96 L 653.05 386.12 L 654.82 385.90 L 657.01 385.18 L 659.73 383.89 L 662.86 382.04 L 666.46 379.54 L 671.71 375.42 L 677.35 370.52 L 682.90 365.35 L 688.27 360.08 L 697.81 350.20 L 704.57 342.82 L 707.14 339.93" fill="none" group-id="6,37,42" id="路径_169" node-id="51" stroke="#d57249" stroke-linecap="butt" stroke-width="2" target-height="63.651672" target-width="63.496094" target-x="643.6426" target-y="322.471"/><path d="M 616.96 372.14 L 616.33 376.52 L 614.88 388.06 L 613.20 404.42 L 612.49 413.59 L 611.94 423.23 L 611.66 432.89 L 611.71 442.14 L 612.19 451.11 L 613.13 458.79 L 614.15 463.74 L 615.39 467.69 L 616.82 470.82 L 618.26 472.96 L 619.82 474.44 L 621.52 475.40 L 623.41 475.87 L 626.15 475.79 L 629.43 475.09 L 633.38 473.61 L 637.17 471.76 L 641.37 469.37 L 646.00 466.36 L 652.81 461.47 L 660.05 455.77 L 667.21 449.73 L 674.29 443.44 L 687.50 431.02 L 698.45 420.13 L 705.93 412.41 L 708.69 409.47" fill="none" group-id="6,37,43" id="路径_170" node-id="52" stroke="#d57249" stroke-linecap="butt" stroke-width="2" target-height="103.724976" target-width="97.03027" target-x="611.6582" target-y="372.144"/><path d="M 578.50 456.26 L 578.50 460.34 L 578.65 471.27 L 579.16 487.11 L 580.27 505.94 L 581.11 515.86 L 582.18 525.81 L 583.53 535.64 L 585.12 544.79 L 587.11 553.56 L 589.32 560.95 L 591.14 565.64 L 593.04 569.39 L 594.99 572.34 L 596.77 574.34 L 598.57 575.73 L 600.42 576.61 L 602.35 577.04 L 604.34 576.95 L 606.63 576.42 L 609.31 575.34 L 612.46 573.59 L 616.29 570.97 L 620.61 567.53 L 625.48 563.17 L 632.57 556.14 L 640.31 547.74 L 648.00 538.85 L 655.87 529.28 L 663.60 519.51 L 671.05 509.76 L 684.77 491.14 L 695.92 475.41 L 703.41 464.52 L 706.15 460.45" fill="none" group-id="6,37,44" id="路径_171" node-id="53" stroke="#d57249" stroke-linecap="butt" stroke-width="2" target-height="120.77197" target-width="127.65039" target-x="578.5039" target-y="456.265"/><path d="M 554.65 524.33 L 554.84 528.74 L 555.47 540.59 L 556.68 557.75 L 558.60 578.15 L 559.86 588.89 L 561.36 599.67 L 563.11 610.31 L 565.08 620.21 L 567.41 629.69 L 569.90 637.68 L 571.90 642.75 L 573.92 646.79 L 575.95 649.96 L 577.81 652.13 L 579.64 653.62 L 581.48 654.54 L 583.35 654.97 L 586.06 654.86 L 589.45 654.10 L 593.71 652.52 L 597.80 650.58 L 602.43 648.05 L 607.67 644.84 L 615.42 639.61 L 623.93 633.39 L 632.47 626.77 L 641.23 619.65 L 649.90 612.36 L 658.27 605.11 L 673.76 591.22 L 686.42 579.48 L 694.96 571.35 L 698.09 568.31" fill="none" group-id="6,37,45" id="路径_172" node-id="54" stroke="#d57249" stroke-linecap="butt" stroke-width="2" target-height="130.63898" target-width="143.43555" target-x="554.6543" target-y="524.33"/><path d="M 531.14 612.64 L 531.49 617.01 L 532.59 628.79 L 534.47 645.94 L 537.21 666.44 L 538.90 677.29 L 540.84 688.27 L 543.02 699.15 L 545.41 709.42 L 548.14 719.31 L 550.99 727.85 L 553.20 733.32 L 555.41 737.85 L 557.62 741.55 L 559.60 744.19 L 561.54 746.16 L 563.45 747.57 L 565.35 748.49 L 567.40 748.90 L 569.80 748.89 L 572.63 748.37 L 575.99 747.24 L 580.18 745.30 L 584.96 742.59 L 590.41 738.98 L 598.42 732.98 L 607.27 725.62 L 616.10 717.71 L 625.21 709.08 L 634.20 700.20 L 642.91 691.27 L 659.01 674.09 L 672.17 659.45 L 681.06 649.27 L 684.32 645.45" fill="none" group-id="6,37,46" id="路径_173" node-id="55" stroke="#d57249" stroke-linecap="butt" stroke-width="2" target-height="136.26428" target-width="153.17822" target-x="531.14014" target-y="612.64"/><path d="M 523.21 733.76 L 523.55 738.13 L 524.54 749.76 L 526.14 766.42 L 528.28 785.89 L 530.92 805.92 L 532.44 815.63 L 534.02 824.31 L 535.79 832.48 L 537.51 838.81 L 538.91 842.80 L 540.20 845.49 L 541.36 847.20 L 542.21 847.80 L 543.35 848.02 L 544.91 847.79 L 547.10 846.91 L 549.75 845.39 L 553.05 843.08 L 557.15 839.78 L 563.20 834.36 L 570.35 827.41 L 577.64 819.92 L 585.54 811.44 L 593.48 802.66 L 601.57 793.49 L 617.28 775.16 L 631.51 758.09 L 643.11 743.89 L 650.92 734.18 L 653.78 730.58" fill="none" group-id="6,37,47" id="路径_174" node-id="56" stroke="#d57249" stroke-linecap="butt" stroke-width="2" target-height="117.43689" target-width="130.5708" target-x="523.2095" target-y="730.583"/></g><path d="M 553.00 908.17 L 553.19 899.71 L 552.88 891.21 L 552.04 882.64 L 550.67 873.98 L 548.77 865.22 L 546.44 856.67 L 543.67 848.06 L 540.45 839.37 L 536.74 830.60 L 532.56 821.74 L 526.94 811.03 L 520.73 800.25 L 513.90 789.40 L 506.42 778.47 L 498.64 767.89 L 490.39 757.31 L 481.65 746.73 L 472.41 736.15 L 459.73 722.45 L 446.46 708.91 L 432.58 695.52 L 418.37 682.48 L 403.84 669.74 L 389.00 657.31 L 373.91 645.18 L 358.82 633.50 L 343.72 622.26 L 328.42 611.29 L 313.45 600.91 L 298.80 591.12 L 283.98 581.55 L 269.81 572.73 L 256.30 564.61 L 236.17 553.09 L 218.26 543.48 L 206.42 537.51 L 195.96 532.54 L 186.76 528.47 L 177.40 524.69 L 169.85 522.04 L 163.84 520.30 L 166.76 528.63 L 170.60 538.50 L 175.50 550.10 L 180.70 561.54 L 186.81 574.19 L 193.94 588.14 L 201.35 601.90 L 209.64 616.54 L 218.88 632.08 L 228.43 647.40 L 238.81 663.23 L 250.05 679.59 L 261.67 695.67 L 274.04 711.91 L 287.20 728.32 L 297.33 740.37 L 307.84 752.32 L 318.74 764.17 L 330.04 775.92 L 341.59 787.37 L 353.48 798.53 L 365.72 809.43 L 378.31 820.05 L 391.20 830.28 L 404.39 840.08 L 417.91 849.44 L 431.74 858.36 L 443.03 865.14 L 454.50 871.55 L 466.16 877.57 L 478.01 883.23 L 490.06 888.52 L 502.27 893.37 L 514.66 897.76 L 527.23 901.69 L 540.01 905.16 L 553.00 908.17 Z" fill="#519886" fill-rule="nonzero" group-id="7" id="路径_166-2" node-id="58" stroke="none" target-height="387.86176" target-width="389.3519" target-x="163.84195" target-y="520.30347"/><g clip-path="url(#clip-path-2)" group-id="7,38" id="蒙版组_1-2" node-id="59"><path d="M 160.11 518.64 L 165.15 524.88 L 179.54 542.38 L 202.23 569.33 L 232.15 603.94 L 249.18 623.22 L 268.22 644.41 L 288.01 666.02 L 309.40 688.92 L 331.41 711.96 L 354.60 735.67 L 378.31 759.26 L 402.76 782.86 L 419.32 798.40 L 436.01 813.67 L 452.83 828.68 L 469.87 843.44 L 486.83 857.65 L 503.73 871.33 L 520.89 884.69 L 537.78 897.24 L 554.39 909.00" fill="none" group-id="7,38,48" id="路径_167-2" node-id="60" stroke="#438a78" stroke-linecap="butt" stroke-width="2" target-height="390.35754" target-width="394.27512" target-x="160.11496" target-y="518.64484"/><path d="M 177.00 558.34 L 178.72 559.38 L 183.01 561.76 L 188.61 564.40 L 191.56 565.49 L 194.24 566.19 L 196.03 566.43 L 197.47 566.37 L 198.64 566.06 L 199.31 565.45 L 199.75 564.30 L 199.86 562.30 L 199.50 559.09 L 198.58 554.80 L 197.34 550.32 L 195.82 545.52 L 192.59 536.45 L 189.92 529.55 L 188.80 526.82" fill="none" group-id="7,38,49" id="路径_168-2" node-id="61" stroke="#438a78" stroke-linecap="butt" stroke-width="2" target-height="39.612" target-width="22.853088" target-x="177.0021" target-y="526.81665"/><path d="M 191.68 587.75 L 194.44 589.78 L 201.55 594.75 L 211.22 600.96 L 216.50 604.03 L 221.68 606.73 L 226.83 608.98 L 231.18 610.36 L 234.04 610.83 L 236.23 610.73 L 237.92 610.17 L 239.01 609.18 L 239.88 607.56 L 240.48 605.07 L 240.76 600.98 L 240.50 595.58 L 239.82 589.89 L 238.76 583.58 L 237.48 577.22 L 236.05 570.97 L 233.14 559.62 L 230.82 551.43 L 229.87 548.29" fill="none" group-id="7,38,50" id="路径_169-2" node-id="62" stroke="#438a78" stroke-linecap="butt" stroke-width="2" target-height="62.546814" target-width="49.076294" target-x="191.68387" target-y="548.2856"/><path d="M 214.59 629.82 L 217.38 632.13 L 224.84 638.06 L 235.57 646.18 L 241.68 650.57 L 248.19 655.02 L 254.82 659.29 L 261.30 663.12 L 267.77 666.52 L 273.53 669.03 L 277.41 670.34 L 280.70 671.05 L 283.48 671.29 L 285.56 671.11 L 287.25 670.56 L 288.64 669.68 L 289.77 668.44 L 290.86 666.34 L 291.75 663.57 L 292.37 659.97 L 292.74 654.31 L 292.60 647.41 L 292.03 640.22 L 291.08 632.37 L 289.86 624.44 L 288.44 616.46 L 285.30 601.29 L 282.28 588.46 L 280.01 579.59 L 279.12 576.27" fill="none" group-id="7,38,51" id="路径_170-2" node-id="63" stroke="#438a78" stroke-linecap="butt" stroke-width="2" target-height="95.01825" target-width="78.15135" target-x="214.5887" target-y="576.27075"/><path d="M 257.25 694.09 L 260.82 696.23 L 270.33 701.71 L 283.98 709.13 L 291.73 713.10 L 299.99 717.11 L 308.37 720.90 L 316.55 724.26 L 324.67 727.14 L 331.88 729.17 L 336.68 730.12 L 340.74 730.52 L 344.17 730.46 L 346.72 730.03 L 348.75 729.25 L 350.37 728.15 L 351.64 726.73 L 352.63 724.60 L 353.28 721.66 L 353.47 717.66 L 353.24 713.67 L 352.65 708.97 L 351.64 703.47 L 349.70 695.17 L 347.08 685.82 L 344.09 676.29 L 340.70 666.34 L 337.11 656.41 L 333.42 646.71 L 326.16 628.56 L 319.84 613.55 L 315.37 603.33 L 313.68 599.56" fill="none" group-id="7,38,52" id="路径_171-2" node-id="64" stroke="#438a78" stroke-linecap="butt" stroke-width="2" target-height="130.96533" target-width="96.214905" target-x="257.2527" target-y="599.556"/><path d="M 294.82 740.62 L 298.78 742.76 L 309.33 748.26 L 324.44 755.72 L 333.01 759.72 L 342.12 763.76 L 351.35 767.58 L 360.34 770.97 L 369.23 773.89 L 377.09 775.96 L 382.32 776.95 L 386.70 777.38 L 390.36 777.35 L 393.10 776.93 L 395.23 776.17 L 396.88 775.10 L 398.13 773.73 L 399.29 771.37 L 400.25 768.02 L 400.93 763.42 L 401.29 756.19 L 401.08 747.13 L 400.40 737.64 L 399.29 727.14 L 397.89 716.49 L 396.26 705.71 L 392.68 685.11 L 389.25 667.59 L 386.68 655.41 L 385.67 650.85" fill="none" group-id="7,38,53" id="路径_172-2" node-id="65" stroke="#438a78" stroke-linecap="butt" stroke-width="2" target-height="126.52399" target-width="106.475006" target-x="294.8167" target-y="650.8545"/><path d="M 346.67 795.38 L 350.69 797.34 L 361.42 802.37 L 376.90 809.23 L 385.69 812.90 L 395.12 816.63 L 404.69 820.16 L 414.12 823.33 L 423.47 826.06 L 431.91 828.05 L 437.52 829.01 L 442.36 829.48 L 446.51 829.53 L 449.68 829.22 L 452.24 828.58 L 454.30 827.68 L 455.94 826.52 L 457.08 825.15 L 458.08 823.34 L 458.90 820.99 L 459.52 817.96 L 459.92 813.99 L 460.03 809.25 L 459.80 803.63 L 458.96 795.07 L 457.53 785.31 L 455.70 775.33 L 453.49 764.84 L 451.05 754.34 L 448.46 744.02 L 443.20 724.68 L 438.49 708.61 L 435.10 697.64 L 433.80 693.58" fill="none" group-id="7,38,54" id="路径_173-2" node-id="66" stroke="#438a78" stroke-linecap="butt" stroke-width="2" target-height="135.95209" target-width="113.36359" target-x="346.66937" target-y="693.57935"/><path d="M 427.98 852.13 L 431.18 853.71 L 439.72 857.84 L 452.03 863.62 L 466.53 870.16 L 481.64 876.57 L 489.06 879.49 L 495.78 881.94 L 502.23 884.03 L 507.38 885.38 L 510.75 886.00 L 513.17 886.16 L 514.86 886.00 L 515.68 885.56 L 516.35 884.67 L 516.86 883.13 L 517.11 880.65 L 517.04 877.46 L 516.62 873.29 L 515.77 867.95 L 514.10 859.80 L 511.74 850.04 L 509.02 839.94 L 505.89 829.05 L 499.11 807.10 L 492.29 786.32 L 486.33 768.84 L 482.10 756.80 L 480.49 752.31" fill="none" group-id="7,38,55" id="路径_174-2" node-id="67" stroke="#438a78" stroke-linecap="butt" stroke-width="2" target-height="133.85376" target-width="89.12903" target-x="427.9807" target-y="752.30695"/></g><path d="M 540.82 902.30 L 547.84 902.18 L 554.90 901.55 L 562.02 900.41 L 569.20 898.76 L 576.47 896.56 L 585.24 893.28 L 594.11 889.32 L 603.08 884.64 L 612.17 879.21 L 620.87 873.41 L 629.61 867.03 L 638.41 860.06 L 647.26 852.47 L 658.58 841.96 L 669.86 830.67 L 681.07 818.58 L 691.90 806.13 L 702.53 793.19 L 712.96 779.77 L 723.06 766.10 L 732.83 752.28 L 742.25 738.30 L 751.41 724.13 L 760.08 710.15 L 768.29 696.38 L 780.02 675.69 L 790.40 656.25 L 799.98 637.18 L 807.94 620.16 L 815.00 603.81 L 820.24 590.34 L 823.27 581.52 L 825.35 574.51 L 826.64 569.02 L 819.66 571.99 L 811.28 575.96 L 801.30 581.09 L 791.51 586.49 L 780.66 592.88 L 768.66 600.34 L 756.88 608.07 L 744.39 616.72 L 731.15 626.36 L 718.19 636.30 L 704.89 647.08 L 691.22 658.75 L 677.91 670.79 L 664.60 683.57 L 651.31 697.12 L 641.66 707.55 L 632.20 718.34 L 622.94 729.51 L 613.88 741.06 L 605.19 752.85 L 596.87 764.96 L 588.93 777.40 L 581.35 790.17 L 574.26 803.20 L 567.71 816.52 L 561.68 830.13 L 556.18 844.05 L 552.24 855.33 L 548.73 866.79 L 545.66 878.43 L 543.02 890.26 L 540.82 902.30 Z" fill="#b7d99d" fill-rule="nonzero" group-id="8" id="路径_166-3" node-id="69" stroke="none" target-height="333.27985" target-width="285.82288" target-x="540.8163" target-y="569.01965"/><g clip-path="url(#clip-path-3)" group-id="8,39" id="蒙版组_1-3" node-id="70"><path d="M 827.81 565.89 L 822.24 571.13 L 806.73 586.03 L 783.07 609.34 L 769.11 623.39 L 753.06 639.82 L 736.50 657.07 L 718.50 676.22 L 700.25 696.05 L 681.18 717.29 L 662.13 739.09 L 642.89 761.80 L 623.95 784.95 L 605.44 808.50 L 593.38 824.42 L 581.77 840.30 L 570.61 856.14 L 559.77 872.20 L 549.65 887.97 L 540.21 903.48" fill="none" group-id="8,39,56" id="路径_167-3" node-id="71" stroke="#8eb66d" stroke-linecap="butt" stroke-width="1.99965" target-height="337.58374" target-width="287.59265" target-x="540.2144" target-y="565.8916"/><path d="M 797.95 581.04 L 797.21 582.48 L 795.50 586.10 L 793.64 590.81 L 792.88 593.28 L 792.41 595.52 L 792.30 597.64 L 792.63 599.15 L 793.12 599.69 L 794.02 600.02 L 795.53 600.04 L 797.97 599.65 L 801.23 598.76 L 804.61 597.61 L 808.23 596.21 L 815.07 593.27 L 820.26 590.85 L 822.32 589.84" fill="none" group-id="8,39,57" id="路径_168-3" node-id="72" stroke="#8eb66d" stroke-linecap="butt" stroke-width="1.99965" target-height="19.007263" target-width="30.021606" target-x="792.29974" target-y="581.0373"/><path d="M 775.89 594.06 L 774.41 596.40 L 770.81 602.42 L 766.32 610.60 L 764.12 615.05 L 762.19 619.42 L 760.61 623.74 L 759.67 627.38 L 759.39 629.76 L 759.52 631.57 L 759.99 632.94 L 760.79 633.82 L 762.05 634.49 L 763.96 634.91 L 767.08 635.02 L 771.20 634.64 L 775.52 633.91 L 780.31 632.84 L 789.86 630.22 L 798.45 627.48 L 804.63 625.31 L 807.01 624.44" fill="none" group-id="8,39,58" id="路径_169-3" node-id="73" stroke="#8eb66d" stroke-linecap="butt" stroke-width="1.99965" target-height="40.95923" target-width="47.62616" target-x="759.38586" target-y="594.0561"/><path d="M 744.38 614.25 L 742.22 617.32 L 736.79 625.34 L 729.70 636.54 L 726.03 642.77 L 722.55 649.13 L 719.41 655.53 L 716.97 661.35 L 715.65 665.28 L 714.87 668.61 L 714.54 671.42 L 714.62 673.54 L 715.06 675.21 L 715.81 676.52 L 716.88 677.55 L 718.76 678.48 L 721.29 679.16 L 724.62 679.53 L 729.82 679.50 L 736.13 678.90 L 742.65 677.88 L 749.60 676.49 L 756.55 674.88 L 763.23 673.15 L 775.20 669.73 L 783.71 667.05 L 786.94 665.98" fill="none" group-id="8,39,59" id="路径_170-3" node-id="74" stroke="#8eb66d" stroke-linecap="butt" stroke-width="1.99965" target-height="65.2796" target-width="72.40436" target-x="714.5393" target-y="614.24835"/><path d="M 696.45 651.44 L 694.91 654.45 L 690.98 662.47 L 685.67 673.98 L 682.84 680.50 L 680.00 687.45 L 677.33 694.49 L 674.98 701.36 L 672.99 708.14 L 671.63 714.17 L 671.03 718.17 L 670.83 721.54 L 670.97 724.37 L 671.37 726.48 L 672.03 728.14 L 672.91 729.43 L 674.01 730.43 L 675.89 731.25 L 678.52 731.68 L 682.15 731.58 L 685.75 731.08 L 689.98 730.19 L 694.91 728.85 L 702.32 726.44 L 710.54 723.38 L 718.84 719.99 L 727.28 716.32 L 743.36 708.83 L 757.03 702.05 L 766.52 697.14 L 770.08 695.24" fill="none" group-id="8,39,60" id="路径_171-3" node-id="75" stroke="#8eb66d" stroke-linecap="butt" stroke-width="1.99965" target-height="80.24182" target-width="99.242065" target-x="670.8345" target-y="651.4368"/><path d="M 661.93 683.88 L 660.39 687.22 L 656.47 696.10 L 651.17 708.82 L 645.51 723.67 L 642.83 731.41 L 640.48 738.95 L 638.48 746.38 L 637.11 752.94 L 636.49 757.29 L 636.28 760.93 L 636.39 763.95 L 636.79 766.23 L 637.43 767.97 L 638.29 769.29 L 639.36 770.27 L 641.20 771.16 L 643.78 771.85 L 647.31 772.27 L 652.83 772.35 L 659.74 771.91 L 666.97 771.06 L 674.95 769.83 L 683.04 768.35 L 691.22 766.68 L 706.85 763.10 L 720.14 759.74 L 729.36 757.26 L 732.81 756.28" fill="none" group-id="8,39,61" id="路径_172-3" node-id="76" stroke="#8eb66d" stroke-linecap="butt" stroke-width="1.99965" target-height="88.47174" target-width="96.53607" target-x="636.2764" target-y="683.8822"/><path d="M 621.49 728.38 L 620.10 731.76 L 616.54 740.79 L 611.71 753.78 L 606.54 769.06 L 604.10 777.07 L 601.93 784.97 L 600.09 792.77 L 598.79 799.81 L 598.20 804.48 L 597.97 808.49 L 598.04 811.92 L 598.53 815.30 L 599.40 817.80 L 600.59 819.63 L 601.81 820.63 L 603.45 821.45 L 605.59 822.08 L 608.37 822.45 L 612.00 822.55 L 616.31 822.32 L 621.41 821.70 L 629.13 820.33 L 637.78 818.37 L 646.56 816.05 L 655.53 813.43 L 672.71 807.87 L 687.39 802.68 L 697.62 798.85 L 701.47 797.35" fill="none" group-id="8,39,62" id="路径_173-3" node-id="77" stroke="#8eb66d" stroke-linecap="butt" stroke-width="1.99965" target-height="94.16736" target-width="103.49567" target-x="597.97144" target-y="728.38135"/><path d="M 580.30 797.29 L 578.86 800.76 L 575.18 809.86 L 570.22 822.58 L 564.93 836.96 L 562.43 844.24 L 560.28 851.00 L 558.44 857.50 L 557.23 862.71 L 556.68 866.12 L 556.56 868.51 L 556.73 870.11 L 557.10 870.79 L 557.81 871.31 L 558.99 871.68 L 560.88 871.81 L 564.79 871.47 L 570.53 870.33 L 576.71 868.70 L 584.09 866.45 L 591.73 863.91 L 599.96 860.99 L 616.54 854.73 L 632.22 848.47 L 645.40 843.02 L 654.48 839.16 L 657.87 837.69" fill="none" group-id="8,39,63" id="路径_174-3" node-id="78" stroke="#8eb66d" stroke-linecap="butt" stroke-width="1.99965" target-height="74.52246" target-width="101.302795" target-x="556.5632" target-y="797.28827"/></g></g></svg>
                    </button>

send():这里使用异步请求的方法fetchChatCompletion()将chatMsg进行传递给api,获取返回的数据,之后创建一个conv结构,将数据以及有效的信息进行存储。其中index是ai回答对话的索引值,之后将conv放入conversation中,以便前端展示。每一次send都会保存human和ai一组对话。

  send() {
//若不停止生成对话
      this.flag = true

      if (this.chatMsg.trim().length === 0) {
        return;
      }

      if (this.convLoading) {
        return;
      }
      //开始加载对话
      this.convLoading = true;
      //是否停止对话

      //前端传递的信息
      var chatMsg = this.chatMsg;
      chatMsg = chatMsg.trim().replace(/\n/g, "")
      //清空,用户可以在进行输入
      this.chatMsg = ""

      var first = this.conversation.length === 0;

      //增加历史对话信息,并将历史对话放在conversation中
      const convHuman = {
        "speaker": "user",
        "content": chatMsg
      }
      // console.log(convHuman)
      this.conversation.push(convHuman)



      // 滚动到最下面
      this.handleScrollBottom();

      //组件传递的是chatMsg的信息
      // console.log(chatMsg)

      //使用脚本进行传递文字
      //这里使用then进行修改
      const that = this;
      //若停止对话,则将这不进行获取

        fetchChatCompletion(chatMsg).then(result => {
          //此时的对话框为空的时候,创建新的对话框
          if(first){
            var newConv = {
              "id": that.cid,
              "title": "New chat"
            }
            //设置标题
            //在这里使用.进行访问
            newConv .title = chatMsg;
            that.conversations.unshift(newConv);
            that.selectConversation(newConv, false);
            that.saveConversations();

          }
          //异步的过程,直接进行赋值等一系列的操作
          if(this.flag){
            const conv = {
              "idx": that.index, // 注意这里我们使用了 that.index 而不是 this.index
              "loading": false, // 假设我们在获取结果后立即设置 loading 为 false
              "speaker": "assistant",
              "suitable": [0],
              "contents": [result] // 直接将结果添加到 contents 数组中
            };
            that.conversation.push(conv); // 在这里将 conv 添加到 conversation 中
            that.index = that.index + 1; // 更新索引
            // console.log(conv); // 打印整个 conv 对象以检查
            //加载完成
            conv["loading"] = false;
            this.convLoading = false;
          }else{
            const conv = {
              "idx": that.index, // 注意这里我们使用了 that.index 而不是 this.index
              "loading": false, // 假设我们在获取结果后立即设置 loading 为 false
              "speaker": "assistant",
              "suitable": [0],
              "contents": ["已经停止生成"] // 直接将结果添加到 contents 数组中
            };
            that.conversation.push(conv); // 在这里将 conv 添加到 conversation 中
            that.index = that.index + 1; // 更新索引
            //console.log(conv);
            //加载完成
            conv["loading"] = false;
            this.convLoading = false;
          }


        })


    },

前端展示:

使用v-for循环进行展示对话内容。

  <template v-for="conv, idx in conversation">
                      <!-- user 如果是用户提出,则显示的气泡框的颜色大小设置 -->
                      <div v-if="conv.speaker === 'user'"
                           class="w-full border-b border-black/10 dark:border-gray-900/50 text-gray-800 dark:text-gray-100 group dark:bg-gray-800">
                        <div
                            class="text-base gap-4 md:gap-6 m-auto md:max-w-2xl lg:max-w-2xl xl:max-w-3xl p-4 md:py-6 flex lg:px-0">
                          <div class="w-[30px] flex flex-col relative items-end">
                            <div class="relative flex">
                              <span
                                  style="box-sizing: border-box; display: inline-block; overflow: hidden; width: initial; height: initial; background: none; opacity: 1; border: 0px; margin: 0px; padding: 0px; position: relative; max-width: 100%;">
                                <span
                                    style="box-sizing: border-box; display: block; width: initial; height: initial; background: none; opacity: 1; border: 0px; margin: 0px; padding: 0px; max-width: 100%;">
                                </span>
                              </span>
                            </div>
                          </div>
                          <div class="relative flex w-[calc(100%-50px)] flex-col gap-1 md:gap-3 lg:w-[calc(100%-115px)]">
                            <div class="flex flex-grow flex-col gap-3">

                              <div class="min-h-[20px] flex flex-col items-start gap-4 whitespace-pre-wrap">{{
                                  conv.content
                                }}
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>

                      <!-- assistant -->
                      <div v-if="conv.speaker === 'assistant'"
                           class="w-full border-b border-black/10 dark:border-gray-900/50 text-gray-800 dark:text-gray-100 group bg-gray-50 dark:bg-[#444654]">
                        <div
                            class="text-base gap-4 md:gap-6 m-auto md:max-w-2xl lg:max-w-2xl xl:max-w-3xl p-4 md:py-6 flex lg:px-0">
                          <div class="w-[30px] flex flex-col relative items-end">
                            <div
                                class="relative h-[30px] w-[30px] p-1 rounded-sm text-white flex items-center justify-center"
                                style="background-color: rgb(16, 163, 127);">
                             <!--箭头svg图标 xmlns指定了xml的命名空间-->
                              <svg width="41" height="41" viewBox="0 0 41 41" fill="none"
                                   xmlns="http://www.w3.org/2000/svg" stroke-width="1.5" class="h-6 w-6">
                                <path
                                    d="M37.5324 16.8707C37.9808 15.5241 38.1363 14.0974 37.9886 12.6859C37.8409 11.2744 37.3934 9.91076 36.676 8.68622C35.6126 6.83404 33.9882 5.3676 32.0373 4.4985C30.0864 3.62941 27.9098 3.40259 25.8215 3.85078C24.8796 2.7893 23.7219 1.94125 22.4257 1.36341C21.1295 0.785575 19.7249 0.491269 18.3058 0.500197C16.1708 0.495044 14.0893 1.16803 12.3614 2.42214C10.6335 3.67624 9.34853 5.44666 8.6917 7.47815C7.30085 7.76286 5.98686 8.3414 4.8377 9.17505C3.68854 10.0087 2.73073 11.0782 2.02839 12.312C0.956464 14.1591 0.498905 16.2988 0.721698 18.4228C0.944492 20.5467 1.83612 22.5449 3.268 24.1293C2.81966 25.4759 2.66413 26.9026 2.81182 28.3141C2.95951 29.7256 3.40701 31.0892 4.12437 32.3138C5.18791 34.1659 6.8123 35.6322 8.76321 36.5013C10.7141 37.3704 12.8907 37.5973 14.9789 37.1492C15.9208 38.2107 17.0786 39.0587 18.3747 39.6366C19.6709 40.2144 21.0755 40.5087 22.4946 40.4998C24.6307 40.5054 26.7133 39.8321 28.4418 38.5772C30.1704 37.3223 31.4556 35.5506 32.1119 33.5179C33.5027 33.2332 34.8167 32.6547 35.9659 31.821C37.115 30.9874 38.0728 29.9178 38.7752 28.684C39.8458 26.8371 40.3023 24.6979 40.0789 22.5748C39.8556 20.4517 38.9639 18.4544 37.5324 16.8707ZM22.4978 37.8849C20.7443 37.8874 19.0459 37.2733 17.6994 36.1501C17.7601 36.117 17.8666 36.0586 17.936 36.0161L25.9004 31.4156C26.1003 31.3019 26.2663 31.137 26.3813 30.9378C26.4964 30.7386 26.5563 30.5124 26.5549 30.2825V19.0542L29.9213 20.998C29.9389 21.0068 29.9541 21.0198 29.9656 21.0359C29.977 21.052 29.9842 21.0707 29.9867 21.0902V30.3889C29.9842 32.375 29.1946 34.2791 27.7909 35.6841C26.3872 37.0892 24.4838 37.8806 22.4978 37.8849ZM6.39227 31.0064C5.51397 29.4888 5.19742 27.7107 5.49804 25.9832C5.55718 26.0187 5.66048 26.0818 5.73461 26.1244L13.699 30.7248C13.8975 30.8408 14.1233 30.902 14.3532 30.902C14.583 30.902 14.8088 30.8408 15.0073 30.7248L24.731 25.1103V28.9979C24.7321 29.0177 24.7283 29.0376 24.7199 29.0556C24.7115 29.0736 24.6988 29.0893 24.6829 29.1012L16.6317 33.7497C14.9096 34.7416 12.8643 35.0097 10.9447 34.4954C9.02506 33.9811 7.38785 32.7263 6.39227 31.0064ZM4.29707 13.6194C5.17156 12.0998 6.55279 10.9364 8.19885 10.3327C8.19885 10.4013 8.19491 10.5228 8.19491 10.6071V19.808C8.19351 20.0378 8.25334 20.2638 8.36823 20.4629C8.48312 20.6619 8.64893 20.8267 8.84863 20.9404L18.5723 26.5542L15.206 28.4979C15.1894 28.5089 15.1703 28.5155 15.1505 28.5173C15.1307 28.5191 15.1107 28.516 15.0924 28.5082L7.04046 23.8557C5.32135 22.8601 4.06716 21.2235 3.55289 19.3046C3.03862 17.3858 3.30624 15.3413 4.29707 13.6194ZM31.955 20.0556L22.2312 14.4411L25.5976 12.4981C25.6142 12.4872 25.6333 12.4805 25.6531 12.4787C25.6729 12.4769 25.6928 12.4801 25.7111 12.4879L33.7631 17.1364C34.9967 17.849 36.0017 18.8982 36.6606 20.1613C37.3194 21.4244 37.6047 22.849 37.4832 24.2684C37.3617 25.6878 36.8382 27.0432 35.9743 28.1759C35.1103 29.3086 33.9415 30.1717 32.6047 30.6641C32.6047 30.5947 32.6047 30.4733 32.6047 30.3889V21.188C32.6066 20.9586 32.5474 20.7328 32.4332 20.5338C32.319 20.3348 32.154 20.1698 31.955 20.0556ZM35.3055 15.0128C35.2464 14.9765 35.1431 14.9142 35.069 14.8717L27.1045 10.2712C26.906 10.1554 26.6803 10.0943 26.4504 10.0943C26.2206 10.0943 25.9948 10.1554 25.7963 10.2712L16.0726 15.8858V11.9982C16.0715 11.9783 16.0753 11.9585 16.0837 11.9405C16.0921 11.9225 16.1048 11.9068 16.1207 11.8949L24.1719 7.25025C25.4053 6.53903 26.8158 6.19376 28.2383 6.25482C29.6608 6.31589 31.0364 6.78077 32.2044 7.59508C33.3723 8.40939 34.2842 9.53945 34.8334 10.8531C35.3826 12.1667 35.5464 13.6095 35.3055 15.0128ZM14.2424 21.9419L10.8752 19.9981C10.8576 19.9893 10.8423 19.9763 10.8309 19.9602C10.8195 19.9441 10.8122 19.9254 10.8098 19.9058V10.6071C10.8107 9.18295 11.2173 7.78848 11.9819 6.58696C12.7466 5.38544 13.8377 4.42659 15.1275 3.82264C16.4173 3.21869 17.8524 2.99464 19.2649 3.1767C20.6775 3.35876 22.0089 3.93941 23.1034 4.85067C23.0427 4.88379 22.937 4.94215 22.8668 4.98473L14.9024 9.58517C14.7025 9.69878 14.5366 9.86356 14.4215 10.0626C14.3065 10.2616 14.2466 10.4877 14.2479 10.7175L14.2424 21.9419ZM16.071 17.9991L20.4018 15.4978L24.7325 17.9975V22.9985L20.4018 25.4983L16.071 22.9985V17.9991Z"
                                    fill="currentColor"></path>
                              </svg>
                            </div>

                            <!-- 消息内容有多个 -->
                            <div v-if="conv.contents.length > 1"
                                 class="text-xs flex items-center justify-center gap-1 invisible absolute left-0 top-2 -ml-4 -translate-x-full group-hover:visible">
                              <!-- .stop 表示调用事件后停止事件的传播 disable则是控制按钮是否处于禁用状态-->
                              <button @click.stop="last(conv)" :disabled="!(conv.idx > 0)"
                                      class="dark:text-white disabled:text-gray-300 dark:disabled:text-gray-400">
                              </button>
                              <!--显示消息的数量-->
                              <span class="flex-grow flex-shrink-0">{{ conv.idx + 1 }} / {{
                                  conv.contents.length
                                }}</span>
                              <button @click.stop="next(conv)" :disabled="!(conv.idx < conv.contents.length - 1)"
                                      class="dark:text-white disabled:text-gray-300 dark:disabled:text-gray-400">
                                <svg stroke="currentColor" fill="none" stroke-width="1.5" viewBox="0 0 24 24"
                                     stroke-linecap="round" stroke-linejoin="round" class="h-3 w-3" height="1em" width="1em"
                                     xmlns="http://www.w3.org/2000/svg">
                                  <polyline points="9 18 15 12 9 6"></polyline>
                                </svg>
                              </button>
                            </div>
                          </div>
                          <div class="relative flex w-[calc(100%-50px)] flex-col gap-1 md:gap-3 lg:w-[calc(100%-115px)]">
                            <div class="flex flex-grow flex-col gap-3">
                              <div class="min-h-[20px] flex flex-col items-start gap-4">
                                <!--这里是conv取出来的是每一个新的conv的值-->
                                <div v-html="mdToHtml(conv.contents[0], conv)"
                                     :class="{ 'result-streaming': conv.loading }"
                                     class="markdown prose-r w-full break-words dark:prose-invert light">
                                </div>
                              </div>
                            </div>
                            <div class="flex justify-between">
                              <div
                                  class="text-gray-400 flex self-end lg:self-center justify-center mt-2 gap-3 md:gap-4 lg:gap-1 lg:absolute lg:top-0 lg:translate-x-full lg:right-0 lg:mt-0 lg:pl-2 visible">
                                <button @click.stop="suitable(idx, conv, 1)"
                                        v-if="conv.suitable[conv.idx] == 0 || conv.suitable[conv.idx] == 1"
                                        :class="{ 'suitable_selected': conv.suitable[conv.idx] == 1 }"
                                        class="p-1 rounded-md hover:bg-gray-100 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-gray-200 disabled:dark:hover:text-gray-400">
                                  <!--点赞的手势-->
                                  <svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24"
                                       stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4" height="1em"
                                       width="1em" xmlns="http://www.w3.org/2000/svg">
                                    <path
                                        d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3">
                                    </path>
                                  </svg>
                                </button>
                                <button @click.stop="suitable(idx, conv, -1)"
                                        v-if="conv.suitable[conv.idx] == 0 || conv.suitable[conv.idx] == -1"
                                        :class="{ 'suitable_selected': conv.suitable[conv.idx] == -1 }"
                                        class="p-1 rounded-md hover:bg-gray-100 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-gray-200 disabled:dark:hover:text-gray-400">
                                  <svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24"
                                       stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4" height="1em"
                                       width="1em" xmlns="http://www.w3.org/2000/svg">
                                    <path
                                        d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17">
                                    </path>
                                  </svg>
                                </button>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>




                    </template>

 这个函数的主要作用是将输入的 Markdown 文本(md)转换成 HTML 格式的字符串。

  mdToHtml(md, conv) {
      if (md == "") {
        return "<p></p>"
      }

      // console.log("这是md",md)
      md = this.countAndConcat(md, "```")

      var htmlMD = marked.parse(md);
      htmlMD = htmlMD.trim();
      return htmlMD;
    },

countAndConcat(str, substr) {
      // 使用正则表达式的全局匹配来查找子字符串
      const matches = str.match(new RegExp(substr, 'g'));

      // 判断子字符串的个数是奇数还是偶数
      const count = matches ? matches.length : 0;
      const isOdd = count % 2 === 1;

      // 根据判断结果返回相应的字符串
      return isOdd ? str + "\n" + substr : str;
    },

前端展示: 

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值