feat: anazi
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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 (
|
||||
<View className="index">
|
||||
<View>扣 <span style={{color:'green'}}>11</span> 变小新</View>
|
||||
<View>扣 <span style={{color:'green'}}>22</span> 娜娜子</View>
|
||||
|
||||
<View className="messageArr">
|
||||
{messageArr.map((item, index) => (
|
||||
<View key={index} className={index===0?"message_item_first":"message_item"}>
|
||||
{item}
|
||||
</View>
|
||||
))}
|
||||
{messageArr?.slice(0, 15)?.map((item, index) => (
|
||||
<View
|
||||
key={index}
|
||||
className={index === 0 ? "message_item_first" : "message_item"}
|
||||
>
|
||||
{item}
|
||||
</View>
|
||||
))}
|
||||
</View>
|
||||
|
||||
{/* 添加doro的gif组合场景 */}
|
||||
|
||||
|
||||
<View className="gifImg">
|
||||
<Image
|
||||
className="index_gif"
|
||||
mode={"scaleToFill"}
|
||||
src={status === "1" ? gif11 :status === "2" ?gif22:doro11}
|
||||
/>
|
||||
</View>
|
||||
|
||||
{/* <View className="index_backImg">
|
||||
<Image className="index_backImg_bg" mode={"scaleToFill"} src={iphone} />
|
||||
</View> */}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user