Skip to content

Commit e4733ac

Browse files
committed
chore: 时间系统标准化为2026格式,优化项目结构
1 parent 1bd5124 commit e4733ac

3 files changed

Lines changed: 71 additions & 63 deletions

File tree

README.md

Lines changed: 60 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,87 @@
11
# Humanity - 心理测试平台
22

3-
一个专业的心理测试静态网站,基于 Vue 3 + Vite 构建,部署于 GitHub Pages。
3+
一个专业的心理测试静态网站,基于原生HTML/CSS/JS构建,部署于 GitHub Pages。
44

55
## 功能特点
66

7-
- **9种专业测试**:MBTI、大五人格、九型人格、DISC、政治倾向、价值观、道德基础、IQ测试、情商测试
8-
- **三种测试模式**:简单、标准、专家模式,不同深度分析
7+
- **专业心理测试**:MBTI人格测试、大五人格测试、DISC行为风格测试、情商测试、焦虑症筛查、抑郁倾向筛查
98
- **精美动画效果**:Three.js 3D粒子背景,GSAP 流畅过渡动画
10-
- **数据可视化**:ECharts 雷达图展示测试结果
9+
- **答题辅助功能**:计时器、题目导航、答题进度保存
10+
- **多维度评分**:维度累加法评分逻辑,科学分析测试结果
1111
- **本地存储**:测试历史记录本地保存,保护隐私
12-
- **响应式设计**:完美适配移动端和桌面端
13-
- **分享功能**:支持生成图片分享测试结果
12+
- **响应式设计**:完美适配移动端、平板和桌面端
1413

1514
## 技术栈
1615

17-
- **前端框架**:Vue 3 + Vite
18-
- **样式**:Tailwind CSS
16+
- **前端**:原生 HTML5 + CSS3 + JavaScript (ES6+)
1917
- **动画**:Three.js + GSAP
20-
- **图表**:ECharts
21-
- **状态管理**:Pinia
22-
- **路由**:Vue Router
18+
- **存储**:LocalStorage API
19+
- **部署**:GitHub Pages
2320

24-
## 本地开发
21+
## 页面结构
2522

26-
```bash
27-
# 安装依赖
28-
npm install
23+
```
24+
humanity/
25+
├── index.html # 入口页面(重定向)
26+
├── splash.html # 启动页
27+
├── welcome.html # 欢迎页
28+
├── list.html # 测试列表页
29+
├── test.html # 测试答题页
30+
├── result.html # 结果展示页
31+
├── profile.html # 个人中心页
32+
├── css/
33+
│ └── styles.css # 统一样式
34+
└── js/
35+
├── data.js # 题库数据
36+
├── components/
37+
│ └── particle-bg.js # 粒子背景组件
38+
└── utils/
39+
├── helpers.js # 工具函数
40+
└── storage.js # 存储工具
41+
```
2942

30-
# 启动开发服务器
31-
npm run dev
43+
## 时间格式标准
3244

33-
# 构建生产版本
34-
npm run build
45+
系统采用统一的 2026 年标准时间格式:`YYYY-MM-DD HH:MM:SS`
3546

36-
# 预览生产版本
37-
npm run preview
38-
```
47+
## 难度体系
3948

40-
## 部署到 GitHub Pages
49+
| 等级 | 说明 |
50+
|------|------|
51+
| 1级(基础) | 基础认知和理解 |
52+
| 2级(进阶) | 应用和分析能力 |
53+
| 3级(高级) | 综合评价能力 |
54+
| 4级(专家) | 专业深度评估 |
4155

42-
1. 修改 `vite.config.js` 中的 `base` 为你的仓库名
43-
2. 运行 `npm run build` 构建项目
44-
3.`dist` 目录内容推送到 GitHub Pages
56+
## 本地运行
4557

46-
## 项目结构
58+
直接在浏览器中打开 `index.html` 即可运行,或使用本地服务器:
4759

