fix: 问题修复
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}`,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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") {
|
||||
|
||||
Reference in New Issue
Block a user