30 KiB
01-项目功能内容
1. 项目基线
- 项目名称:MeetPaprika / Paprika
- 当前对标文件:
/home/mes123456/MeetPaprika/doc/index.html - 原始对标形态:单文件静态网站 mockup,HTML、CSS、页面数据、页面渲染脚本全部内联在
doc/index.html - 品牌主张:Attorney Curated Evidence Building for O-1 Talent
- 业务定位:面向 O-1 人才的证据建设服务,帮助 founders、engineers、researchers、executives、creators 等提前建设媒体报道、评审机会、学术文章和完整证据包
- 页面运行方式:读取 URL 查询参数
?page=...,将对应页面 HTML 字符串写入<main id="app"></main>
2. 技术路线基准
当前静态实现
- 入口文件:
doc/index.html - 样式:内联
<style> - 脚本:内联
<script> - 状态:作为旧版静态 mockup 和视觉对标基线保留;正式工程已在根目录新增
- 路由:查询参数路由,不依赖 History API
已落地的正式开发技术架构
已明确采用:
- 前端框架:Next.js + React
- 数据库:PostgreSQL
- 数据访问层:Prisma ORM
- 表单处理:Next.js Route Handler
POST /api/submissions承接 Start Here 和 Ask a Question - 部署端口:Next.js 服务或反向代理后的应用服务监听
8082 - HTTPS:由 Nginx/Caddy/云服务反向代理终止 TLS,转发到本机
8082
架构目标:
- 将当前
doc/index.html的视觉和内容完整迁移到 Next.js 页面/组件。 - 将
start和ask从视觉 mockup 改为真实表单。 - 将提交数据保存到 PostgreSQL。
- 预留 CV/resume 文件上传能力,但必须先明确存储方案、文件大小、访问权限和隐私规则。
- 保留所有 legal disclaimer,防止用户误以为提交表单会创建 attorney-client relationship。
当前代码状态:
- 根目录已存在 Next.js App Router 工程。
app/[page]/page.tsx渲染从doc/index.html抽取的静态页面内容。app/start/page.tsx和app/ask/page.tsx已替换为真实 React 表单。app/api/submissions/route.ts已实现 JSON 提交、Zod 校验和 Prisma 写入。prisma/schema.prisma和prisma/migrations/20260706120000_init/migration.sql已建立Submission、SubmissionFile表。.env.example已提供DATABASE_URL和NEXT_PUBLIC_SITE_URL模板,不包含真实密码。- 成功入库尚需生产或本地 PostgreSQL
DATABASE_URL。
建议工程结构:
app/
page.tsx
press/page.tsx
judging/page.tsx
scholarly/page.tsx
services/page.tsx
why/page.tsx
resources/page.tsx
faq/page.tsx
start/page.tsx
ask/page.tsx
thanks/page.tsx
terms/page.tsx
privacy/page.tsx
disclaimer/page.tsx
api/
submissions/route.ts
components/
SiteHeader.tsx
SiteFooter.tsx
Hero.tsx
ServiceCard.tsx
ServicesCta.tsx
LegalPage.tsx
forms/
StartForm.tsx
AskForm.tsx
lib/
db.ts
validators.ts
submissions.ts
prisma/
schema.prisma
目标发布环境
- 目标域名:
https://paprikalaw.com/ - 云服务器:
170.106.192.152 - 登录用户:
ubuntu - 目标端口:
8082 - 可用端口段:
8080-8099 - PostgreSQL:用户确认已在服务器安装完成,待验证服务状态、版本、应用数据库和应用用户
- SSH 凭据:用户已在交接信息中提供;长期文档不保存明文密码,后续应改为 SSH key、部署密钥或受控密钥库
- 目标发布形态:HTTPS 对外访问,服务内部监听
8082或由反向代理转发至8082
邮箱系统需求
- 普通用户网页登录:
https://mail.paprikalaw.com/webmail/ - 管理员网页登录:
https://mail.paprikalaw.com/admin/ - 管理员邮箱:
admin@paprikalaw.com - 普通公司邮箱:
info@paprikalaw.comcontact@paprikalaw.comsupport@paprikalaw.comsales@paprikalaw.commarketing@paprikalaw.comhr@paprikalaw.comfinance@paprikalaw.combilling@paprikalaw.comlegal@paprikalaw.comservice@paprikalaw.com
- 凭据规则:用户已提供统一初始密码;长期文档不保存明文密码。创建后应要求首次登录修改,或为每个邮箱生成独立强密码。
邮件系统与网站的关系:
- 表单通知邮箱建议使用
support@paprikalaw.com或contact@paprikalaw.com。 - 法务和隐私页面中的联系邮箱目前是
support@meetpaprika.com,上线前需统一为paprikalaw.com域名邮箱或保留现状并记录理由。 - 若 Next.js 表单提交后发送邮件通知,需要配置 SMTP 凭据、发件地址、收件地址和退信策略。
3. 当前页面路由清单
| 路由 | 页面 | 导航入口 | 当前用途 | 状态 |
|---|---|---|---|---|
?page=home |
Home | 品牌 logo 默认入口 | 品牌主张、三大核心服务、提前建设证据、工作流程、价格起点 | 已实现 mockup |
?page=press |
Press | 顶部导航 Press | 媒体报道服务、证据标准、应避免的 press 类型、代表性 outlet 网络 | 已实现 mockup |
?page=judging |
Judging | 顶部导航 Judging | 评审机会服务、哪些 judging counts、judging network、证据包内容 | 已实现 mockup |
?page=scholarly |
Scholarly Articles | 顶部导航 Scholarly Articles | 学术文章服务、发表策略、证据包价值 | 已实现 mockup |
?page=services |
Services | 顶部导航 Services | 6 类服务卡片和服务转化 CTA | 已实现 mockup |
?page=why |
Why Paprika | 顶部导航 Why Paprika、footer About | 差异化说明、证据质量、时间节奏、完整证据记录 | 已实现 mockup |
?page=resources |
Resources / O-1A Criteria | Resources 下拉 | 8 项 O-1A criteria 的 plain-English overview | 已实现 mockup |
?page=faq |
FAQ | Resources 下拉、footer FAQ | Paprika、O-1、timeline、pricing/refund FAQ | 已实现 mockup |
?page=start |
Start Here | 顶部 CTA、各页面 CTA | 背景资料提交视觉 mockup | 已实现视觉,未实现提交 |
?page=ask |
Ask a Question | 各页面 secondary CTA | 简短问题提交视觉 mockup | 已实现视觉,未实现提交 |
?page=thanks |
Thank You | 提交按钮跳转 | 感谢页 | 已实现 mockup |
?page=terms |
Terms | footer Terms | 服务条款草稿 | 已实现草稿,需法务确认 |
?page=privacy |
Privacy | footer Privacy | 隐私政策草稿 | 已实现草稿,需法务确认 |
?page=disclaimer |
Disclaimer | footer Disclaimer | 法律免责声明草稿 | 已实现草稿,需法务确认 |
?page=blog |
Blog | 无公开导航 | Field notes 文章卡片占位 | 代码存在,未公开 |
?page=about |
About | 无公开导航;footer About 实际指向 why |
公司说明占位 | 代码存在,未公开 |
未识别路由会回退到 home,页面标题为 Paprika - ${selected}。
4. 全站公共模块
Header
- 品牌区:
PaprikaAttorney Curated Evidence Building for O-1 Talent
- 顶部导航:
- Press
- Judging
- Scholarly Articles
- Services
- Why Paprika
- Resources 下拉
- Start Here CTA
- Resources 下拉:
- Frequently Asked Questions ->
?page=faq - O-1A Criteria Overview ->
?page=resources
- Frequently Asked Questions ->
- 当前页高亮:
- 根据
data-page和当前selected页面添加active - 当
selected为faq或resources时,Resources 触发器高亮
- 根据
Footer
- 链接:
- About ->
?page=why - FAQ ->
?page=faq - Terms ->
?page=terms - Privacy ->
?page=privacy - Disclaimer ->
?page=disclaimer
- About ->
- 固定声明:
- Paprika is not a law firm and does not provide legal advice or immigration representation.
- Use of our services does not create an attorney-client relationship.
5. 首页内容
Hero
- H1:O-1 evidence should not be built in a panic.
- Subhead:帮助高成就人才提前建设 credible public recognition
- Primary CTA:Send Us Your Profile ->
?page=start - Secondary CTA:Ask a Question ->
?page=ask - Microcopy:提交 LinkedIn 或 CV 后 review background,并推荐 evidence path
- 时间主张:The only thing you cannot buy later is time.
Core services
三张服务卡片:
- Press:Editorial feature in a recognized publication in your field.
- Judging:Opportunities to judge work that matters.
- Scholarly Articles:Scholarly articles in credible, peer-reviewed publications.
Start Early
- 强调证据不能临近 filing 时集中出现
- 目标是构建 natural publication and judging timeline
- 输出给用户或 immigration attorney 使用的 stronger materials
Our standard
提出推荐前要判断的 8 个问题:
- 文章是否关于个人而不只是公司或产品
- 是否连接特定专业领域和 O-1 criteria
- outlet 是否 credible、independent、documentable
- timing 是否自然
- judging 是否真实 evaluative
- authorship 是否体现 expertise
- 是否能清晰整理进 evidence package
- 是否补强其他 existing criteria
How it works
四步流程:
- Send us your profile
- Assess background and recommend evidence path
- Build credible public record
- Receive documented evidence package
价格带:
- Packages start at
$1,699+ - final pricing depends on outlet level, timeline, field, evidence goals
6. Press 页面内容
核心主张
- Attorney-Curated Press for O-1 Talent
- Press that works as evidence, not just visibility
- 关注 outlet、format、field relevance、documentation
Cadence note
- 避免 filing 前突然集中出现的 uncurated evidence
- 构建 natural cadence of press over time
What Paprika looks for
Press 推荐前检查:
- 文章是否关于本人
- headline 是否出现姓名并连接领域
- 是否 genuine editorial coverage
- outlet 是否有真实 readership、editorial standards、clean track record
- 是否存在 contributor、sponsored、editorial-staff-not-involved 等 disclosure
- timing 是否自然
- 是否 complement other O-1 criteria
结论句:The outlet name is not the evidence. The editorial independence is.
What to avoid
当前展示三类不推荐 press:
- Contributor content
- Editorial staff not involved
- Sponsored or promotional placement
原因:
- outlet 没有 editorially choose to cover this person
- third party produced or paid for content
- 不体现 independent recognition
Representative outlets
页面列出代表性 outlet 网络,包括 Forbes、Bloomberg、Vogue、Business Insider、USA Today、TechCrunch、VentureBeat、Los Angeles Times、Newsweek、Fast Company Mexico、Time 等。正式上线前需要确认是否拥有真实合作网络、是否允许展示、是否需要增加免责声明。
7. Judging 页面内容
核心主张
- Judging roles should show that your field trusts your expertise.
- 服务目标:source and vet selective evaluation opportunities
What counts as judging
当前列出 6 类:
- Startup pitch competitions
- Hackathon & innovation judging
- Industry award committees
- Academic & conference peer review
- Grant review panels
- Research competition judging
Judging network examples
当前展示示例 chips:Y Combinator Demo Day Adjacent、TechCrunch Disrupt、SXSW Pitch、Web Summit、Slush、Collision、Startup Grind Global、MassChallenge、Plug and Play、500 Global、Berkeley SkyDeck、Techstars、Founder Institute、academic journal review、conference TPCs、design competition juries、arts award panels、research grant committees 等。
正式上线前需要确认名称使用风险、真实性、合作关系或改为“示例类型”。
Evidence package
Judging package 当前包含:
- Signed organizer recommendation letter
- Judge selection documentation
- Organizer correspondence
- Agenda & event page
- Panel agenda & bio listing
- Ready-to-use packet
8. Scholarly Articles 页面内容
核心内容:
- Scholarly articles in credible, peer-reviewed publications
- 服务覆盖 peer-reviewed、Scopus-indexed、Google-verified journals
- 两个 panel:
- Attorney-curated strategy
- Complete evidence packet
正式上线前需确认:
- 是否能承诺具体 indexing 或 journal 类型
- 是否需要补充 publication ethics、authorship、conflict disclosure
- 是否避免暗示 pay-to-publish 或不当 authorship arrangement
9. Services 页面内容
六张服务卡:
| 编号 | 服务 | 当前标题 | CTA |
|---|---|---|---|
| 01 | Press | Editorial feature in a recognized publication in your field. | Explore Press |
| 02 | Judging | Opportunities to judge work that matters. | Explore Judging |
| 03 | Scholarly Articles | Scholarly articles in credible, peer-reviewed publications. | Explore Articles |
| 04 | Expert consultation | Know where you stand before you commit. | Start Here |
| 05 | Agency representation | Useful when you have multiple engagements or no single employer. | Start Here |
| 06 | Attorney Referral | The right attorney, when you need one. | Start Here |
注意:服务 04、05、06 曾经传入不存在的 contact 路由;R007 已改为 start。
10. Why Paprika 页面内容
五个差异化理由:
- Attorney-curated. Built to matter.
- Built before you need it.
- A coherent profile, tailored to you.
- A complete evidence record.
- Everything in one place.
结尾 peace of mind:
- You do not have to second-guess what you are building.
- You just build.
11. Resources / O-1A Criteria 页面内容
页面解释 O-1A 8 项 criteria:
- Awards
- Memberships
- Published Material About You
- Judging the Work of Others
- Original Contributions of Major Significance
- Scholarly Articles
- Critical or Essential Role
- High Salary or Remuneration
每项都包含:
- subtitle
- plain-English body
- stronger examples
- watch out for
- bottom line
页面有 disclaimer:此 overview 是 general information,不是 legal advice,Paprika 不是 law firm。
12. FAQ 页面内容
FAQ 分组:
- About Paprika
- O-1 Basics
- Timeline
- Pricing, scope, and refunds
关键问答覆盖:
- Paprika 是否 law firm
- Paprika 做什么
- 适合谁
- process 如何工作
- 何时开始
- 是否 guarantee visa approval
- 是否需要 immigration attorney
- evidence-building 是否 legitimate
- 信息安全
- O-1A 基础
- 更多证据是否总是更好
- top-tier outlet 是否必须
- hackathon judging 是否有帮助
- timeline 和 rush concerns
- pricing、refund、scope
13. Start Here 表单现状
当前不是实际 <form>,只是视觉字段。
字段视觉:
- Name required
- Email required
- Company Website
- Current Role / Company
- Field or Industry
- Attach Resume or CV optional
- What brings you to Paprika? required
- What recognition have you already built, if any?
- Is there a timeline on your mind?
提交按钮:
<a class="button primary" href="?page=thanks">Submit Profile</a>
边界:
- 无输入控件
- 无校验
- 无上传
- 无提交接口
- 无邮件通知
- 无 CRM/数据库记录
14. Ask a Question 表单现状
当前不是实际 <form>,只是视觉字段。
字段视觉:
- Name required
- Email required
- LinkedIn optional
- Attach Resume or CV optional
- Your question required
提交按钮:
<a class="button primary" href="?page=thanks">Send Question</a>
边界同 Start Here。
15. Legal 页面内容
已有页面:
- Terms of Service
- Privacy Policy
- Disclaimer
当前固定日期:
Last updated: July 6, 2026
风险:
- 日期已修正为当前工作日期;正式发布前仍需确认是否应改为实际发布日期。
- 法务文本涉及 immigration、attorney referral、not a law firm、privacy、refund、payment、third-party services 等高风险内容,必须由负责人或法律顾问确认。
16. 当前已知缺陷和风险
| 编号 | 问题 | 影响 | 建议 |
|---|---|---|---|
| RISK-001 | Services 中 04/05/06 CTA 指向不存在的 contact 页面 |
点击后回退首页,转化断点 | 改为 start 或新增 contact |
| RISK-002 | Start/Ask 不是表单 | 无法收集线索 | 改成真实 <form> 并接后端或第三方表单服务 |
| RISK-003 | 法务页面日期晚于当前日期 | 发布可信度和合规风险 | 发布前确认日期 |
| RISK-004 | outlet/network 名称可能暗示合作关系 | 法律和商业陈述风险 | 确认授权或改为“representative examples/types” |
| RISK-005 | 无 SEO/OG/sitemap/robots | 正式站收录和分享效果弱 | 上线前补齐 |
| RISK-006 | 无截图回归和移动端验收 | 可能存在响应式问题 | 引入 Playwright 或人工截图台账 |
| RISK-007 | 无部署配置 | 不能可重复发布 | 建立服务、反向代理、HTTPS 和部署脚本 |
| RISK-008 | PostgreSQL schema 尚未设计 | 表单无法稳定入库和追踪 | 建立 submissions、submission_files 等数据表 |
| RISK-009 | 文件上传存储未定 | CV/resume 涉及隐私和访问控制 | 先确定本地磁盘、对象存储或禁用上传 |
| RISK-010 | 邮箱统一初始密码 | 多账号共用弱初始密码有安全风险 | 首次登录强制修改或生成独立强密码 |
| RISK-011 | 网站联系邮箱域名不一致 | support@meetpaprika.com 与 paprikalaw.com 品牌不统一 |
上线前统一 contact/support/legal 邮箱 |
17. 视觉设计对标
doc/index.html 的视觉风格不是通用模板,而是一套完整的 Paprika 品牌 mockup。后续重构或拆分必须保持以下基线,除非在 06-决策记录.md 新增变更决策。
17.1 CSS 变量
| 变量 | 值 | 用途 |
|---|---|---|
--red |
#d9432f |
主品牌红、按钮、kicker、编号 |
--deep-red |
#a9372d |
深红强调、active、结论句 |
--ink |
#241b14 |
主文字色 |
--text |
#5c5249 |
正文灰褐色 |
--muted |
#8d847a |
次级文字 |
--line |
#e9e1d8 |
边线 |
--paper |
#fffdfa |
页面底色 |
--panel |
rgba(255,255,255,.86) |
卡片背景 |
--green |
#4f7d61 |
少量绿色标签 |
--header-text |
#41505a |
导航文字 |
17.2 字体和排版
- 全站主字体:
Avenir,"Avenir Next", system sans-serif。 - 强调语句和 italic accent 使用
Georgia,"Times New Roman", serif。 - 页面不使用图片资源,视觉主要由排版、红色强调、浅纸色背景、网格纹理、卡片阴影组成。
h1首页字号范围为clamp(54px, 6.3vw, 74px)。- 子页
h1字号范围为clamp(44px, 5.2vw, 66px)。 - 主要 section title 使用
clamp(34px, 4vw, 46px)或更大的clamp(48px, 6vw, 74px)。
17.3 背景和布局
body背景由两层浅网格线、中心 radial glow 和--paper组成。- Header 高度
92px,sticky top,半透明纸色背景,backdrop-filter: blur(14px)。 - 主内容容器常用:
.hero:width: min(1040px, calc(100% - 56px)).cards/.section/.form-wrap:width: min(1160px, calc(100% - 72px)).legal-doc:width: min(920px, calc(100% - 72px))
- 卡片圆角主要是
4px或8px,按钮和 chip 使用999px。
17.4 响应式规则
唯一显式断点:@media (max-width: 1080px)。
断点内行为:
- Header 允许换行,
.nav占满宽度并 flex-wrap。 .cards、.two-col、.grid、.split-feature、.avoid-grid、.why-v2-grid、.criteria-grid、.faq-section、.form-wrap、.questions、.steps等多列布局统一变为单列。.field.large、.form-note从跨两列改为单列。.pricing-band改为单列并居中。.press-check-item从46px 1fr调整为38px 1fr。
注意:当前只有一个 1080px 断点,未针对窄屏 header 高度、FAQ hero nowrap、长 outlet chip、法务长段落做更细处理,移动端必须截图验收。
18. 组件和 CSS 类对标
| 模块 | 关键类 | 当前用途 |
|---|---|---|
| Header | .site-header, .brand, .brand-name, .brand-tag, .nav, .nav-dropdown, .resources-menu, .start |
顶部品牌、导航、下拉和 CTA |
| Hero | .hero, .subpage, .hero-kicker, .subhead, .actions, .button, .microcopy, .time-line |
首页和子页首屏 |
| 服务卡 | .cards, .card, .meta, .num, .label, .explore |
首页和 Services 入口 |
| 通用内容 | .section, .section-head, .section-title, .section-copy, .two-col, .grid, .panel, .mini, .article |
双栏、四栏、文章卡片 |
| CTA | .services-cta, .services-cta-inner, .button-arrow |
服务转化横幅 |
| Why | .why-v2, .why-v2-grid, .why-card, .why-v2-peace, .why-card-line |
Why Paprika 页面 |
| Resources | .criteria-page, .criteria-intro, .criteria-grid, .criterion-card, .criterion-block, .criteria-disclaimer |
O-1A criteria 页面 |
| FAQ | .faq-page, .faq-section, .faq-section-head, .faq-list, .faq-item, .faq-num |
FAQ 页面 |
| Press | .press-cadence, .press-standard, .press-check-card, .outlet-network, .outlet-grid, .avoid-section, .avoid-card, .avoid-explain |
Press 页面 |
| Judging | .judging-counts, .judging-counts-grid, .judging-network, .judging-network-chip, .judging-package, .check-dot |
Judging 页面 |
| Process | .process-section, .steps, .step, .step-num, .pricing-band |
首页四步流程和价格 |
| Form mockup | .form-wrap, .field, .upload, .upload-inline, .large, .question-field, .start-question-field, .form-note, .req |
Start/Ask 视觉表单 |
| Legal | .legal-doc, .legal-doc-head, .legal-date, .legal-sections, .legal-section |
Terms/Privacy/Disclaimer |
| Footer | footer, .footer-links |
底部链接和固定声明 |
已存在但当前页面未使用或未公开使用的样式/函数相关模块:
.resource-hub,.resource-tabs,.resource-group,.resource-card:对应resourcesHub(),当前pageData.resources使用的是o1CriteriaPage(),未使用 hub。.why-proof,.why-reason,.why-closing:疑似旧版 Why 结构,当前whyPaprikaProof()使用.why-v2。pressQuality():旧版 press 对比区块,当前pressPage()未调用。standardGrid():标准 mini grid,当前未调用。
19. JavaScript 函数对标
| 函数/常量 | 当前状态 | 作用 |
|---|---|---|
serviceCards |
使用中 | 首页三张服务卡 HTML 片段 |
pageData |
使用中 | 所有路由页面数据表 |
hero() |
使用中 | 通用子页 hero,含 Start/Ask CTA |
heroWithKicker() |
使用中 | 带 kicker 的 hero,可关闭 actions |
servicesCta() |
使用中 | 红色服务 CTA 横幅 |
card() |
使用中 | 服务卡片 |
panel() |
使用中 | 双栏 panel |
productPage() |
当前未调用 | 通用产品页工厂 |
judgingPage() |
使用中 | Judging 页面组合 |
scholarlyPage() |
使用中 | Scholarly 页面组合 |
productPageWithKicker() |
当前未调用 | 带 kicker 的产品页工厂 |
pressPage() |
使用中 | Press 页面组合 |
pressHero() |
使用中 | Press 专属 hero |
judgingCounts() |
使用中 | Judging counts 区块 |
judgingCountCard() |
使用中 | Judging count card |
judgingNetwork() |
使用中 | Judging network chips |
judgingNetworkGroup() |
当前未调用 | 分组 network chips |
judgingPackage() |
使用中 | Judging evidence package |
judgingPackageCard() |
使用中 | Package card |
pressLookFor() |
使用中 | Press standards checklist |
outletNetwork() |
使用中 | Representative outlet chips |
pressCheck() |
使用中 | Press checklist item |
pressCadenceNote() |
使用中 | Press cadence note |
pressAvoidSection() |
使用中 | Press avoid section |
avoidCard() |
使用中 | Avoid card |
miniGrid() |
使用中 | mini card grid |
articleGrid() |
使用中 | blog article grid |
o1CriteriaPage() |
使用中 | O-1A 8 criteria 页面 |
criterionCard() |
使用中 | Criteria card |
faqPage() |
使用中 | FAQ 页面 |
faqGroup() |
使用中 | FAQ 分组 |
faqItem() |
使用中 | FAQ 单项 |
resourcesHub() |
当前未调用 | Resource hub 草稿 |
resourceGroup() |
当前未调用 | Resource group 草稿 |
legalPage() |
当前未调用 | 旧版 legal page 工厂 |
legalTermsPage() |
使用中 | Terms 页面 |
legalPrivacyPage() |
使用中 | Privacy 页面 |
legalDisclaimerPage() |
使用中 | Disclaimer 页面 |
disclaimerSection() |
使用中 | Disclaimer section |
disclaimerPart() |
使用中 | Disclaimer p/ul 渲染 |
whyEarlySection() |
使用中 | 首页 Start Early |
servicesIntro() |
使用中 | 首页 Core services intro |
standardPreview() |
使用中 | 首页标准问题 |
question() |
使用中 | 标准问题 item |
howItWorks() |
使用中 | 首页四步流程和价格 |
step() |
使用中 | 流程 step |
standardGrid() |
当前未调用 | 标准 grid 草稿 |
whyPaprikaProof() |
使用中 | Why 页面 v2 内容 |
whyV2Card() |
使用中 | Why card |
pressQuality() |
当前未调用 | 旧版 Press quality 对比 |
最终渲染逻辑:
const params = new URLSearchParams(window.location.search);
const page = params.get("page") || "home";
const selected = pageData[page] ? page : "home";
document.title = `Paprika - ${selected}`;
document.getElementById("app").innerHTML = pageData[selected].body;
active 逻辑:
[data-page]与selected相同时添加.active。selected为faq或resources时,额外给.nav-trigger添加.active。
20. CTA 和链接全量映射
| 位置 | 文案 | 目标 |
|---|---|---|
| Header brand | Paprika | ?page=home |
| Header nav | Press | ?page=press |
| Header nav | Judging | ?page=judging |
| Header nav | Scholarly Articles | ?page=scholarly |
| Header nav | Services | ?page=services |
| Header nav | Why Paprika | ?page=why |
| Header Resources | Resources | ?page=resources |
| Resources menu | Frequently Asked Questions | ?page=faq |
| Resources menu | O-1A Criteria Overview | ?page=resources |
| Header CTA | Start Here | ?page=start |
| Footer | About | ?page=why |
| Footer | FAQ | ?page=faq |
| Footer | Terms | ?page=terms |
| Footer | Privacy | ?page=privacy |
| Footer | Disclaimer | ?page=disclaimer |
| Home hero | Send Us Your Profile | ?page=start |
| Home hero | Ask a Question | ?page=ask |
| 通用 hero | Start Here | ?page=start |
| 通用 hero | Ask a Question | ?page=ask |
| Services CTA | Send Us Your Profile | ?page=start |
| Home pricing band | See Services | ?page=services |
| Start mockup | Submit Profile | ?page=thanks |
| Ask mockup | Send Question | ?page=thanks |
| Thanks | Back to Homepage | ?page=home |
| Service card 01 | Explore Press | ?page=press |
| Service card 02 | Explore Judging | ?page=judging |
| Service card 03 | Explore Articles | ?page=scholarly |
| Service card 04 | Start Here | 原为 ?page=contact,已修复为 ?page=start |
| Service card 05 | Start Here | 原为 ?page=contact,已修复为 ?page=start |
| Service card 06 | Start Here | 原为 ?page=contact,已修复为 ?page=start |
21. FAQ 完整编号对标
当前 FAQ 共 4 组、20 个问题。
| 编号范围 | 分组 kicker | 分组标题 | 问题数量 |
|---|---|---|---|
| 01-09 | About Paprika | How Paprika works. | 9 |
| 10-14 | O1 Visa | O-1 Basics | 5 |
| 15-18 | Timeline | How long things take. | 4 |
| 19-20 | Pricing Structure | Pricing, scope, and refunds | 2 |
需要注意的原文问题:
O1 Visakicker 少了 hyphen,是否改为O-1 Visa需产品确认。- FAQ 15 中原文
Coverage spaced out over time demonstrate...主谓可能不一致。 - FAQ 20 写了 “If we are unable to secure the agreed-upon media placements...” 可能只覆盖 media placements,不覆盖 judging/scholarly,应由法务或产品确认。
22. Legal 页面逐项结构对标
Terms of Service
当前 Terms 共 18 个 section,但编号为 1-16、18、19,缺少 17。
| 编号 | 标题 |
|---|---|
| 1 | Agreement to These Terms |
| 2 | What Paprika Provides |
| 3 | Not a Law Firm — No Legal Advice |
| 4 | No Attorney-Client Relationship |
| 5 | No Guarantee of Immigration Outcomes |
| 6 | Attorney Referrals |
| 7 | Fees, Payment, and Refunds |
| 8 | Client Responsibilities and Accuracy of Information |
| 9 | Evidence Integrity |
| 10 | Third-Party Decisions |
| 11 | Your Materials |
| 12 | Work Product |
| 13 | Prohibited Uses |
| 14 | Disclaimer of Warranties |
| 15 | Limitation of Liability |
| 16 | Changes to These Terms |
| 18 | Governing Law |
| 19 | Contact |
Privacy Policy
当前 Privacy 共 12 个 section:
- Introduction
- Information We Collect
- How We Use Your Information
- How We Share Your Information
- Data Storage and Security
- Data Retention
- Your Rights
- Cookies
- Children's Privacy
- International Users
- Changes to This Policy
- Contact
Disclaimer
当前 Disclaimer 共 9 个 section:
- Not a Law Firm
- What "Attorney-Curated" Means
- No Attorney-Client Relationship
- Independent Counsel
- Attorney Referral Disclosure
- No Outcome Guarantee
- User Responsibility
- General Information Only
- Questions
需要注意的原文问题:
- Disclaimer 中
Paprika's evidence-building services is shaped...主谓不一致。 - Disclaimer 中
Use of Paprika's does not create...语句不完整。 - 三个 legal 页面日期已由
Last updated: July 10, 2026修正为Last updated: July 6, 2026。 - 当前日期为
2026-07-06,发布前仍需法务确认文本内容和最终发布日期。
23. 源码级对标结论
doc/index.html共 3423 行。- 前 2261 行主要是 CSS 和 HTML shell。
- 2262 行后进入 body、header、main、footer、script。
- 2300 行后定义
serviceCards和pageData。 - 2428 行后定义组件/页面函数。
- 3410 行后执行路由选择、渲染和 active 状态设置。
- 当前没有外部依赖、图片、字体文件、构建脚本、后端接口或测试。
24. 后续推进入口
- 任务领取:
04-任务矩阵.md - 每轮记录:
03-推进台账.md - 验收证据:
05-验收证据.md - 决策依据:
06-决策记录.md - 开发步骤:
02-项目程序开发详细步骤.md