ai页面岗位跳转bug修复
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
v-for="(card, index) in localJobCardsList"
|
||||
:key="index"
|
||||
class="custom-card"
|
||||
@tap="navigateToJobDetail(card.jobId)"
|
||||
@tap="navigateToJobDetail(card.encryptJobId)"
|
||||
>
|
||||
<view class="card-title">
|
||||
<text class="title-text">{{ card.jobTitle }}</text>
|
||||
@@ -76,26 +76,24 @@ watch(() => renderedHtml.value, (newVal) => {
|
||||
});
|
||||
|
||||
// 微信小程序端导航到岗位详情页面
|
||||
const navigateToJobDetail = (jobId) => {
|
||||
console.log('navigateToJobDetail called with jobId:', jobId);
|
||||
if (jobId && jobId !== 'undefined' && jobId !== 'null') {
|
||||
// 跳转到岗位详情页面
|
||||
const navigateToJobDetail = (encryptJobId) => {
|
||||
console.log('navigateToJobDetail called with encryptJobId:', encryptJobId);
|
||||
if (encryptJobId && encryptJobId !== 'undefined' && encryptJobId !== 'null') {
|
||||
let url = `/packageA/pages/post/post?encryptJobId=${encryptJobId}`
|
||||
uni.navigateTo({
|
||||
url: `/packageA/pages/post/post?jobId=${jobId}`,
|
||||
url: url,
|
||||
success: (res) => {
|
||||
console.log('navigateTo success:', res);
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('navigateTo failed:', err);
|
||||
// 如果navigateTo失败,尝试redirectTo
|
||||
uni.redirectTo({
|
||||
url: `/packageA/pages/post/post?jobId=${jobId}`,
|
||||
url: url,
|
||||
success: (res2) => {
|
||||
console.log('redirectTo success:', res2);
|
||||
},
|
||||
fail: (err2) => {
|
||||
console.error('redirectTo also failed:', err2);
|
||||
// 如果还是失败,显示错误提示
|
||||
uni.showToast({
|
||||
title: '跳转失败,请稍后重试',
|
||||
icon: 'none'
|
||||
@@ -105,7 +103,7 @@ const navigateToJobDetail = (jobId) => {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.error('Invalid jobId:', jobId);
|
||||
console.error('Invalid encryptJobId:', encryptJobId);
|
||||
uni.showToast({
|
||||
title: '岗位信息不完整',
|
||||
icon: 'none'
|
||||
@@ -134,36 +132,33 @@ const handleH5Click = (e) => {
|
||||
console.log('Found elements:', { cardElement, moreElement });
|
||||
|
||||
if (cardElement) {
|
||||
// 尝试多种方式获取jobId
|
||||
let jobId = cardElement.getAttribute('data-job-id');
|
||||
console.log('Found custom-card, data-job-id attribute:', jobId);
|
||||
let encryptJobId = cardElement.getAttribute('data-encrypt-job-id');
|
||||
console.log('Found custom-card, data-encrypt-job-id attribute:', encryptJobId);
|
||||
|
||||
// 如果data-job-id为空,尝试从onclick事件中提取jobId
|
||||
if (!jobId) {
|
||||
if (!encryptJobId) {
|
||||
const onclick = cardElement.getAttribute('onclick');
|
||||
if (onclick) {
|
||||
const match = onclick.match(/jobId=(\w+)/);
|
||||
const match = onclick.match(/encryptJobId=([^'"]+)/);
|
||||
if (match && match[1]) {
|
||||
jobId = match[1];
|
||||
console.log('Extracted jobId from onclick:', jobId);
|
||||
encryptJobId = match[1];
|
||||
console.log('Extracted encryptJobId from onclick:', encryptJobId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (jobId) {
|
||||
console.log('Final jobId for navigation:', jobId);
|
||||
if (encryptJobId) {
|
||||
console.log('Final encryptJobId for navigation:', encryptJobId);
|
||||
try {
|
||||
// 直接使用uni.navigateTo,避免navTo函数的潜在问题
|
||||
let url = `/packageA/pages/post/post?encryptJobId=${encryptJobId}`
|
||||
uni.navigateTo({
|
||||
url: `/packageA/pages/post/post?jobId=${jobId}`,
|
||||
url: url,
|
||||
success: (res) => {
|
||||
console.log('navigateTo success:', res);
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('navigateTo failed:', err);
|
||||
// 如果navigateTo失败,尝试redirectTo
|
||||
uni.redirectTo({
|
||||
url: `/packageA/pages/post/post?jobId=${jobId}`,
|
||||
url: url,
|
||||
success: (res2) => {
|
||||
console.log('redirectTo success:', res2);
|
||||
},
|
||||
@@ -178,39 +173,36 @@ const handleH5Click = (e) => {
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
console.error('No jobId found for custom-card');
|
||||
console.error('No encryptJobId found for custom-card');
|
||||
}
|
||||
} else if (moreElement) {
|
||||
// 尝试多种方式获取jobId
|
||||
let jobId = moreElement.getAttribute('data-job-id');
|
||||
console.log('Found custom-more, data-job-id attribute:', jobId);
|
||||
let encryptJobId = moreElement.getAttribute('data-encrypt-job-id');
|
||||
console.log('Found custom-more, data-encrypt-job-id attribute:', encryptJobId);
|
||||
|
||||
// 如果data-job-id为空,尝试从onclick事件中提取jobId
|
||||
if (!jobId) {
|
||||
if (!encryptJobId) {
|
||||
const onclick = moreElement.getAttribute('onclick');
|
||||
if (onclick) {
|
||||
const match = onclick.match(/jobId=(\w+)/);
|
||||
const match = onclick.match(/encryptJobId=([^'"]+)/);
|
||||
if (match && match[1]) {
|
||||
jobId = match[1];
|
||||
console.log('Extracted jobId from onclick:', jobId);
|
||||
encryptJobId = match[1];
|
||||
console.log('Extracted encryptJobId from onclick:', encryptJobId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (jobId) {
|
||||
console.log('Final jobId for more jobs:', jobId);
|
||||
if (encryptJobId) {
|
||||
console.log('Final encryptJobId for more jobs:', encryptJobId);
|
||||
try {
|
||||
// 直接使用uni.navigateTo,避免navTo函数的潜在问题
|
||||
let url = `/packageA/pages/moreJobs/moreJobs?encryptJobId=${encryptJobId}`
|
||||
uni.navigateTo({
|
||||
url: `/packageA/pages/moreJobs/moreJobs?jobId=${jobId}`,
|
||||
url: url,
|
||||
success: (res) => {
|
||||
console.log('navigateTo success:', res);
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('navigateTo failed:', err);
|
||||
// 如果navigateTo失败,尝试redirectTo
|
||||
uni.redirectTo({
|
||||
url: `/packageA/pages/moreJobs/moreJobs?jobId=${jobId}`,
|
||||
url: url,
|
||||
success: (res2) => {
|
||||
console.log('redirectTo success:', res2);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user