flat: 修改字体和添加图标

This commit is contained in:
史典卓
2025-07-09 15:15:37 +08:00
parent 36798d3054
commit 645c2552f6
45 changed files with 518 additions and 164 deletions

BIN
.DS_Store vendored

Binary file not shown.

25
App.vue
View File

@@ -75,6 +75,29 @@ uni-modal,
@font-face { @font-face {
font-family: DingTalk JinBuTi; font-family: DingTalk JinBuTi;
src: url('@/static/font/DingTalk JinBuTi_min.ttf'); src: url('/static/font/DingTalk JinBuTi_min.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: PingFangSC-Regular;
src: url('/static/font/PingFangSC-Regular.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: PingFangSC-Medium;
src: url('/static/font/PingFangSC-Medium.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: DIN-Medium;
src: url('/static/font/DIN-Medium.woff2') format('woff2');
font-display: swap;
}
body {
font-family: 'PingFangSC-Regular', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
} }
</style> </style>

View File

@@ -110,9 +110,11 @@ const handleScrollToLower = () => {
align-items: center; align-items: center;
padding: 7rpx 3rpx; padding: 7rpx 3rpx;
.header-title { .header-title {
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
color: #000000; color: #000000;
font-weight: bold; font-weight: bold;
.subtitle-text { .subtitle-text {
font-family: 'PingFangSC-Regular', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 28rpx;
color: #333333; color: #333333;

View File

@@ -276,11 +276,13 @@ ol {
align-items: center; align-items: center;
justify-content: space-between justify-content: space-between
.title-text .title-text
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
max-width: calc(100% - 160rpx); max-width: calc(100% - 160rpx);
overflow: hidden overflow: hidden
text-overflow: ellipsis text-overflow: ellipsis
font-size: 30rpx font-size: 30rpx
.card-salary .card-salary
font-family: DIN-Medium;
font-size: 28rpx; font-size: 28rpx;
color: #FF6E1C; color: #FF6E1C;

View File

@@ -9,8 +9,12 @@
<dict-tree-Label class="mar_ri10" dictType="industry" :value="job.industry"></dict-tree-Label> <dict-tree-Label class="mar_ri10" dictType="industry" :value="job.industry"></dict-tree-Label>
<dict-Label dictType="scale" :value="job.scale"></dict-Label> <dict-Label dictType="scale" :value="job.scale"></dict-Label>
</view> </view>
<view> <view class="ris">
<text class="color_256BFA fs_14">在招职位·{{ job.totalRecruitment || '-' }}</text> <text class="fs_14">
在招职位·
<text class="color_256BFA">{{ job.totalRecruitment || '-' }}</text>
</text>
</view> </view>
</view> </view>
<view class="card-tags"> <view class="card-tags">
@@ -76,6 +80,7 @@ function nextDetail(company) {
justify-content: space-between justify-content: space-between
align-items: flex-start align-items: flex-start
.company{ .company{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
color: #333333; color: #333333;
@@ -97,6 +102,7 @@ function nextDetail(company) {
display: flex display: flex
flex-wrap: wrap flex-wrap: wrap
.tag{ .tag{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
width: fit-content; width: fit-content;
height: 30rpx; height: 30rpx;
background: #F4F4F4; background: #F4F4F4;
@@ -121,4 +127,7 @@ function nextDetail(company) {
color: #6C7282; color: #6C7282;
} }
} }
.ris{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
}
</style> </style>

View File

@@ -99,11 +99,13 @@ function nextDetail(job) {
justify-content: space-between justify-content: space-between
align-items: flex-start align-items: flex-start
.company{ .company{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
color: #333333; color: #333333;
} }
.salary{ .salary{
font-family: DIN-Medium;
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 28rpx;
color: #4C6EFB; color: #4C6EFB;
@@ -120,6 +122,7 @@ function nextDetail(job) {
display: flex display: flex
flex-wrap: wrap flex-wrap: wrap
.tag{ .tag{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
width: fit-content; width: fit-content;
height: 30rpx; height: 30rpx;
background: #F4F4F4; background: #F4F4F4;

View File

@@ -88,6 +88,7 @@ function seeDetail(item) {
font-weight: 600; font-weight: 600;
font-size: 32rpx; font-size: 32rpx;
color: #333333; color: #333333;
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
} }
.card-text{ .card-text{
margin-top: 16rpx margin-top: 16rpx

View File

@@ -251,6 +251,7 @@ image {
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
color: #333333; color: #333333;
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
} }
.row2{ .row2{
font-weight: 400; font-weight: 400;

View File

@@ -54,7 +54,7 @@
<text>{{ userInfo.salaryMin / 1000 }}k-{{ userInfo.salaryMax / 1000 }}k</text> <text>{{ userInfo.salaryMin / 1000 }}k-{{ userInfo.salaryMax / 1000 }}k</text>
</view> </view>
<view class="mys-text"> <view class="mys-text">
<text>期望工</text> <text>期望工</text>
<text>青岛市-</text> <text>青岛市-</text>
<dict-Label dictType="area" :value="Number(userInfo.area)"></dict-Label> <dict-Label dictType="area" :value="Number(userInfo.area)"></dict-Label>
</view> </view>
@@ -91,6 +91,7 @@ image{
padding: 52rpx 48rpx padding: 52rpx 48rpx
.tops-left{ .tops-left{
.name{ .name{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 600; font-weight: 600;
font-size: 44rpx; font-size: 44rpx;
color: #333333; color: #333333;
@@ -140,6 +141,7 @@ image{
.mys-info{ .mys-info{
padding: 28rpx padding: 28rpx
.mys-h4{ .mys-h4{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 600; font-weight: 600;
font-size: 32rpx; font-size: 32rpx;
color: #000000; color: #000000;

View File

@@ -113,10 +113,7 @@
v-for="(item, index) in matchingDegree" v-for="(item, index) in matchingDegree"
:key="index" :key="index"
class="progress-item" class="progress-item"
:class="{ :class="getClass(index)"
active: index < currentStep - 1,
half: index < currentStep && currentStep < index + 1, // 半条
}"
/> />
</view> </view>
</view> </view>
@@ -263,6 +260,21 @@ function jobCollection() {
}); });
} }
} }
function getClass(index) {
const current = currentStep.value;
const floorIndex = Math.floor(current);
if (index < floorIndex) {
return 'active';
} else if (index === floorIndex) {
const decimal = current % 1;
const percent = Math.round(decimal * 100);
return `half${percent}`;
} else {
return '';
}
}
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
@@ -313,17 +325,19 @@ image {
} }
/* 当前进度进行中的格子 */ /* 当前进度进行中的格子 */
.progress-item.half::before { for i in 0..100
content: ''; .progress-item.half{i}::before
position: absolute; content ''
left: 0; position absolute
top: 0; left 0
bottom: 0; top 0
width: 100%; /* 根据 currentStep 小数动态控制 */ bottom 0
// background: linear-gradient(to right, #256bfa, #8c68ff); width 100%
background: linear-gradient(to right, #256bfa 50%, #eaeaea 50%); background linear-gradient(to right, #256bfa (i)%, #eaeaea (i)%)
border-radius: 24rpx; border-radius 24rpx
}
.card-footer{ .card-footer{
.footer-title{ .footer-title{
font-weight: 600; font-weight: 600;

View File

@@ -125,6 +125,7 @@ onUnmounted(() => {
} }
.time-block { .time-block {
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
text-align: center; text-align: center;
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 28rpx;

View File

@@ -141,6 +141,7 @@ function getList(type = 'add', loading = true) {
color: #666D7F; color: #666D7F;
} }
.active{ .active{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
color: #000000; color: #000000;
@@ -167,6 +168,7 @@ function getList(type = 'add', loading = true) {
} }
} }
.card-Title{ .card-Title{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
line-height: 70rpx line-height: 70rpx

View File

@@ -373,6 +373,7 @@ function getNextDates({ startDate = '', count = 6 }) {
flex-wrap: nowrap flex-wrap: nowrap
overflow: hidden overflow: hidden
.weel-days{ .weel-days{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
display: flex display: flex
justify-content: center justify-content: center
flex-direction: column flex-direction: column
@@ -426,6 +427,7 @@ function getNextDates({ startDate = '', count = 6 }) {
box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0,0,0,0.04); box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0,0,0,0.04);
border-radius: 20rpx 20rpx 20rpx 20rpx; border-radius: 20rpx 20rpx 20rpx 20rpx;
.card-title{ .card-title{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
color: #333333; color: #333333;
@@ -450,6 +452,7 @@ function getNextDates({ startDate = '', count = 6 }) {
font-weight: 500; font-weight: 500;
font-size: 48rpx; font-size: 48rpx;
color: #333333; color: #333333;
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
} }
.left-dateDay{ .left-dateDay{
font-weight: 400; font-weight: 400;

View File

@@ -90,6 +90,7 @@ const paging = ref(null);
// 实时过滤 // 实时过滤
const filteredList = computed(() => { const filteredList = computed(() => {
// console.log(tabeList.value);
if (!searchText.value) return tabeList.value; if (!searchText.value) return tabeList.value;
const list = tabeList.value.filter((item) => !item.isTitle && item.title.includes(searchText.value)); const list = tabeList.value.filter((item) => !item.isTitle && item.title.includes(searchText.value));
const [result, lastData] = $api.insertSortData(list); const [result, lastData] = $api.insertSortData(list);

View File

@@ -95,14 +95,29 @@
<dict-Label dictType="experience" :value="job.experience"></dict-Label> <dict-Label dictType="experience" :value="job.experience"></dict-Label>
</view> </view>
</view> </view>
<view class="falls-card-company">{{ job.companyName }}</view>
<view class="falls-card-company"> <view class="falls-card-company">
青岛 青岛
<dict-Label dictType="area" :value="job.jobLocationAreaCode"></dict-Label> <dict-Label dictType="area" :value="job.jobLocationAreaCode"></dict-Label>
</view> </view>
<view class="falls-card-pepleNumber"> <view class="falls-card-pepleNumber">
<view>{{ job.postingDate || '发布日期' }}</view> <view>
<view>{{ vacanciesTo(job.vacancies) }}</view> <image class="point2" src="/static/icon/pintDate.png"></image>
<view class="fl_1">
{{ job.postingDate || '发布日期' }}
</view>
</view>
<view>
<image class="point3" src="/static/icon/pointpeople.png"></image>
<view class="fl_1">
{{ vacanciesTo(job.vacancies) }}
</view>
</view>
</view>
<view class="falls-card-company2">
<image class="point3" src="/static/icon/point3.png"></image>
<view class="fl_1">
{{ job.companyName }}
</view>
</view> </view>
<!-- <view class="falls-card-matchingrate"> <!-- <view class="falls-card-matchingrate">
<view class=""><matchingDegree :job="job"></matchingDegree></view> <view class=""><matchingDegree :job="job"></matchingDegree></view>
@@ -133,13 +148,14 @@
<!-- 筛选 --> <!-- 筛选 -->
<select-filter ref="selectFilterModel"></select-filter> <select-filter ref="selectFilterModel"></select-filter>
<view class="maskFristEntry" v-if="maskFristEntry"> <!-- <view class="maskFristEntry" v-if="maskFristEntry">
<view class="entry-content"> <view class="entry-content">
<text>左滑查看视频</text> <text class="text1">左滑查看视频</text>
<image class="indicateArrow" src="/static/gif/indicateArrow.gif"></image> <text class="text2">左滑查看视频</text>
<view class="goExperience">去体验</view>
<view class="maskFristEntry-Close" @click="closeFristEntry">1</view>
</view> </view>
<view class="maskFristEntry-Close" @click="closeFristEntry"></view> </view> -->
</view>
</view> </view>
</template> </template>
@@ -191,23 +207,6 @@ const rangeOptions = ref([
{ value: 2, text: '最新发布' }, { value: 2, text: '最新发布' },
]); ]);
const isLoaded = ref(false); const isLoaded = ref(false);
// const jobList = ref([
// { name: '销售顾问', highlight: true },
// { name: '销售管理', highlight: true },
// { name: '销售工程师', highlight: true },
// { name: '算法工程师', highlight: false },
// { name: '生产经理', highlight: false },
// { name: '市场策划', highlight: false },
// { name: '商务服务', highlight: false },
// { name: '客服', highlight: false },
// { name: '创意总监', highlight: false },
// ]);
onLoad(() => {
// 判断浏览器是否有 fristEntry 第一次进入
let fristEntry = uni.getStorageSync('fristEntry') || true; // 默认未读
maskFristEntry.value = fristEntry;
});
const { columnCount, columnSpace } = useColumnCount(() => { const { columnCount, columnSpace } = useColumnCount(() => {
pageState.pageSize = 10 * (columnCount.value - 1); pageState.pageSize = 10 * (columnCount.value - 1);
@@ -218,15 +217,6 @@ const { columnCount, columnSpace } = useColumnCount(() => {
}); });
}); });
function closeFristEntry() {
uni.setStorageSync('fristEntry', false);
maskFristEntry.value = false;
}
// onLoad(() => {
// getJobRecommend('refresh');
// });
async function loadData() { async function loadData() {
try { try {
if (isLoaded.value) return; if (isLoaded.value) return;
@@ -461,50 +451,84 @@ defineExpose({ loadData });
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
.maskFristEntry // .maskFristEntry
position: fixed; // position: fixed;
right: 20rpx; // // right: 20rpx;
bottom: calc(50% - 200rpx); // // bottom: calc(50% - 200rpx);
// background: rgba(0,0,0,0.3) // height: 100vh
.entry-content // width: 100vw
display: flex; // background: rgba(0,0,0,0.3)
align-items: center // .entry-content
text // display: flex;
font-size: 36rpx // align-items: center
background: linear-gradient(273.34deg, #356CFA 3.58%, #A47FFD 85.84%); // position: absolute
-webkit-background-clip: text; // left: 50%
-webkit-text-fill-color: transparent; // top: 40%
background-clip: text; /* 有些浏览器兼容用 */ // transform: translate(-50%, -50%)
text-fill-color: transparent; // flex-direction: column
.indicateArrow // background: url('@/static/imgs/fristEntry.png') 0 0 no-repeat;
height: 76rpx // background-size: 100% 100%;
width: 68rpx // width: 480rpx
.maskFristEntry-Close // height: 584rpx
position: absolute; // // padding-left: 80rpx
left: calc(50% - 10rpx); // .text1
top: 86rpx // margin-top: 370rpx
width: 42rpx // font-size: 36rpx
height: 42rpx // background: linear-gradient(273.34deg, #356CFA 3.58%, #A47FFD 85.84%);
background: linear-gradient(273.34deg, #356CFA 3.58%, #A47FFD 85.84%); // -webkit-background-clip: text;
border-radius: 50%; // -webkit-text-fill-color: transparent;
.maskFristEntry-Close::before // background-clip: text; /* 有些浏览器兼容用 */
position: absolute; // text-fill-color: transparent;
left: calc( 50% - 2rpx) // padding-left: 28rpx
top: calc( 50% - 10rpx) // .text2
transform: rotate(45deg); // padding-left: 28rpx
content: '' // margin-top: 8rpx
background: #FFFFFF // font-size: 20rpx;
width: 4rpx // color: #666666;
height: 20rpx // text-align: center;
.maskFristEntry-Close::after // .indicateArrow
position: absolute; // height: 76rpx
left: calc( 50% - 2rpx) // width: 68rpx
top: calc( 50% - 10rpx) // .indicatefristEntry
transform: rotate(-45deg); // width: 244rpx
content: '' // height: 244rpx
background: #FFFFFF // .goExperience
width: 4rpx // margin-left: 28rpx
height: 20rpx // margin-top: 28rpx
// width: 160rpx;
// height: 60rpx;
// background: linear-gradient( 180deg, #9974FD 0%, #286BFA 100%);
// border-radius: 12rpx 12rpx 12rpx 12rpx;
// font-size: 28rpx;
// color: #FFFFFF;
// text-align: center;
// line-height: 60rpx
// .maskFristEntry-Close
// position: absolute;
// left: calc(50% - 10rpx);
// bottom: -130rpx
// width: 42rpx
// height: 42rpx
// background: linear-gradient(273.34deg, #356CFA 3.58%, #A47FFD 85.84%);
// border-radius: 50%;
// .maskFristEntry-Close::before
// position: absolute;
// left: calc( 50% - 2rpx)
// top: calc( 50% - 10rpx)
// transform: rotate(45deg);
// content: ''
// background: #FFFFFF
// width: 4rpx
// height: 20rpx
// .maskFristEntry-Close::after
// position: absolute;
// left: calc( 50% - 2rpx)
// top: calc( 50% - 10rpx)
// transform: rotate(-45deg);
// content: ''
// background: #FFFFFF
// width: 4rpx
// height: 20rpx
.app-container .app-container
@@ -545,6 +569,7 @@ defineExpose({ loadData });
color: #B5B5B5; color: #B5B5B5;
width: 100% width: 100%
.chart .chart
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
width: 170rpx; width: 170rpx;
background: radial-gradient( 0% 56% at 87% 61%, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.47) 100%); background: radial-gradient( 0% 56% at 87% 61%, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.47) 100%);
box-shadow: 0rpx 8rpx 40rpx 0rpx rgba(210,210,210,0.14); box-shadow: 0rpx 8rpx 40rpx 0rpx rgba(210,210,210,0.14);
@@ -568,6 +593,7 @@ defineExpose({ loadData });
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
border: 2rpx solid #FFFFFF; border: 2rpx solid #FFFFFF;
.card-title .card-title
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 600; font-weight: 600;
font-size: 32rpx; font-size: 32rpx;
color: #000000; color: #000000;
@@ -589,6 +615,7 @@ defineExpose({ loadData });
.nav-filter .nav-filter
padding: 16rpx 28rpx 0 28rpx padding: 16rpx 28rpx 0 28rpx
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
.filter-top .filter-top
display: flex display: flex
justify-content: space-between; justify-content: space-between;
@@ -615,6 +642,7 @@ defineExpose({ loadData });
font-size: 36rpx; font-size: 36rpx;
color: #000000; color: #000000;
.jobs-add .jobs-add
font-family: 'PingFangSC-Regular', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
display: flex display: flex
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -628,6 +656,7 @@ defineExpose({ loadData });
padding: 24rpx 0 padding: 24rpx 0
.btm-left .btm-left
display: flex display: flex
font-family: 'PingFangSC-Regular', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
.filterbtm .filterbtm
font-weight: 400; font-weight: 400;
font-size: 32rpx; font-size: 32rpx;
@@ -639,6 +668,7 @@ defineExpose({ loadData });
font-size: 32rpx; font-size: 32rpx;
color: #256BFA; color: #256BFA;
.btm-right .btm-right
font-family: 'PingFangSC-Regular', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: 400; font-weight: 400;
font-size: 32rpx; font-size: 32rpx;
color: #6C7282; color: #6C7282;
@@ -662,13 +692,14 @@ defineExpose({ loadData });
.falls-card .falls-card
padding: 30rpx; padding: 30rpx;
.falls-card-title .falls-card-title
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
color: #606060; color: #606060;
line-height: 49rpx;
text-align: left; text-align: left;
word-break:break-all word-break:break-all
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
color: #333333; color: #333333;
margin-top: 10rpx
.falls-card-pay .falls-card-pay
// height: 50rpx; // height: 50rpx;
word-break:break-all word-break:break-all
@@ -678,6 +709,7 @@ defineExpose({ loadData });
align-items: end; align-items: end;
position: relative position: relative
.pay-text .pay-text
font-family: DIN-Medium;
color: #4C6EFB; color: #4C6EFB;
padding-right: 10rpx padding-right: 10rpx
font-weight: 500; font-weight: 500;
@@ -703,23 +735,34 @@ defineExpose({ loadData });
font-size: 24rpx; font-size: 24rpx;
color: #6C7282; color: #6C7282;
text-align: center; text-align: center;
margin-top: 14rpx; margin-top: 20rpx;
white-space: nowrap white-space: nowrap
.falls-card-company,.falls-card-pepleNumber .falls-card-company,.falls-card-pepleNumber
margin-top: 20rpx; margin-top: 20rpx;
font-size: 24rpx; font-size: 24rpx;
color: #606060; color: #999999;
line-height: 25rpx; line-height: 25rpx;
text-align: left; text-align: left;
.falls-card-pepleNumber .falls-card-pepleNumber
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
margin-top: 38rpx; margin-top: 20rpx;
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 24rpx;
color: #6C7282; color: #999999;
view
display:flex
align-items: center
.point2
margin: 4rpx 6rpx 0 2rpx
height: 22rpx
width: 22rpx
.point3
margin: 4rpx 4rpx 0 0
height: 28rpx
width: 28rpx
.falls-card-matchingrate .falls-card-matchingrate
margin-top: 10rpx; margin-top: 10rpx;
display: flex; display: flex;
@@ -728,6 +771,16 @@ defineExpose({ loadData });
font-size: 21rpx; font-size: 21rpx;
color: #4778EC; color: #4778EC;
text-align: left; text-align: left;
.falls-card-company2
margin-top: 8rpx;
font-size: 24rpx;
color: #999999;
text-align: left;
display: flex
.point3
margin: 4rpx 4rpx 0 0
height: 26rpx
width: 26rpx
// 推荐卡片 // 推荐卡片
.recommend-card::before .recommend-card::before
position: absolute position: absolute
@@ -739,20 +792,38 @@ defineExpose({ loadData });
height: 8rpx; height: 8rpx;
background: linear-gradient( to left, #9E74FD 0%, #256BFA 100%); background: linear-gradient( to left, #9E74FD 0%, #256BFA 100%);
box-shadow: 0rpx 8rpx 40rpx 0rpx rgba(0,54,170,0.15); box-shadow: 0rpx 8rpx 40rpx 0rpx rgba(0,54,170,0.15);
.recommend-card::after
content ''
position absolute
z-index 0
left 50%
top 40%
transform: translate(-50%, -50%)
width 250rpx
height 250rpx
background url('@/static/icon/backAI.png') no-repeat center center
opacity 0.6
background-size contain
pointer-events none
filter: blur(3rpx)
.recommend-card .recommend-card
padding: 24rpx padding 36rpx 24rpx
background: linear-gradient( 360deg, #DFE9FF 0%, #FFFFFF 52%, #FFFFFF 100%);
border-radius: 20rpx 20rpx 20rpx 20rpx;
position relative
box-shadow 0rpx 4rpx 8rpx 0rpx rgba(72, 89, 123, 0.3)
.card-content .card-content
position: relative; position: relative;
z-index: 2; z-index: 2;
.recommend-card-title .recommend-card-title
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 28rpx;
color: #333333; color: #333333;
.recommend-card-tip .recommend-card-tip
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 28rpx;
color: #6C7282; color: #6C7282;
margin-top: 20rpx margin-top: 28rpx
.recommend-card-line .recommend-card-line
width: calc(100%); width: calc(100%);
height: 0rpx; height: 0rpx;
@@ -760,26 +831,26 @@ defineExpose({ loadData });
border: 2rpx dashed rgba(0,0,0,0.14); border: 2rpx dashed rgba(0,0,0,0.14);
margin-top: 50rpx margin-top: 50rpx
position: relative position: relative
.recommend-card-line::before // .recommend-card-line::before
position: absolute // position: absolute
content: '' // content: ''
left: 0 // left: 0
top: 0 // top: 0
transform: translate(-50% - 90rpx, -50%) // transform: translate(-50% - 90rpx, -50%)
width: 28rpx; // width: 28rpx;
height: 28rpx; // height: 28rpx;
background: #F4F4F4; // background: #F4F4F4;
border-radius: 50%; // border-radius: 50%;
.recommend-card-line::after // .recommend-card-line::after
position: absolute // position: absolute
content: '' // content: ''
right: 0 // right: 0
top: 0 // top: 0
transform: translate(50% + 90rpx, -50%) // transform: translate(50% + 90rpx, -50%)
width: 28rpx; // width: 28rpx;
height: 28rpx; // height: 28rpx;
background: #F4F4F4; // background: #F4F4F4;
border-radius: 50%; // border-radius: 50%;
.recommend-card-controll .recommend-card-controll
display: flex display: flex
align-items: center align-items: center
@@ -788,16 +859,16 @@ defineExpose({ loadData });
padding: 0 6rpx; padding: 0 6rpx;
.controll-yes .controll-yes
width: 124rpx; width: 124rpx;
height: 70rpx; height: 60rpx;
background: rgba(37,107,250,0.1); background: rgba(37,107,250,0.1);
border-radius: 12rpx 12rpx 12rpx 12rpx; border-radius: 12rpx 12rpx 12rpx 12rpx;
text-align: center; text-align: center;
line-height:70rpx line-height: 60rpx
color: #256BFA color: #256BFA
.controll-no .controll-no
width: 124rpx; width: 124rpx;
height: 66rpx; height: 56rpx;
line-height: 66rpx line-height: 56rpx
border-radius: 12rpx 12rpx 12rpx 12rpx; border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 2rpx solid #DEDEDE; border: 2rpx solid #DEDEDE;
font-weight: 400; font-weight: 400;

View File

@@ -55,6 +55,7 @@
</view> </view>
<view class="title">{{ job.jobTitle }}</view> <view class="title">{{ job.jobTitle }}</view>
<view class="desc"> <view class="desc">
<image class="point3" src="/static/icon/point3.png"></image>
<!-- <uni-icons type="location" size="14"></uni-icons> --> <!-- <uni-icons type="location" size="14"></uni-icons> -->
<view class="descText">{{ job.companyName }}</view> <view class="descText">{{ job.companyName }}</view>
</view> </view>
@@ -76,6 +77,7 @@ const { $api, navTo } = inject('globalFunction');
import { storeToRefs } from 'pinia'; import { storeToRefs } from 'pinia';
import useUserStore from '@/stores/useUserStore'; import useUserStore from '@/stores/useUserStore';
import img from '@/static/icon/filter.png'; import img from '@/static/icon/filter.png';
import useLocationStore from '@/stores/useLocationStore';
import { useColumnCount } from '@/hook/useColumnCount'; import { useColumnCount } from '@/hook/useColumnCount';
import { useRecommedIndexedDBStore, jobRecommender } from '@/stores/useRecommedIndexedDBStore.js'; import { useRecommedIndexedDBStore, jobRecommender } from '@/stores/useRecommedIndexedDBStore.js';
const recommedIndexDb = useRecommedIndexedDBStore(); const recommedIndexDb = useRecommedIndexedDBStore();
@@ -291,7 +293,7 @@ defineExpose({ loadData });
} }
} }
.job-info{ .job-info{
padding: 10rpx 24rpx 24rpx 24rpx padding: 10rpx 10rpx 24rpx 24rpx
} }
.salary .salary
color: #4C6EFB; color: #4C6EFB;
@@ -299,12 +301,14 @@ defineExpose({ loadData });
display: flex display: flex
align-items: flex-start align-items: flex-start
justify-content: space-between justify-content: space-between
font-family: DIN-Medium;
.flame .flame
margin-top: 4rpx margin-top: 4rpx
margin-right: 4rpx margin-right: 4rpx
width: 24rpx width: 24rpx
height: 31rpx height: 31rpx
.title .title
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
color: #333333; color: #333333;
@@ -316,7 +320,14 @@ defineExpose({ loadData });
color: #6C7282; color: #6C7282;
margin-top: 6rpx; margin-top: 6rpx;
display: flex display: flex
align-items: flex-start
.descText{ .descText{
flex: 1
white-space: pre-wrap white-space: pre-wrap
} }
.point3{
margin: 4rpx 4rpx 0 0
height: 26rpx
width: 26rpx
}
</style> </style>

View File

@@ -27,7 +27,18 @@
</swiper-item> </swiper-item>
</swiper> </swiper>
</view> </view>
<Tabbar v-show="showTabbar" :currentpage="0"></Tabbar> <Tabbar v-show="showTabbar" :currentpage="0"></Tabbar>
<!-- maskFristEntry -->
<view class="maskFristEntry" v-if="maskFristEntry">
<view class="entry-content">
<text class="text1">左滑查看视频</text>
<text class="text2">快去体验吧</text>
<view class="goExperience" @click="goExperience">去体验</view>
<view class="maskFristEntry-Close" @click="closeFristEntry">1</view>
</view>
</view>
</view> </view>
</view> </view>
</template> </template>
@@ -45,11 +56,20 @@ import { storeToRefs } from 'pinia';
import { useReadMsg } from '@/stores/useReadMsg'; import { useReadMsg } from '@/stores/useReadMsg';
const { unreadCount } = storeToRefs(useReadMsg()); const { unreadCount } = storeToRefs(useReadMsg());
const showTabbar = ref(true); const showTabbar = ref(true);
const maskFristEntry = ref(false);
onLoad(() => {
// 判断浏览器是否有 fristEntry 第一次进入
// let fristEntry = uni.getStorageSync('fristEntry') === false ? false : true; // 默认未读
// maskFristEntry.value = fristEntry ;
maskFristEntry.value = true;
});
onShow(() => { onShow(() => {
// 获取消息列表 // 获取消息列表
useReadMsg().fetchMessages(); useReadMsg().fetchMessages();
}); });
const state = reactive({ const state = reactive({
current: 0, current: 0,
all: [{}], all: [{}],
@@ -69,7 +89,7 @@ function changeShowTabbar(val) {
showTabbar.value = val; showTabbar.value = val;
} }
// 查看消息类型 //1 查看消息类型
function changeSwiperType(e) { function changeSwiperType(e) {
const index = e.detail.current; const index = e.detail.current;
state.current = index; state.current = index;
@@ -87,11 +107,20 @@ function handleTabChange(index) {
} }
} }
// 查看消息类型
function changeSwiperMsgType(e) { function changeSwiperMsgType(e) {
const currented = e.detail.current; const currented = e.detail.current;
state.current = currented; state.current = currented;
} }
// mask
function closeFristEntry() {
uni.setStorageSync('fristEntry', false);
maskFristEntry.value = false;
}
function goExperience() {
closeFristEntry();
state.current = 1;
}
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
@@ -170,4 +199,86 @@ function changeSwiperMsgType(e) {
width: 100% width: 100%
display: flex; display: flex;
flex-direction: column; flex-direction: column;
// mask:
.maskFristEntry
position: fixed;
// right: 20rpx;
// bottom: calc(50% - 200rpx);
height: 100vh
width: 100vw
background: rgba(0,0,0,0.3)
.entry-content
display: flex;
align-items: center
position: absolute
left: 50%
top: 35%
transform: translate(-50%, -50%)
flex-direction: column
background: url('@/static/imgs/fristEntry.png') 0 0 no-repeat;
background-size: 100% 100%;
width: 480rpx
height: 584rpx
// padding-left: 80rpx
.text1
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
margin-top: 370rpx
font-size: 36rpx
background: linear-gradient(273.34deg, #356CFA 3.58%, #A47FFD 85.84%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text; /* 有些浏览器兼容用 */
text-fill-color: transparent;
padding-left: 28rpx
.text2
padding-left: 28rpx
margin-top: 8rpx
font-size: 20rpx;
color: #666666;
text-align: center;
.indicateArrow
height: 76rpx
width: 68rpx
.indicatefristEntry
width: 244rpx
height: 244rpx
.goExperience
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
margin-left: 28rpx
margin-top: 28rpx
width: 160rpx;
height: 60rpx;
background: linear-gradient( 180deg, #9974FD 0%, #286BFA 100%);
border-radius: 12rpx 12rpx 12rpx 12rpx;
font-size: 28rpx;
color: #FFFFFF;
text-align: center;
line-height: 60rpx
.maskFristEntry-Close
position: absolute;
left: calc(50% - 10rpx);
bottom: -130rpx
width: 42rpx
height: 42rpx
background: linear-gradient(273.34deg, #356CFA 3.58%, #A47FFD 85.84%);
border-radius: 50%;
.maskFristEntry-Close::before
position: absolute;
left: calc( 50% - 2rpx)
top: calc( 50% - 10rpx)
transform: rotate(45deg);
content: ''
background: #FFFFFF
width: 4rpx
height: 20rpx
.maskFristEntry-Close::after
position: absolute;
left: calc( 50% - 2rpx)
top: calc( 50% - 10rpx)
transform: rotate(-45deg);
content: ''
background: #FFFFFF
width: 4rpx
height: 20rpx
</style> </style>

View File

@@ -3,7 +3,7 @@
<tabcontrolVue :current="tabCurrent"> <tabcontrolVue :current="tabCurrent">
<template v-slot:tab0> <template v-slot:tab0>
<view class="login-content"> <view class="login-content">
<image class="logo" src="../../static/logo.png"></image> <image class="logo" src="@/static/logo.png"></image>
<view class="logo-title">就业</view> <view class="logo-title">就业</view>
</view> </view>
<view class="btns"> <view class="btns">
@@ -245,6 +245,18 @@ function getTreeselect() {
// 登录 // 登录
function loginTest() { function loginTest() {
// uni.share({
// provider: 'weixin',
// scene: 'WXSceneSession',
// type: 2,
// imageUrl: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni@2x.png',
// success: function (res) {
// console.log('success:' + JSON.stringify(res));
// },
// fail: function (err) {
// console.log('fail:' + JSON.stringify(err));
// },
// });
const params = { const params = {
username: 'test', username: 'test',
password: 'test', password: 'test',
@@ -453,4 +465,4 @@ function complete() {
color: #FFFFFF; color: #FFFFFF;
text-align: center; text-align: center;
line-height: 90rpx line-height: 90rpx
</style> </style>

View File

@@ -157,6 +157,7 @@ function getUserstatistics() {
padding: 36rpx 36rpx 64rpx 36rpx padding: 36rpx 36rpx 64rpx 36rpx
border-radius: 20rpx 20rpx 0rpx 0rpx; border-radius: 20rpx 20rpx 0rpx 0rpx;
position: relative position: relative
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
.top-title{ .top-title{
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
@@ -218,6 +219,7 @@ function getUserstatistics() {
margin: 32rpx 16rpx 32rpx 10rpx margin: 32rpx 16rpx 32rpx 10rpx
} }
.left-text{ .left-text{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 28rpx;
color: #333333; color: #333333;
@@ -252,8 +254,9 @@ function getUserstatistics() {
justify-content: center justify-content: center
align-items: center align-items: center
.mini-num{ .mini-num{
font-family: DIN-Medium;
font-weight: 500; font-weight: 500;
font-size: 44rpx; font-size: 46rpx;
color: #333333; color: #333333;
} }
.mini-text{ .mini-text{
@@ -283,6 +286,7 @@ function getUserstatistics() {
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
.userinfo-ls-name .userinfo-ls-name
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 600; font-weight: 600;
font-size: 40rpx; font-size: 40rpx;
color: #333333; color: #333333;

View File

@@ -118,6 +118,7 @@ function changeSwiperMsgType(e) {
font-weight: bold; font-weight: bold;
} }
.header-btnLf { .header-btnLf {
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;

View File

@@ -133,6 +133,8 @@ defineExpose({ loadData });
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
width: 100% width: 100%
text
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
.card-time .card-time
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 28rpx;

View File

@@ -119,6 +119,8 @@ defineExpose({ loadData });
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
width: 100% width: 100%
text
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
.card-time .card-time
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 28rpx;

View File

@@ -294,6 +294,7 @@ defineExpose({ loadData, handleFilterConfirm });
background: #F6F6F6; background: #F6F6F6;
border-radius: 12rpx 12rpx 12rpx 12rpx; border-radius: 12rpx 12rpx 12rpx 12rpx;
.active .active
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
color: #256BFA; color: #256BFA;
background: #E9F0FF; background: #E9F0FF;
border-radius: 12rpx 12rpx 12rpx 12rpx; border-radius: 12rpx 12rpx 12rpx 12rpx;
@@ -330,6 +331,7 @@ defineExpose({ loadData, handleFilterConfirm });
margin-right: 32rpx; margin-right: 32rpx;
white-space: nowrap white-space: nowrap
.active .active
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 36rpx; font-size: 36rpx;
color: #000000; color: #000000;

View File

@@ -398,6 +398,7 @@ defineExpose({ loadData, handleFilterConfirm });
margin-right: 32rpx; margin-right: 32rpx;
white-space: nowrap white-space: nowrap
.active .active
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 36rpx; font-size: 36rpx;
color: #000000; color: #000000;

View File

@@ -33,7 +33,14 @@
donted: index === state.dont, donted: index === state.dont,
}" }"
></view> ></view>
<view class="item-text">{{ item.stationName }}</view> <view
class="item-text"
:class="{
textActive: index === state.dont,
}"
>
{{ item.stationName }}
</view>
</view> </view>
</view> </view>
</view> </view>
@@ -185,7 +192,6 @@ function openFilter() {
pageState.search[key] = value.join(','); pageState.search[key] = value.join(',');
} }
showFilter.value = false; showFilter.value = false;
console.log(pageState.search);
getJobList('refresh'); getJobList('refresh');
}, },
cancel: () => { cancel: () => {
@@ -408,44 +414,43 @@ defineExpose({ loadData, handleFilterConfirm });
border-radius: 50%; border-radius: 50%;
position: relative; position: relative;
margin-bottom: 20rpx; margin-bottom: 20rpx;
.donted::after .item-dont::before
position: absolute; position: absolute;
content: ''; content: '';
color: #FFFFFF; color: #FFFFFF;
font-size: 20rpx; font-size: 20rpx;
text-align: center; text-align: center;
left: 0; left: 50%;
top: -5rpx; top: 50%;
transform: translate(-50%, -50%)
width: 27rpx; width: 27rpx;
height: 27rpx; height: 27rpx;
line-height: 28rpx; background: #F7B000;
background: blue !important;
border-radius: 50%; border-radius: 50%;
.dontstart::after .item-dont::after
position: absolute; position: absolute;
content: '始'; // content: '始';
color: #FFFFFF; content: '';
font-size: 20rpx; font-size: 20rpx;
text-align: center; text-align: center;
left: 0; left: 50%;
top: -5rpx; top: 50%;
width: 27rpx; transform: translate(-50%, -50%)
height: 27rpx; width: 14rpx;
line-height: 28rpx; height: 14rpx;
background: #666666; background: #ffffff;
border-radius: 50%; border-radius: 50%;
// .dontend::after // .donted::after
// position: absolute; // position: absolute;
// content: ''; // content: '';
// color: #FFFFFF;
// font-size: 20rpx; // font-size: 20rpx;
// text-align: center; // text-align: center;
// left: 0; // left: 50%;
// top: -5rpx; // top: 50%;
// width: 27rpx; // transform: translate(-50%, -50%)
// height: 27rpx; // width: 14rpx;
// line-height: 28rpx; // height: 14rpx;
// background: #666666; // background: #F7B000 !important;
// border-radius: 50%; // border-radius: 50%;
.item-text .item-text
position: absolute position: absolute
@@ -458,6 +463,8 @@ defineExpose({ loadData, handleFilterConfirm });
text-align: center; text-align: center;
white-space: nowrap white-space: nowrap
transform: translate(-50% + 8rpx, 0) transform: translate(-50% + 8rpx, 0)
.textActive
color: #F7B000
.three-item:nth-child(2n) .three-item:nth-child(2n)
.item-text .item-text
margin-top: -90rpx; margin-top: -90rpx;
@@ -468,7 +475,7 @@ defineExpose({ loadData, handleFilterConfirm });
top: -17rpx; top: -17rpx;
width: 100%; width: 100%;
height: 17rpx; height: 17rpx;
background: #FFCB47; background: #F7B000;
border-radius: 17rpx 17rpx 17rpx 17rpx; border-radius: 17rpx 17rpx 17rpx 17rpx;
z-index: 1; z-index: 1;
.nearby-list .nearby-list
@@ -503,6 +510,7 @@ defineExpose({ loadData, handleFilterConfirm });
margin-right: 32rpx; margin-right: 32rpx;
white-space: nowrap white-space: nowrap
.active .active
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 36rpx; font-size: 36rpx;
color: #000000; color: #000000;

View File

@@ -276,6 +276,7 @@ defineExpose({ loadData, handleFilterConfirm });
background: #F6F6F6; background: #F6F6F6;
border-radius: 12rpx 12rpx 12rpx 12rpx; border-radius: 12rpx 12rpx 12rpx 12rpx;
.active .active
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
color: #256BFA; color: #256BFA;
background: #E9F0FF; background: #E9F0FF;
border-radius: 12rpx 12rpx 12rpx 12rpx; border-radius: 12rpx 12rpx 12rpx 12rpx;
@@ -311,6 +312,7 @@ defineExpose({ loadData, handleFilterConfirm });
margin-right: 32rpx; margin-right: 32rpx;
white-space: nowrap white-space: nowrap
.active .active
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
font-weight: 500; font-weight: 500;
font-size: 36rpx; font-size: 36rpx;
color: #000000; color: #000000;

BIN
static/.DS_Store vendored

Binary file not shown.

BIN
static/font/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
static/gif/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

BIN
static/icon/pintDate.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/icon/point3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/icon/pointpeople.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

BIN
static/imgs/fristEntry.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -47,8 +47,8 @@ const useLocationStore = defineStore("location", () => {
longitude: 120.382665, longitude: 120.382665,
latitude: 36.066938 latitude: 36.066938
} }
longitudeVal.value = res.longitude longitudeVal.value = resd.longitude
latitudeVal.value = res.latitude latitudeVal.value = resd.latitude
msg('用户位置获取失败,使用模拟定位') msg('用户位置获取失败,使用模拟定位')
resole(resd) resole(resd)
}, },

BIN
unpackage/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

63
utils/wechatShare.js Normal file
View File

@@ -0,0 +1,63 @@
import wx from 'weixin-js-sdk'
import config from "@/config.js"
export function setupWechatShare({
title,
desc,
link,
imgUrl
}) {
// 通过后端接口获取签名(必须)
fetch(`${config.baseUrl}/wechat-signature?url=${encodeURIComponent(location.href.split('#')[0])}`)
.then(res => res.json())
.then(({
appId,
timestamp,
nonceStr,
signature
}) => {
wx.config({
debug: false,
appId,
timestamp,
nonceStr,
signature,
jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData']
})
wx.ready(() => {
// 分享给好友
wx.updateAppMessageShareData({
title,
desc,
link,
imgUrl,
success: () => {
console.log('分享配置成功')
}
})
// 分享到朋友圈
wx.updateTimelineShareData({
title,
link,
imgUrl,
success: () => {
console.log('朋友圈分享配置成功')
}
})
})
})
}
// 使用
// import { setupWechatShare } from '@/utils/wechatShare.js'
// onMounted(() => {
// setupWechatShare({
// title: '职位推荐:高级前端工程师',
// desc: '某知名互联网公司年薪40W点击查看详情',
// link: location.href,
// imgUrl: 'https://yourcdn.com/job-thumbnail.png'
// })
// })