This commit is contained in:
chashaobao
2026-01-30 21:47:50 +08:00
parent d17a3e1461
commit 4cc4aaa707
20 changed files with 247 additions and 205 deletions

View File

@ -1,8 +1,8 @@
import { Button, Image } from '@tarojs/components';
import Taro from '@tarojs/taro';
import Taro, { useLoad } from '@tarojs/taro';
import { Arrow } from '@taroify/icons';
import { Fragment, useCallback, useEffect, useRef, useState } from 'react';
import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { EventName, OpenSource, PageUrl } from '@/constants/app';
import { CITY_CODE_TO_NAME_MAP } from '@/constants/city';
@ -11,7 +11,7 @@ import useUserInfo from '@/hooks/use-user-info';
import { StaffInfo } from '@/types/partner';
import { copy } from '@/utils/common';
import { getStaffInfo } from '@/utils/partner';
import { navigateTo } from '@/utils/route';
import { getPageQuery, navigateTo } from '@/utils/route';
import './index.less';
const PREFIX = 'invite-operations';
@ -21,6 +21,13 @@ export default function InviteOperations() {
const userInfo = useUserInfo();
const [cityCode, setCityCode] = useState<string>();
const [staffInfo, setStaffInfo] = useState<StaffInfo | null>(null);
const [isCompany, setIsCompany] = useState<boolean | null>(null);
const copyText = useMemo(() => {
return isCompany
? `我的播络ID是${userInfo.userId},邀你进主播群【企业】`
: `我的播络ID是${userInfo.userId},邀你进群`;
}, [userInfo.userId, isCompany]);
const handleClickCityMenu = useCallback(() => {
navigateTo(PageUrl.CitySearch, { city: cityCode || location.cityCode, source: OpenSource.InviteOperations });
@ -36,8 +43,8 @@ export default function InviteOperations() {
}, []);
const handleCopy = useCallback(() => {
copy(`我的播络ID是${userInfo.userId},邀你进群`);
}, [userInfo.userId]);
copy(copyText);
}, [copyText]);
useEffect(() => {
Taro.eventCenter.on(EventName.SELECT_CITY, handleCityChange);
@ -50,10 +57,11 @@ export default function InviteOperations() {
useEffect(() => {
if (!userInfo.userId) return;
if (isCompany === null) return;
if (useCopyRef.current) return;
handleCopy();
useCopyRef.current = true;
}, [handleCopy, userInfo.userId]);
}, [handleCopy, isCompany, userInfo.userId]);
useEffect(() => {
if (!cityCode) return;
@ -67,6 +75,11 @@ export default function InviteOperations() {
});
}, [cityCode]);
useLoad(async () => {
const query = getPageQuery<{ company: number }>();
setIsCompany(typeof query.company !== 'undefined');
});
return (
<div className={PREFIX}>
<div className={`${PREFIX}__main`}>
@ -77,7 +90,7 @@ export default function InviteOperations() {
<div className={`${PREFIX}__card`}>
<div className={`${PREFIX}__h1 center`}></div>
<div className={`${PREFIX}__h1 center`} style={{ paddingBottom: `48rpx` }}>
{isCompany ? '每邀请进10个群送一个企业月会员' : '每邀请进一个群送一个日会员'}
</div>
<div className={`${PREFIX}__edging`}></div>
</div>
@ -92,7 +105,7 @@ export default function InviteOperations() {
<div className="highlight"></div>
</div>
<div className={`${PREFIX}__action-block`}>
<div>ID是{userInfo.userId}</div>
<div>{copyText}</div>
<Button className={`${PREFIX}__copy`} onClick={handleCopy}>
</Button>