# scenario-lab-portal
**Repository Path**: wangboa/scenario-lab-portal
## Basic Information
- **Project Name**: scenario-lab-portal
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-05-09
- **Last Updated**: 2026-05-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 公共数据融合应用创新实验室
> 公共数据融合应用创新实验室是数据局数据资源处、数字经济处面向企业的在线服务窗口,为企业提供场景申报、企业入库、融合创新的一站式线上服务。
## 项目概述
本项目是四川省数据局指导下建设的公共数据融合应用创新实验室在线服务门户,目标实现:
- **场景申报**:企业在线提交场景方案,追踪审批进度
- **企业入库**:数创企业 / 数据企业双通道在线入库登记
- **数据集申报**:高质量数据集认定在线申报与 TC609 检测
- **融合开发**:数据融合验证支撑("数据不出域,算法跑进来")
## 技术栈
| 层级 | 技术选型 |
|------|----------|
| 后端框架 | Ruby on Rails 8.1(API + ERB 壳,单体应用) |
| 前端框架 | React 18 + TypeScript(SPA) |
| 构建工具 | Vite + vite_rails |
| 数据库 | MySQL 8.0 |
| 认证 | BCrypt + Cookie Session + CSRF Token |
| 授权 | Pundit(RBAC + 数据范围策略) |
| 异步队列 | Solid Queue |
| 容器化 | Docker(单容器)+ MySQL 独立部署 |
## 前端架构
### 组件层级
```
AppLayout (layout/)
├── Header — 全局导航(sticky, 响应式)
│ ├── .skip-link — 无障碍跳转
│ ├── .site-logo — Logo + "场景融创实验室"
│ ├── .site-nav — 7 个主导航 + 工作台下拉菜单
│ ├── .header-actions — 登录态:用户名+退出 | 未登录:入库登记+登录
│ └── .nav-toggle — 768px 以下汉堡菜单
├── — 页面内容(id="main-content")
└── Footer — 指导/运营单位 + 版权/ICP + 技术支持
```
### 路由结构
| 路由 | 页面 | 认证 |
|------|------|------|
| `/` | 首页 | 公开 |
| `/login` `/register` | 登录/注册 | 公开 |
| `/guide-lab` `/guide-enterprise` `/guide-dataset` `/fusion-scenarios` `/announcement` `/policies` `/about` `/assessment` | 指南与公开信息(PlaceholderPage 占位) | 公开 |
| `/health-check` | 数据质量预检 | 公开 |
| `/my/applications` | 我的申报 | 需登录 |
| `/ops/dashboard` `/ops/applications` `/ops/catalog` | 运营工作台 | 需登录 |
| `/review/workbench` | 评审工作台 | 需登录 |
| `/report-tc609` | TC609 检测报告 | 需登录 |
| `/dashboard` | 数据看板 | 需登录 |
### 样式约定
- 全局样式:`app/javascript/styles/global.css` — Design Tokens(CSS 变量)、Header、Footer、按钮、表单、卡片等共享组件
- 页面独有样式:各页面组件内使用 `