Files
012-kaopeilian/docs/规划/初始沟通文件/考陪练系统定制需求功能清单.xml
111 998211c483 feat: 初始化考培练系统项目
- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
2026-01-24 19:33:28 +08:00

3 lines
16 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"><Author>evy</Author><LastAuthor>农俊</LastAuthor><Created>2025-07-10T18:55:00Z</Created><LastSaved>2025-08-20T02:14:18Z</LastSaved></DocumentProperties><CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office"><KSOProductBuildVer dt:dt="string">2052-12.1.21861.21861</KSOProductBuildVer><ICV dt:dt="string">0B98BA2A3195D55AFABEA468E306B0B2_43</ICV></CustomDocumentProperties><ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"><WindowWidth>29400</WindowWidth><WindowHeight>12320</WindowHeight><ProtectStructure>False</ProtectStructure><ProtectWindows>False</ProtectWindows></ExcelWorkbook><Styles><Style ss:ID="Default" ss:Name="Normal"><Alignment ss:Vertical="Center"/><Borders/><Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" ss:Color="#000000"/><Interior/><NumberFormat/><Protection/></Style><Style ss:ID="s49"/><Style ss:ID="s50"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior ss:Color="#DDEBF7" ss:Pattern="Solid"/></Style><Style ss:ID="s51"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior/></Style><Style ss:ID="s52"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders></Style><Style ss:ID="s53"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior/></Style><Style ss:ID="s54"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior/></Style><Style ss:ID="s55"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior ss:Color="#F8F9FA" ss:Pattern="Solid"/></Style><Style ss:ID="s56"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior ss:Color="#F8F9FA" ss:Pattern="Solid"/></Style><Style ss:ID="s57"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior/></Style><Style ss:ID="s58"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior/></Style><Style ss:ID="s59"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior/></Style><Style ss:ID="s60"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior/></Style><Style ss:ID="s61"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior ss:Color="#F8F9FA" ss:Pattern="Solid"/></Style><Style ss:ID="s62"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior ss:Color="#F8F9FA" ss:Pattern="Solid"/></Style><Style ss:ID="s63"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders></Style><Style ss:ID="s64"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders></Style><Style ss:ID="s65"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders></Style><Style ss:ID="s66"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders></Style><Style ss:ID="s67"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders></Style><Style ss:ID="s68"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders></Style><Style ss:ID="s69"><Alignment ss:Horizontal="Center" ss:Vertical="Center"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/></Borders><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/><Interior ss:Color="#F8F9FA" ss:Pattern="Solid"/></Style></Styles><Worksheet ss:Name="Sheet1"><Table ss:ExpandedColumnCount="4" ss:ExpandedRowCount="21" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="51.2" ss:DefaultRowHeight="17.6"><Column ss:Index="1" ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="145.6"/><Column ss:Index="2" ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="79"/><Column ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="204.55"/><Column ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="325"/><Row><Cell ss:StyleID="s50"><Data ss:Type="String">模块</Data></Cell><Cell ss:StyleID="s50"><Data ss:Type="String">端口</Data></Cell><Cell ss:StyleID="s50"><Data ss:Type="String">功能点</Data></Cell><Cell ss:StyleID="s50"><Data ss:Type="String">功能描述</Data></Cell></Row><Row><Cell ss:StyleID="s57" ss:MergeDown="1"><Data ss:Type="String">登录界面</Data></Cell><Cell ss:StyleID="s63" ss:MergeDown="1"/><Cell ss:StyleID="s51"><Data ss:Type="String">手机号+验证码登录</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">账号登录访问使用</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">手机号+密码登录</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">账号登录访问使用</Data></Cell></Row><Row><Cell ss:StyleID="s58" ss:MergeDown="5"><Data ss:Type="String">管理后台</Data></Cell><Cell ss:StyleID="s64" ss:MergeDown="5"/><Cell ss:StyleID="s51"><Data ss:Type="String">资料上传</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">上传基础资料用于生成课程、考试、陪练主题</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">课程管理</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">课程学习</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">考试管理</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">知识点考核</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">陪练管理</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">虚拟客户陪练</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">员工管理</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">设置管理员、普通员工、员工归属门店、员工职务等信息</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">**成绩单</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">管理员身份可查询全员成绩、考试记录、错题记录、学习进度</Data></Cell></Row><Row><Cell ss:StyleID="s59" ss:MergeDown="3"><Data ss:Type="String">个人(全员)成绩单</Data></Cell><Cell ss:StyleID="s65" ss:MergeDown="3"/><Cell ss:StyleID="s51"><Data ss:Type="String">考试得分</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">查看考试得分</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">考试记录</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">查看考试记录</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">错题本</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">查看累积错题(已重考掌握的+未重考的待学习错题)</Data></Cell></Row><Row ss:Height="34"><Cell ss:Index="3" ss:StyleID="s51"><Data ss:Type="String">知识掌握进度值</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">知识的掌握进度值(基于答对的知识点所占的比例呈现的百分比进度值)</Data></Cell></Row><Row><Cell ss:StyleID="s60" ss:MergeDown="1"><Data ss:Type="String">课程学习中心</Data></Cell><Cell ss:StyleID="s66" ss:MergeDown="1"/><Cell ss:StyleID="s51"><Data ss:Type="String">课程列表</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">选择对应的课题</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s55"><Data ss:Type="String">学习窗口</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">员工实际学习区域</Data></Cell></Row><Row><Cell ss:StyleID="s61" ss:MergeDown="1"><Data ss:Type="String">考试中心</Data></Cell><Cell ss:StyleID="s67" ss:MergeDown="1"/><Cell ss:StyleID="s55"><Data ss:Type="String">考试列表</Data></Cell><Cell ss:StyleID="s51"><Data ss:Type="String">选择对应的考试</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s55"><Data ss:Type="String">考试窗口</Data></Cell><Cell ss:StyleID="s55"><Data ss:Type="String">员工实际考试区域</Data></Cell></Row><Row><Cell ss:StyleID="s62" ss:MergeDown="3"><Data ss:Type="String">虚拟陪练&#10;(销售人员&amp;美容师)</Data></Cell><Cell ss:StyleID="s68" ss:MergeDown="1"><Data ss:Type="String">销售人员</Data></Cell><Cell ss:StyleID="s55"><Data ss:Type="String">陪练主题列表</Data></Cell><Cell ss:StyleID="s55"><Data ss:Type="String">选择对应的陪练主题</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s55"><Data ss:Type="String">陪练窗口</Data></Cell><Cell ss:StyleID="s55"><Data ss:Type="String">员工实际陪练区域</Data></Cell></Row><Row><Cell ss:Index="2" ss:StyleID="s69" ss:MergeDown="1"><Data ss:Type="String">美容师</Data></Cell><Cell ss:StyleID="s55"><Data ss:Type="String">陪练主题列表</Data></Cell><Cell ss:StyleID="s55"><Data ss:Type="String">选择对应的陪练主题</Data></Cell></Row><Row><Cell ss:Index="3" ss:StyleID="s55"><Data ss:Type="String">陪练窗口</Data></Cell><Cell ss:StyleID="s55"><Data ss:Type="String">员工实际陪练区域</Data></Cell></Row></Table><WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"><PageSetup><Header x:Margin="0.511805555555556"/><Footer x:Margin="0.511805555555556"/></PageSetup><Zoom>145</Zoom><Selected/><TopRowVisible>0</TopRowVisible><LeftColumnVisible>0</LeftColumnVisible><PageBreakZoom>100</PageBreakZoom><Panes><Pane><Number>3</Number><ActiveRow>0</ActiveRow><ActiveCol>0</ActiveCol><RangeSelection>R1C1:R21C4</RangeSelection></Pane></Panes><ProtectObjects>False</ProtectObjects><ProtectScenarios>False</ProtectScenarios></WorksheetOptions></Worksheet></Workbook>