48-
```
49-
Mbti-test/
50-
├── src/
51-
│ ├── views/ # 页面组件
52-
│ │ ├── Welcome.vue # 入口页面
53-
│ │ ├── Home.vue # 主页
54-
│ │ ├── Test.vue # 测试页面
55-
│ │ ├── Result.vue # 结果页面
56-
│ │ └── History.vue # 历史记录
57-
│ ├── tests/ # 测试题目数据
58-
│ ├── stores/ # 状态管理
59-
│ ├── router/ # 路由配置
60-
│ └── style.css # 全局样式
61-
├── public/ # 静态资源
62-
└── package.json
60+
```bash
61+
# 使用 Python 启动简单服务器
62+
python -m http.server 8080
63+
64+
# 使用 Node.js http-server
65+
npx http-server -p 8080
6366
```
6467

65-
## 测试模块
68+
## 部署到 GitHub Pages
6669

67-
### 人格测试
68-
- **MBTI**:16型人格测试,4维度分析
69-
- **大五人格**:开放性、尽责性、外向性、宜人性、神经质
70-
- **九型人格**:9种核心人格类型
71-
- **DISC**:支配、影响、稳健、服从
70+
1. 将代码推送到 GitHub 仓库
71+
2. 进入仓库 Settings > Pages
72+
3. Source 选择 "Deploy from a branch"
73+
4. Branch 选择 "main",目录选择 "/(root)"
74+
5. 保存后等待部署完成
7275

73-
### 意识形态测试
74-
- **政治倾向**:左翼/右翼、自由/权威
75-
- **价值观**:个人主义/集体主义、传统/现代
76-
- **道德基础**:关爱、公平、忠诚、权威、圣洁
76+
## 测试模块
7777

78-
### 认知能力测试
79-
- **IQ测试**:逻辑推理、空间想象、语言能力
80-
- **情商测试**:自我认知、同理心、自我管理、社交技能
78+
- **MBTI人格测试** - 80道题,16型人格
79+
- **大五人格测试** - 60道题,五大人格维度
80+
- **DISC行为风格** - 行为风格评估
81+
- **情商测试详细版** - 50道题,五大维度
82+
- **焦虑症筛查(GAD-7)** - 7道题
83+
- **抑郁倾向筛查(PHQ-9)** - 9道题
8184

82-
## License
85+
## 许可证
8386

84-
MIT
87+
MIT License

js/utils/helpers.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,13 @@ const Helpers = {
6767

6868
formatDate(timestamp) {
6969
const date = new Date(timestamp);
70-
return date.toLocaleDateString('zh-CN', {
71-
year: 'numeric',
72-
month: '2-digit',
73-
day: '2-digit'
74-
});
70+
const year = date.getFullYear();
71+
const month = String(date.getMonth() + 1).padStart(2, '0');
72+
const day = String(date.getDate()).padStart(2, '0');
73+
const hours = String(date.getHours()).padStart(2, '0');
74+
const minutes = String(date.getMinutes()).padStart(2, '0');
75+
const seconds = String(date.getSeconds()).padStart(2, '0');
76+
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
7577
},
7678

7779
debounce(func, wait) {

result.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,11 +362,14 @@ <h2 class="result-title">测试完成!</h2>
362362
const resultType = document.getElementById('result-type').textContent;
363363
const time = localStorage.getItem('testTime') || '00:00';
364364

365+
const now = new Date();
366+
const dateStr = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}:${String(now.getSeconds()).padStart(2, '0')}`;
367+
365368
const history = JSON.parse(localStorage.getItem('testHistory') || '[]');
366369
history.unshift({
367370
type: testType,
368371
result: resultType,
369-
date: new Date().toLocaleDateString('zh-CN'),
372+
date: dateStr,
370373
time: time
371374
});
372375
localStorage.setItem('testHistory', JSON.stringify(history.slice(0, 20)));

0 commit comments

Comments
 (0)