fix: 问题修复

This commit is contained in:
2025-11-15 19:08:19 +08:00
parent 93f08d5a9f
commit 79b2e9869f
24 changed files with 872 additions and 529 deletions

View File

@@ -104,7 +104,12 @@ const NTRPEvaluatePopup = (props: NTRPEvaluatePopupProps, ref) => {
async function getNtrp() {
const res = await evaluateService.getLastResult();
if (res.code === 0 && res.data.has_ntrp_level) {
setNtrp(res.data.user_ntrp_level);
const match = res.data.user_ntrp_level.match(/-?\d+(\.\d+)?/);
if (!match) {
setNtrp("");
return;
}
setNtrp(match[0] as string);
} else {
setNtrp("");
}
@@ -128,7 +133,7 @@ const NTRPEvaluatePopup = (props: NTRPEvaluatePopupProps, ref) => {
title: "NTRP水平修改成功",
icon: "none",
});
evaCallback.next(true);
evaCallback.next({ flag: true, score: String(ntrp) });
handleClose();
}

View File

@@ -1,8 +1,9 @@
import React, { useEffect } from "react";
import React, { useState, useEffect } from "react";
import { View, Image, Text } from "@tarojs/components";
import Taro from "@tarojs/taro";
import { useUserInfo, useUserActions } from "@/store/userStore";
// import { getCurrentFullPath } from "@/utils";
import evaluateService, { StageType } from "@/services/evaluateService";
import DocCopy from "@/static/ntrp/ntrp_doc_copy.svg";
import ArrowRight from "@/static/ntrp/ntrp_arrow_right_color.svg";
import {
@@ -16,18 +17,36 @@ function NTRPTestEntryCard(props: {
type: EvaluateScene;
evaluateCallback?: EvaluateCallback;
}) {
const [testFlag, setTestFlag] = useState(false);
const { type, evaluateCallback } = props;
const userInfo = useUserInfo();
const { setCallback } = useEvaluate();
// const { fetchUserInfo } = useUserActions()
const { fetchUserInfo } = useUserActions();
// useEffect(() => {
// fetchUserInfo()
// }, [])
console.log(userInfo);
useEffect(() => {
fetchUserInfo();
evaluateService.getLastResult().then((res) => {
setTestFlag(res.code === 0 && res.data.has_ntrp_level);
});
}, []);
function handleTest() {
switch (type) {
case (EvaluateScene.list, EvaluateScene.share):
case EvaluateScene.list:
setCallback({
type,
next: () => {
Taro.redirectTo({ url: "/game_pages/list/index" });
},
onCancel: () => {
// Taro.redirectTo({ url: "/game_pages/list/index" });
Taro.navigateBack();
},
});
break;
case EvaluateScene.share:
setCallback({
type,
next: () => {
@@ -37,18 +56,35 @@ function NTRPTestEntryCard(props: {
Taro.redirectTo({ url: "/main_pages/index" });
},
});
case (EvaluateScene.detail, EvaluateScene.publish):
break;
case EvaluateScene.detail:
case EvaluateScene.publish:
setCallback(evaluateCallback as EvaluateCallback);
case (EvaluateScene.user, EvaluateScene.userEdit):
break;
case EvaluateScene.user:
setCallback({
type,
next: () => {
Taro.redirectTo({ url: "/main_pages/index" });
},
onCancel: () => {
Taro.redirectTo({ url: "/user_pages/myself/index" });
// Taro.redirectTo({ url: "/user_pages/myself/index" });
Taro.navigateBack();
},
});
break;
case EvaluateScene.userEdit:
setCallback({
type,
next: () => {
Taro.redirectTo({ url: "/game_pages/list/index" });
},
onCancel: () => {
// Taro.redirectTo({ url: "/user_pages/edit/index" });
Taro.navigateBack();
},
});
break;
default:
setCallback({
type,
@@ -60,8 +96,10 @@ function NTRPTestEntryCard(props: {
},
});
}
Taro.redirectTo({
url: `/other_pages/ntrp-evaluate/index?stage=test`,
Taro.navigateTo({
url: `/other_pages/ntrp-evaluate/index?stage=${
testFlag ? StageType.INTRO : StageType.TEST
}`,
});
}

View File

@@ -22,7 +22,7 @@ export interface PublishMenuProps {
const PublishMenu: React.FC<PublishMenuProps> = (props) => {
const { onVisibleChange } = props;
const [isVisible, setIsVisible] = useState(false);
// 使用 useEffect 监听 isVisible 变化,确保所有情况都能触发回调
useEffect(() => {
onVisibleChange?.(isVisible);
@@ -55,7 +55,7 @@ const PublishMenu: React.FC<PublishMenuProps> = (props) => {
if (!userInfo.ntrp_level) {
ntrpRef.current.show({
type: EvaluateScene.publish,
next: (flag) => {
next: ({ flag }) => {
if (flag) {
handleMenuClick(type);
} else if (type === "ai") {