feat: anazi
This commit is contained in:
@@ -45,6 +45,7 @@
|
|||||||
"@tarojs/shared": "3.6.20",
|
"@tarojs/shared": "3.6.20",
|
||||||
"@tarojs/taro": "3.6.20",
|
"@tarojs/taro": "3.6.20",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
|
"canvas-confetti": "^1.9.3",
|
||||||
"github-markdown-css": "^5.6.1",
|
"github-markdown-css": "^5.6.1",
|
||||||
"marked": "^14.1.2",
|
"marked": "^14.1.2",
|
||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
|
|||||||
@@ -23,11 +23,19 @@ import {
|
|||||||
import { AtToast } from "taro-ui";
|
import { AtToast } from "taro-ui";
|
||||||
import { AtIcon } from "taro-ui";
|
import { AtIcon } from "taro-ui";
|
||||||
import iphone from "../../images/iphone.jpg";
|
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";
|
import testmpkv from "../../images/test.mp4";
|
||||||
|
|
||||||
|
|
||||||
const Index = () => {
|
const Index = () => {
|
||||||
// ws://(或者 wss:// 对于 HTTPS 环境
|
// ws://(或者 wss:// 对于 HTTPS 环境
|
||||||
const [message, setMessage] = useState("");
|
const [message, setMessage] = useState("");
|
||||||
|
const [status, setStatus] = useState("0"); //0无状态,1是小新
|
||||||
|
|
||||||
const [messageArr, setMessageArr] = useState([]);
|
const [messageArr, setMessageArr] = useState([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -44,9 +52,23 @@ const Index = () => {
|
|||||||
socket.onmessage = (event) => {
|
socket.onmessage = (event) => {
|
||||||
console.log("接收到消息:", event.data);
|
console.log("接收到消息:", event.data);
|
||||||
setMessage(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播放
|
// TTS播放
|
||||||
// speak(event.data)
|
speak(event.data);
|
||||||
setMessageArr((messageArr) => [event.data,...messageArr]); // 更新消息数组
|
setMessageArr((messageArr) => [event.data, ...messageArr]); // 更新消息数组
|
||||||
};
|
};
|
||||||
|
|
||||||
// WebSocket 关闭时触发
|
// WebSocket 关闭时触发
|
||||||
@@ -108,17 +130,30 @@ const Index = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<View className="index">
|
<View className="index">
|
||||||
|
<View>扣 <span style={{color:'green'}}>11</span> 变小新</View>
|
||||||
|
<View>扣 <span style={{color:'green'}}>22</span> 娜娜子</View>
|
||||||
|
|
||||||
<View className="messageArr">
|
<View className="messageArr">
|
||||||
{messageArr.map((item, index) => (
|
{messageArr?.slice(0, 15)?.map((item, index) => (
|
||||||
<View key={index} className={index===0?"message_item_first":"message_item"}>
|
<View
|
||||||
{item}
|
key={index}
|
||||||
</View>
|
className={index === 0 ? "message_item_first" : "message_item"}
|
||||||
))}
|
>
|
||||||
|
{item}
|
||||||
|
</View>
|
||||||
|
))}
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
{/* 添加doro的gif组合场景 */}
|
{/* 添加doro的gif组合场景 */}
|
||||||
|
|
||||||
|
<View className="gifImg">
|
||||||
|
<Image
|
||||||
|
className="index_gif"
|
||||||
|
mode={"scaleToFill"}
|
||||||
|
src={status === "1" ? gif11 :status === "2" ?gif22:doro11}
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
|
||||||
{/* <View className="index_backImg">
|
{/* <View className="index_backImg">
|
||||||
<Image className="index_backImg_bg" mode={"scaleToFill"} src={iphone} />
|
<Image className="index_backImg_bg" mode={"scaleToFill"} src={iphone} />
|
||||||
</View> */}
|
</View> */}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
// overflow: hidden; // 防止溢出
|
// overflow: hidden; // 防止溢出
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
// align-items: center;
|
align-items: center;
|
||||||
// justify-content: center;
|
// justify-content: center;
|
||||||
// background-image: url('../../images/iphone.jpg');
|
// background-image: url('../../images/iphone.jpg');
|
||||||
// background-size: cover; // 拉伸铺满容器
|
// background-size: cover; // 拉伸铺满容器
|
||||||
@@ -70,13 +70,15 @@
|
|||||||
transform-origin: top left;
|
transform-origin: top left;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
// align-items: center;
|
align-items: center;
|
||||||
// justify-content: center;
|
// justify-content: center;
|
||||||
background-image: url('../../images/iphone.jpg');
|
|
||||||
background-size: cover; // 拉伸铺满容器
|
// background-image: url('../../images/iphone.jpg');
|
||||||
background-position: center; // 居中
|
// background-size: cover; // 拉伸铺满容器
|
||||||
background-repeat: no-repeat; // 不重复
|
// background-position: center; // 居中
|
||||||
color: white;
|
// background-repeat: no-repeat; // 不重复
|
||||||
|
// color: white;
|
||||||
|
// background-color: black;
|
||||||
|
|
||||||
.messageArr {
|
.messageArr {
|
||||||
// padding: 40px;
|
// 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"
|
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz#c5e104d199e6f4355a898fcd995a066c7eb9bf41"
|
||||||
integrity sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==
|
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:
|
capital-case@^1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669"
|
resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669"
|
||||||
|
|||||||
Reference in New Issue
Block a user