3 Commits

Author SHA1 Message Date
7f866c51be fea: update 2025-09-24 08:15:52 +08:00
fe33d0493c feat: update 2025-09-20 20:00:44 +08:00
87f8e1f7e2 feat: update 2025-09-20 19:52:56 +08:00
4 changed files with 19 additions and 9 deletions

View File

@ -61,7 +61,7 @@ export default function PartnerIntro() {
// 绘制背景图片
const bgImage = canvas.createImage();
const poster = 'https://publiccdn.neighbourhood.com.cn/img/share-coupon-poster.png';
const poster = 'https://publiccdn.neighbourhood.com.cn/img/share-coupon-poster2.png';
bgImage.src = poster;
bgImage.onload = () => {
ctx.drawImage(bgImage, 0, 0, 550, 918);
@ -69,7 +69,7 @@ export default function PartnerIntro() {
const qrCodeImage = canvas.createImage();
qrCodeImage.src = qrCode; // 假设 getQrcode() 返回的是二维码图片的路径
qrCodeImage.onload = () => {
ctx.drawImage(qrCodeImage, 196, 600, 160, 160); // 绘制二维码,位置和大小
ctx.drawImage(qrCodeImage, 196, 600, 180, 160); // 绘制二维码,位置和大小
saveCanvasToTempFile().then(tempPath => {
resolve(tempPath);
});

View File

@ -19,8 +19,14 @@ import PartnerBanner from '@/components/partner-banner';
import SafeBottomPadding from '@/components/safe-bottom-padding';
import SwitchBar from '@/components/switch-bar';
import { APP_TAB_BAR_ID, EventName, OpenSource, PageType, PageUrl, RoleType } from '@/constants/app';
import { EmployType, JobType } from '@/constants/job';
import { ALL_ANCHOR_SORT_TYPES, ANCHOR_SORT_TYPE_TITLE_MAP, AnchorSortType, GenderType } from '@/constants/material';
import { EMPLOY_TYPE_TITLE_MAP, EmployType, JOB_TYPE_TITLE_MAP, JobType } from '@/constants/job';
import {
ALL_ANCHOR_SORT_TYPES,
ANCHOR_SORT_TYPE_TITLE_MAP,
AnchorSortType,
GENDER_TYPE_TITLE_MAP,
GenderType,
} from '@/constants/material';
import useInviteCode from '@/hooks/use-invite-code';
import useListHeight, { IUseListHeightProps } from '@/hooks/use-list-height';
import useLocation from '@/hooks/use-location';
@ -263,15 +269,15 @@ export default function AnchorPage() {
</div>
<div className={classNames(`${PREFIX}__filter`)}>
<div className={`${PREFIX}__filter-item`} onClick={handleClickFilterSelect(FilterType.gender)}>
<div className="title"></div>
<div className="title">{gender === GenderType.All ? '性别' : GENDER_TYPE_TITLE_MAP[gender]}</div>
{showFilter === FilterType.gender ? <ArrowUp /> : <ArrowDown />}
</div>
<div className={`${PREFIX}__filter-item`} onClick={handleClickFilterSelect(FilterType.employType)}>
<div className="title"></div>
<div className="title">{employType === EmployType.All ? '类型' : EMPLOY_TYPE_TITLE_MAP[employType]}</div>
{showFilter === FilterType.employType ? <ArrowUp /> : <ArrowDown />}
</div>
<div className={`${PREFIX}__filter-item`} onClick={handleClickFilterSelect(FilterType.topCategory)}>
<div className="title"></div>
<div className="title">{topCategory === JobType.All ? '品类' : JOB_TYPE_TITLE_MAP[topCategory]}</div>
{showFilter === FilterType.topCategory ? <ArrowUp /> : <ArrowDown />}
</div>
<div className={`${PREFIX}__filter-item`} onClick={handleClickFilterSelect(FilterType.more)}>

View File

@ -200,7 +200,9 @@ const CompanyFooter = (props: { data: JobDetails }) => {
const errorCode = e.errorCode;
const errorMsg = e.info?.() || e.message;
collectEvent(CollectEventName.PUBLISH_OPEN_JOB_FAILED, { jobId: data.id, error: e.info?.() || e.message });
if (errorCode === RESPONSE_ERROR_CODE.INSUFFICIENT_BALANCE) {
if (errorCode === RESPONSE_ERROR_CODE.INSUFFICIENT_FREE_BALANCE) {
setShowBuy(true);
} else if (errorCode === RESPONSE_ERROR_CODE.INSUFFICIENT_BALANCE) {
Toast.info('您购买的产品已耗尽使用次数');
setShowBuy(true);
} else if (errorCode === RESPONSE_ERROR_CODE.BOSS_VIP_EXPIRED) {

View File

@ -5,5 +5,7 @@ import Toast from '@/utils/toast';
import './index.less';
export default function ProtocolWebview() {
return <WebView src="https://neighbourhood.cn/user-agreement.html" onError={() => Toast.error('加载失败请重试')} />;
return (
<WebView src="https://neighbourhood.cn/user-agreement.html?t=1" onError={() => Toast.error('加载失败请重试')} />
);
}