feat: 群代发改版

This commit is contained in:
chashaobao
2025-06-27 10:56:44 +08:00
parent 56cf10c768
commit b0dd660dde
18 changed files with 184 additions and 38 deletions

View File

@ -186,7 +186,7 @@ export default function AnchorPage() {
});
useShareAppMessage(() => {
return getCommonShareMessage(true, inviteCode, '数万名优质主播等你来挑');
return getCommonShareMessage({ useCapture: true, inviteCode, title: '数万名优质主播等你来挑' });
});
useDidShow(() => requestUnreadMessageCount());

View File

@ -0,0 +1,3 @@
export default definePageConfig({
navigationBarTitleText: '群代发',
});

View File

@ -0,0 +1,12 @@
import UserBatchPublish from '@/components/user-batch-publish';
import './index.less';
const PREFIX = 'group-delegate-publish';
export default function Partner() {
return (
<div className={PREFIX}>
<UserBatchPublish />
</div>
);
}

View File

@ -24,7 +24,7 @@ export default function GroupV2() {
getInviteCodeFromQueryAndUpdate(query);
});
useShareAppMessage(() => getCommonShareMessage(true, inviteCode));
useShareAppMessage(() => getCommonShareMessage({ inviteCode }));
const handleSelectCity = useCallback(cityCode => {
if (!checkCityCode(cityCode)) {

View File

@ -235,7 +235,7 @@ export default function JobDetail() {
useShareAppMessage(() => {
if (!data) {
return getCommonShareMessage(true, inviteCode);
return getCommonShareMessage({ inviteCode });
}
return {
title: getJobTitle(data) || '',

View File

@ -121,7 +121,7 @@ export default function Job() {
path: getJumpUrl(PageUrl.Job, { sortType, c: inviteCode }),
};
}
return getCommonShareMessage(true, inviteCode);
return getCommonShareMessage({ inviteCode });
});
return (

View File

@ -70,7 +70,7 @@ export default function MaterialProfilePage() {
useShareAppMessage(async () => {
const shareMessage = await getMaterialShareMessage(profile, false);
return shareMessage || getCommonShareMessage(false);
return shareMessage || getCommonShareMessage({ useCapture: false });
});
if (!profile) {

View File

@ -20,7 +20,7 @@ export default function Partner() {
};
useShareAppMessage(() => {
console.log('Partner inviteCode', inviteCode);
return getCommonShareMessage(false, inviteCode);
return getCommonShareMessage({ useCapture: false, inviteCode });
});
return (

View File

@ -21,6 +21,72 @@
padding-top: var(--tabs-wrap-height);
}
}
&__header-image {
width: 100%;
height: 120px;
}
&__delegate {
& {
padding: 24px;
padding-bottom: calc(120px + env(safe-area-inset-bottom));
}
&-fix {
width: 100%;
background: #f5f6fa;
padding-left: 24px;
padding-right: 24px;
position: fixed;
left: 0;
right: 0;
bottom: 110px;
box-sizing: border-box;
padding-bottom: calc(24px + env(safe-area-inset-bottom));
}
&-image {
width: 100%;
height: 298px;
}
&-card {
background: #fff;
padding: 24px;
border-radius: 24px;
&.image {
padding: 1px;
justify-content: center;
align-items: center;
display: flex;
}
}
&-h5 {
font-style: normal;
font-weight: 400;
font-size: 28px;
line-height: 32px;
color: @blColor;
padding-top: 40px;
padding-bottom: 24px;
&:first-child {
padding-top: 0;
}
}
&-body {
font-weight: 400;
font-size: 28px;
line-height: 48px;
color: @blColorG2;
&.link {
margin-top: 16px;
color: @blHighlightColor;
}
}
&-btn {
.button(@width: 100%; @height: 80px; @fontSize: 32px);
margin-top: 32px;
}
}
&__recruitment {
padding: 24px;

View File

@ -1,24 +1,37 @@
import { useShareAppMessage } from '@tarojs/taro';
import { Image } from '@tarojs/components';
import Taro, { useShareAppMessage } from '@tarojs/taro';
import { Button, Tabs } from '@taroify/core';
import { useCallback } from 'react';
import HomePage from '@/components/home-page';
import SearchCity from '@/components/search-city';
import UserBatchPublish from '@/components/user-batch-publish';
import { PageUrl } from '@/constants/app';
import { GROUPS } from '@/constants/group';
import useInviteCode from '@/hooks/use-invite-code';
import { openCustomerServiceChat } from '@/utils/common';
import { getCurrentCityCode } from '@/utils/location';
import { navigateTo } from '@/utils/route';
import { getCommonShareMessage } from '@/utils/share';
import { checkCityCode } from '@/utils/user';
import './index.less';
const PREFIX = 'page-biz-service';
const EXAMPLE_IMAGE = 'https://publiccdn.neighbourhood.com.cn/img/delegate-example.png';
const COMMENT_IMAGE = 'https://publiccdn.neighbourhood.com.cn/img/delegate-comments.png';
export default function BizService() {
const inviteCode = useInviteCode();
const handleClickDelegate = useCallback(() => {
navigateTo(PageUrl.GroupDelegatePublish);
}, []);
const handlePreview = (current: string) => {
Taro.previewImage({
current,
urls: [EXAMPLE_IMAGE, COMMENT_IMAGE],
});
};
const handleOpenService = useCallback(() => {
openCustomerServiceChat('https://work.weixin.qq.com/kfid/kfcd60708731367168d');
}, []);
@ -31,13 +44,42 @@ export default function BizService() {
openCustomerServiceChat(group.serviceUrl);
}
}, []);
useShareAppMessage(() => getCommonShareMessage(true, inviteCode));
useShareAppMessage(() => getCommonShareMessage({ inviteCode }));
return (
<HomePage>
<div className={PREFIX}>
<Tabs className={`${PREFIX}__tabs`} defaultValue={0}>
<Tabs.TabPane value={0} title="主播群">
<Tabs.TabPane value={0} title="群代发">
<div className={`${PREFIX}__delegate`}>
<Image
mode="widthFix"
className={`${PREFIX}__header-image`}
src="https://publiccdn.neighbourhood.com.cn/img/pub-job.png"
/>
<div className={`${PREFIX}__delegate-h5`}></div>
<div className={`${PREFIX}__delegate-card`}>
<div className={`${PREFIX}__delegate-body`}></div>
<div className={`${PREFIX}__delegate-body`}>13</div>
<div className={`${PREFIX}__delegate-body`}></div>
<div className={`${PREFIX}__delegate-body`}></div>
</div>
<div className={`${PREFIX}__delegate-h5`}></div>
<div className={`${PREFIX}__delegate-card image`} onClick={() => handlePreview(EXAMPLE_IMAGE)}>
<Image className={`${PREFIX}__delegate-image`} src={EXAMPLE_IMAGE} mode="heightFix" />
</div>
<div className={`${PREFIX}__delegate-h5`}></div>
<div className={`${PREFIX}__delegate-card image`} onClick={() => handlePreview(COMMENT_IMAGE)}>
<Image className={`${PREFIX}__delegate-image`} src={COMMENT_IMAGE} mode="heightFix" />
</div>
<div className={`${PREFIX}__delegate-fix`}>
<Button className={`${PREFIX}__delegate-btn`} onClick={handleClickDelegate}>
</Button>
</div>
</div>
</Tabs.TabPane>
<Tabs.TabPane value={1} title="免费招">
<SearchCity
onSelectCity={handleSelectCity}
currentCity={getCurrentCityCode()}
@ -46,9 +88,6 @@ export default function BizService() {
banner="点击城市名称,进本地通告群,免费招主播"
/>
</Tabs.TabPane>
<Tabs.TabPane value={1} title="群代发">
<UserBatchPublish />
</Tabs.TabPane>
<Tabs.TabPane value={2} title="代招">
<div className={`${PREFIX}__recruitment`}>
<div className={`${PREFIX}__recruitment-card`}>

View File

@ -38,7 +38,7 @@ export default function User() {
[]
);
useShareAppMessage(() => getCommonShareMessage(false));
useShareAppMessage(() => getCommonShareMessage({ useCapture: false }));
return (
<HomePage>

View File

@ -91,7 +91,7 @@ export default function WithdrawRecords() {
refresh();
}, []);
useShareAppMessage(() => {
return getCommonShareMessage(false, inviteCode);
return getCommonShareMessage({ useCapture: false, inviteCode });
});
return (