Files
SMANAGE/TempLate/assets/CollaborativeCodingView-CeRrHOZJ.js
T

17 lines
31 KiB
JavaScript

import{C as e,M as t,N as n,S as r,_ as i,d as a,j as o,l as s,m as c,p as l}from"./index-UfMysbwD.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-primary selection:text-white`},te={id:`core`,class:`py-20 bg-white`},d={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},f={class:`grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8`},p={class:`text-lg font-bold text-slate-900 mb-2`},m={class:`text-sm text-slate-500`},h={id:`process`,class:`py-20 tech-grid-bg`},g={class:`max-w-7xl mx-auto px-6`},_={class:`relative`},v={class:`flex flex-col md:flex-row items-start`},y={key:0,class:`md:w-1/2 md:pr-12 md:text-right mb-4 md:mb-0`},b={class:`text-2xl font-bold text-gray-900`},x={class:`text-blue-600 font-medium mb-2`},S={class:`text-gray-600`},C={key:1,class:`md:w-1/2 md:pr-12 order-1 md:order-none`},w={class:`hidden md:flex w-10 h-10 bg-blue-600 rounded-full items-center justify-center text-white font-bold shadow-lg border-4 border-white absolute left-1/2 transform -translate-x-1/2 order-2`},T={key:2,class:`md:w-1/2 md:pl-12 order-3 md:order-none`},E={key:3,class:`md:w-1/2 md:pl-12 mb-4 md:mb-0 order-3 md:order-none`},D={class:`text-2xl font-bold text-gray-900`},O={class:`text-blue-600 font-medium mb-2`},k={class:`text-gray-600`},A={id:`collaboration`,class:`py-20 bg-white`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},j={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},M={class:`space-y-6`},N={class:`flex-shrink-0`},P={class:`ml-4`},F={class:`text-lg leading-6 font-medium text-slate-900`},I={class:`mt-2 text-base text-slate-500`},L={id:`advantages`,class:`py-20 bg-white`},R={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},z={class:`flex flex-col md:flex-row items-center gap-12`},B={class:`md:w-1/2`},V={class:`space-y-6`},H={class:`flex-shrink-0 mt-1`},U={class:`ml-4`},W={class:`text-lg font-bold text-slate-900`},G={class:`text-slate-500 mt-1 text-sm`},K={class:`py-20 bg-slate-50 border-t border-slate-200`},q={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},J={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},Y={class:`text-xl font-bold text-slate-900 mb-2`},X={class:`text-sm text-slate-500 mb-4`},Z=[`innerHTML`],Q=u(i({__name:`CollaborativeCodingView`,setup(i){let u=[{iconBg:`bg-blue-100`,icon:`fas fa-gem`,iconColor:`var(--color-primary, #1e40af)`,title:`价值导向`,desc:`拒绝炫技,聚焦业务问题解决,优先保证功能可用与稳定。`},{iconBg:`bg-indigo-100`,icon:`fas fa-ruler-combined`,iconColor:`#3b82f6`,title:`规范先行`,desc:`统一编码、分支与文档规范,降低协作成本,提升可读性。`},{iconBg:`bg-sky-100`,icon:`fas fa-shoe-prints`,iconColor:`#f59e0b`,title:`增量迭代`,desc:`小步快跑,拆分大需求为小任务,每轮输出可验证成果。`},{iconBg:`bg-emerald-100`,icon:`fas fa-shield-alt`,iconColor:`#10b981`,title:`质量内建`,desc:`测试、复盘、优化融入全流程,而非仅依赖最终验收。`},{iconBg:`bg-amber-100`,icon:`fas fa-users`,iconColor:`#f59e0b`,title:`知识共享`,desc:`鼓励代码评审与技术分享,沉淀通用能力,打破壁垒。`}],Q=[{title:`01. 需求与设计`,subtitle:`澄清与架构`,icon:`fa fa-file-text`,desc:`输出《需求规格说明书》,明确边界与性能指标。核心模块产出《技术设计文档》,包含架构选型、数据库设计与风险应对。拒绝口头沟通偏差。`},{title:`02. 编码实现`,subtitle:`规范化与安全`,icon:`fa fa-code`,desc:`严格遵循通用编码规范(命名、注释、格式)。采用 Git Flow 分支策略(feature/develop/master),提交信息规范化。注重模块化开发与安全防护(防注入、加密)。`},{title:`03. 测试与验收`,subtitle:`多层次验证`,icon:`fa fa-bug`,desc:`开发自测 -> 单元测试(70%覆盖率) -> 集成测试。Bug修复需回归测试。提测必须包含自测报告与更新后的文档,确保交付物完整。`},{title:`04. 发布与运维`,subtitle:`灰度与监控`,icon:`fa fa-rocket`,desc:`执行非核心时段发布,支持灰度发布。实时监控日志与资源状态。具备完善的回滚机制与运维文档,确保生产环境稳定。`},{title:`05. 复盘与优化`,subtitle:`持续改进`,icon:`fa fa-line-chart`,desc:`每轮迭代复盘,总结亮点与问题。定期清理技术债务,评估新技术升级,持续优化开发效能。`}],re=[{bg:`bg-blue-500`,icon:`fa-solid fa-people-group`,title:`每日站会 (10分钟)`,desc:`同步进度、暴露阻塞、协调资源。拒绝长篇大论,只讲干货。`},{bg:`bg-indigo-500`,icon:`fa fa-code`,title:`严格代码评审 (CR)`,desc:`对事不对人,聚焦逻辑正确性、性能与安全。每行合并代码至少经过一双眼睛。`},{bg:`bg-cyan-500`,icon:`fa-solid fa-book`,title:`统一文档与知识分享`,desc:`核心文档存储在知识库,接口文档自动生成。定期技术分享,拒绝"单点知识壁垒"。`}],ie=[{iconBg:`bg-blue-100`,icon:`fas fa-tachometer-alt`,iconColor:`#1e40af`,title:`显著提升交付效率`,desc:`增量迭代模式配合自动化工具链,减少重复劳动,让开发专注于核心逻辑。`},{iconBg:`bg-indigo-100`,icon:`fas fa-project-diagram`,iconColor:`#3b82f6`,title:`降低项目风险`,desc:`通过代码评审、单元测试和灰度发布机制,提前发现并规避90%的潜在故障。`},{iconBg:`bg-sky-100`,icon:`fas fa-layer-group`,iconColor:`#f59e0b`,title:`沉淀团队资产`,desc:`将个人经验转化为团队文档和通用组件库,避免因人员流动导致的技术断层。`}],ae=[{iconBg:`bg-slate-100`,icon:`fas fa-feather-alt`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`小型项目`,meta:`1-3人 | 周期 < 1个月`,desc:`简化设计文档(用脑图/流程图),合并部分评审环节。重点保证功能可用、代码可维护。`},{iconBg:`bg-blue-50`,icon:`fas fa-cubes`,iconColor:`#1e40af`,cardClass:`bg-white p-8 rounded-xl shadow-md border-t-4 border-primary transform md:-translate-y-4`,title:`中型项目`,meta:`3-10人 | 周期 1-6个月`,desc:`<strong class="text-primary">严格执行</strong>分支规范、代码评审、测试流程。重点控制模块耦合、迭代节奏。`},{iconBg:`bg-slate-100`,icon:`fas fa-city`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`大型项目`,meta:`10人+ | 周期 > 6个月`,desc:`引入架构师角色,拆分子团队。强化集成测试、灰度发布,建立完善的监控告警体系。`}];return(i,$)=>(r(),l(`div`,ee,[$[10]||=c(`<header class="relative pt-32 pb-20 lg:pt-48 lg:pb-32 overflow-hidden" data-v-2e2d1c9b><div class="absolute inset-0 -z-10" data-v-2e2d1c9b><div class="absolute top-0 right-0 -mr-20 -mt-20 w-96 h-96 rounded-full bg-blue-100 blur-3xl opacity-70" data-v-2e2d1c9b></div><div class="absolute bottom-0 left-0 -ml-20 -mb-20 w-80 h-80 rounded-full bg-indigo-100 blur-3xl opacity-70" data-v-2e2d1c9b></div></div><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center fade-in-up" style="animation-delay:0.1s;" data-v-2e2d1c9b><h1 class="text-5xl md:text-7xl font-extrabold text-slate-900 tracking-tight mb-6" data-v-2e2d1c9b><span class="bg-clip-text text-transparent bg-gradient-to-r from-primary via-secondary to-indigo-600" data-v-2e2d1c9b>协同筑码</span> 工作法 </h1><p class="mt-4 text-xl text-slate-500 max-w-3xl mx-auto leading-relaxed" data-v-2e2d1c9b> 通过规范先行、增量迭代与质量内建,打造可维护、高可用的软件交付体系。 </p><div class="mt-10 flex justify-center gap-4" data-v-2e2d1c9b><a href="#blueprint" class="px-8 py-3.5 text-base font-semibold text-white bg-slate-900 rounded-lg hover:bg-slate-800 transition-colors shadow-xl shadow-slate-900/20" data-v-2e2d1c9b> 查看架构蓝图 </a><a href="#process" class="px-8 py-3.5 text-base font-semibold text-slate-700 bg-white border border-slate-200 rounded-lg hover:bg-slate-50 hover:border-slate-300 transition-colors" data-v-2e2d1c9b> 了解开发流程 </a></div></div></header>`,1),a(`section`,te,[a(`div`,d,[$[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`五大核心原则`),a(`div`,{class:`w-16 h-1 bg-primary mx-auto mt-4 rounded-full`})],-1),a(`div`,f,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:r,class:`p-6 bg-slate-50 rounded-xl border border-slate-100 hover:border-primary/30 transition-colors group`},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center text-xl mb-4 group-hover:scale-110 transition-transform`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,p,n(e.title),1),a(`p`,m,n(e.desc),1)])),64))])])]),$[11]||=c(`<section id="blueprint" class="blueprint-bg py-20 relative overflow-hidden" data-v-2e2d1c9b><div class="blueprint-line w-full h-px top-10 left-0" data-v-2e2d1c9b></div><div class="blueprint-line w-full h-px bottom-10 left-0" data-v-2e2d1c9b></div><div class="blueprint-line w-px h-full top-0 left-10" data-v-2e2d1c9b></div><div class="blueprint-line w-px h-full top-0 right-10" data-v-2e2d1c9b></div><div class="absolute top-12 left-12 text-blue-300/30 text-xs font-mono" data-v-2e2d1c9b>FIG 1.0: ARCHITECTURE FRAMEWORK</div><div class="absolute bottom-12 right-12 text-blue-300/30 text-xs font-mono" data-v-2e2d1c9b>SCALE: 1:100</div><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10" data-v-2e2d1c9b><div class="flex items-center gap-4 mb-12" data-v-2e2d1c9b><div class="w-12 h-12 border-2 border-blue-300 flex items-center justify-center" data-v-2e2d1c9b><i class="fas fa-drafting-compass text-blue-200 text-xl" data-v-2e2d1c9b></i></div><div data-v-2e2d1c9b><h2 class="text-3xl font-bold text-blue-100 blueprint-title" data-v-2e2d1c9b>工程蓝图 &amp; 项目组织</h2><p class="text-blue-300 font-mono text-sm mt-2" data-v-2e2d1c9b>SYSTEM ARCHITECTURE &amp; ORGANIZATION STRUCTURE</p></div></div><div class="grid grid-cols-1 lg:grid-cols-2 gap-12" data-v-2e2d1c9b><div class="relative" data-v-2e2d1c9b><div class="absolute -top-4 -left-4 border-l-2 border-t-2 border-blue-400 w-8 h-8" data-v-2e2d1c9b></div><div class="absolute -bottom-4 -right-4 border-r-2 border-b-2 border-blue-400 w-8 h-8" data-v-2e2d1c9b></div><div class="bg-blue-900/40 backdrop-blur-sm p-8 blueprint-border rounded-sm h-full" data-v-2e2d1c9b><h3 class="text-xl font-bold text-blue-100 mb-6 font-mono flex items-center" data-v-2e2d1c9b><i class="fas fa-cubes mr-2" data-v-2e2d1c9b></i> 模块化框架设计 </h3><div class="space-y-4" data-v-2e2d1c9b><div class="border border-blue-400/50 p-4 bg-blue-800/20 relative" data-v-2e2d1c9b><span class="absolute -top-3 left-4 bg-blue-900 px-2 text-xs text-blue-300" data-v-2e2d1c9b>PREVIEW LAYER</span><div class="flex justify-center gap-4 mt-2" data-v-2e2d1c9b><div class="bg-blue-700 px-4 py-2 text-xs rounded text-white border border-blue-400" data-v-2e2d1c9b>Web App</div><div class="bg-blue-700 px-4 py-2 text-xs rounded text-white border border-blue-400" data-v-2e2d1c9b>Mobile H5</div></div></div><div class="border-t-2 border-dashed border-blue-400/50 my-2 relative" data-v-2e2d1c9b><div class="absolute -top-3 left-1/2 transform -translate-x-1/2 bg-blue-900 px-2 text-xs text-blue-300" data-v-2e2d1c9b>Gateway / API</div></div><div class="grid grid-cols-3 gap-2" data-v-2e2d1c9b><div class="border border-blue-400/50 p-3 text-center text-xs text-blue-100 bg-blue-800/10" data-v-2e2d1c9b>User Module<br data-v-2e2d1c9b>用户域</div><div class="border border-blue-400/50 p-3 text-center text-xs text-blue-100 bg-blue-800/10" data-v-2e2d1c9b>Order Module<br data-v-2e2d1c9b>订单域</div><div class="border border-blue-400/50 p-3 text-center text-xs text-blue-100 bg-blue-800/10" data-v-2e2d1c9b>Product Module<br data-v-2e2d1c9b>商品域</div></div><div class="border-t-2 border-dashed border-blue-400/50 my-2 relative" data-v-2e2d1c9b><div class="absolute -top-3 left-1/2 transform -translate-x-1/2 bg-blue-900 px-2 text-xs text-blue-300" data-v-2e2d1c9b>Data Access</div></div><div class="border border-blue-400/50 p-4 bg-blue-800/20 flex justify-around" data-v-2e2d1c9b><div class="text-center" data-v-2e2d1c9b><i class="fas fa-database text-blue-300 mb-1" data-v-2e2d1c9b></i><div class="text-xs text-blue-200" data-v-2e2d1c9b>MySQL/PG</div></div><div class="text-center" data-v-2e2d1c9b><i class="fas fa-bolt text-blue-300 mb-1" data-v-2e2d1c9b></i><div class="text-xs text-blue-200" data-v-2e2d1c9b>Redis/Cache</div></div><div class="text-center" data-v-2e2d1c9b><i class="fas fa-search text-blue-300 mb-1" data-v-2e2d1c9b></i><div class="text-xs text-blue-200" data-v-2e2d1c9b>Search</div></div></div></div></div></div><div class="relative" data-v-2e2d1c9b><div class="bg-blue-900/40 backdrop-blur-sm p-8 blueprint-border rounded-sm h-full" data-v-2e2d1c9b><h3 class="text-xl font-bold text-blue-100 mb-6 font-mono flex items-center" data-v-2e2d1c9b><i class="fas fa-sitemap mr-2" data-v-2e2d1c9b></i> 项目目录组织 </h3><div class="font-mono text-sm text-blue-200 bg-blue-950/50 p-6 rounded border border-blue-400/30 shadow-inner overflow-x-auto" data-v-2e2d1c9b><pre data-v-2e2d1c9b>/src # 源码文件
/api # 接口层
/v1 # 版本控制
/dto # 数据传输对象
/core # 核心业务逻辑
/domain # 领域模型
/service # 业务服务
/infrastructure # 基础设施
/db # 数据库访问
/mq # 消息队列
/common # 公共组件
/utils # 工具类
/config # 配置
/tests # 测试目录
/unit # 单元测试
/integration # 集成测试
</pre></div><p class="text-blue-300 text-xs mt-4 italic" data-v-2e2d1c9b> * 注:严格遵循分层架构,禁止跨层调用。 </p></div></div></div></div></section>`,1),a(`section`,h,[a(`div`,g,[$[2]||=a(`div`,{class:`flex flex-col md:flex-row md:items-end justify-between mb-12`},[a(`div`,null,[a(`h2`,{class:`text-3xl font-bold text-gray-900 sm:text-4xl mb-4`},`全生命周期开发规范`),a(`p`,{class:`text-lg text-gray-600 max-w-2xl`},`从需求澄清到线上复盘,标准化每一个环节,确保项目交付的确定性与高质量。`)])],-1),a(`div`,_,[$[1]||=a(`div`,{class:`absolute left-0 md:left-1/2 transform md:-translate-x-1/2 h-full w-1 bg-blue-100 hidden md:block`},null,-1),(r(),l(s,null,e(Q,(e,t)=>a(`div`,{key:t,class:o([`relative z-10 mb-12 md:mb-16`,{"":!0}])},[a(`div`,v,[t%2==0?(r(),l(`div`,y,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.subtitle),1),a(`p`,S,n(e.desc),1)])):(r(),l(`div`,C)),a(`div`,w,[a(`i`,{class:o(e.icon)},null,2)]),t%2==0?(r(),l(`div`,T)):(r(),l(`div`,E,[a(`h3`,D,n(e.title),1),a(`p`,O,n(e.subtitle),1),a(`p`,k,n(e.desc),1)]))])])),64))])])]),$[12]||=c('<section id="process-2" class="py-20 relative bg-slate-50" data-v-2e2d1c9b><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8" data-v-2e2d1c9b><div class="mb-16" data-v-2e2d1c9b><h2 class="text-3xl font-bold text-slate-900 sm:text-4xl" data-v-2e2d1c9b>开发全流程规范</h2><p class="mt-4 text-lg text-slate-600" data-v-2e2d1c9b>从需求到上线,每一步都有章可循,确保交付质量。</p></div><div class="space-y-12 relative" data-v-2e2d1c9b><div class="absolute left-8 top-0 bottom-0 w-0.5 bg-slate-200 hidden md:block" data-v-2e2d1c9b></div><div class="relative md:pl-24 flex flex-col md:flex-row gap-8 group" data-v-2e2d1c9b><div class="absolute left-0 top-0 w-16 h-16 rounded-full bg-blue-600 text-white flex items-center justify-center font-bold text-xl shadow-lg z-10 border-4 border-slate-50" data-v-2e2d1c9b> 01 </div><div class="w-full md:w-1/3" data-v-2e2d1c9b><h3 class="text-2xl font-bold text-slate-900 mb-2" data-v-2e2d1c9b>需求与设计阶段</h3><p class="text-slate-500 text-sm font-mono" data-v-2e2d1c9b>DISCOVERY &amp; DESIGN</p></div><div class="flex-1 glass-card p-6 rounded-xl border-l-4 border-blue-600 bg-white" data-v-2e2d1c9b><div class="grid grid-cols-1 sm:grid-cols-2 gap-6" data-v-2e2d1c9b><div data-v-2e2d1c9b><h4 class="font-bold text-slate-800 mb-2 flex items-center gap-2" data-v-2e2d1c9b><i class="fa-solid fa-clipboard-list text-blue-500" data-v-2e2d1c9b></i> 需求澄清 </h4><ul class="text-slate-600 space-y-1 text-sm list-disc list-inside" data-v-2e2d1c9b><li data-v-2e2d1c9b>输出《需求规格说明书》</li><li data-v-2e2d1c9b>明确核心功能、边界条件</li><li data-v-2e2d1c9b>确定性能与兼容性指标</li><li data-v-2e2d1c9b>组织多方评审会闭环</li></ul></div><div data-v-2e2d1c9b><h4 class="font-bold text-slate-800 mb-2 flex items-center gap-2" data-v-2e2d1c9b><i class="fa-solid fa-drafting-compass text-blue-500" data-v-2e2d1c9b></i> 技术设计 </h4><ul class="text-slate-600 space-y-1 text-sm list-disc list-inside" data-v-2e2d1c9b><li data-v-2e2d1c9b>架构选型与风险预案</li><li data-v-2e2d1c9b>数据库表结构设计</li><li data-v-2e2d1c9b>接口定义 (RESTful/GraphQL)</li><li data-v-2e2d1c9b>核心算法逻辑文档化</li></ul></div></div></div></div><div class="relative md:pl-24 flex flex-col md:flex-row gap-8 group" data-v-2e2d1c9b><div class="absolute left-0 top-0 w-16 h-16 rounded-full bg-indigo-600 text-white flex items-center justify-center font-bold text-xl shadow-lg z-10 border-4 border-slate-50" data-v-2e2d1c9b> 02 </div><div class="w-full md:w-1/3" data-v-2e2d1c9b><h3 class="text-2xl font-bold text-slate-900 mb-2" data-v-2e2d1c9b>编码实现阶段</h3><p class="text-slate-500 text-sm font-mono" data-v-2e2d1c9b>CODING &amp; IMPLEMENTATION</p></div><div class="flex-1 space-y-6" data-v-2e2d1c9b><div class="glass-card p-6 rounded-xl border-t-4 border-indigo-500 bg-white" data-v-2e2d1c9b><h4 class="font-bold text-slate-800 mb-4" data-v-2e2d1c9b><i class="fa-solid fa-terminal mr-2" data-v-2e2d1c9b></i>通用编码规范</h4><div class="overflow-x-auto" data-v-2e2d1c9b><table class="min-w-full text-sm text-left text-slate-600" data-v-2e2d1c9b><thead class="text-xs text-slate-700 uppercase bg-slate-100" data-v-2e2d1c9b><tr data-v-2e2d1c9b><th class="px-4 py-3 rounded-l-lg" data-v-2e2d1c9b>维度</th><th class="px-4 py-3 rounded-r-lg" data-v-2e2d1c9b>规范要求</th></tr></thead><tbody data-v-2e2d1c9b><tr class="bg-white border-b hover:bg-slate-50" data-v-2e2d1c9b><td class="px-4 py-3 font-medium text-slate-900" data-v-2e2d1c9b>命名</td><td class="px-4 py-3" data-v-2e2d1c9b>见名知意,拒绝拼音。类名大驼峰,常量全大写。</td></tr><tr class="bg-white border-b hover:bg-slate-50" data-v-2e2d1c9b><td class="px-4 py-3 font-medium text-slate-900" data-v-2e2d1c9b>注释</td><td class="px-4 py-3" data-v-2e2d1c9b>核心类/方法必写注释,复杂逻辑加行注释。</td></tr><tr class="bg-white border-b hover:bg-slate-50" data-v-2e2d1c9b><td class="px-4 py-3 font-medium text-slate-900" data-v-2e2d1c9b>安全</td><td class="px-4 py-3" data-v-2e2d1c9b>防SQL注入、XSS,敏感数据加密,接口鉴权。</td></tr></tbody></table></div></div><div class="glass-card p-6 rounded-xl border-t-4 border-indigo-500 bg-white" data-v-2e2d1c9b><h4 class="font-bold text-slate-800 mb-4" data-v-2e2d1c9b><i class="fa-solid fa-code-branch mr-2" data-v-2e2d1c9b></i>Git 版本控制</h4><div class="grid grid-cols-1 sm:grid-cols-2 gap-4 text-sm" data-v-2e2d1c9b><div class="bg-slate-50 p-3 rounded" data-v-2e2d1c9b><strong class="text-indigo-600 block mb-1" data-v-2e2d1c9b>分支策略</strong><p class="text-slate-600" data-v-2e2d1c9b>master (生产) / develop (开发) / feature-xxx (功能) / hotfix-xxx (紧急修复)</p></div><div class="bg-slate-50 p-3 rounded" data-v-2e2d1c9b><strong class="text-indigo-600 block mb-1" data-v-2e2d1c9b>提交规范</strong><p class="text-slate-600" data-v-2e2d1c9b>feat/fix/docs/style/refactor... 例如: `feat(user): 实现登录`</p></div></div></div></div></div><div class="relative md:pl-24 flex flex-col md:flex-row gap-8 group" data-v-2e2d1c9b><div class="absolute left-0 top-0 w-16 h-16 rounded-full bg-cyan-600 text-white flex items-center justify-center font-bold text-xl shadow-lg z-10 border-4 border-slate-50" data-v-2e2d1c9b> 03 </div><div class="w-full md:w-1/3" data-v-2e2d1c9b><h3 class="text-2xl font-bold text-slate-900 mb-2" data-v-2e2d1c9b>测试与验收</h3><p class="text-slate-500 text-sm font-mono" data-v-2e2d1c9b>TESTING &amp; ACCEPTANCE</p></div><div class="flex-1 glass-card p-6 rounded-xl border-r-4 border-cyan-600 bg-white" data-v-2e2d1c9b><div class="flex flex-wrap gap-3" data-v-2e2d1c9b><span class="px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm font-semibold" data-v-2e2d1c9b>自测 (开发完成)</span><span class="px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm font-semibold" data-v-2e2d1c9b>单元测试 (&gt;70%)</span><span class="px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm font-semibold" data-v-2e2d1c9b>集成测试 (联调)</span><span class="px-3 py-1 bg-green-100 text-green-700 rounded-full text-sm font-semibold" data-v-2e2d1c9b>验收 (产品/客户)</span></div><p class="mt-4 text-slate-600 text-sm" data-v-2e2d1c9b>Bug修复需及时回归,验收通过输出报告方可进入发布。</p></div></div><div class="relative md:pl-24 flex flex-col md:flex-row gap-8 group" data-v-2e2d1c9b><div class="absolute left-0 top-0 w-16 h-16 rounded-full bg-emerald-600 text-white flex items-center justify-center font-bold text-xl shadow-lg z-10 border-4 border-slate-50" data-v-2e2d1c9b> 04 </div><div class="w-full md:w-1/3" data-v-2e2d1c9b><h3 class="text-2xl font-bold text-slate-900 mb-2" data-v-2e2d1c9b>发布与运维</h3><p class="text-slate-500 text-sm font-mono" data-v-2e2d1c9b>DEPLOYMENT &amp; OPS</p></div><div class="flex-1 glass-card p-6 rounded-xl border-b-4 border-emerald-600 bg-white" data-v-2e2d1c9b><ul class="space-y-3 text-sm text-slate-600" data-v-2e2d1c9b><li class="flex items-start gap-2" data-v-2e2d1c9b><i class="fa-solid fa-check-circle text-emerald-500 mt-1" data-v-2e2d1c9b></i> 输出发布清单与回滚方案</li><li class="flex items-start gap-2" data-v-2e2d1c9b><i class="fa-solid fa-check-circle text-emerald-500 mt-1" data-v-2e2d1c9b></i> 非核心时段发布,数据/代码备份</li><li class="flex items-start gap-2" data-v-2e2d1c9b><i class="fa-solid fa-check-circle text-emerald-500 mt-1" data-v-2e2d1c9b></i> 灰度发布策略,实时监控日志与资源</li><li class="flex items-start gap-2" data-v-2e2d1c9b><i class="fa-solid fa-check-circle text-emerald-500 mt-1" data-v-2e2d1c9b></i> 沉淀部署文档与运维手册</li></ul></div></div><div class="relative md:pl-24 flex flex-col md:flex-row gap-8 group" data-v-2e2d1c9b><div class="absolute left-0 top-0 w-16 h-16 rounded-full bg-purple-600 text-white flex items-center justify-center font-bold text-xl shadow-lg z-10 border-4 border-slate-50" data-v-2e2d1c9b> 05 </div><div class="w-full md:w-1/3" data-v-2e2d1c9b><h3 class="text-2xl font-bold text-slate-900 mb-2" data-v-2e2d1c9b>复盘与优化</h3><p class="text-slate-500 text-sm font-mono" data-v-2e2d1c9b>REVIEW &amp; OPTIMIZE</p></div><div class="flex-1 glass-card p-6 rounded-xl border-l-4 border-purple-600 bg-white" data-v-2e2d1c9b><p class="text-slate-600 text-sm mb-4" data-v-2e2d1c9b>迭代结束不等于项目结束。</p><div class="grid grid-cols-1 sm:grid-cols-3 gap-4 text-center" data-v-2e2d1c9b><div class="bg-purple-50 p-3 rounded-lg" data-v-2e2d1c9b><i class="fa-solid fa-lightbulb text-purple-600 text-xl mb-2" data-v-2e2d1c9b></i><div class="font-bold text-slate-800 text-sm" data-v-2e2d1c9b>亮点总结</div></div><div class="bg-red-50 p-3 rounded-lg" data-v-2e2d1c9b><i class="fa-solid fa-bug text-red-600 text-xl mb-2" data-v-2e2d1c9b></i><div class="font-bold text-slate-800 text-sm" data-v-2e2d1c9b>问题归因</div></div><div class="bg-green-50 p-3 rounded-lg" data-v-2e2d1c9b><i class="fa-solid fa-arrow-trend-up text-green-600 text-xl mb-2" data-v-2e2d1c9b></i><div class="font-bold text-slate-800 text-sm" data-v-2e2d1c9b>改进措施</div></div></div></div></div></div></div></section>',1),a(`section`,A,[a(`div`,ne,[a(`div`,j,[a(`div`,null,[$[3]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl mb-6`},`无缝团队协作体系`,-1),$[4]||=a(`p`,{class:`text-lg text-slate-600 mb-8`},` 我们通过高频沟通、严格的代码评审和统一的知识库,打破信息孤岛,让团队效能实现 1+1>2。 `,-1),a(`div`,M,[(r(),l(s,null,e(re,(e,t)=>a(`div`,{key:t,class:`flex`},[a(`div`,N,[a(`div`,{class:o([`flex items-center justify-center h-12 w-12 rounded-md text-white`,e.bg])},[a(`i`,{class:o(e.icon)},null,2)],2)]),a(`div`,P,[a(`h3`,F,n(e.title),1),a(`p`,I,n(e.desc),1)])])),64))])]),$[5]||=c(`<div class="relative" data-v-2e2d1c9b><div class="aspect-square bg-slate-50 rounded-full flex items-center justify-center relative border border-slate-100" data-v-2e2d1c9b><div class="absolute inset-0 rounded-full border-4 border-dashed border-slate-200 animate-spin-slow" data-v-2e2d1c9b></div><div class="w-24 h-24 bg-slate-900 rounded-full flex items-center justify-center text-white text-2xl shadow-xl z-10" data-v-2e2d1c9b><i class="fa-solid fa-code-branch" data-v-2e2d1c9b></i></div><div class="absolute top-10 left-1/2 -translate-x-1/2 w-32 h-32 bg-white rounded-full shadow-lg flex items-center justify-center text-blue-600 text-3xl border border-slate-100" data-v-2e2d1c9b><i class="fa-brands fa-git-alt" data-v-2e2d1c9b></i></div><div class="absolute bottom-10 left-1/2 -translate-x-1/2 w-32 h-32 bg-white rounded-full shadow-lg flex items-center justify-center text-indigo-600 text-3xl border border-slate-100" data-v-2e2d1c9b><i class="fa-solid fa-comments" data-v-2e2d1c9b></i></div><div class="absolute left-10 top-1/2 -translate-y-1/2 w-32 h-32 bg-white rounded-full shadow-lg flex items-center justify-center text-cyan-600 text-3xl border border-slate-100" data-v-2e2d1c9b><i class="fa-solid fa-file-code" data-v-2e2d1c9b></i></div><div class="absolute right-10 top-1/2 -translate-y-1/2 w-32 h-32 bg-white rounded-full shadow-lg flex items-center justify-center text-emerald-600 text-3xl border border-slate-100" data-v-2e2d1c9b><i class="fa-solid fa-server" data-v-2e2d1c9b></i></div></div></div>`,1)])])]),a(`section`,L,[a(`div`,R,[a(`div`,z,[a(`div`,B,[$[6]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`为什么选择"协同筑码"工作法?`,-1),$[7]||=a(`p`,{class:`text-slate-500 mb-8 leading-relaxed`},` 传统开发往往陷入"进度赶不上变化、代码质量不可控、新人上手难"的困境。我们的方法论旨在从根本上解决这些痛点,通过标准化流程实现技术与业务的完美融合。 `,-1),a(`div`,V,[(r(),l(s,null,e(ie,(e,r)=>a(`div`,{key:r,class:`flex`},[a(`div`,H,[a(`div`,{class:o([`flex items-center justify-center h-10 w-10 rounded-full`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2)]),a(`div`,U,[a(`h4`,W,n(e.title),1),a(`p`,G,n(e.desc),1)])])),64))])]),$[8]||=c(`<div class="md:w-1/2 relative" data-v-2e2d1c9b><div class="absolute top-10 right-10 w-64 h-64 bg-blue-50 rounded-full blur-3xl -z-10" data-v-2e2d1c9b></div><div class="bg-gradient-to-br from-slate-50 to-slate-100 rounded-2xl p-8 border border-slate-200 shadow-xl" data-v-2e2d1c9b><div class="flex items-center justify-between mb-6" data-v-2e2d1c9b><h5 class="font-bold text-slate-700" data-v-2e2d1c9b>代码质量趋势 (示例)</h5><span class="text-xs bg-green-100 text-green-700 px-2 py-1 rounded-full" data-v-2e2d1c9b>+24% 优化</span></div><div class="space-y-4" data-v-2e2d1c9b><div data-v-2e2d1c9b><div class="flex justify-between text-xs mb-1" data-v-2e2d1c9b><span class="text-slate-500" data-v-2e2d1c9b>代码覆盖率</span><span class="text-slate-700 font-bold" data-v-2e2d1c9b>85%</span></div><div class="w-full bg-slate-200 rounded-full h-2" data-v-2e2d1c9b><div class="bg-primary h-2 rounded-full" style="width:85%;" data-v-2e2d1c9b></div></div></div><div data-v-2e2d1c9b><div class="flex justify-between text-xs mb-1" data-v-2e2d1c9b><span class="text-slate-500" data-v-2e2d1c9b>Bug 修复率 (SLA)</span><span class="text-slate-700 font-bold" data-v-2e2d1c9b>98%</span></div><div class="w-full bg-slate-200 rounded-full h-2" data-v-2e2d1c9b><div class="bg-secondary h-2 rounded-full" style="width:98%;" data-v-2e2d1c9b></div></div></div><div data-v-2e2d1c9b><div class="flex justify-between text-xs mb-1" data-v-2e2d1c9b><span class="text-slate-500" data-v-2e2d1c9b>交付准时率</span><span class="text-slate-700 font-bold" data-v-2e2d1c9b>95%</span></div><div class="w-full bg-slate-200 rounded-full h-2" data-v-2e2d1c9b><div class="bg-emerald-500 h-2 rounded-full" style="width:95%;" data-v-2e2d1c9b></div></div></div></div><div class="mt-8 pt-6 border-t border-slate-200 text-center" data-v-2e2d1c9b><p class="text-sm text-slate-400" data-v-2e2d1c9b>数据基于最近3个迭代周期统计</p></div></div></div>`,1)])])]),a(`section`,K,[a(`div`,q,[$[9]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`灵活适配不同场景`)],-1),a(`div`,J,[(r(),l(s,null,e(ae,(e,r)=>a(`div`,{key:r,class:o(e.cardClass)},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,Y,n(e.title),1),a(`p`,X,n(e.meta),1),a(`p`,{class:`text-sm text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,Z)],2)),64))])])]),$[13]||=c(`<section id="join" class="py-24 relative overflow-hidden" data-v-2e2d1c9b><div class="absolute inset-0 bg-gradient-to-br from-slate-900 to-primary" data-v-2e2d1c9b></div><div class="absolute inset-0 opacity-20" style="background-image:radial-gradient(#fff 1px, transparent 1px);background-size:30px 30px;" data-v-2e2d1c9b></div><div class="max-w-4xl mx-auto px-4 relative z-10 text-center" data-v-2e2d1c9b><h2 class="text-4xl md:text-5xl font-bold text-white mb-6" data-v-2e2d1c9b>准备加入我们了吗?</h2><p class="text-blue-100 text-lg mb-10 max-w-2xl mx-auto" data-v-2e2d1c9b> 银河锋锐致力于打造高质量、高效率的软件交付标准。如果你认同&quot;协同筑码&quot;的理念,渴望在一个规范、开放、技术驱动的团队中成长,我们诚挚邀请你加入。 </p><div class="flex flex-col sm:flex-row justify-center gap-4" data-v-2e2d1c9b><a href="https://invite.gvsds.com/Apply/" target="_blank" class="px-10 py-4 bg-white text-primary font-bold rounded-lg hover:bg-blue-50 transition-colors shadow-xl shadow-blue-900/50 flex items-center justify-center gap-2" data-v-2e2d1c9b><i class="fas fa-envelope" data-v-2e2d1c9b></i> 投递简历 </a><a href="mailto:terminexus@gvsds.com" class="px-10 py-4 bg-transparent border border-blue-300 text-white font-bold rounded-lg hover:bg-blue-900/30 transition-colors flex items-center justify-center gap-2" data-v-2e2d1c9b><i class="fab fa-weixin" data-v-2e2d1c9b></i> 联系咨询 </a></div><p class="mt-8 text-blue-300/60 text-sm" data-v-2e2d1c9b> * 我们使用 Jira, GitLab, SonarQube 等工具支撑这套方法论 </p></div></section>`,1)]))}}),[[`__scopeId`,`data-v-2e2d1c9b`]]);export{Q as default};