易优评20250309后端重构

数据库重构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
-- 创建赛事级别表
CREATE TABLE `competition_levels` (
`level_id` int(11) NOT NULL AUTO_INCREMENT,
`level_name` varchar(50) NOT NULL COMMENT '赛事级别(校级/院级/国家级等)',
`description` varchar(255) DEFAULT NULL,
PRIMARY KEY (`level_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='赛事级别表';

-- 创建项目生命周期状态表
CREATE TABLE `project_lifecycle_status` (
`status_id` int(11) NOT NULL AUTO_INCREMENT,
`status_name` varchar(50) NOT NULL COMMENT '状态名称(预立项/立项/中期/结项)',
`description` varchar(255) DEFAULT NULL,
`order_num` int(11) DEFAULT 0 COMMENT '状态顺序',
PRIMARY KEY (`status_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目生命周期状态表';

-- 创建统一项目推荐表
CREATE TABLE `project_recommendations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`project_id` int(11) NOT NULL COMMENT '项目ID',
`source_event_id` int(11) NOT NULL COMMENT '来源赛事ID',
`target_event_id` int(11) NOT NULL COMMENT '目标赛事ID',
`recommender_id` int(11) NOT NULL COMMENT '推荐人ID',
`recommendation_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '推荐日期',
`status` enum('待审核','已通过','已拒绝') NOT NULL DEFAULT '待审核' COMMENT '推荐状态',
`reviewer_id` int(11) DEFAULT NULL COMMENT '审核人ID',
`review_date` datetime DEFAULT NULL COMMENT '审核日期',
`review_comments` text DEFAULT NULL COMMENT '审核意见',
PRIMARY KEY (`id`),
KEY `idx_project_id` (`project_id`),
KEY `idx_source_event` (`source_event_id`),
KEY `idx_target_event` (`target_event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目推荐表';

-- auto-generated definition
create table competition_recommendation
(
id int auto_increment
primary key,
pro_id int not null comment '项目id',
pro_event_id int not null comment '项目赛事id',
recommended_event_id int not null comment '推荐到赛事id',
recommendation_status enum ('成功推荐', '未成功推荐') not null comment '推荐的状态',
created_at timestamp default CURRENT_TIMESTAMP not null comment '创建时间',
updated_at timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间'
)
comment '赛事推荐表' charset = utf8mb4;


-- 插入赛事级别数据
INSERT INTO `competition_levels` (`level_id`, `level_name`, `description`) VALUES
(1, '院级', '院系内部举办的赛事'),
(2, '校级', '全校范围内举办的赛事'),
(3, '市级', '市级举办的赛事'),
(4, '省级', '省级举办的赛事'),
(5, '国家级', '国家级赛事');

-- 插入项目生命周期状态数据
INSERT INTO `project_lifecycle_status` (`status_id`, `status_name`, `description`, `order_num`) VALUES
(1, '预立项', '项目初始状态,尚未正式立项', 1),
(2, '立项', '项目已通过初步审核,正式立项', 2),
(3, '中期', '项目处于中期检查阶段', 3),
(4, '结项', '项目已完成全部内容,处于结项状态', 4);


-- 修改赛事表,添加级别和上级赛事字段
ALTER TABLE `pro_events`
ADD COLUMN `level_id` int(11) DEFAULT 1 COMMENT '赛事级别ID',
ADD COLUMN `parent_event_id` int(11) DEFAULT NULL COMMENT '上级赛事ID';

-- 修改项目表,添加生命周期状态
ALTER TABLE `pro_details3`
ADD COLUMN `lifecycle_status_id` int(11) DEFAULT 1 COMMENT '生命周期状态ID';

-- 优化中期检查表
ALTER TABLE `midterm_check`
ADD COLUMN `lifecycle_status_id` int(11) DEFAULT 3 COMMENT '对应的生命周期状态ID';

-- 根据部门ID更新赛事级别(添加条件确保只更新有效记录)
UPDATE `pro_events`
SET `level_id` = CASE
WHEN `dept_id` < 100 THEN 2 -- 校级
ELSE 1 -- 院级
END
WHERE `event_id` > 0; -- 确保只更新有效记录

-- 推断项目生命周期状态(添加条件确保只更新有效记录)
UPDATE `pro_details3`
SET `lifecycle_status_id` = CASE
WHEN `isMidTermCheck` = 1 THEN 3 -- 中期
WHEN `pro_status` = 2 THEN 2 -- 已推荐,视为已立项
ELSE 1 -- 默认预立项
END
WHERE `pro_id` > 0; -- 确保只更新有效记录

-- 从旧推荐表迁移数据到新推荐表
INSERT INTO `project_recommendations`
(`project_id`, `source_event_id`, `target_event_id`, `recommender_id`,
`recommendation_date`, `status`)
SELECT
`pro_id`,
`event_id`,
COALESCE(`rm_event_id`, 0),
`rm_user_id`,
`rm_time`,
CASE
WHEN `rm_status` = 1 THEN '待审核'
WHEN `rm_status` = 2 THEN '已通过'
ELSE '待审核'
END
FROM `pro_rm_event`
WHERE `pro_id` > 0;

-- 从竞赛推荐表迁移数据
INSERT INTO `project_recommendations`
(`project_id`, `source_event_id`, `target_event_id`, `recommender_id`,
`recommendation_date`, `status`)
SELECT
`pro_id`,
`pro_event_id`,
`recommended_event_id`,
0, -- 无法确定推荐人,置为0
`created_at`,
CASE
WHEN `recommendation_status` = '成功推荐' THEN '已通过'
ELSE '待审核'
END
FROM `competition_recommendation`
WHERE `pro_id` > 0
-- 避免重复记录
AND NOT EXISTS (
SELECT 1 FROM `project_recommendations`
WHERE `project_id` = `competition_recommendation`.`pro_id`
AND `source_event_id` = `competition_recommendation`.`pro_event_id`
AND `target_event_id` = `competition_recommendation`.`recommended_event_id`
);




-- 移除现有触发器(如果存在)

DROP TRIGGER IF EXISTS `update_pro_allocation_status`;

DROP TRIGGER IF EXISTS `update_group_id`;

DROP TRIGGER IF EXISTS `delete_pro_pro_details3`;

DROP TRIGGER IF EXISTS `project_status_update`;




– 从旧推荐表迁移数据到新推荐表(处理可能的重复记录)
INSERT IGNORE INTO project_recommendations
(project_id, source_event_id, target_event_id, recommender_id,
recommendation_date, status)
SELECT
pro_id,
event_id,
COALESCE(rm_event_id, 0),
rm_user_id,
rm_time,
CASE
WHEN rm_status = 1 THEN ‘待审核’
WHEN rm_status = 2 THEN ‘已通过’
ELSE ‘待审核’
END
FROM pro_rm_event
WHERE pro_id > 0;

– 从竞赛推荐表迁移数据(处理可能的重复记录)
INSERT IGNORE INTO project_recommendations
(project_id, source_event_id, target_event_id, recommender_id,
recommendation_date, status)
SELECT
pro_id,
pro_event_id,
recommended_event_id,
0, – 无法确定推荐人,置为0
created_at,
CASE
WHEN recommendation_status = ‘成功推荐’ THEN ‘已通过’
ELSE ‘待审核’
END
FROM competition_recommendation
WHERE pro_id > 0;

我需要为易优评【AI创新创业评审小游戏】创建极致设计的高保真原型,请按以下框架完成设计,确保结果既富创意又可直接转化为代码:

1. 战略设计思考

提炼{应用类型}核心用户痛点与情感诉求,定义差异化体验机会

分析全球设计标杆产品,提取可借鉴的创新元素与交互模式

构建独特的产品设计哲学,确立令人难忘的品牌体验基调

2. 体验架构设计

设计”零学习成本”的直觉化信息架构,优化关键用户旅程

创建以情感连接为核心的界面层级与功能流程

运用行为心理学原理,设计引导性强且令人愉悦的交互路径

规划渐进式功能展示逻辑,实现功能探索与即时满足的平衡

3. 视觉设计突破

融合前沿设计趋势(液态设计/微动效/3D元素)创建独特视觉语言

构建富有层次的色彩系统,运用微妙渐变与光影创造空间感

设计专属排版系统与图形语言,建立强烈品牌识别度

应用精致质感与细节处理,实现”可触摸”的界面体验

平衡简约与丰富,确保视觉冲击力不牺牲可用性

4. 代码级原型实现

使用HTML5+TailwindCSS+AlpineJS构建响应式高保真界面

实现基于CSS变量的设计系统,确保界面一致性与可维护性

为每个关键界面创建独立HTML文件,通过优雅布局展示于index页面

运用最新Web技术(CSS Grid/Flexbox/动画API)实现流畅布局与交互

优化资源加载与渲染性能,确保原型运行流畅

5. 沉浸式设备体验

精确还原最新设备物理特性(尺寸/圆角/刘海屏/动态岛)

无缝融合系统UI元素(状态栏/手势区/底部导航),增强真实感

使用高质量真实内容替代占位符,创造”已完成产品”的体验

模拟真实使用场景与环境光效,展示界面适应性

6. 微交互与动效系统

设计情感化微交互,为每个关键操作赋予独特反馈

创建流畅自然的界面转场与状态变化动画

运用细腻的触感动效与视觉提示,增强操作确认感

设计一致且有意义的动效语言,提升界面连贯性

通过CSS动画与轻量级JS实现关键动效,确保性能优良

7. 创新体验元素

融入适量视差效果与空间层次,创造沉浸感

设计智能化的环境感知UI,适应不同使用情境

创造令人惊喜的互动元素与界面彩蛋,增强情感连接

设计优雅的空状态与加载体验,转化等待为愉悦

实现无缝的深浅色模式切换,优化各种光线环境下的可用性

8. 体验完善与品质保障

确保卓越的可读性与触控舒适度,适应各种使用场景

优化关键路径的视觉层级与引导性,减少认知负担

融入无障碍设计原则,确保普遍可用性

关注细节完善度,打造精致的专业级设计体验

请基于以上框架生成完整HTML代码,创造一套既有未来感又实用的高保真原型,使其成为设计艺术品的同时保持开发可行性。每个界面应当既能打动用户又能满足业务目标,展现卓越设计思考与品牌独特性。

现在需要输出高保真的原型图,并确保这些原型界面可以直接用于开发:用户体验分析:先分析这个 易优评【AI创新创业评审小游戏】的主要功能和用户需求,确定核心交互逻辑。进行用户调研,了解目标用户的需求与痛点。对竞品进行分析,研究其他类似类型的 易优评【AI创新创业评审小游戏】(如 创新创业评审类型的小游戏})功能和设计的优缺点。产品界面规划:作为产品经理,定义关键界面,确保信息架构合理。根据功能优先级定义 MVP(最小可行产品)的核心功能,确保重要功能优先实现。制定迭代计划,确保开发进度可控,并逐步实现其他功能。高保真 UI 设计:作为 UI 设计师,设计贴近真实 iOS/Android 设计规范的界面,使用现代化的 UI 元素,确保视觉体验良好。构建设计系统,规范颜色、字体、按钮等元素的样式。提供详细的风格指南,确保界面元素一致性。HTML 原型实现:使用 HTML + Tailwind CSS(或 Bootstrap)生成所有原型界面,并使用 FontAwesome(或其他 UI 组件)让界面更加精美,接近真实 App 设计。将每个界面作为独立 HTML 文件(如 home.html、profile.html、settings.html 等),并通过 iframe 嵌入到 index.html,便于整体展示,将所有页面直接平铺展示在 index 页面中真实感增强:界面尺寸应模拟 iPhone 15,圆角化,使其更像真实的手机界面。使用真实的 UI 图片,而非占位符图片(可从 Unsplash、Pexels、Apple 官方 UI 资源中选择)。添加顶部状态栏(模拟 iOS 状态栏),并包含 微信小程序导航栏(类似 iOS 底部 Tab Bar)。交互设计与动画效果:展示主要交互逻辑(如页面切换、按钮点击、滑动列表等)。在原型中加入简化的动画效果,帮助更好地传达交互体验。无障碍设计:确保 UI 元素有足够的对比度,文本可放大,按钮和链接可用屏幕阅读器识别。确保键盘和触控支持良好,交互体验流畅自然。请按照以上要求生成完整的 HTML 代码,并确保其可用于实际开发。