feat: latest code update
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
<text class="user-name">{{ userInfo.nickname || '同学' }}</text>
|
||||
<view class="user-tags">
|
||||
<text class="tag tag-plan">{{ userInfo.plan || '免费版' }}</text>
|
||||
<text class="tag tag-remaining">剩余 {{ userInfo.remaining || 0 }} 次</text>
|
||||
<text class="tag tag-remaining">{{ userInfo.interviewCredits > 0 ? '剩余 ' + userInfo.interviewCredits + ' 次' : '已用完' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<text class="arrow">›</text>
|
||||
@@ -112,19 +112,18 @@
|
||||
<view class="section-header">
|
||||
<view class="section-title-row">
|
||||
<text class="section-title">热门岗位</text>
|
||||
<text class="section-tag-demo">参考示例</text>
|
||||
</view>
|
||||
<text class="section-desc">点击直接面试</text>
|
||||
</view>
|
||||
<view class="position-list card" v-if="!positionsLoading">
|
||||
<view class="pos-item" v-for="(pos, idx) in hotPositions" :key="idx" @click="startInterview(pos)">
|
||||
<view class="pos-left">
|
||||
<text class="pos-icon">{{ posIcons[idx] || '💼' }}</text>
|
||||
<text class="pos-icon">{{ pos.icon || posIcons[idx % posIcons.length] || '💼' }}</text>
|
||||
<view class="pos-body">
|
||||
<text class="pos-name">{{ pos.name }}</text>
|
||||
<view class="pos-meta-row">
|
||||
<text class="pos-company">{{ pos.company || '参考公司' }}</text>
|
||||
<text class="pos-salary">{{ pos.salary || '参考薪资' }}</text>
|
||||
<view class="pos-meta-row" v-if="pos.company || pos.salary">
|
||||
<text class="pos-company">{{ pos.company }}</text>
|
||||
<text class="pos-salary">{{ pos.salary }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -190,7 +189,19 @@ onMounted(async () => {
|
||||
|
||||
onShow(loadUserInfo)
|
||||
|
||||
const refreshDaily = () => { showAnswer.value = false; /* trigger reload */ }
|
||||
const refreshDaily = async () => {
|
||||
showAnswer.value = false
|
||||
try {
|
||||
const t = uni.getStorageSync('token')
|
||||
if (t) {
|
||||
const qres = await uni.request({
|
||||
url: api('/daily-question'), method: 'GET',
|
||||
header: { 'Authorization': `Bearer ${t}` }
|
||||
})
|
||||
if (qres.statusCode === 200 && qres.data) dailyQuestion.value = qres.data
|
||||
}
|
||||
} catch (e) { /* silent */ }
|
||||
}
|
||||
|
||||
const goProfile = () => uni.switchTab({ url: '/pages/user/user' })
|
||||
const goLogin = () => uni.navigateTo({ url: '/pages/login/login' })
|
||||
@@ -242,7 +253,6 @@ const startInterview = (pos) => uni.navigateTo({ url: `/pages/interview/intervie
|
||||
.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20rpx; }
|
||||
.section-title { font-size: 30rpx; font-weight: 700; color: var(--color-text); }
|
||||
.section-title-row { display: flex; align-items: center; gap: 12rpx; }
|
||||
.section-tag-demo { font-size: 18rpx; color: #9CA3AF; background: #F3F4F6; padding: 2rpx 10rpx; border-radius: 6rpx; }
|
||||
.section-desc { font-size: 22rpx; color: var(--color-primary); }
|
||||
|
||||
.feature-list { display: flex; flex-direction: column; gap: 16rpx; }
|
||||
|
||||
Reference in New Issue
Block a user