perf : 再次优化岗位信息薪资部分解析
This commit is contained in:
@@ -489,11 +489,22 @@ export const useAudioSpeak = (config = {}) => {
|
|||||||
markdown.slice(lastJobEndIndex).trim() : '';
|
markdown.slice(lastJobEndIndex).trim() : '';
|
||||||
|
|
||||||
const jobTexts = jobs.map((job, index) => {
|
const jobTexts = jobs.map((job, index) => {
|
||||||
// 处理薪资格式:将 "数字-数字" 中的 '-' 替换为 '到'
|
// 处理薪资格式
|
||||||
let salaryText = job.salary;
|
let salaryText = job.salary;
|
||||||
if (salaryText) {
|
if (salaryText) {
|
||||||
// 匹配 "数字-数字" 的格式(如:15000-18000元/月)
|
// 匹配 "XXXXX-XXXXX元/月" 格式
|
||||||
salaryText = salaryText.replace(/(\d+)-(\d+)/g, '$1到$2');
|
const rangeMatch = salaryText.match(/(\d+)-(\d+)元\/月/);
|
||||||
|
if (rangeMatch) {
|
||||||
|
const minSalary = parseInt(rangeMatch[1], 10);
|
||||||
|
const maxSalary = parseInt(rangeMatch[2], 10);
|
||||||
|
|
||||||
|
// 转换为千位单位
|
||||||
|
const minK = Math.round(minSalary / 1000);
|
||||||
|
const maxK = Math.round(maxSalary / 1000);
|
||||||
|
|
||||||
|
salaryText = `${minK}千到${maxK}千每月`;
|
||||||
|
}
|
||||||
|
// 如果不是 "XXXXX-XXXXX元/月" 格式,保持原样
|
||||||
}
|
}
|
||||||
|
|
||||||
return `第 ${index + 1} 个岗位,岗位名称是:${job.jobTitle},公司是:${job.companyName},薪资:${salaryText},地点:${job.location},学历要求:${job.education},经验要求:${job.experience}。`;
|
return `第 ${index + 1} 个岗位,岗位名称是:${job.jobTitle},公司是:${job.companyName},薪资:${salaryText},地点:${job.location},学历要求:${job.education},经验要求:${job.experience}。`;
|
||||||
|
|||||||
@@ -251,11 +251,22 @@ function extractSpeechText(markdown) {
|
|||||||
markdown.slice(lastJobEndIndex).trim() : '';
|
markdown.slice(lastJobEndIndex).trim() : '';
|
||||||
|
|
||||||
const jobTexts = jobs.map((job, index) => {
|
const jobTexts = jobs.map((job, index) => {
|
||||||
// 处理薪资格式:将 "数字-数字" 中的 '-' 替换为 '到'
|
// 处理薪资格式
|
||||||
let salaryText = job.salary;
|
let salaryText = job.salary;
|
||||||
if (salaryText) {
|
if (salaryText) {
|
||||||
// 匹配 "数字-数字" 的格式(如:15000-18000元/月)
|
// 匹配 "XXXXX-XXXXX元/月" 格式
|
||||||
salaryText = salaryText.replace(/(\d+)-(\d+)/g, '$1到$2');
|
const rangeMatch = salaryText.match(/(\d+)-(\d+)元\/月/);
|
||||||
|
if (rangeMatch) {
|
||||||
|
const minSalary = parseInt(rangeMatch[1], 10);
|
||||||
|
const maxSalary = parseInt(rangeMatch[2], 10);
|
||||||
|
|
||||||
|
// 转换为千位单位
|
||||||
|
const minK = Math.round(minSalary / 1000);
|
||||||
|
const maxK = Math.round(maxSalary / 1000);
|
||||||
|
|
||||||
|
salaryText = `${minK}千到${maxK}千每月`;
|
||||||
|
}
|
||||||
|
// 如果不是 "XXXXX-XXXXX元/月" 格式,保持原样
|
||||||
}
|
}
|
||||||
|
|
||||||
return `第 ${index + 1} 个岗位,岗位名称是:${job.jobTitle},公司是:${job.companyName},薪资:${salaryText},地点:${job.location},学历要求:${job.education},经验要求:${job.experience}。`;
|
return `第 ${index + 1} 个岗位,岗位名称是:${job.jobTitle},公司是:${job.companyName},薪资:${salaryText},地点:${job.location},学历要求:${job.education},经验要求:${job.experience}。`;
|
||||||
@@ -267,7 +278,7 @@ function extractSpeechText(markdown) {
|
|||||||
if (endingText) finalTextParts.push(endingText);
|
if (endingText) finalTextParts.push(endingText);
|
||||||
|
|
||||||
return finalTextParts.join('\n');
|
return finalTextParts.join('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 使用方法 1
|
// 使用方法 1
|
||||||
|
|||||||
@@ -237,11 +237,22 @@ function extractSpeechText(markdown) {
|
|||||||
markdown.slice(lastJobEndIndex).trim() : '';
|
markdown.slice(lastJobEndIndex).trim() : '';
|
||||||
|
|
||||||
const jobTexts = jobs.map((job, index) => {
|
const jobTexts = jobs.map((job, index) => {
|
||||||
// 处理薪资格式:将 "数字-数字" 中的 '-' 替换为 '到'
|
// 处理薪资格式
|
||||||
let salaryText = job.salary;
|
let salaryText = job.salary;
|
||||||
if (salaryText) {
|
if (salaryText) {
|
||||||
// 匹配 "数字-数字" 的格式(如:15000-18000元/月)
|
// 匹配 "XXXXX-XXXXX元/月" 格式
|
||||||
salaryText = salaryText.replace(/(\d+)-(\d+)/g, '$1到$2');
|
const rangeMatch = salaryText.match(/(\d+)-(\d+)元\/月/);
|
||||||
|
if (rangeMatch) {
|
||||||
|
const minSalary = parseInt(rangeMatch[1], 10);
|
||||||
|
const maxSalary = parseInt(rangeMatch[2], 10);
|
||||||
|
|
||||||
|
// 转换为千位单位
|
||||||
|
const minK = Math.round(minSalary / 1000);
|
||||||
|
const maxK = Math.round(maxSalary / 1000);
|
||||||
|
|
||||||
|
salaryText = `${minK}千到${maxK}千每月`;
|
||||||
|
}
|
||||||
|
// 如果不是 "XXXXX-XXXXX元/月" 格式,保持原样
|
||||||
}
|
}
|
||||||
|
|
||||||
return `第 ${index + 1} 个岗位,岗位名称是:${job.jobTitle},公司是:${job.companyName},薪资:${salaryText},地点:${job.location},学历要求:${job.education},经验要求:${job.experience}。`;
|
return `第 ${index + 1} 个岗位,岗位名称是:${job.jobTitle},公司是:${job.companyName},薪资:${salaryText},地点:${job.location},学历要求:${job.education},经验要求:${job.experience}。`;
|
||||||
@@ -253,4 +264,4 @@ function extractSpeechText(markdown) {
|
|||||||
if (endingText) finalTextParts.push(endingText);
|
if (endingText) finalTextParts.push(endingText);
|
||||||
|
|
||||||
return finalTextParts.join('\n');
|
return finalTextParts.join('\n');
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user