This commit is contained in:
zhangjing1
2026-03-16 21:56:52 +08:00
parent 73f4c3c706
commit eea0c3161c
4 changed files with 45 additions and 15 deletions

View File

@@ -28,7 +28,8 @@ const CustomNavigationHeader = memo((props) => {
nearbyText,
navigationRSpace,
showNavitionLeft,
statusBarBgColor
statusBarBgColor,
immersiveScrollRevealBgColor
} = props
const value = pageConfig
@@ -44,9 +45,9 @@ const CustomNavigationHeader = memo((props) => {
'background-position': 'center',
'padding-top': `${gStatusBarHeight}px`
}
// 吸顶挂件配置的 statusBarBgColor 优先用于页面顶部 header状态栏背景
const headerBg = statusBarBgColor ?? value?.navigateBackgroundColor
console.log(headerBg, 'headerBg')
// 吸顶挂件 > 沉浸式滚动 50px 后显示的导航背景 > 默认导航背景
const headerBg =
statusBarBgColor ?? immersiveScrollRevealBgColor ?? value?.navigateBackgroundColor
if (headerBg) {
style.backgroundColor = headerBg
}
@@ -65,7 +66,8 @@ const CustomNavigationHeader = memo((props) => {
navigateBackgroundColor,
gNavbarH,
gStatusBarHeight,
statusBarBgColor
statusBarBgColor,
immersiveScrollRevealBgColor
])
const containerStyle = useCallback(() => {

View File

@@ -349,6 +349,13 @@ const SpPage = memo(
navigationRSpace={state.navigationRSpace}
showNavitionLeft={props.showNavitionLeft}
statusBarBgColor={state.statusBarBgColor}
immersiveScrollRevealBgColor={
props.immersive &&
props.pageConfig?.immersiveScrollBgColor &&
state.scrollTop >= 50
? props.pageConfig.immersiveScrollBgColor
: null
}
/>
)}
{props.isDefault &&

View File

@@ -3,7 +3,7 @@
* See LICENSE file for license details.
*/
import Taro, { useDidShow, useShareAppMessage, getCurrentInstance } from '@tarojs/taro'
import { useState, useEffect } from 'react'
import { useState, useEffect, useRef } from 'react'
import { updateUserInfo, updateCheckChief } from '@/store/slices/user'
import { WgtsContext } from '@/pages/home/wgts/wgts-context'
import { platformTemplateName } from '@/utils/platform'
@@ -119,6 +119,7 @@ const initialState = {
function MemberIndex(props) {
// console.log('===>getCurrentPages==>', getCurrentPages(), getCurrentInstance())
const pageRef = useRef(null)
const $instance = getCurrentInstance() || {}
const { updateAddress } = useLocation()
const { isLogin, getUserInfo, isNewUser } = useLogin({
@@ -452,7 +453,9 @@ function MemberIndex(props) {
}
return (
<SpPage className='pages-member-index'
<SpPage
ref={pageRef}
className='pages-member-index'
loading={state.loading}
immersive={state.pageData?.base?.isImmersive}
showpoweredBy={false}
@@ -465,7 +468,14 @@ function MemberIndex(props) {
})
}}
>
<ScrollView scrollY className='user-info-card-wrapper' style={{ height: state.bodyHeight }}>
<ScrollView
scrollY
className='user-info-card-wrapper'
style={{ height: state.bodyHeight }}
onScroll={(e) => {
pageRef.current?.handlePageScroll?.({ scrollTop: e.detail.scrollTop })
}}
>
<View
className='header-block'
style={userInfo?.gradeInfo?.grade_background ? memberBckStyle : {}}

View File

@@ -85,14 +85,25 @@ const Settings = () => {
>
<View className='lang-list'>
{state.languageList.map((item, index) => (
<View className='lang-item' key={`lang-item__${index}`} onClick={() => {
setState((draft) => {
draft.selectLang = item.key
})
}}>
<View
className='lang-item'
key={`lang-item__${index}`}
onClick={() => {
setState((draft) => {
draft.selectLang = item.key
})
}}
>
<SpCheckbox
checked={item.key == state.selectLang}
canCancel={item.key == state.selectLang}
checked={item.key === state.selectLang}
canCancel={item.key === state.selectLang}
onChange={(checked) => {
if (checked) {
setState((draft) => {
draft.selectLang = item.key
})
}
}}
>
{item.name}
</SpCheckbox>