enhance agreement

This commit is contained in:
geekgeekrun
2025-07-13 21:09:40 +08:00
parent e0670a9f30
commit 7dd0c675d5
@@ -1,5 +1,5 @@
<template> <template>
<div class="first-run-readme" ref="componentRootEl"> <div ref="componentRootEl" class="first-run-readme">
<div class="first-run-readme__inner"> <div class="first-run-readme__inner">
<div class="readme-title">欢迎使用GeekGeekRun祝您求职顺利~</div> <div class="readme-title">欢迎使用GeekGeekRun祝您求职顺利~</div>
<div class="readme-desc"> <div class="readme-desc">
@@ -12,25 +12,32 @@
> >
<ElCheckbox :label="0" :class="[unreadItemsAfterClickSubmit[0] ? 'unread' : '']"> <ElCheckbox :label="0" :class="[unreadItemsAfterClickSubmit[0] ? 'unread' : '']">
本程序从某种程度上说属于辅助工具<el-link 本程序从某种程度上说属于辅助工具<el-link
@click=" color-blue
electron.ipcRenderer.send( @click.stop.prevent="
'open-external-link', () => {
'https://about.zhipin.com/agreement/' electron.ipcRenderer.send(
) 'open-external-link',
'https://about.zhipin.com/agreement/'
)
gtagRenderer('view_boss_agreement_clicked')
}
" "
>Boss直聘用户协议</el-link >Boss直聘用户协议</el-link
>相关条款相违背 >2023年3月版相关条款相违背您在注册Boss直聘时已签署过这一条款根据该条款
根据该条款如果一些非正常用户行为被风控监测到您需要承受包括不仅限于<b <i>用户的平台使用义务</i><i>违约责任</i>
class="color-red" 章节如果一些非正常用户行为被风控监测到您需要承受包括不仅限于<b class="color-red"
>账号被强制退出登录</b >账号被强制退出登录账号被限制使用账号被封禁</b
><b class="color-red">账号被限制使用</b><b class="color-red">账号被封禁</b
>等对您不利的风险因此使用本程序即意味着<b class="color-red">您愿意接受以上风险</b >等对您不利的风险因此使用本程序即意味着<b class="color-red">您愿意接受以上风险</b
>且如果相关风险发生<b class="color-red">您需要自行承担相关后果</b><b >且如果相关风险发生<b class="color-red">您需要自行承担相关后果本程序不负责</b>
class="color-red"
>本程序不负责</b
>
</ElCheckbox> </ElCheckbox>
<ElCheckbox :label="1" :class="[unreadItemsAfterClickSubmit[1] ? 'unread' : '']"> <ElCheckbox :label="1" :class="[unreadItemsAfterClickSubmit[1] ? 'unread' : '']">
本程序需要存储您的登录凭据即Cookie来模拟您在Boss直聘上开聊Boss的行为本程序仅会把您的Cookie存储在本地并在您访问Boss直聘时将其传输到Boss直聘<b
class="color-red"
>不会泄露给第三方</b
>也不会进行除自动开聊Boss以外的行为<b class="color-red">请勿向他人泄漏您的Cookie</b
>
</ElCheckbox>
<ElCheckbox :label="2" :class="[unreadItemsAfterClickSubmit[2] ? 'unread' : '']">
本程序会通过尽可能模仿用户行为来规避相关风险但并不能保证可以完全规避建议您使用本程序时<b 本程序会通过尽可能模仿用户行为来规避相关风险但并不能保证可以完全规避建议您使用本程序时<b
class="color-red" class="color-red"
>注意节制</b >注意节制</b
@@ -38,39 +45,58 @@
>注册一个本程序专用的新的Boss直聘账号</b >注册一个本程序专用的新的Boss直聘账号</b
>进行求职 >进行求职
</ElCheckbox> </ElCheckbox>
<ElCheckbox :label="2" :class="[unreadItemsAfterClickSubmit[2] ? 'unread' : '']">
本程序原理是模拟用户在Boss直聘网页上进行点击操作Boss直聘网站每过一段时间会发生改版且有可能包含A/B实验这将导致本程序相关脚本失效此时您可以点击程序左下角进行反馈
</ElCheckbox>
<ElCheckbox :label="3" :class="[unreadItemsAfterClickSubmit[3] ? 'unread' : '']"> <ElCheckbox :label="3" :class="[unreadItemsAfterClickSubmit[3] ? 'unread' : '']">
您的雇主可能会对您的计算机终端或网络进行监控从而审计跟踪您的行为建议您<b 本程序原理是模拟用户在Boss直聘网页上寻找关键元素并进行点击操作Boss直聘网站经常<b>发生改版</b>且有可能<b>包含A/B实验</b>这将导致本程序相关脚本失效典型表现为本程序运行到某一步骤后<b
class="color-red" class="color-red"
>不要在您雇主提供的计算机终端或网络上使用本程序</b >浏览器重复闪退重新启动</b
> >如果您在使用过程中遇上程序未按照预期执行的情况请点击程序左下角进行反馈
</ElCheckbox> </ElCheckbox>
<ElCheckbox :label="4" :class="[unreadItemsAfterClickSubmit[4] ? 'unread' : '']"> <ElCheckbox :label="4" :class="[unreadItemsAfterClickSubmit[4] ? 'unread' : '']">
本程序需要存储您的登录凭据即Cookie来模拟您在Boss直聘上开聊Boss的行为本程序仅会把您的Cookie存储在本地并在您访问Boss直聘时将其传输到Boss直聘<b 您所在公司可能会对您的计算机终端或网络进行<b color-red>监控</b>从而<b color-red
class="color-red" >审计跟踪</b
>不会泄露给第三方</b >您的行为上级 / HRBP 团队可能会从 IT
>也不会进行除自动开聊Boss以外的行为<b class="color-red">请勿向他人泄漏您的Cookie</b 团队处获取到监控数据从而了解团队成员离职倾向如果您不希望上级 / HRBP
团队了解到您正在求职建议您<b color-red
>不要在您所在公司提供的计算机终端或网络上使用本程序</b
> >
</ElCheckbox> </ElCheckbox>
<ElCheckbox :label="5" :class="[unreadItemsAfterClickSubmit[5] ? 'unread' : '']"> <ElCheckbox :label="5" :class="[unreadItemsAfterClickSubmit[5] ? 'unread' : '']">
本程序<b class="color-red" 本程序尊重您的隐私<b color-red
>不会上报您的隐私诸如能够识别出您身份的信息不会向您的雇主报告您的求职行为</b >不会上报能够识别出您身份的信息不会参与任何钓鱼活动不会向您所在公司及上级 / HRBP
>如果您在使用过程中遇上程序错误您可以点击程序左下角进行反馈 团队报告您的求职行为不会向猎头公司泄露您的信息</b
>
</ElCheckbox> </ElCheckbox>
<ElCheckbox :label="6" :class="[unreadItemsAfterClickSubmit[6] ? 'unread' : '']"> <ElCheckbox :label="6" :class="[unreadItemsAfterClickSubmit[6] ? 'unread' : '']">
<b class="color-red">本程序不对您的求职过程与结果负责</b 本程序<b class="color-red">没有内置任何付费功能</b><b class="color-red"
>为您开聊的职位均在Boss直聘上发布<b class="color-red">自行甄别为您开聊的公司</b >下载使用是免费的</b
><b class="color-red">认真决定是否参加面试</b><b class="color-red">慎重选择Offer</b >任何人可以<b class="color-red">免费获得免费使用</b><b class="color-red"
>作者没有利用本程序赚到过任何收入</b
>如果您是从GitHub以外的地方付费后购买的本程序或您被提示必须付费后才能使用本程序<b
class="color-red"
>那您大概率被骗了</b
>或者<b class="color-red">您下载到了本程序修改版</b><b class="color-red"
>本程序对此概不负责请勿找作者商讨退款售后事宜相关事宜请咨询卖方</b
> >
</ElCheckbox> </ElCheckbox>
<ElCheckbox :label="7" :class="[unreadItemsAfterClickSubmit[7] ? 'unread' : '']"> <ElCheckbox :label="7" :class="[unreadItemsAfterClickSubmit[7] ? 'unread' : '']">
请在Boss直聘上自行<b class="color-red">屏蔽您不期望投递的公司</b> 本程序<b class="color-red">不对您的求职过程与结果负责</b
>为您开聊的职位均在Boss直聘上发布职位信息真实性由Boss直聘负责<b
class="color-red"
>自行甄别为您开聊的公司认真决定是否参加面试慎重选择Offer</b
>
</ElCheckbox> </ElCheckbox>
<ElCheckbox :label="8" :class="[unreadItemsAfterClickSubmit[8] ? 'unread' : '']"> <ElCheckbox :label="8" :class="[unreadItemsAfterClickSubmit[8] ? 'unread' : '']">
本程序经历过了多次测试理论上来说大部分情况下可以正常运行如果您有顾虑建议通过VMWare 请在Boss直聘上自行<b class="color-red">屏蔽您不期望投递的公司</b
WorkStation/FusionVirtualBoxHyper-V/Windows沙盒等虚拟化技术运行本程序如发生问题请点击程序左下角进行反馈 >如果您不希望您当前公司其它具有招聘账号的员工看到您在Boss直聘上活跃<b
class="color-red"
>在Boss直聘上屏蔽当前公司及与之关联的公司</b
>
</ElCheckbox>
<ElCheckbox :label="9" :class="[unreadItemsAfterClickSubmit[9] ? 'unread' : '']">
本程序经历过了多次测试理论上来说大部分情况下可以正常运行但可能也会出现测试用例覆盖不到位导致程序不按预期运行的情况如果您有顾虑建议通过
VMware Workstation / FusionOracle VirtualBoxMicrosoft Hyper-V
等虚拟化技术运行本程序如果您在使用过程中遇上程序未按照预期执行的情况请点击程序左下角进行反馈
</ElCheckbox> </ElCheckbox>
</ElCheckboxGroup> </ElCheckboxGroup>
</article> </article>
@@ -86,7 +112,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ElCheckbox, ElCheckboxGroup, ElMessage } from 'element-plus' import { ElCheckbox, ElCheckboxGroup, ElMessage } from 'element-plus'
import { ref, onMounted, onBeforeMount } from 'vue'; import { ref, onMounted, onBeforeMount } from 'vue'
import { gtagRenderer as baseGtagRenderer } from '@renderer/utils/gtag' import { gtagRenderer as baseGtagRenderer } from '@renderer/utils/gtag'
import { sleep } from '@geekgeekrun/utils/sleep.mjs' import { sleep } from '@geekgeekrun/utils/sleep.mjs'
@@ -109,12 +135,13 @@ const handleCancel = async () => {
const unreadItemsAfterClickSubmit = ref<Record<number, true>>({}) const unreadItemsAfterClickSubmit = ref<Record<number, true>>({})
const handleSubmit = () => { const handleSubmit = () => {
gtagRenderer('submit_clicked') gtagRenderer('submit_clicked')
const COUNT = 9 const COUNT = 10
if (readmeItemCheckStatusList.value.length !== COUNT) { if (readmeItemCheckStatusList.value.length !== COUNT) {
gtagRenderer('agreement_not_finish_read_tip_displayed') gtagRenderer('agreement_not_finish_read_tip_displayed')
ElMessage.warning( ElMessage.warning({
`您还有${COUNT - readmeItemCheckStatusList.value.length}条没有读完,读完就打勾标记一下吧` message: `您还有${COUNT - readmeItemCheckStatusList.value.length}条没有读完,读完就打勾标记一下吧`,
) grouping: true
})
unreadItemsAfterClickSubmit.value = {} unreadItemsAfterClickSubmit.value = {}
for (let i = 0; i < COUNT; i++) { for (let i = 0; i < COUNT; i++) {
if (!readmeItemCheckStatusList.value.includes(i)) { if (!readmeItemCheckStatusList.value.includes(i)) {
@@ -136,13 +163,10 @@ const handleReadmeItemCheckStatusListChange = (value: number[]) => {
const componentRootEl = ref<HTMLElement>() const componentRootEl = ref<HTMLElement>()
onMounted(() => { onMounted(() => {
const ro = new ResizeObserver(() => { const ro = new ResizeObserver(() => {
electron.ipcRenderer.send( electron.ipcRenderer.send('update-window-size', {
'update-window-size', width: componentRootEl.value!.offsetWidth,
{ height: componentRootEl.value!.offsetHeight
width: componentRootEl.value!.offsetWidth, })
height: componentRootEl.value!.offsetHeight,
}
)
}) })
ro.observe(componentRootEl.value!) ro.observe(componentRootEl.value!)
onBeforeMount(() => { onBeforeMount(() => {