From 73bb56b1b275fcaa7c1fa04a7ef6450b582beeb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=9D=B0?= Date: Mon, 2 Feb 2026 11:02:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=83=8C=E6=99=AF?= =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NTRPTestEntryCard/index.module.scss | 61 +++++++++++++++---- src/components/NTRPTestEntryCard/index.tsx | 25 ++++++-- 2 files changed, 69 insertions(+), 17 deletions(-) diff --git a/src/components/NTRPTestEntryCard/index.module.scss b/src/components/NTRPTestEntryCard/index.module.scss index fe70d63..e0b44b7 100644 --- a/src/components/NTRPTestEntryCard/index.module.scss +++ b/src/components/NTRPTestEntryCard/index.module.scss @@ -4,10 +4,39 @@ box-sizing: border-box; border-radius: 20px; border: 0.5px solid rgba(0, 0, 0, 0.08); - background: linear-gradient(180deg, #BFFFEF 0%, #F2FFFC 100%), var(--Backgrounds-Primary, #FFF); display: flex; align-items: center; justify-content: space-between; + position: relative; + background: + linear-gradient(180deg, #bfffef 0%, #f2fffc 100%), + var(--Backgrounds-Primary, #fff); + + .lines { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 20px; + z-index: 1; + background-position-y: 85%; + pointer-events: none; + } + // .gradient { + // inset: 0; + // position: absolute; + // top: 0; + // left: 0; + // width: 100%; + // height: 100%; + // z-index: -2; + // border-radius: 20px; + // background: + // linear-gradient(180deg, #bfffef 0%, #f2fffc 100%), + // var(--Backgrounds-Primary, #fff); + // pointer-events: none; + // } } .higher { @@ -18,8 +47,6 @@ .lower { height: 80px; @include commonCardStyle(); - - } .desc { @@ -30,7 +57,7 @@ gap: 7px; .title { - color: #2A4D44; + color: #2a4d44; font-family: "Noto Sans SC"; font-size: 16px; font-style: normal; @@ -38,7 +65,7 @@ line-height: 24px; .colorTip { - color: #00E5AD; + color: #00e5ad; font-family: "Noto Sans SC"; font-size: 16px; font-style: normal; @@ -47,7 +74,7 @@ } .strongTip { - color: #00E5AD; + color: #00e5ad; font-family: "Noto Sans SC"; font-size: 16px; font-style: normal; @@ -68,8 +95,10 @@ align-items: center; justify-content: flex-start; gap: 4px; - color: #5CA693; - font-feature-settings: 'liga' off, 'clig' off; + color: #5ca693; + font-feature-settings: + "liga" off, + "clig" off; font-family: "PingFang SC"; font-size: 12px; font-style: normal; @@ -94,7 +123,9 @@ border-radius: 50%; border: 1px solid #efefef; overflow: hidden; - box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.20), 0 8px 20px 0 rgba(0, 0, 0, 0.12); + box-shadow: + 0 0 1px 0 rgba(0, 0, 0, 0.2), + 0 8px 20px 0 rgba(0, 0, 0, 0.12); .avatarUrl { width: calc(90px * $multiple); @@ -112,8 +143,14 @@ flex-shrink: 0; aspect-ratio: 1/1; border-radius: calc(20px * $multiple); - border: 4px solid #FFF; - background: linear-gradient(0deg, rgba(89, 255, 214, 0.20) 0%, rgba(89, 255, 214, 0.20) 100%), #FFF; + border: 4px solid #fff; + background: + linear-gradient( + 0deg, + rgba(89, 255, 214, 0.2) 0%, + rgba(89, 255, 214, 0.2) 100% + ), + #fff; box-shadow: 0 4px 36px 0 rgba(0, 0, 0, 0.12); display: flex; align-items: center; @@ -135,4 +172,4 @@ align-items: center; justify-content: flex-start; @include commonAvatarStyle(0.5); -} \ No newline at end of file +} diff --git a/src/components/NTRPTestEntryCard/index.tsx b/src/components/NTRPTestEntryCard/index.tsx index ecd397d..23b58e6 100644 --- a/src/components/NTRPTestEntryCard/index.tsx +++ b/src/components/NTRPTestEntryCard/index.tsx @@ -2,8 +2,13 @@ import React, { useState, useEffect, useCallback, memo } from "react"; import { View, Image, Text } from "@tarojs/components"; import { requireLoginWithPhone } from "@/utils/helper"; import Taro from "@tarojs/taro"; -import { useUserInfo, useUserActions, useLastTestResult } from "@/store/userStore"; +import { + useUserInfo, + useUserActions, + useLastTestResult, +} from "@/store/userStore"; // import { getCurrentFullPath } from "@/utils"; +import { OSS_BASE_URL } from "@/config/api"; import { StageType } from "@/services/evaluateService"; import { waitForAuthInit } from "@/utils/authInit"; import DocCopy from "@/static/ntrp/ntrp_doc_copy.svg"; @@ -26,8 +31,6 @@ function NTRPTestEntryCard(props: { // 使用全局状态中的测试结果,避免重复调用接口 const lastTestResult = useLastTestResult(); - console.log(userInfo); - // 从全局状态中获取测试结果,如果不存在则调用接口(使用请求锁避免重复调用) useEffect(() => { const init = async () => { @@ -121,7 +124,7 @@ function NTRPTestEntryCard(props: { if (!testFlag && !userInfo.phone) { Taro.navigateTo({ url: `/login_pages/index/index?redirect=${encodeURIComponent( - `/other_pages/ntrp-evaluate/index?stage=${StageType.INTRO}` + `/other_pages/ntrp-evaluate/index?stage=${StageType.INTRO}`, )}`, }); return false; @@ -132,7 +135,7 @@ function NTRPTestEntryCard(props: { }`, }); }, - [setCallback, testFlag, type, evaluateCallback, userInfo.phone] + [setCallback, testFlag, type, evaluateCallback, userInfo.phone], ); // 如果最近一个月有测试记录,则不展示 @@ -142,6 +145,12 @@ function NTRPTestEntryCard(props: { return type === EvaluateScene.list ? ( + @@ -176,6 +185,12 @@ function NTRPTestEntryCard(props: { ) : ( + 不知道自己的