mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-09-05 07:27:35 +08:00
enhance ux
This commit is contained in:
@@ -264,6 +264,11 @@ const mainLoop = async () => {
|
|||||||
bossCookies = readStorageFile('boss-cookies.json')
|
bossCookies = readStorageFile('boss-cookies.json')
|
||||||
cookieCheckResult = checkCookieListFormat(bossCookies)
|
cookieCheckResult = checkCookieListFormat(bossCookies)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
await dialog.showMessageBox({
|
||||||
|
type: `error`,
|
||||||
|
message: `登录状态无效`,
|
||||||
|
detail: `请重新登录Boss直聘`
|
||||||
|
})
|
||||||
sendToDaemon({
|
sendToDaemon({
|
||||||
type: 'worker-to-gui-message',
|
type: 'worker-to-gui-message',
|
||||||
data: {
|
data: {
|
||||||
|
|||||||
@@ -21,17 +21,17 @@
|
|||||||
@click="autoDetectPuppeteerExecutable"
|
@click="autoDetectPuppeteerExecutable"
|
||||||
>自动检测</el-button
|
>自动检测</el-button
|
||||||
>
|
>
|
||||||
<el-button :style="{ marginLeft: 0 }" @click="browserExecutableFile">浏览</el-button>
|
<el-button :style="{ marginLeft: 0 }" @click="chooseExecutableFile">浏览</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div flex-1 of-auto font-size-14px line-height-1.5em>
|
<div flex-1 of-auto font-size-14px line-height-1.5em>
|
||||||
<div mt10px ml-auto mr-auto class="w-80%">
|
<div mt10px ml-auto mr-auto class="w-80%">
|
||||||
<div>常见问题</div>
|
<div>常见问题</div>
|
||||||
<div>
|
<div class="faq-main">
|
||||||
<details>
|
<details class="faq-item">
|
||||||
<summary>不能自动检测到浏览器?</summary>
|
<summary>不能自动检测到浏览器?</summary>
|
||||||
<div ml12px class="color-#666">
|
<div class="faq-answer">
|
||||||
请尝试如下方案之一来处理:
|
请尝试如下方案之一来处理:
|
||||||
<ul pl1em m0>
|
<ul pl1em m0>
|
||||||
<li>
|
<li>
|
||||||
@@ -55,7 +55,8 @@
|
|||||||
:loading="isAutoDetectLoading"
|
:loading="isAutoDetectLoading"
|
||||||
@click="autoDetectPuppeteerExecutable"
|
@click="autoDetectPuppeteerExecutable"
|
||||||
>自动检测</a
|
>自动检测</a
|
||||||
>按钮再次尝试。目前(2026.2.7)已知 Chrome 最新版本为 144.0.7559.133
|
>按钮再次尝试。截至本程序开发时(2026.2.7)Google Chrome 最新版本为
|
||||||
|
144.0.7559.133
|
||||||
,多数情况下本程序都可以正常工作,但由于浏览器会自动升级,版本不固定,可能存在<span
|
,多数情况下本程序都可以正常工作,但由于浏览器会自动升级,版本不固定,可能存在<span
|
||||||
color-orange
|
color-orange
|
||||||
>浏览器升级后某些功能不兼容导致本程序不能正确运行</span
|
>浏览器升级后某些功能不兼容导致本程序不能正确运行</span
|
||||||
@@ -68,6 +69,79 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</details>
|
||||||
|
<details class="faq-item">
|
||||||
|
<summary>
|
||||||
|
如果我要自定义浏览器,那么可选择的浏览器有哪些?对于浏览器有什么要求?
|
||||||
|
</summary>
|
||||||
|
<div class="faq-answer">
|
||||||
|
<div>
|
||||||
|
截至本程序开发时(2026.2.7),已确定支持的各操作系统下的浏览器及版本包括:
|
||||||
|
</div>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<div>macOS</div>
|
||||||
|
<ul>
|
||||||
|
<li>Google Chrome for Testing {{ EXPECT_CHROMIUM_BUILD_ID }}</li>
|
||||||
|
<li>Google Chrome 144.0.7559.133</li>
|
||||||
|
<li>Microsoft Edge 144.0.3719.115</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div>Windows</div>
|
||||||
|
<ul>
|
||||||
|
<li>Google Chrome for Testing {{ EXPECT_CHROMIUM_BUILD_ID }}</li>
|
||||||
|
<li>Google Chrome 144.0.7559.133</li>
|
||||||
|
<li>Microsoft Edge 144.0.3719.93</li>
|
||||||
|
<li>Opera 127.0.5778.14(基于 Chromium 143.0.7499.194)</li>
|
||||||
|
<li>Yandex Browser 25.12.3.1126 (基于 Chromium 142.0.7444.1126)</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div>Linux (Ubuntu)</div>
|
||||||
|
<ul>
|
||||||
|
<li>Google Chrome for Testing {{ EXPECT_CHROMIUM_BUILD_ID }}</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div>
|
||||||
|
下列浏览器可以使用,但由于Chromium内核版本低于本程序设置的版本,可能存在潜在问题,不一定能完全支持所有功能,你可以尝试进行配置:
|
||||||
|
</div>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<div>Windows</div>
|
||||||
|
<ul>
|
||||||
|
<li>360 安全浏览器 16.1.2552.64 (基于 Chromium 132.0.6834.83)</li>
|
||||||
|
<li>360 极速浏览器X 23.1.1187.64 (基于 Chromium 132.0.6805.0)</li>
|
||||||
|
<li>夸克 6.4.0.728 (基于 Chromium 130.0.6723.44)</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div>下列浏览器经过测试已明确不可用:</div>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<div>Windows</div>
|
||||||
|
<ul>
|
||||||
|
<li>QQ 浏览器 20.1.0 (基于 Chromium 116.0.5845.97)</li>
|
||||||
|
<li>搜狗高速浏览器 13.8 (基于 Chromium 116.0.5845.97)</li>
|
||||||
|
<li>猎豹浏览器(基于 Chromium 112.0.5615.138)</li>
|
||||||
|
<li>Brave 1.86.148 (基于 Chromium 144.0.7559.133)</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div>
|
||||||
|
本程序目前仅支持 Chromium 内核浏览器,因此 Safari、Firefox、Windows Internet
|
||||||
|
Explorer、旧版 Microsoft Edge 等<span color-orange
|
||||||
|
>非Chromium内核浏览器无法使用</span
|
||||||
|
>;同时,对于 Chromium 内核浏览器,本程序<span color-orange
|
||||||
|
>仅支持
|
||||||
|
{{ EXPECT_CHROMIUM_BUILD_ID }}
|
||||||
|
或更高内核版本</span
|
||||||
|
>,你可以打开在你想要尝试的浏览器,访问 “chrome://version” 找到 ”用户代理“ /
|
||||||
|
”User Agent“ 行来查看当前浏览器的内核版本。<br />
|
||||||
|
目前,大部分中国大陆厂商发布的基于Chromium内核的浏览器,均由于版本过低,不被本程序支持。
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -100,7 +174,7 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { ref } from 'vue'
|
import { nextTick, ref } from 'vue'
|
||||||
import debounce from 'lodash/debounce'
|
import debounce from 'lodash/debounce'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { gtagRenderer as baseGtagRenderer } from '@renderer/utils/gtag'
|
import { gtagRenderer as baseGtagRenderer } from '@renderer/utils/gtag'
|
||||||
@@ -172,12 +246,14 @@ async function autoDetectPuppeteerExecutable() {
|
|||||||
type: 'success',
|
type: 'success',
|
||||||
grouping: true
|
grouping: true
|
||||||
})
|
})
|
||||||
|
await nextTick()
|
||||||
|
await formRef.value.validateField()
|
||||||
} finally {
|
} finally {
|
||||||
isAutoDetectLoading.value = false
|
isAutoDetectLoading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function browserExecutableFile() {
|
async function chooseExecutableFile() {
|
||||||
const chooseResult = await ipcRenderer.invoke('choose-file', {
|
const chooseResult = await ipcRenderer.invoke('choose-file', {
|
||||||
fileChooserConfig: {
|
fileChooserConfig: {
|
||||||
properties: ['openFile', 'treatPackageAsDirectory'],
|
properties: ['openFile', 'treatPackageAsDirectory'],
|
||||||
@@ -194,6 +270,8 @@ async function browserExecutableFile() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
formData.value.browserPath = chooseResult.filePaths[0]
|
formData.value.browserPath = chooseResult.filePaths[0]
|
||||||
|
await nextTick()
|
||||||
|
await formRef.value.validateField()
|
||||||
}
|
}
|
||||||
|
|
||||||
ipcRenderer.invoke('get-last-used-and-available-browser').then((res) => {
|
ipcRenderer.invoke('get-last-used-and-available-browser').then((res) => {
|
||||||
@@ -239,4 +317,21 @@ a:hover,
|
|||||||
a:active {
|
a:active {
|
||||||
color: #409eff;
|
color: #409eff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.faq-main {
|
||||||
|
.faq-item {
|
||||||
|
summary {
|
||||||
|
padding: 4px 0;
|
||||||
|
}
|
||||||
|
.faq-answer {
|
||||||
|
color: #666;
|
||||||
|
margin-left: 12px;
|
||||||
|
ul {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding-left: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="h-screen of-hidden flex flex-col flex-items-center flex-justify-center">
|
<div class="h-screen of-hidden flex flex-col flex-items-center flex-justify-center">
|
||||||
<div>
|
<div>
|
||||||
<div>你可能是第一次安装本程序</div>
|
<div>
|
||||||
<div>正在查找可用浏览器,请稍等...</div>
|
由于您是首次使用本程序,或者您之前配置的浏览器被卸载/被删除/被移动/被更新/版本太旧,因此需要重新配置浏览器
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
首先将尝试自动配置;自动配置成功后,本对话框将自动关闭;如自动配置失败,请在下个页面中手动配置
|
||||||
|
</div>
|
||||||
|
<div>正在尝试自动配置,请稍等...</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -1,13 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="cookie-assistant-page">
|
<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
|
<el-alert v-if="cookieInvalid" type="warning" :closable="false">
|
||||||
v-if="cookieInvalid"
|
由于您是首次使用本程序,或者您之前使用的Boss直聘账号登录状态失效,因此您需要重新获取登录凭证
|
||||||
type="warning"
|
|
||||||
:closable="false"
|
|
||||||
title="需要获取您的Boss直聘Cookie才能继续"
|
|
||||||
>
|
|
||||||
由于您是首次使用本程序,或者您之前使用的Boss直聘账号登录状态失效,因此您需要重新获取登录凭证。
|
|
||||||
</el-alert>
|
</el-alert>
|
||||||
<div ml1em mt1em line-height-normal>
|
<div ml1em mt1em line-height-normal>
|
||||||
如果您了解如何获取Cookie、了解有效的Cookie格式,可以直接在下方输入框中进行编辑。由于手动编辑较为麻烦,建议您打开已登录过Boss直聘的浏览器,使用<a
|
如果您了解如何获取Cookie、了解有效的Cookie格式,可以直接在下方输入框中进行编辑。由于手动编辑较为麻烦,建议您打开已登录过Boss直聘的浏览器,使用<a
|
||||||
@@ -98,7 +93,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<footer flex mt20px pb20px flex-justify-end>
|
<footer flex mt20px pb20px flex-justify-end>
|
||||||
<el-button v-if="!cookieInvalid" @click="handleCancel">取消</el-button>
|
<el-button @click="handleCancel">取消</el-button>
|
||||||
<el-button type="primary" @click="handleSubmit">确定</el-button>
|
<el-button type="primary" @click="handleSubmit">确定</el-button>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user