From 24fb2aa175fc3038f46e0109cc731b53832c154d Mon Sep 17 00:00:00 2001 From: hackrobot Date: Mon, 14 Apr 2025 07:16:02 -0500 Subject: [PATCH] feat: anazi --- package.json | 1 + src/pages/index/index.jsx | 51 ++++++++++++++++++++++++++++++++------ src/pages/index/index.scss | 16 ++++++------ yarn.lock | 5 ++++ 4 files changed, 58 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index f67d379..4b48816 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "@tarojs/shared": "3.6.20", "@tarojs/taro": "3.6.20", "animate.css": "^4.1.1", + "canvas-confetti": "^1.9.3", "github-markdown-css": "^5.6.1", "marked": "^14.1.2", "raw-loader": "^4.0.2", diff --git a/src/pages/index/index.jsx b/src/pages/index/index.jsx index 62b4dc8..7f304b3 100644 --- a/src/pages/index/index.jsx +++ b/src/pages/index/index.jsx @@ -23,11 +23,19 @@ import { import { AtToast } from "taro-ui"; import { AtIcon } from "taro-ui"; import iphone from "../../images/iphone.jpg"; +import gif11 from "../../images/11.gif"; +import confetti from "canvas-confetti"; +import gif22 from "../../images/22.gif"; +import doro11 from "../../images/doro11.gif"; + import testmpkv from "../../images/test.mp4"; + const Index = () => { // ws://(或者 wss:// 对于 HTTPS 环境 const [message, setMessage] = useState(""); + const [status, setStatus] = useState("0"); //0无状态,1是小新 + const [messageArr, setMessageArr] = useState([]); useEffect(() => { @@ -44,9 +52,23 @@ const Index = () => { socket.onmessage = (event) => { console.log("接收到消息:", event.data); setMessage(event.data); // 更新消息状态 + if (event.data.includes("【聊天msg】")) { + if (event.data?.includes("11")) { + setStatus("1"); + setTimeout(() => { + setStatus("0"); + }, 1000); // 2秒后恢复 + } + if (event.data?.includes("22")) { + setStatus("2"); + setTimeout(() => { + setStatus("0"); + }, 5000); // 2秒后恢复 + } + } // TTS播放 - // speak(event.data) - setMessageArr((messageArr) => [event.data,...messageArr]); // 更新消息数组 + speak(event.data); + setMessageArr((messageArr) => [event.data, ...messageArr]); // 更新消息数组 }; // WebSocket 关闭时触发 @@ -108,17 +130,30 @@ const Index = () => { return ( + 11 变小新 + 22 娜娜子 + - {messageArr.map((item, index) => ( - - {item} - - ))} + {messageArr?.slice(0, 15)?.map((item, index) => ( + + {item} + + ))} {/* 添加doro的gif组合场景 */} - + + + + {/* */} diff --git a/src/pages/index/index.scss b/src/pages/index/index.scss index 77ee5a9..2086a2c 100644 --- a/src/pages/index/index.scss +++ b/src/pages/index/index.scss @@ -4,7 +4,7 @@ // overflow: hidden; // 防止溢出 display: flex; flex-direction: column; - // align-items: center; + align-items: center; // justify-content: center; // background-image: url('../../images/iphone.jpg'); // background-size: cover; // 拉伸铺满容器 @@ -70,13 +70,15 @@ transform-origin: top left; display: flex; flex-direction: column; - // align-items: center; + align-items: center; // justify-content: center; - background-image: url('../../images/iphone.jpg'); - background-size: cover; // 拉伸铺满容器 - background-position: center; // 居中 - background-repeat: no-repeat; // 不重复 - color: white; + + // background-image: url('../../images/iphone.jpg'); + // background-size: cover; // 拉伸铺满容器 + // background-position: center; // 居中 + // background-repeat: no-repeat; // 不重复 + // color: white; + // background-color: black; .messageArr { // padding: 40px; diff --git a/yarn.lock b/yarn.lock index e59cbc6..ee325a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3871,6 +3871,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000864, can resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz#c5e104d199e6f4355a898fcd995a066c7eb9bf41" integrity sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw== +canvas-confetti@^1.9.3: + version "1.9.3" + resolved "https://registry.yarnpkg.com/canvas-confetti/-/canvas-confetti-1.9.3.tgz#ef4c857420ad8045ab4abe8547261c8cdf229845" + integrity sha512-rFfTURMvmVEX1gyXFgn5QMn81bYk70qa0HLzcIOSVEyl57n6o9ItHeBtUSWdvKAPY0xlvBHno4/v3QPrT83q9g== + capital-case@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669"