feat: 加群+一些bug+样式+job list改default sort

This commit is contained in:
chashaobao
2025-08-15 00:41:44 +08:00
parent 33ef940d6e
commit 943f921e56
6 changed files with 61 additions and 13 deletions

View File

@ -654,6 +654,11 @@
&.highlight {
color: @blHighlightColor;
}
.highlight-span {
color: @blHighlightColor;
display: inline;
}
}
&__button {

View File

@ -26,7 +26,7 @@ interface Item {
title: string;
price: string;
amt: number;
contents: { content: string; highlight?: boolean }[];
contents: { content: string; highlight?: boolean; inlineHighlight?: string }[];
badge?: string;
}
@ -52,9 +52,8 @@ const LIST: Item[] = [
amt: 48,
badge: '限时体验',
contents: [
{ content: '-通告每日优先展示' },
{ content: '-每天可查看20个主播详情' },
{ content: '-每天可主动联系10个主播', highlight: true },
{ content: '-通告每日优先展示', highlight: true },
{ content: '-每天可查看20个主播详情', inlineHighlight: '可主动联系10个' },
// { content: '-播络可代为联系20个主播高成功率', highlight: true },
{ content: '-有效期一个月' },
],
@ -66,9 +65,8 @@ const LIST: Item[] = [
amt: 96,
badge: '6.7折',
contents: [
{ content: '-通告每日优先展示' },
{ content: '-每天可查看20个主播详情' },
{ content: '-每天可主动联系10个主播' },
{ content: '-通告每日优先展示', highlight: true },
{ content: '-每天可查看20个主播详情', inlineHighlight: '可主动联系10个' },
// { content: '-播络可代为联系60个主播高成功率', highlight: true },
{ content: '-有效期一个季度' },
],
@ -161,6 +159,7 @@ export default function CompanyPublishJobBuy(props: IProps) {
key={i.content}
>
{i.content}
{i.inlineHighlight && <div className="highlight-span">{i.inlineHighlight}</div>}
</div>
))}
</div>

View File

@ -5934,6 +5934,11 @@ export const GROUP_CITY_INDEXES_LIST = [
cityName: '杭州',
keyword: 'HANGZHOU杭州',
},
{
cityCode: '230100',
cityName: '哈尔滨',
keyword: 'HAERBIN哈尔滨',
},
{
cityCode: '340100',
cityName: '合肥',
@ -5941,6 +5946,16 @@ export const GROUP_CITY_INDEXES_LIST = [
},
],
},
{
letter: 'J',
data: [
{
cityCode: '370100',
cityName: '济南',
keyword: 'JINAN济南',
},
],
},
{
letter: 'K',
data: [
@ -5984,11 +5999,21 @@ export const GROUP_CITY_INDEXES_LIST = [
cityName: '上海',
keyword: 'SHANGHAI上海',
},
{
cityCode: '210100',
cityName: '沈阳',
keyword: 'SHENYANG沈阳',
},
{
cityCode: '440300',
cityName: '深圳',
keyword: 'SHENZHEN深圳',
},
{
cityCode: '130100',
cityName: '石家庄',
keyword: 'SHIJIAZHUANG石家庄',
},
{
cityCode: '320500',
cityName: '苏州',
@ -6004,6 +6029,11 @@ export const GROUP_CITY_INDEXES_LIST = [
cityName: '天津',
keyword: 'TIANJIN天津',
},
{
cityCode: '140100',
cityName: '太原',
keyword: 'TAIYUAN太原',
},
],
},
{
@ -6044,6 +6074,11 @@ export const GROUP_CITY_INDEXES_LIST = [
cityName: '郑州',
keyword: 'ZHENGZHOU郑州',
},
{
cityCode: '430200',
cityName: '株洲',
keyword: 'ZHUZHOU株洲',
},
],
},
];

View File

@ -56,5 +56,11 @@ export const GROUPS: GroupItem[] = [
{ title: '【温州】', cityCode: 330300, serviceUrl: 'https://work.weixin.qq.com/kfid/kfcb0ea5f197a18b335' },
{ title: '【天津】', cityCode: 120100, serviceUrl: 'https://work.weixin.qq.com/kfid/kfcda46c23dade6f6a3' },
{ title: '【昆明】', cityCode: 530100, serviceUrl: 'https://work.weixin.qq.com/kfid/kfcf2aebcbf3d46d9cd' },
{ title: '【石家庄】', cityCode: 130100, serviceUrl: 'https://work.weixin.qq.com/kfid/kfc7dedcc69aaa9cdae' },
{ title: '【太原】', cityCode: 140100, serviceUrl: 'https://work.weixin.qq.com/kfid/kfccc8b59411baa7c24' },
{ title: '【株洲】', cityCode: 430200, serviceUrl: 'https://work.weixin.qq.com/kfid/kfc8584f903f9263f85' },
{ title: '【哈尔滨】', cityCode: 230100, serviceUrl: 'https://work.weixin.qq.com/kfid/kfcaf757d0590d2bad0' },
{ title: '【沈阳】', cityCode: 210100, serviceUrl: 'https://work.weixin.qq.com/kfid/kfcbe96e71d87061f88' },
{ title: '【济南】', cityCode: 370100, serviceUrl: 'https://work.weixin.qq.com/kfid/kfc57d4d9bd032fe89c' },
{ title: '【全国】', cityCode: 440300, serviceUrl: 'https://work.weixin.qq.com/kfid/kfcc60ac7b6420787a8' },
];

View File

@ -40,7 +40,7 @@ import { isNeedCreateMaterial } from '@/utils/user';
import './index.less';
import { Dialog } from '@taroify/core';
import CompanyPublishJobBuy from '@/components/product-dialog/steps-ui/company-publish-job-buy';
import { requestProductBalance } from '@/utils/product';
import { requestProductBalance, requestProductUseRecord } from '@/utils/product';
import { ProductType } from '@/constants/product';
import store from '@/store';
import { cacheJobId } from '@/store/actions';
@ -85,13 +85,16 @@ const AnchorFooter = (props: { data: JobDetails }) => {
if (data.sourcePlat !== 'bl') {
if (needCreateMaterial) {
const [time] = await requestProductBalance(ProductType.VIP);
if (time <= 0) {
const result = await requestProductUseRecord(ProductType.VIP, { jobId: data.id });
if (!result) {
const [time, isPaidVip] = await requestProductBalance(ProductType.VIP);
if (time <= 0 || !isPaidVip) {
setShowMaterialGuide(true);
return;
}
}
}
}
if (data.isAuthed) {
const toUserId = data.userId;
if (isChatWithSelf(toUserId)) {

View File

@ -33,7 +33,7 @@ export default function Job() {
const inviteCode = useInviteCode();
const [tabType, setTabType] = useState<JobSourceType>(JobSourceType.All);
const [employType, setEmployType] = useState<EmployType>(EmployType.All);
const [sortType, setSortType] = useState<SortType>(SortType.RECOMMEND);
const [sortType, setSortType] = useState<SortType>(SortType.CREATE_TIME);
const [cityCode, setCityCode] = useState<string>(location.cityCode);
const [coordinate, setCoordinate] = useState<Coordinate>({
latitude: location.latitude,