feat: add findjob workbench public entry
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
version: 1
|
||||
kind: platform-infra-career-workbench
|
||||
|
||||
metadata:
|
||||
id: findjob-workbench
|
||||
owner: liang
|
||||
|
||||
runtime:
|
||||
route: NC01
|
||||
sourceRoot: /root/liang-career-materials
|
||||
configRef: /root/liang-career-materials/config.json
|
||||
frontendPort: 5188
|
||||
apiPort: 5189
|
||||
lifecycleCommand: bun scripts/findjob-cli.ts server
|
||||
|
||||
publicExposure:
|
||||
enabled: true
|
||||
publicBaseUrl: https://findjob.hwpod.com
|
||||
hostname: findjob.hwpod.com
|
||||
upstream: http://127.0.0.1:5188
|
||||
healthPath: /api/healthz
|
||||
expectedA: 152.53.229.148
|
||||
@@ -87,3 +87,6 @@ targets:
|
||||
- id: temporal
|
||||
configRef: config/platform-infra/temporal.yaml
|
||||
path: publicExposure
|
||||
- id: findjob
|
||||
configRef: config/platform-infra/findjob.yaml
|
||||
path: publicExposure
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
# PJ2026-04 求职工作台需求规格
|
||||
|
||||
## 1. 文档控制
|
||||
|
||||
| 字段 | 内容 |
|
||||
| --- | --- |
|
||||
| 编号 | PJ2026-04 |
|
||||
| 短名 | 求职工作台 |
|
||||
| 层级 | L1 项目 |
|
||||
| 状态 | 已生效 |
|
||||
| 需求规格模板 | [ISO/IEC/IEEE 29148 需求规格模板](../../templates/iso-iec-ieee-29148-requirements-spec-template.md) |
|
||||
|
||||
## 2. 目的和范围
|
||||
|
||||
### 2.1 目的
|
||||
|
||||
求职工作台负责把候选单位、招聘渠道、账号、材料、岗位申请和需要本人参与的事项投影到统一 Web 入口,使求职执行状态可扫描、可扩展并能在验证码或资料缺口出现时及时获得本人输入。
|
||||
|
||||
### 2.2 范围内
|
||||
|
||||
- 高校、企业、研究机构和其他单位的统一状态模型。
|
||||
- 账号、简历、岗位和申请状态投影。
|
||||
- 图形验证码、短信验证码、真人校验、资料补充和提交确认等人工事项。
|
||||
- 统一管理员密码认证、HTTPS 公开入口和受控会话。
|
||||
- Vite 前端与 Bun API 的 native 热重载开发形态。
|
||||
- 声明式业务状态、本地私密运行状态和外部表单工作流的边界。
|
||||
|
||||
### 2.3 范围外
|
||||
|
||||
- 招聘单位外部系统的可用性和数据正确性。
|
||||
- 绕过图形、短信、滑块或其他真人验证。
|
||||
- 未经本人确认最终提交限报或提交后不可修改的岗位。
|
||||
- 把身份证、密码、验证码、Cookie 或本人补充的敏感答案写入 Git。
|
||||
|
||||
## 3. 术语
|
||||
|
||||
| 术语 | 定义 |
|
||||
| --- | --- |
|
||||
| 单位 | 高校、企业、研究机构或其他招聘主体。 |
|
||||
| 招聘渠道 | 单位招聘系统、学院邮箱、第三方平台或线下联系人。 |
|
||||
| 人工事项 | 自动流程需要本人查看、填写或确认后才能继续的任务。 |
|
||||
| 业务状态 | 可提交到私有仓库的单位、材料和申请公开状态。 |
|
||||
| 私密运行状态 | 工作流 ID、验证码 artifact、本人答案和其他不得提交的临时状态。 |
|
||||
|
||||
## 4. 系统边界
|
||||
|
||||
| 边界项 | 内容 |
|
||||
| --- | --- |
|
||||
| 外部使用者 | 求职者本人和受托执行 Agent。 |
|
||||
| 外部输入 | 单位声明、招聘入口、申请状态、验证码、本人资料和确认结果。 |
|
||||
| 外部输出 | 状态总览、人工事项、材料清单和操作结果摘要。 |
|
||||
| 受控资源 | 统一密码来源、招聘工作流、验证码 artifact、本地私密状态和 HTTPS 入口。 |
|
||||
| 用户接口 | `findjob.hwpod.com` Web 入口和项目 CLI。 |
|
||||
|
||||
## 5. 架构
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
Career[单位与申请 YAML] --> API[Bun API]
|
||||
Tasks[本地人工事项] --> API
|
||||
Secret[统一密码 sourceRef] --> API
|
||||
Workflow[外部表单工作流] <--> API
|
||||
API --> Vite[Vite Web 工作台]
|
||||
Vite --> Edge[HTTPS 公共边缘]
|
||||
Edge --> User[求职者]
|
||||
```
|
||||
|
||||
- 业务状态由求职仓库声明式数据拥有。
|
||||
- 端口、启动命令、状态路径和认证来源由求职仓库 `config.json` 拥有。
|
||||
- 公共域名、TLS upstream 和 health path 由 UniDesk public exposure YAML 拥有。
|
||||
- 私密运行状态只保存在求职仓库 `.state/`。
|
||||
|
||||
## 6. 原子需求
|
||||
|
||||
### 6.1 FJ-REQ-001 统一状态总览
|
||||
|
||||
工作台应在首屏展示全部单位数量、已注册数量、待本人处理数量和可用材料数量,并以表格展示每个单位的账号、简历和申请状态。
|
||||
|
||||
### 6.2 FJ-REQ-002 可扩展单位模型
|
||||
|
||||
工作台应让高校、企业、研究机构和其他单位共用同一数据结构、筛选器和状态渲染。新增单位不应要求新增专用页面分支。
|
||||
|
||||
### 6.3 FJ-REQ-003 人工事项
|
||||
|
||||
工作台应把验证码、短信、真人校验、缺失资料、限报决策和提交确认表示为独立人工事项。人工事项应包含所属单位、说明、输入合同和处理状态。
|
||||
|
||||
### 6.4 FJ-REQ-004 外部表单续填
|
||||
|
||||
图形验证码事项应展示当前受控 artifact,并把本人输入经标准输入传给已声明的外部表单工作流。验证码值不得进入 URL、命令参数、日志、Git 或持久响应记录。
|
||||
|
||||
### 6.5 FJ-REQ-005 认证和隐私
|
||||
|
||||
工作台应使用统一管理员密码来源认证,使用 `Secure`、`HttpOnly` 和 `SameSite=Strict` 会话 Cookie。API 未认证时不得返回求职状态、材料路径或人工事项。
|
||||
|
||||
### 6.6 FJ-REQ-006 热重载
|
||||
|
||||
native 开发应同时保持前端 HMR 和 API 文件监听热重载。服务端口和生命周期应由项目配置和项目 CLI 固定管理。
|
||||
|
||||
### 6.7 FJ-REQ-007 公开入口
|
||||
|
||||
正式用户入口应为 YAML 声明的 HTTPS 域名。公共边缘应把该域名代理到固定前端端口,并通过同源 `/api` 到达 API 服务。
|
||||
|
||||
### 6.8 FJ-REQ-008 提交边界
|
||||
|
||||
账号注册可在本人授权和验证码完成后执行。每人限报一个、提交后不可修改或其他高影响岗位申请只能保存草稿,最终提交前必须生成人工确认事项。
|
||||
|
||||
## 7. 验收契约
|
||||
|
||||
- 未登录打开正式 HTTPS 入口时只显示登录界面。
|
||||
- 正确统一密码登录后能看到单位状态、材料和人工事项。
|
||||
- 新增一条企业声明后,无需修改前端即可出现在企业筛选结果中。
|
||||
- 图形验证码事项能显示受控图片并把值传入对应工作流,页面和日志不回显验证码。
|
||||
- 修改前端源码后 HMR 连接保持可用,修改 API 源码后服务自动重载。
|
||||
- 桌面和移动视口均无文本重叠、横向页面溢出或操作按钮不可达。
|
||||
Reference in New Issue
Block a user