diff --git a/pages/complete-info/company-info.vue b/pages/complete-info/company-info.vue index f83f5fb..797fb37 100644 --- a/pages/complete-info/company-info.vue +++ b/pages/complete-info/company-info.vue @@ -718,11 +718,21 @@ const confirm = () => { company: companyData } - $api.createRequest('/app/user/registerUser', submitData, 'post') + $api.createRequest('/registerUser', submitData, 'post') .then(async (resData) => { uni.hideLoading() $api.msg('企业信息保存成功') + // 如果接口返回了token,需要重新保存token + if (resData.token) { + try { + await userStore.loginSetToken(resData.token) + console.log('Token已更新:', resData.token) + } catch (error) { + console.error('更新Token失败:', error) + } + } + // 保存成功后,重新获取用户信息并更新缓存 try { await userStore.getUserResume() diff --git a/pages/index/components/index-one.vue b/pages/index/components/index-one.vue index ec01925..f4ae5a3 100644 --- a/pages/index/components/index-one.vue +++ b/pages/index/components/index-one.vue @@ -425,7 +425,7 @@ const companyInfo = reactive({ name: '', avatar: '', industry: '', - size: '', + scale: '', isVerified: false }); @@ -583,7 +583,7 @@ const getCompanyInfo = () => { companyInfo.name = company.name || ''; companyInfo.avatar = company.avatar || ''; companyInfo.industry = company.industryType || '互联网'; - companyInfo.size = company.companySize || '100-999人'; + companyInfo.scale = company.scale || '100-999人'; // 判断是否实名:legalIdCard字段有值则表示已实名 companyInfo.isVerified = !!(company.legalIdCard && company.legalIdCard.trim()); @@ -591,7 +591,7 @@ const getCompanyInfo = () => { console.log('企业信息:', { name: companyInfo.name, industry: companyInfo.industry, - size: companyInfo.size, + size: companyInfo.scale, isVerified: companyInfo.isVerified }); } else { diff --git a/pages/job/publishJob.vue b/pages/job/publishJob.vue index ddae20d..988d621 100644 --- a/pages/job/publishJob.vue +++ b/pages/job/publishJob.vue @@ -19,21 +19,18 @@ 招聘公司 - + {{formData.companyName}} 招聘公司 - - + + class="company-display" + > + {{ formData.companyName || '未设置企业名称' }} + (企业用户,不可修改) + import { ref, reactive, onMounted, onUnmounted } from 'vue'; +import { onShow } from '@dcloudio/uni-app'; import { storeToRefs } from 'pinia'; import { createRequest } from '@/utils/request'; import useDictStore from '@/stores/useDictStore'; @@ -295,6 +293,9 @@ onMounted(async () => { calculateScrollViewHeight(); await initFormData(); + // 获取企业信息 + getCompanyInfo(); + // 监听企业选择事件 uni.$on('companySelected', handleCompanySelected); }); @@ -304,6 +305,35 @@ onUnmounted(() => { uni.$off('companySelected', handleCompanySelected); }); +// 页面显示时获取最新的企业信息(参考首页方法) +onShow(() => { + getCompanyInfo(); +}); + +// 获取企业信息(参考首页方法) +const getCompanyInfo = () => { + try { + const cachedUserInfo = uni.getStorageSync('userInfo') || {}; + console.log('缓存中的userInfo:', cachedUserInfo); + + // 检查是否有company字段 + if (cachedUserInfo.company) { + const company = cachedUserInfo.company; + formData.companyName = company.name || ''; + console.log('从缓存获取企业名称:', company.name); + } else { + console.log('缓存中没有company字段'); + // 如果company字段不存在,尝试从companyName字段获取(兼容旧数据) + if (cachedUserInfo.companyName) { + formData.companyName = cachedUserInfo.companyName; + console.log('从companyName字段获取企业名称:', cachedUserInfo.companyName); + } + } + } catch (error) { + console.error('获取企业信息失败:', error); + } +}; + // 初始化表单数据 const initFormData = async () => { try { @@ -331,6 +361,11 @@ const initFormData = async () => { formData.companyId = userStore.userInfo.id; } + // 如果是企业用户,获取企业信息 + if (userType.value === 1) { + getCompanyInfo(); + } + } catch (error) { console.error('初始化表单数据失败:', error); uni.showToast({ @@ -747,6 +782,27 @@ const validateForm = () => { } } +// 企业名称显示样式 +.company-display { + display: flex; + flex-direction: column; + padding: 0 0 20rpx 0; + box-sizing: border-box; + + .company-name { + font-size: 28rpx; + color: #333; + font-weight: 500; + margin-bottom: 8rpx; + } + + .readonly-tip { + font-size: 24rpx; + color: #999; + font-style: italic; + } +} + // 联系人管理样式 .contacts-container { .contact-item {