Commit 6f7de7c1 authored by Chunchi Che's avatar Chunchi Che

Merge branch 'fix/something' into 'main'

添加一些错误日志帮助定位问题

See merge request mycard/Neos!326
parents f80a8f42 b47391f0
Pipeline #23626 passed with stages
in 15 minutes and 23 seconds
......@@ -12,7 +12,12 @@ export async function initStrings() {
for (const line of lineIter) {
if (!line.startsWith("#") && line !== "") {
let [region, code, value] = line.split(" ", 3);
localStorage.setItem(`${region}_${code}`, value);
try {
localStorage.setItem(`${region}_${code}`, value);
} catch (error) {
alert(`set item in local storage error: ${error}`);
break;
}
}
}
}
......@@ -24,7 +29,7 @@ export enum Region {
}
export function fetchStrings(region: Region, id: string | number): string {
return localStorage.getItem(`${region}_${id}`) || "";
return localStorage.getItem(`${region}_${id}`) ?? "";
}
export function getStrings(description: number): string {
......
......@@ -16,7 +16,7 @@ interface ChatItem {
export const ChatBox: React.FC = () => {
const { open } = useSnapshot(store);
const { dialogs, input, setInput, ref, onSend } = useChat();
const { dialogs, input, setInput, ref, onSend } = useChat(true);
const onClose = () => (store.open = false);
......
......@@ -52,7 +52,7 @@ export const Component: React.FC = () => {
if (matchInfo) {
await connectSrvpro({
ip: matchInfo.address + ":" + (matchInfo.port + 1),
ip: matchInfo.address + ":" + (matchInfo.port + 1), // 分配给Neos的Websocket端口是TCP端口+1
player: user.username,
passWd: matchInfo.password,
});
......@@ -69,7 +69,7 @@ export const Component: React.FC = () => {
// 初始化,然后等待后端通知成功加入房间后跳转页面
await connectSrvpro({
ip: server,
player: user?.name ?? "Guest",
player: user?.username ?? "Guest",
passWd: "AI",
});
};
......
......@@ -5,7 +5,7 @@ import { useEffect, useRef, useState } from "react";
import { useSnapshot } from "valtio";
import { sendChat } from "@/api";
import { chatStore, roomStore } from "@/stores";
import { chatStore, isMe, roomStore } from "@/stores";
interface ChatItem {
name: string;
......@@ -13,7 +13,7 @@ interface ChatItem {
content: string;
}
export const useChat = () => {
export const useChat = (isDuel: boolean = false) => {
const [chatList, setChatList] = useState<ChatItem[]>([]);
const [input, setInput] = useState<string | undefined>(undefined);
const chat = useSnapshot(chatStore);
......@@ -36,15 +36,28 @@ export const useChat = () => {
}
};
// 获取消息发送者的名字
const getSenderName = (sender: number) => {
if (sender < roomStore.players.length) {
if (isDuel) {
// 决斗内和决斗外场景sender是不一样的
if (isMe(sender)) {
return roomStore.getMePlayer()?.name;
} else {
return roomStore.getOpPlayer()?.name;
}
} else {
return roomStore.players[sender]?.name;
}
} else if (sender <= 8 || (sender >= 11 && sender <= 19)) {
return "System";
}
};
useEffect(() => {
if (chatStore.sender >= 0 && chatStore.message.length !== 0) {
const { sender } = chatStore;
const name =
sender < roomStore.players.length
? roomStore.players[sender]?.name ?? "?"
: (sender > 8 && sender < 11) || sender > 19
? "?"
: "System";
const name = getSenderName(sender) ?? "?";
setChatList((prev) => [
...prev,
{
......
......@@ -90,7 +90,7 @@ export const Component: React.FC = () => {
if (deck) {
setDeck(deck);
} else {
alert(`Deck ${deckName} not found`);
message.error(`Deck ${deckName} not found`);
}
}}
/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment