replace Boss in ui with BOSS

This commit is contained in:
geekgeekrun
2026-02-09 08:14:39 +08:00
parent 6ab40f759a
commit 46c0bcba42
12 changed files with 69 additions and 68 deletions
@@ -133,7 +133,7 @@ const runAutoChat = async () => {
await dialog.showMessageBox({
type: `error`,
message: `登录状态无效`,
detail: `请重新登录Boss直聘`
detail: `请重新登录BOSS直聘`
})
process.exit(AUTO_CHAT_ERROR_EXIT_CODE.LOGIN_STATUS_INVALID)
break
@@ -267,7 +267,7 @@ const mainLoop = async () => {
await dialog.showMessageBox({
type: `error`,
message: `登录状态无效`,
detail: `请重新登录Boss直聘`
detail: `请重新登录BOSS直聘`
})
sendToDaemon({
type: 'worker-to-gui-message',
@@ -319,7 +319,7 @@ const mainLoop = async () => {
await dialog.showMessageBox({
type: `error`,
message: `登录状态无效`,
detail: `请重新登录Boss直聘`
detail: `请重新登录BOSS直聘`
})
sendToDaemon({
type: 'worker-to-gui-message',
@@ -5,7 +5,7 @@
<el-col :span="6"><el-form-item label="公司">{{ jobInfo.companyName }}</el-form-item></el-col>
<el-col :span="6"><el-form-item label="职位名称">{{ jobInfo.jobName }}</el-form-item></el-col>
<el-col :span="6"><el-form-item label="职位分类">{{ jobInfo.positionName }}</el-form-item></el-col>
<el-col :span="6"><el-form-item label="Boss及其身份">{{ jobInfo.bossName }} {{ jobInfo.bossTitle }}</el-form-item></el-col>
<el-col :span="6"><el-form-item label="BOSS及其身份">{{ jobInfo.bossName }} {{ jobInfo.bossTitle }}</el-form-item></el-col>
</el-row>
</el-form>
<el-divider content-position="left">变更记录</el-divider>
@@ -1,11 +1,11 @@
<template>
<div class="cookie-assistant-page">
<div ml1em mt1em mb1em font-size-16px>Boss 登录助手</div>
<div ml1em mt1em mb1em font-size-16px>BOSS登录助手</div>
<el-alert v-if="cookieInvalid" type="warning" :closable="false">
由于您是首次使用本程序或者您之前使用的Boss直聘账号登录状态失效因此您需要重新获取登录凭证
由于您是首次使用本程序或者您之前使用的BOSS直聘账号登录状态失效因此您需要重新获取登录凭证
</el-alert>
<div ml1em mt1em line-height-normal>
如果您了解如何获取Cookie了解有效的Cookie格式可以直接在下方输入框中进行编辑由于手动编辑较为麻烦建议您打开已登录过Boss直聘的浏览器使用<a
如果您了解如何获取Cookie了解有效的Cookie格式可以直接在下方输入框中进行编辑由于手动编辑较为麻烦建议您打开已登录过BOSS直聘的浏览器使用<a
class="color-blue! decoration-none"
href="javascript:void(0)"
@click.prevent="handleEditThisCookieExtensionStoreLinkClick"
@@ -24,14 +24,14 @@
>
启动浏览器
</li>
<li>按照正常流程通过 <b>短信验证码/二维码/微信小程序</b> 登录您的Boss直聘账号</li>
<li>按照正常流程通过 <b>短信验证码/二维码/微信小程序</b> 登录您的BOSS直聘账号</li>
<li>接下来将自动进行一些页面跳转最终将会停留在首页</li>
<li>
登录后预计5-10秒内具体取决于您的网速您的Cookie将被自动填入下方输入框
<details>
<summary color-orange cursor-pointer>我已完成登录但Cookie一直没出现</summary>
<div ml-2em max-h-200px of-auto>
如果您确实已经在打开浏览器中看到您已登录了Boss直聘请尝试按照如图所示方式复制Cookie
如果您确实已经在打开浏览器中看到您已登录了BOSS直聘请尝试按照如图所示方式复制Cookie
<figure>
<figcaption>依次点击浏览器右上角扩展程序图标EditThisCookie图标</figcaption>
<img block max-w-full src="./resources/copy-cookie-step-1.png" />
@@ -205,7 +205,7 @@ const handleSubmit = async () => {
fileName: 'boss-cookies.json',
data: formContent.value.collectedCookies
})
ElMessage.success('Boss直聘 Cookie 保存成功')
ElMessage.success('BOSS直聘 Cookie 保存成功')
gtagRenderer('save_cookie_done')
window.electron.ipcRenderer.send('cookie-saved')
@@ -22,8 +22,8 @@
gtagRenderer('view_boss_agreement_clicked')
}
"
>Boss直聘用户协议</el-link
>2023年3月版相关条款相违背您在注册Boss直聘时已签署过这一条款根据该条款
>BOSS直聘用户协议</el-link
>2023年3月版相关条款相违背您在注册BOSS直聘时已签署过这一条款根据该条款
<i>用户的平台使用义务</i><i>违约责任</i>
章节如果一些非正常用户行为被风控监测到您需要承受包括不仅限于<b class="color-red"
>账号被强制退出登录账号被限制使用账号被封禁</b
@@ -31,10 +31,10 @@
>且如果相关风险发生<b class="color-red">您需要自行承担相关后果本程序不负责</b>
</ElCheckbox>
<ElCheckbox :label="1" :class="[unreadItemsAfterClickSubmit[1] ? 'unread' : '']">
本程序需要存储您的登录凭据即Cookie来模拟您在Boss直聘上开聊Boss的行为本程序仅会把您的Cookie存储在本地并在您访问Boss直聘时将其传输到Boss直聘<b
本程序需要存储您的登录凭据即Cookie来模拟您在BOSS直聘上开聊BOSS的行为本程序仅会把您的Cookie存储在本地并在您访问BOSS直聘时将其传输到BOSS直聘<b
class="color-red"
>不会泄露给第三方</b
>也不会进行除自动开聊Boss以外的行为<b class="color-red">请勿向他人泄漏您的Cookie</b
>也不会进行除自动开聊BOSS以外的行为<b class="color-red">请勿向他人泄漏您的Cookie</b
>
</ElCheckbox>
<ElCheckbox :label="2" :class="[unreadItemsAfterClickSubmit[2] ? 'unread' : '']">
@@ -42,11 +42,11 @@
class="color-red"
>注意节制</b
>建议当天开聊次数用尽后隔几天再使用建议您<b class="color-red"
>注册一个本程序专用的新的Boss直聘账号</b
>注册一个本程序专用的新的BOSS直聘账号</b
>进行求职
</ElCheckbox>
<ElCheckbox :label="3" :class="[unreadItemsAfterClickSubmit[3] ? 'unread' : '']">
本程序原理是模拟用户在Boss直聘网页上寻找关键元素并进行点击操作Boss直聘网站经常<b>发生改版</b>且有可能<b>包含A/B实验</b>这将导致本程序相关脚本失效典型表现为本程序运行到某一步骤后<b
本程序原理是模拟用户在BOSS直聘网页上寻找关键元素并进行点击操作BOSS直聘网站经常<b>发生改版</b>且有可能<b>包含A/B实验</b>这将导致本程序相关脚本失效典型表现为本程序运行到某一步骤后<b
class="color-red"
>浏览器重复闪退重新启动</b
>如果您在使用过程中遇上程序未按照预期执行的情况请点击程序左下角进行反馈
@@ -81,16 +81,16 @@
</ElCheckbox>
<ElCheckbox :label="7" :class="[unreadItemsAfterClickSubmit[7] ? 'unread' : '']">
本程序<b class="color-red">不对您的求职过程与结果负责</b
>为您开聊的职位均在Boss直聘上发布职位信息真实性由Boss直聘负责<b
>为您开聊的职位均在BOSS直聘上发布职位信息真实性由BOSS直聘负责<b
class="color-red"
>自行甄别为您开聊的公司认真决定是否参加面试慎重选择Offer</b
>
</ElCheckbox>
<ElCheckbox :label="8" :class="[unreadItemsAfterClickSubmit[8] ? 'unread' : '']">
请在Boss直聘上自行<b class="color-red">屏蔽您不期望投递的公司</b
>如果您不希望您当前公司其它具有招聘账号的员工看到您在Boss直聘上活跃<b
请在BOSS直聘上自行<b class="color-red">屏蔽您不期望投递的公司</b
>如果您不希望您当前公司其它具有招聘账号的员工看到您在BOSS直聘上活跃<b
class="color-red"
>在Boss直聘上屏蔽当前公司及与之关联的公司</b
>在BOSS直聘上屏蔽当前公司及与之关联的公司</b
>
</ElCheckbox>
<ElCheckbox :label="9" :class="[unreadItemsAfterClickSubmit[9] ? 'unread' : '']">
@@ -20,7 +20,7 @@
>
<template #content>
<div>
本程序运行较长时间后Boss直聘会对账号进行风控导致本程序不能继续执行<br />
本程序运行较长时间后BOSS直聘会对账号进行风控导致本程序不能继续执行<br />
为此加入摸鱼模式通过此配置主动减慢本程序的运行速度降低潜在的被风控监测到的概率<br />
你可以自定义开启摸鱼模式的频率 - 默认为操作100次后暂停运行15分钟
</div>
@@ -110,7 +110,7 @@
<div w-full>
<div ref="jobSourceFormItemSectionEl" font-size-16px>
<div>
你想投递Boss直聘上哪些列表里的职位
你想投递BOSS直聘上哪些列表里的职位
<el-tooltip
effect="light"
placement="bottom-start"
@@ -123,7 +123,7 @@
</template>
<el-button type="text" font-size-12px
><span><QuestionFilled w-1em h-1em mr2px /></span
>下方展示的各条目与Boss直聘界面对应关系是怎样的</el-button
>下方展示的各条目与BOSS直聘界面对应关系是怎样的</el-button
>
</el-tooltip>
</div>
@@ -140,7 +140,7 @@
<el-form-item prop="filter" mt18px mb0px w-full>
<div flex-1>
<div font-size-16px>
你希望Boss直聘为你筛选出什么样的职位
你希望BOSS直聘为你筛选出什么样的职位
<el-tooltip
effect="light"
placement="bottom-start"
@@ -149,7 +149,7 @@
<template #content>
<ul m0 line-height-1.5em w-540px pl2em>
<li>
这个配置决定了下面列表中会展示哪些职位查找职位时会在Boss直聘页面上自动组合下方设置的筛选条件对应UI<br />
这个配置决定了下面列表中会展示哪些职位查找职位时会在BOSS直聘页面上自动组合下方设置的筛选条件对应UI<br />
<img h-270px src="../resources/intro-of-job-filter-auto-change.png" />
</li>
<li color-orange>
@@ -886,7 +886,7 @@
</div>
<div>
<b>“职位类型正则”填写过程中请注意</b
>,“职位类型”是由Boss直聘预定义好的一系列职位分类,因此<b>请按照这个分类来编写正则</b>。<br />
>,“职位类型”是由BOSS直聘预定义好的一系列职位分类,因此<b>请按照这个分类来编写正则</b>。<br />
这个分类可以在此找到:<br />
<img w-400px src="../resources/job-type-source-entry.png" />
</div>
@@ -1651,7 +1651,7 @@ function handleExpectJobFilterTemplateClicked(item) {
const strategyOptionWhenCurrentJobNotMatch = [
{
name: '在Boss直聘上标记不合适(推荐,这确保Boss直聘推荐新职位来置换不合适职位)',
name: '在BOSS直聘上标记不合适(推荐,这确保BOSS直聘推荐新职位来置换不合适职位)',
value: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS
},
{
@@ -214,7 +214,7 @@ function handleViewJobSnapshotButtonClick(record: VMarkAsNotSuitLog) {
}
const markReasonTopicMap = {
[MarkAsNotSuitReason.BOSS_INACTIVE]: 'Boss不活跃',
[MarkAsNotSuitReason.BOSS_INACTIVE]: 'BOSS不活跃',
[MarkAsNotSuitReason.USER_MANUAL_OPERATION_WITH_UNKNOWN_REASON]: '手动标记不合适',
[MarkAsNotSuitReason.JOB_NOT_SUIT]: '职位不合适',
[MarkAsNotSuitReason.JOB_CITY_NOT_SUIT]: '工作地不合适',
@@ -233,8 +233,8 @@ function formatMarkReason(row: VMarkAsNotSuitLog) {
}
})()
return [
extInfo?.bossActiveTimeDesc && `Boss活跃情况:${extInfo.bossActiveTimeDesc}`,
extInfo?.chosenReasonInUi?.text && `Boss选项内容:${extInfo.chosenReasonInUi.text}`
extInfo?.bossActiveTimeDesc && `BOSS活跃情况:${extInfo.bossActiveTimeDesc}`,
extInfo?.chosenReasonInUi?.text && `BOSS选项内容:${extInfo.chosenReasonInUi.text}`
]
.filter(Boolean)
.join('\n')
@@ -247,7 +247,7 @@ function formatMarkReason(row: VMarkAsNotSuitLog) {
return null
}
})()
return [extInfo?.chosenReasonInUi?.text && `Boss选项内容:${extInfo.chosenReasonInUi.text}`]
return [extInfo?.chosenReasonInUi?.text && `BOSS选项内容:${extInfo.chosenReasonInUi.text}`]
.filter(Boolean)
.join('\n')
}
@@ -260,7 +260,7 @@ function formatMarkReason(row: VMarkAsNotSuitLog) {
return null
}
})()
return [extInfo?.chosenReasonInUi?.text && `Boss选项内容:${extInfo.chosenReasonInUi.text}`]
return [extInfo?.chosenReasonInUi?.text && `BOSS选项内容:${extInfo.chosenReasonInUi.text}`]
.filter(Boolean)
.join('\n')
}
@@ -274,7 +274,7 @@ function formatMarkReason(row: VMarkAsNotSuitLog) {
})()
return [
extInfo?.salaryDesc && `薪资:${extInfo.salaryDesc}`,
extInfo?.chosenReasonInUi?.text && `Boss选项内容:${extInfo.chosenReasonInUi.text}`
extInfo?.chosenReasonInUi?.text && `BOSS选项内容:${extInfo.chosenReasonInUi.text}`
]
.filter(Boolean)
.join('\n')
@@ -10,11 +10,11 @@
<el-form-item>
<div>
<el-checkbox v-if="!expectJobTypeRegExpStr?.trim()" :model-value="false" disabled>
发送提醒消息前先按照自动开聊-职位类型正则校验正在与Boss沟通的岗位是否满足期望校验通过后再提醒
发送提醒消息前先按照自动开聊-职位类型正则校验正在与BOSS沟通的岗位是否满足期望校验通过后再提醒
</el-checkbox>
<template v-else>
<el-checkbox v-model="formContent.autoReminder.onlyRemindBossWithExpectJobType">
发送提醒消息前先按照自动开聊-职位类型正则校验正在与Boss沟通的岗位是否满足期望校验通过后再提醒
发送提醒消息前先按照自动开聊-职位类型正则校验正在与BOSS沟通的岗位是否满足期望校验通过后再提醒
</el-checkbox>
<div ml1.5em color-gray>
<div>当前职位类型正则{{ expectJobTypeRegExpStr?.trim() }}</div>
@@ -31,7 +31,7 @@
</template>
</div>
</el-form-item>
<el-form-item class="mb0" label="跟进话术 - 当发现已读不回的Boss时,将要向Boss发出:">
<el-form-item class="mb0" label="跟进话术 - 当发现已读不回的BOSS时,将要向BOSS发出:">
<el-radio-group v-model="formContent.autoReminder.rechatContentSource">
<div>
<el-tooltip
@@ -142,7 +142,7 @@
:precision="1"
:step="0.5"
@blur="handleThrottleIntervalMinutesBlur"
/>&nbsp;分钟内不多次跟进同一Boss
/>&nbsp;分钟内不多次跟进同一BOSS
</el-form-item>
<el-form-item label="跟进时限(天)" prop="rechatLimitDay" mb-0>
<div>
@@ -174,7 +174,7 @@
请向你不想继续提醒的Boss发送任意消息,发送后立即撤回的这条消息即可。
<br />
<br />
对于PC端Boss直聘,鼠标移动到要撤回的消息,点按鼠标右键调出菜单,再鼠标左键点击菜单中的“撤回”。如图所示:
对于PC端BOSS直聘,鼠标移动到要撤回的消息,点按鼠标右键调出菜单,再鼠标左键点击菜单中的“撤回”。如图所示:
<br />
<img block w-full src="./resources/withdraw-message-guide.png" />
</li>
@@ -182,7 +182,7 @@
</template>
<el-button type="text" font-size-12px
><span><QuestionFilled w-1em h-1em mr2px /></span
>我不想持续提醒某个Boss了,如何处理?</el-button
>我不想持续提醒某个BOSS了,如何处理?</el-button
>
</el-tooltip>
</el-form-item>
@@ -12,7 +12,7 @@
>
<template #content>
<div w-480px>
<div>扩列神器按照你所设置的求职偏好自动开聊推荐职位列表中的匹配的Boss</div>
<div>扩列神器按照你所设置的求职偏好自动开聊推荐职位列表中的匹配的BOSS</div>
<br />
<div>匹配步骤</div>
<ol m0 pl2em>
@@ -20,10 +20,10 @@
按照公司名称查找职位查找到目标职位后自动点击这个职位右侧将会展示职位详情
</li>
<li>
检查Boss活跃度
检查BOSS活跃度
<ul pl2em>
<li>
如果Boss活跃度为本月活跃或更往前的时间则会把职位标记为不合适一段时间内你将不会在Boss上看到这个职位且将会推荐新职位置换这个职位
如果BOSS活跃度为本月活跃或更往前的时间则会把职位标记为不合适一段时间内你将不会在BOSS上看到这个职位且将会推荐新职位置换这个职位
</li>
</ul>
</li>
@@ -32,7 +32,7 @@
<ul pl2em>
<li>如果匹配则自动点击开聊按钮</li>
<li>
不匹配则标记这个职位为不合适一段时间内你将不会在Boss上看到这个职位且将会推荐新职位置换这个职位
不匹配则标记这个职位为不合适一段时间内你将不会在BOSS上看到这个职位且将会推荐新职位置换这个职位
</li>
</ul>
</li>
@@ -62,16 +62,16 @@
<template #content>
<div w-480px>
<div>
Boss不明原因已读不回简历就是投不出去<br />
已读不回自动复聊提醒一下已读不回的 Boss助力把握每次机会
BOSS不明原因已读不回简历就是投不出去<br />
已读不回自动复聊提醒一下已读不回的 BOSS助力把握每次机会
</div>
<br />
<div>匹配逻辑</div>
<div>在聊天列表中查找对你消息已读不回的Boss再发一条消息多次复聊同时</div>
<div>在聊天列表中查找对你消息已读不回的BOSS再发一条消息多次复聊同时</div>
<ul m0 pl2em>
<li>如果设置了跟进时限那么在这个时间之前活跃的聊天将不会被检查</li>
<li>
如果设置了跟进间隔且再次检查时发现Boss已读不回且距离上次提醒时间间隔小于这个时间那么聊天将暂时不会跟进直到下次检查时距离上次提醒时间间隔大于这个时间
如果设置了跟进间隔且再次检查时发现BOSS已读不回且距离上次提醒时间间隔小于这个时间那么聊天将暂时不会跟进直到下次检查时距离上次提醒时间间隔大于这个时间
</li>
</ul>
<br />
@@ -133,7 +133,7 @@
<RouterLink to="./StartChatRecord">开聊记录</RouterLink>
<RouterLink to="./MarkAsNotSuitRecord">标记不合适记录</RouterLink>
<RouterLink to="./JobLibrary">职位库</RouterLink>
<RouterLink to="./BossLibrary">Boss</RouterLink>
<RouterLink to="./BossLibrary">BOSS</RouterLink>
<RouterLink to="./CompanyLibrary">公司库</RouterLink>
</div>
<div class="pt-16px pb-16px flex-0 font-size-12px">
@@ -277,6 +277,7 @@ const handleClickConfigLlm = async () => {
height: 2em;
box-sizing: border-box;
padding-left: 1.5em;
font-size: 14px;
&.router-link-active {
background-color: #fff;
font-weight: 700;
+2 -2
View File
@@ -14,7 +14,7 @@ const routes: Array<RouteRecordRaw> = [
path: '/cookieAssistant',
component: () => import('@renderer/page/CookieAssistant/index.vue'),
meta: {
title: 'Boss 登录助手'
title: 'BOSS登录助手'
}
},
{
@@ -110,7 +110,7 @@ const routes: Array<RouteRecordRaw> = [
path: 'BossLibrary',
component: () => import('@renderer/page/MainLayout/BossLibrary.vue'),
meta: {
title: 'Boss库'
title: 'BOSS库'
}
},
{