Skip to content

feat: add Wuhan-2020 COVID-19 rescue info platform archive page (Closes #99) - #105

Open
waterWang wants to merge 1 commit into
Open-Source-Bazaar:mainfrom
waterWang:feat/wuhan-2020-archive-page
Open

feat: add Wuhan-2020 COVID-19 rescue info platform archive page (Closes #99)#105
waterWang wants to merge 1 commit into
Open-Source-Bazaar:mainfrom
waterWang:feat/wuhan-2020-archive-page

Conversation

@waterWang

@waterWang waterWang commented Aug 2, 2026

Copy link
Copy Markdown

PR-105 PR-105 PR-105 Powered by Pull Request Badge

实现内容

重建 WuHan-2020 新冠救援信息平台前台页面,作为开放数据存档展示在开源市集官网中。

页面内容

  • 英雄区 — 项目名称、描述、GitHub 链接
  • 项目简介 — 背景说明、项目意义
  • 技术栈展示 — TypeScript, React/WebCell, MobX, ECharts, Supabase, Bootstrap
  • 功能模块卡片 — 8 个核心模块(医院、物流、酒店、生产、捐赠、义诊、疫情地图、开放社区)
  • 数据源参考 — 丁香园疫情数据、高德地图、社区贡献数据、Supabase 后端
  • 存档说明 — 存档声明和致谢

技术栈

  • Next.js 16 + TypeScript
  • React-Bootstrap (Card, Badge, Row, Col, Container)
  • MobX observer pattern
  • 遵循现有页面规范(PageHead 组件、Container 布局)

参考

Closes #99

Summary by CodeRabbit

  • 新功能
    • 新增“武汉 2020”页面,展示新冠战疫信息平台的项目介绍、统计数据、技术栈、功能模块及数据来源。
    • 新增存档说明及原始项目、相关组织链接。
    • 在顶部导航菜单中加入“武汉 2020”入口。

Open-Source-Bazaar#99)

Create a static archive page for the wuhan2020/WebApp project within the
Open-Source-Bazaar site. The page displays:

- Hero section with project name and description
- Mission statement and project background
- Tech stack overview
- 8 category cards (Hospital, Logistics, Hotel, Factory, Donation, Clinic, Map, Community)
- Data source references
- Archive notice

Built with Next.js + React-Bootstrap + MobX, following existing page patterns.
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

武汉 2020 存档功能

Layer / File(s) Summary
存档页面内容与渲染
pages/wuhan-2020.tsx
新增 Wuhan2020Page。页面渲染项目介绍、统计、技术栈、功能模块、数据来源和存档说明。
顶部导航入口
components/Navigator/MainNavigator.tsx
新增“武汉 2020”导航项,并链接至 /wuhan-2020

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: dethan3

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 标题明确说明新增 Wuhan-2020 新冠救援信息平台存档页面,并与变更内容一致。
Linked Issues check ✅ Passed PR 新增 Wuhan-2020 存档页面、原项目链接和数据来源说明,符合问题 #99 的前端重建与开放数据存档目标。
Out of Scope Changes check ✅ Passed 导航链接和存档页面均直接服务于问题 #99 的页面发布目标,未发现明显无关代码变更。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Nitpick comments (1)
pages/wuhan-2020.tsx (1)

28-84: 🗄️ Data Integrity & Integration | 🔵 Trivial | 🏗️ Heavy lift

为归档链接固定原始源码版本。

这些链接依赖可变的仓库路径。地图链接还直接依赖 dev 分支。官方仓库页面和 Map 目录页面都显示 dev,后续提交可能改变归档页面所指向的内容。(github.com)

请为归档选择明确的 2020 年提交或标签,并使用固定 revision;如果链接必须指向当前源码,请在页面中明确说明。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pages/wuhan-2020.tsx` around lines 28 - 84, 将页面中归档资源条目的 href(尤其是“疫情地图”的 Map
链接)从可变的仓库路径和 dev 分支改为明确的 2020 年提交或标签
revision,确保链接内容固定;若必须继续指向当前源码,则在页面对应说明中明确标注这一点。

Source: MCP tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pages/wuhan-2020.tsx`:
- Around line 145-151: Update the emoji container in the relevant JSX block: if
the hospital emoji is decorative, replace its aria-label with
aria-hidden="true"; if it conveys information, add role="img" and use a
translated t() label instead. Do not leave aria-label on the generic div without
an explicit semantic role.
- Around line 229-237: Update the card link rendered in the JSX block around the
`href` conditional so its accessible name includes the corresponding module
name, such as “查看医院详情”, while preserving the existing visual styling and
destination. Use the card’s existing module/title data rather than hardcoding
one label for all eight links, or add an equivalent dynamic `aria-label` if the
visible text must remain unchanged.
- Around line 22-87: Update pages/wuhan-2020.tsx to use the existing I18nContext
translation function t() for all user-visible text instead of hardcoded Chinese
or English strings. Convert labels and descriptions in categories and techStack,
PageHead content, buttons, statistics, accessibility aria-labels, and other JSX
copy to translation keys, while retaining genuine proper names such as GitHub,
TypeScript, and Apache/AGPL. Ensure every translated value is resolved through
t() and remove the unused-context issue.
- Around line 152-154: Update the Badge in the wuhan-2020 page to avoid
presenting stale hardcoded GitHub statistics: either fetch the current star and
fork counts dynamically from the source on page load, or clearly mark the values
as a historical snapshot with an “截至 YYYY-MM-DD” date and source attribution. Do
not leave the existing unqualified 392 Stars · 140 Forks text.
- Around line 124-143: 将 pages/wuhan-2020.tsx 中 Hero CTA 和卡片 CTA 的原生 a 元素替换为
React Bootstrap Button,使用对应的 variant、size、href、target 和 rel
属性保留现有外部链接及按钮外观;同时移除原有 btn 类名,并保持图标与中文文案不变。
- Around line 293-302: 更新 pages/wuhan-2020.tsx 中展示原始项目许可的段落,将代码许可与数据许可分开说明:分别列出
wuhan2020/WebApp 的 AGPL-3.0、BlankerL/DXY-COVID-19-Data 的 MIT、高德地图 API
条款及社区贡献数据条款;移除“所有代码和数据遵循 AGPL-3.0”的统一声明,未核实的内容不要作统一许可表述。

---

Nitpick comments:
In `@pages/wuhan-2020.tsx`:
- Around line 28-84: 将页面中归档资源条目的 href(尤其是“疫情地图”的 Map 链接)从可变的仓库路径和 dev 分支改为明确的
2020 年提交或标签 revision,确保链接内容固定;若必须继续指向当前源码,则在页面对应说明中明确标注这一点。
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 8c029499-8533-4739-ad85-05c5752d625d

📥 Commits

Reviewing files that changed from the base of the PR and between d143245 and 8dcd8f7.

📒 Files selected for processing (2)
  • components/Navigator/MainNavigator.tsx
  • pages/wuhan-2020.tsx

Comment thread pages/wuhan-2020.tsx
Comment on lines +22 to +87
const categories: Category[] = [
{
icon: '🏥',
title: '医院',
description:
'武汉及周边地区医院物资需求信息,包括防护服、口罩、消毒液等医疗物资的供需对接',
href: 'https://github.com/wuhan2020/WebApp',
badge: 'Hospital',
},
{
icon: '🚚',
title: '物流',
description:
'救援物资运输渠道信息,物流公司运力资源、运输路线及配送协调',
href: 'https://github.com/wuhan2020/WebApp',
badge: 'Logistics',
},
{
icon: '🏨',
title: '酒店',
description:
'为医护人员提供免费或优惠住宿的酒店信息,以及酒店资源对接',
href: 'https://github.com/wuhan2020/WebApp',
badge: 'Hotel',
},
{
icon: '🏭',
title: '生产',
description:
'医疗物资生产企业信息,包括产能、原材料需求及供应渠道对接',
href: 'https://github.com/wuhan2020/WebApp',
badge: 'Factory',
},
{
icon: '❤️',
title: '捐赠',
description:
'社会捐赠渠道信息,资金与物资捐赠的对接平台及需求公示',
href: 'https://github.com/wuhan2020/WebApp',
badge: 'Donation',
},
{
icon: '💊',
title: '义诊',
description:
'在线义诊服务平台,连接医疗专家与社区居民的远程问诊渠道',
href: 'https://github.com/wuhan2020/WebApp',
badge: 'Clinic',
},
{
icon: '🗺️',
title: '疫情地图',
description:
'基于实时数据的疫情分布地图,展示各省市确诊、疑似、治愈等统计数据',
href: 'https://github.com/wuhan2020/WebApp/tree/dev/source/page/Map',
badge: 'Map',
},
{
icon: '👥',
title: '开放社区',
description:
'志愿者协作社区,汇聚开发、运维、数据、医疗等各方力量共同抗疫',
href: 'https://github.com/wuhan2020/WebApp',
badge: 'Community',
},
];

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== file list =="
git ls-files | rg '(^pages/|^components/|i18n|messages|lang|translation|web-utility|translation)' || true

echo "== target file excerpt =="
if [ -f pages/wuhan-2020.tsx ]; then
  wc -l pages/wuhan-2020.tsx
  sed -n '1,140p' pages/wuhan-2020.tsx | cat -n
  sed -n '140,330p' pages/wuhan-2020.tsx | cat -n
else
  echo "pages/wuhan-2020.tsx not found"
fi

echo "== t()/I18nContext usages in target =="
rg -n "useI18n|i18n|I18nContext|t\\(" pages/wuhan-2020.tsx || true

echo "== nearby repo i18n examples =="
rg -n "export const t =|createI18n|t=|t\\(|I18nContext|useI18n" --glob '!node_modules/**' --glob '!dist/**' --glob '!build/**' pages components lib src 2>/dev/null | head -200 || true

Repository: Open-Source-Bazaar/Open-Source-Bazaar.github.io

Length of output: 34373


将页面文案改为 t() 翻译键。

pages/wuhan-2020.tsx 仅读取了 I18nContext,但没有实际使用 t()categoriestechStackPageHead 和 JSX 中的用户可见文案都是硬编码字符串,包含中文、英文、徽章名称、按钮文案、统计文本、aria-label 等,需要改为翻译键;纯专有名词(如 GitHub、TypeScript、Apache/AGPL 等)可保留硬编码。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pages/wuhan-2020.tsx` around lines 22 - 87, Update pages/wuhan-2020.tsx to
use the existing I18nContext translation function t() for all user-visible text
instead of hardcoded Chinese or English strings. Convert labels and descriptions
in categories and techStack, PageHead content, buttons, statistics,
accessibility aria-labels, and other JSX copy to translation keys, while
retaining genuine proper names such as GitHub, TypeScript, and Apache/AGPL.
Ensure every translated value is resolved through t() and remove the
unused-context issue.

Sources: Coding guidelines, Learnings

Comment thread pages/wuhan-2020.tsx
Comment on lines +124 to +143
<div className="d-flex gap-3 flex-wrap">
<a
className="btn btn-primary btn-lg"
href="https://github.com/wuhan2020/WebApp"
target="_blank"
rel="noreferrer"
>
<span className="me-2">📂</span>
查看原始项目
</a>
<a
className="btn btn-outline-light btn-lg"
href="https://github.com/wuhan2020"
target="_blank"
rel="noreferrer"
>
<span className="me-2">🏛️</span>
访问组织
</a>
</div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== package.react-bootstrap =="
if [ -f package.json ]; then
  node -e "const p=require('./package.json'); console.log(p.dependencies && p.dependencies['react-bootstrap'] || p.devDependencies && p.devDependencies['react-bootstrap'] || '<not found>')"
fi

echo "== target file outline =="
ast-grep outline pages/wuhan-2020.tsx --view compact || true

echo "== relevant snippets =="
sed -n '1,260p' pages/wuhan-2020.tsx | nl -ba | sed -n '1,260p'

echo "== react-bootstrap imports/usages in target =="
python3 - <<'PY'
from pathlib import Path
p = Path('pages/wuhan-2020.tsx')
text = p.read_text(encoding='utf-8').splitlines()
print("imports:")
for i,line in enumerate(text,1):
    if "react-bootstrap" in line or ("<a " in line and "btn " in line):
        print(f"{i:4}: {line}")
PY

Repository: Open-Source-Bazaar/Open-Source-Bazaar.github.io

Length of output: 466


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== target file outline =="
ast-grep outline pages/wuhan-2020.tsx --view compact || true

echo "== relevant snippets =="
sed -n '1,260p' pages/wuhan-2020.tsx | nl -ba | sed -n '1,260p'

echo "== react-bootstrap imports/usages in target =="
python3 - <<'PY'
from pathlib import Path
p = Path('pages/wuhan-2020.tsx')
text = p.read_text(encoding='utf-8').splitlines()
print("imports:")
for i,line in enumerate(text,1):
    if "react-bootstrap" in line or ("<a " in line and "btn " in line):
        print(f"{i:4}: {line}")
PY

Repository: Open-Source-Bazaar/Open-Source-Bazaar.github.io

Length of output: 426


🏁 Script executed:

#!/bin/sh
set -euo pipefail

printf '== target file size and imports/usages ==\n'
wc -l pages/wuhan-2020.tsx
python3 - <<'PY'
from pathlib import Path
text = Path('pages/wuhan-2020.tsx').read_text(encoding='utf-8').splitlines()
for i,line in enumerate(text,1):
    if 'react-bootstrap' in line or '<a className=' in line and 'btn' in line:
        print(f'{i:4}: {line}')
PY

printf '\n== snippets around button lines ==\n'
awk 'NR>=118 && NR<=146 {printf "%5d: %s\n", NR, $0}' pages/wuhan-2020.tsx
printf '\n'
awk 'NR>=223 && NR<=243 {printf "%5d: %s\n", NR, $0}' pages/wuhan-2020.tsx

printf '\n== package react-bootstrap value ==\n'
node -e 'const p=require("./package.json"); console.log((p.dependencies&&p.dependencies["react-bootstrap"])||(p.devDependencies&&p.devDependencies["react-bootstrap"])||(p.peerDependencies&&p.peerDependencies["react-bootstrap"])||"<not found>")'

Repository: Open-Source-Bazaar/Open-Source-Bazaar.github.io

Length of output: 2451


将按钮样式的链接改为 React Bootstrap Button

pages/wuhan-2020.tsx 的 Hero CTA(124-143 行)和卡片 CTA(229-237 行)都使用原生 <a> 加上 btn 类名;改用 Buttonvariantsizehreftargetrel 属性,统一 UI 组件方式。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pages/wuhan-2020.tsx` around lines 124 - 143, 将 pages/wuhan-2020.tsx 中 Hero
CTA 和卡片 CTA 的原生 a 元素替换为 React Bootstrap Button,使用对应的 variant、size、href、target 和
rel 属性保留现有外部链接及按钮外观;同时移除原有 btn 类名,并保持图标与中文文案不变。

Source: Coding guidelines

Comment thread pages/wuhan-2020.tsx
Comment on lines +145 to +151
<Col xs={12} md={4} className="text-center mt-4 mt-md-0">
<div
className="display-1"
aria-label="COVID-19 Rescue Platform"
>
🏥
</div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

修正普通 <div> 上的 aria-label

该元素没有语义角色。WAI-ARIA 将 generic 元素列为禁止命名的角色,因此此处的 aria-label 不是可靠的可访问名称。(w3.org)

如果医院 emoji 仅用于装饰,请使用 aria-hidden="true"。如果它传达信息,请使用 role="img",并将标签改为 t() 文案。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pages/wuhan-2020.tsx` around lines 145 - 151, Update the emoji container in
the relevant JSX block: if the hospital emoji is decorative, replace its
aria-label with aria-hidden="true"; if it conveys information, add role="img"
and use a translated t() label instead. Do not leave aria-label on the generic
div without an explicit semantic role.

Source: MCP tools

Comment thread pages/wuhan-2020.tsx
Comment on lines +152 to +154
<Badge bg="warning" text="dark" className="mt-2 fs-6">
🌟 392 Stars · 140 Forks
</Badge>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repo files matching wuhan-2020 =="
fd -a 'wuhan-2020\.tsx$' . || true

echo "== relevant file excerpt =="
if [ -f pages/wuhan-2020.tsx ]; then
  cat -n pages/wuhan-2020.tsx | sed -n '120,175p'
fi

echo "== references to Stars/Forks/392/140/139 =="
rg -n "Stars|Forks|星|fork|forks|392|140|139|快照|截至" pages components lib src . 2>/dev/null | head -200 || true

echo "== changed/added context =="
git diff --stat || true
git diff -- pages/wuhan-2020.tsx 2>/dev/null | sed -n '1,220p' || true

Repository: Open-Source-Bazaar/Open-Source-Bazaar.github.io

Length of output: 3992


🌐 Web query:

wuhan2020/WebApp GitHub stars forks current

💡 Result:

As of August 2, 2026, the GitHub repository wuhan2020/WebApp has 393 stars and 139 forks [1].

Citations:


为 GitHub 统计值添加快照日期或改为动态取值。

该页硬编码 392 Stars · 140 Forks,但仓库实时状态是 393 Stars 和 139 Forks。如果是历史快照,使用 Badge 展示 截至 YYYY-MM-DD 并补充来源;否则应在页面加载时从 source 获取或移除这些静态数值。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pages/wuhan-2020.tsx` around lines 152 - 154, Update the Badge in the
wuhan-2020 page to avoid presenting stale hardcoded GitHub statistics: either
fetch the current star and fork counts dynamically from the source on page load,
or clearly mark the values as a historical snapshot with an “截至 YYYY-MM-DD” date
and source attribution. Do not leave the existing unqualified 392 Stars · 140
Forks text.

Source: MCP tools

Comment thread pages/wuhan-2020.tsx
Comment on lines +229 to +237
{href && (
<a
className="btn btn-outline-primary btn-sm mt-auto"
href={href}
target="_blank"
rel="noreferrer"
>
查看详情 →
</a>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

让卡片链接包含模块名称。

八个卡片都显示“查看详情 →”。用户在链接列表中无法直接区分医院、物流或其他模块。W3C 要求链接用途可由链接文本或程序化上下文确定。(w3c.github.io)

请使用“查看医院详情”等上下文相关文本,或为链接添加包含模块名称的 aria-label

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pages/wuhan-2020.tsx` around lines 229 - 237, Update the card link rendered
in the JSX block around the `href` conditional so its accessible name includes
the corresponding module name, such as “查看医院详情”, while preserving the existing
visual styling and destination. Use the card’s existing module/title data rather
than hardcoding one label for all eight links, or add an equivalent dynamic
`aria-label` if the visible text must remain unchanged.

Source: MCP tools

Comment thread pages/wuhan-2020.tsx
Comment on lines +293 to +302
<p>
原始项目仍托管在{' '}
<a
href="https://github.com/wuhan2020/WebApp"
target="_blank"
rel="noreferrer"
>
GitHub
</a>
,所有代码和数据遵循 AGPL-3.0 开源协议。

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== file outline/size =="
wc -l pages/wuhan-2020.tsx
ast-grep outline pages/wuhan-2020.tsx --view compact || true

echo "== relevant snippets =="
sed -n '230,330p' pages/wuhan-2020.tsx

echo "== repository references =="
rg -n "wuhan2020|DXY-COVID-19-Data|AGPL-3\.0|MIT|高徳|高德|API|数据|license|开源协议" pages/wuhan-2020.tsx

Repository: Open-Source-Bazaar/Open-Source-Bazaar.github.io

Length of output: 4927


🌐 Web query:

github.com wuhan2020 WebApp license AGPL-3.0 DXY-COVID-19-Data MIT

💡 Result:

The following information details the licenses for the specified GitHub repositories: The wuhan2020/WebApp repository, part of the Wuhan2020 open-source community initiative, is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) [1][2]. The DXY-COVID-19-Data repository (managed by user BlankerL) is licensed under the MIT License [3][4]. This repository has been archived and is now read-only [5]. Similarly, the related DXY-COVID-19-Crawler repository is also licensed under the MIT License [6][7] and has been archived [6].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repository license and usage snippets =="
rg -n "license\\.name|license|licenseFile|readme|README|AGPL|MIT|高德|map" pages/wuhan-2020.tsx || true

echo "== repository files for Wuhan2020 page =="
sed -n '1,130p' pages/wuhan-2020.tsx
sed一n '130,230p' pages/wuhan-2020.tsx

echo "== behavioral check: uniform license string vs discovered source licenses =="
python3 - <<'PY'
text = open("pages/wuhan-2020.tsx", encoding="utf-8").read()
print("has_uniform_all_agpl=", "所有代码和数据遵循 AGPL-3.0" in text)
print("has_source_mentions=", "<i18n>" in text or "GitHub" in text)
PY

Repository: Open-Source-Bazaar/Open-Source-Bazaar.github.io

Length of output: 3657


🌐 Web query:

GitHub wuhan2020 WebApp repository license AGPL-3.0 LICENSE file

💡 Result:

The wuhan2020/WebApp repository on GitHub is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) [1]. While other repositories within the wuhan2020 organization, such as the main wuhan2020/wuhan2020 repository, are licensed under the MIT License [2][3], the WebApp repository specifically identifies its license as AGPL-3.0 [1]. Users should always consult the LICENSE file located directly within the specific repository for the most authoritative and current information regarding its legal terms [1].

Citations:


🌐 Web query:

GitHub BlankerL DXY-COVID-19-Data repository license MIT LICENSE file

💡 Result:

The GitHub repository BlankerL/DXY-COVID-19-Data is licensed under the MIT License [1][2][3]. Authoritative references and secondary documentation, such as the Google Cloud Platform's COVID-19 open data repository, explicitly cite the DXY-COVID-19-Data dataset as being under the MIT license [4]. The repository, which is currently archived [3][5], contains the license information standard to such projects [4]. Additionally, the related repository, DXY-COVID-19-Crawler, also uses the MIT License, which includes a copyright notice for Jiabao Lin [6][7].

Citations:


拆分代码许可与数据许可。

wuhan2020/WebApp 为 AGPL-3.0,但页面引用的 BlankerL/DXY-COVID-19-Data 为 MIT。第 302 行“所有代码和数据遵循 AGPL-3.0”会把第三方数据许可也错误覆盖,需分别列出原始代码许可、第三方数据许可、高德地图 API 条款和社区贡献数据条款;未核实时不要作统一许可声明。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pages/wuhan-2020.tsx` around lines 293 - 302, 更新 pages/wuhan-2020.tsx
中展示原始项目许可的段落,将代码许可与数据许可分开说明:分别列出 wuhan2020/WebApp 的
AGPL-3.0、BlankerL/DXY-COVID-19-Data 的 MIT、高德地图 API 条款及社区贡献数据条款;移除“所有代码和数据遵循
AGPL-3.0”的统一声明,未核实的内容不要作统一许可表述。

Source: MCP tools

@dosubot

dosubot Bot commented Aug 2, 2026

Copy link
Copy Markdown

📄 Knowledge review

🆕 New pages

1 new page was drafted from this PR.

Page Library
Wuhan-2020 Archive Page Implementation Guide Open Source Bazaar's Space

Leave Feedback Ask Dosu about Open-Source-Bazaar.github.io Add Dosu to your team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

重建 WuHan-2020 新冠救援信息平台前台页面以开放数据存档

1 participant