forked from gxwebsoft/mp-10550
feat(header): 替换网站名称为租户名称显示
- 引入User模型类型定义 - 添加userInfo状态管理 - 实现getTenantName方法获取租户名称 - 将Header组件中的getWebsiteName替换为getTenantName - 在用户卡片组件中根据域名条件渲染角色标签
This commit is contained in:
@@ -12,17 +12,22 @@ import {handleInviteRelation, getStoredInviteParams} from "@/utils/invite";
|
|||||||
import {View,Text} from '@tarojs/components'
|
import {View,Text} from '@tarojs/components'
|
||||||
import MySearch from "./MySearch";
|
import MySearch from "./MySearch";
|
||||||
import './Header.scss';
|
import './Header.scss';
|
||||||
|
import {User} from "@/api/system/user/model";
|
||||||
|
|
||||||
const Header = (_: any) => {
|
const Header = (_: any) => {
|
||||||
// 使用新的useShopInfo Hook
|
// 使用新的useShopInfo Hook
|
||||||
const {
|
const {
|
||||||
getWebsiteName,
|
|
||||||
getWebsiteLogo
|
getWebsiteLogo
|
||||||
} = useShopInfo();
|
} = useShopInfo();
|
||||||
|
|
||||||
const [IsLogin, setIsLogin] = useState<boolean>(true)
|
const [IsLogin, setIsLogin] = useState<boolean>(true)
|
||||||
const [statusBarHeight, setStatusBarHeight] = useState<number>()
|
const [statusBarHeight, setStatusBarHeight] = useState<number>()
|
||||||
const [stickyStatus, setStickyStatus] = useState<boolean>(false)
|
const [stickyStatus, setStickyStatus] = useState<boolean>(false)
|
||||||
|
const [userInfo] = useState<User>()
|
||||||
|
|
||||||
|
const getTenantName = () => {
|
||||||
|
return userInfo?.tenantName || '商城名称'
|
||||||
|
}
|
||||||
|
|
||||||
const reload = async () => {
|
const reload = async () => {
|
||||||
Taro.getSystemInfo({
|
Taro.getSystemInfo({
|
||||||
@@ -219,7 +224,7 @@ const Header = (_: any) => {
|
|||||||
size="22"
|
size="22"
|
||||||
src={getWebsiteLogo()}
|
src={getWebsiteLogo()}
|
||||||
/>
|
/>
|
||||||
<Text style={{color: '#ffffff'}}>{getWebsiteName()}</Text>
|
<Text style={{color: '#ffffff'}}>{getTenantName()}</Text>
|
||||||
<TriangleDown size={9} className={'text-white'}/>
|
<TriangleDown size={9} className={'text-white'}/>
|
||||||
</Space>
|
</Space>
|
||||||
</Button>
|
</Button>
|
||||||
@@ -230,11 +235,11 @@ const Header = (_: any) => {
|
|||||||
size="22"
|
size="22"
|
||||||
src={getWebsiteLogo()}
|
src={getWebsiteLogo()}
|
||||||
/>
|
/>
|
||||||
<Text className={'text-white'}>{getWebsiteName()}</Text>
|
<Text className={'text-white'}>{getTenantName()}</Text>
|
||||||
<TriangleDown className={'text-white'} size={9}/>
|
<TriangleDown className={'text-white'} size={9}/>
|
||||||
</View>
|
</View>
|
||||||
)}>
|
)}>
|
||||||
{/*<QRLoginButton />*/}
|
<Text className={'text-white'}>{getTenantName()}</Text>
|
||||||
</NavBar>
|
</NavBar>
|
||||||
</Sticky>
|
</Sticky>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import {useUserData} from "@/hooks/useUserData";
|
|||||||
import {getStoredInviteParams} from "@/utils/invite";
|
import {getStoredInviteParams} from "@/utils/invite";
|
||||||
import UnifiedQRButton from "@/components/UnifiedQRButton";
|
import UnifiedQRButton from "@/components/UnifiedQRButton";
|
||||||
import {useThemeStyles} from "@/hooks/useTheme";
|
import {useThemeStyles} from "@/hooks/useTheme";
|
||||||
|
import {getRootDomain} from "@/utils/domain";
|
||||||
|
|
||||||
const UserCard = forwardRef<any, any>((_, ref) => {
|
const UserCard = forwardRef<any, any>((_, ref) => {
|
||||||
const {data, refresh} = useUserData()
|
const {data, refresh} = useUserData()
|
||||||
@@ -198,7 +199,9 @@ const UserCard = forwardRef<any, any>((_, ref) => {
|
|||||||
/>
|
/>
|
||||||
<View className={'flex flex-col'}>
|
<View className={'flex flex-col'}>
|
||||||
<Text style={{color: '#ffffff'}}>{getDisplayName() || '点击登录'}</Text>
|
<Text style={{color: '#ffffff'}}>{getDisplayName() || '点击登录'}</Text>
|
||||||
<View><Tag type="success">{getRoleName()}</Tag></View>
|
{getRootDomain() && (
|
||||||
|
<View><Tag type="success">{getRoleName()}</Tag></View>
|
||||||
|
)}
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
Reference in New Issue
Block a user