You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

173 lines
7.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
namespace App\Support;
/**
* 默认赛道打分表(满分 100)。通用指标一致,特色指标按赛道区分。
* 消费+人工智能赛道内容对齐官方评分表;其余赛道特色项可后台再改。
*/
class DefaultTrackScoringSheets
{
/**
* @return list<array{key: string, sort: int, category: string, title: string, criteria: string, max_score: float}>
*/
public static function commonItems(): array
{
return [
[
'key' => 'market_prospect',
'sort' => 1,
'category' => '通用指标',
'title' => '市场前景与需求匹配',
'criteria' => '目标人群清晰,需求洞察准确,理解真实痛点;市场规模大、增速快,具备良好扩展性;有落地场景与运营数据可加分。',
'max_score' => 20,
],
[
'key' => 'project_innovation',
'sort' => 2,
'category' => '通用指标',
'title' => '项目创新性',
'criteria' => '产品、服务或商业模式相对传统消费有显著创新;核心卖点独特,并具备一定壁垒。',
'max_score' => 15,
],
[
'key' => 'team_strength',
'sort' => 3,
'category' => '通用指标',
'title' => '团队综合实力',
'criteria' => '创始人行业背景与领导力;技术、运营、供应链等人才互补,核心团队稳定。',
'max_score' => 15,
],
[
'key' => 'materials_presentation',
'sort' => 4,
'category' => '通用指标',
'title' => '材料与现场表现',
'criteria' => '商业计划书逻辑清晰、视觉精致;路演表达清楚,问答积极准确,控场能力强。',
'max_score' => 10,
],
[
'key' => 'compliance_risk',
'sort' => 5,
'category' => '通用指标',
'title' => '合规与风控',
'criteria' => '核心知识产权权属清晰无争议;产品与营销符合社会公序良俗;具备基本舆情风险防控意识。',
'max_score' => 5,
],
[
'key' => 'social_cultural',
'sort' => 6,
'category' => '通用指标',
'title' => '社会与文化效益',
'criteria' => '在就业带动、绿色低碳、激活地方经济等方面有正向社会效益;倡导健康积极的消费文化。',
'max_score' => 5,
],
];
}
/**
* @return array<string, list<array{key: string, sort: int, category: string, title: string, criteria: string, max_score: float}>>
*/
public static function specialItemsByTrack(): array
{
return [
'xiaofei_ai' => [
[
'key' => 'digital_ai_empowerment',
'sort' => 7,
'category' => '特色指标',
'title' => '数智赋能与提质增效',
'criteria' => '前沿 AI 技术在具体消费场景中落地衔接,对降低商家成本或提升消费者体验有实际效果。',
'max_score' => 15,
],
[
'key' => 'tech_iteration_security',
'sort' => 8,
'category' => '特色指标',
'title' => '技术迭代与数据安全',
'criteria' => '核心算法或智能硬件的研发深度与迭代能力;用户隐私与算法合规的风险防控机制。',
'max_score' => 15,
],
],
'tese_xiaofei' => [
[
'key' => 'brand_ip_differentiation',
'sort' => 7,
'category' => '特色指标',
'title' => '品牌与 IP 辨识度',
'criteria' => '品牌定位清晰,IP/国潮/老字号等差异化鲜明;在细分消费场景中具备识别度与传播力。',
'max_score' => 15,
],
[
'key' => 'supply_chain_scenario',
'sort' => 8,
'category' => '特色指标',
'title' => '供应链与场景落地',
'criteria' => '供应链协同或渠道场景落地能力强;可复制、可扩展,具备持续获客与复购基础。',
'max_score' => 15,
],
],
'jiankang_xiaofei' => [
[
'key' => 'health_professionalism',
'sort' => 7,
'category' => '特色指标',
'title' => '专业性与安全合规',
'criteria' => '健康/医疗相关方案具备专业依据;资质、安全与合规意识到位,风险边界清晰。',
'max_score' => 15,
],
[
'key' => 'service_efficacy',
'sort' => 8,
'category' => '特色指标',
'title' => '服务效果与用户粘性',
'criteria' => '对用户健康管理/体验改善有可验证效果;服务闭环完整,具备复购与长期运营潜力。',
'max_score' => 15,
],
],
'shang_wen_lv' => [
[
'key' => 'cultural_ip_experience',
'sort' => 7,
'category' => '特色指标',
'title' => '文化 IP 与体验设计',
'criteria' => '文旅/商业空间体验设计有特色;文化 IP 转化自然,场景沉浸感与差异化突出。',
'max_score' => 15,
],
[
'key' => 'commercial_sustainability',
'sort' => 8,
'category' => '特色指标',
'title' => '商业可持续与引流转化',
'criteria' => '商业模式可持续,引流与转化路径清晰;对地方消费与文旅经济有带动作用。',
'max_score' => 15,
],
],
];
}
/**
* @return array{version: int, title: string, full_score: float, items: list<array{key: string, sort: int, category: string, title: string, criteria: string, max_score: float}>}|null
*/
public static function forTrackCode(string $trackCode, string $trackTitle = ''): ?array
{
$specialMap = self::specialItemsByTrack();
if (! isset($specialMap[$trackCode])) {
return null;
}
$title = $trackTitle !== ''
? '2026 江苏省新消费创新创业大赛初复赛评分表('.$trackTitle.'赛道)'
: '2026 江苏省新消费创新创业大赛初复赛评分表';
$items = array_merge(self::commonItems(), $specialMap[$trackCode]);
return [
'version' => 1,
'title' => $title,
'full_score' => TrackScoringSheet::FULL_SCORE,
'items' => $items,
];
}
}