## P1 数据库基础 - zqyy_app: 创建 auth/biz schema、FDW 连接 etl_feiqiu - etl_feiqiu: 创建 app schema RLS 视图、商品库存预警表 - 清理 assistant_abolish 残留数据 ## P2 ETL/DWS 扩展 - 新增 DWS 助教订单贡献度表 (dws.assistant_order_contribution) - 新增 assistant_order_contribution_task 任务及 RLS 视图 - member_consumption 增加充值字段、assistant_daily 增加处罚字段 - 更新 ODS/DWD/DWS 任务文档及业务规则文档 - 更新 consistency_checker、flow_runner、task_registry 等核心模块 ## P3 小程序鉴权系统 - 新增 xcx_auth 路由/schema(微信登录 + JWT) - 新增 wechat/role/matching/application 服务层 - zqyy_app 鉴权表迁移 + 角色权限种子数据 - auth/dependencies.py 支持小程序 JWT 鉴权 ## 文档与审计 - 新增 DOCUMENTATION-MAP 文档导航 - 新增 7 份 BD_Manual 数据库变更文档 - 更新 DDL 基线快照(etl_feiqiu 6 schema + zqyy_app auth) - 新增全栈集成审计记录、部署检查清单更新 - 新增 BACKLOG 路线图、FDW→Core 迁移计划 ## Kiro 工程化 - 新增 5 个 Spec(P1/P2/P3/全栈集成/核心业务) - 新增审计自动化脚本(agent_on_stop/build_audit_context/compliance_prescan) - 新增 6 个 Hook(合规检查/会话日志/提交审计等) - 新增 doc-map steering 文件 ## 运维与测试 - 新增 ops 脚本:迁移验证/API 健康检查/ETL 监控/集成报告 - 新增属性测试:test_dws_contribution / test_auth_system - 清理过期 export 报告文件 - 更新 .gitignore 排除规则
259 lines
8.8 KiB
HTML
259 lines
8.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>球房运营助手 - 原型展示</title>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<link rel="stylesheet" href="https://unpkg.com/tdesign-miniprogram/miniprogram_dist/common/style/index.css">
|
|
<style>
|
|
body {
|
|
margin: 0;
|
|
padding: 20px;
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
}
|
|
.prototype-container {
|
|
max-width: 1800px;
|
|
margin: 0 auto;
|
|
}
|
|
.prototype-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(393px, 1fr));
|
|
gap: 40px;
|
|
padding: 20px;
|
|
}
|
|
.phone-frame {
|
|
width: 393px;
|
|
height: 852px;
|
|
background: #000;
|
|
border-radius: 50px;
|
|
padding: 12px;
|
|
box-shadow: 0 20px 60px rgba(0,0,0,0.3);
|
|
position: relative;
|
|
margin: 0 auto;
|
|
}
|
|
.phone-frame::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 12px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 120px;
|
|
height: 30px;
|
|
background: #000;
|
|
border-radius: 0 0 20px 20px;
|
|
z-index: 10;
|
|
}
|
|
.phone-screen {
|
|
width: 100%;
|
|
height: 100%;
|
|
background: #fff;
|
|
border-radius: 40px;
|
|
overflow: hidden;
|
|
border: none;
|
|
}
|
|
.page-label {
|
|
text-align: center;
|
|
color: #fff;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
margin-bottom: 15px;
|
|
text-shadow: 0 2px 4px rgba(0,0,0,0.2);
|
|
}
|
|
h1 {
|
|
text-align: center;
|
|
color: #fff;
|
|
font-size: 36px;
|
|
font-weight: 700;
|
|
margin-bottom: 40px;
|
|
text-shadow: 0 2px 10px rgba(0,0,0,0.2);
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="prototype-container">
|
|
<h1>球房运营助手 - 原型展示</h1>
|
|
<div class="prototype-grid">
|
|
<!-- 登录页 -->
|
|
<div>
|
|
<div class="page-label">登录页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/login.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 账号申请页 -->
|
|
<div>
|
|
<div class="page-label">账号申请页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/apply.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 审核中页 -->
|
|
<div>
|
|
<div class="page-label">审核中页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/reviewing.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 无权限页 -->
|
|
<div>
|
|
<div class="page-label">无权限页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/no-permission.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 任务列表页 -->
|
|
<div>
|
|
<div class="page-label">任务列表页(首页)</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/task-list.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 任务详情页 - 高优先召回 -->
|
|
<div>
|
|
<div class="page-label">任务详情页 - 高优先召回</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/task-detail.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 任务详情页 - 优先召回 -->
|
|
<div>
|
|
<div class="page-label">任务详情页 - 优先召回</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/task-detail-priority.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 任务详情页 - 关系构建 -->
|
|
<div>
|
|
<div class="page-label">任务详情页 - 关系构建</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/task-detail-relationship.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 任务详情页 - 客户回访 -->
|
|
<div>
|
|
<div class="page-label">任务详情页 - 客户回访</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/task-detail-callback.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 业绩详情页 -->
|
|
<div>
|
|
<div class="page-label">业绩详情页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/performance.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 看板-财务视图 -->
|
|
<div>
|
|
<div class="page-label">看板 - 财务视图</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/board-finance.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 看板-客户视图 -->
|
|
<div>
|
|
<div class="page-label">看板 - 客户视图</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/board-customer.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 客户详情页 -->
|
|
<div>
|
|
<div class="page-label">客户详情页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/customer-detail.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 看板-助教视图 -->
|
|
<div>
|
|
<div class="page-label">看板 - 助教视图</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/board-coach.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 助教详情页 -->
|
|
<div>
|
|
<div class="page-label">助教详情页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/coach-detail.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 我的首页 -->
|
|
<div>
|
|
<div class="page-label">我的首页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/my-profile.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 备注记录页 -->
|
|
<div>
|
|
<div class="page-label">备注记录页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/notes.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 助手对话记录页 -->
|
|
<div>
|
|
<div class="page-label">助手对话记录页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/chat-history.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 首页设置页 -->
|
|
<div>
|
|
<div class="page-label">首页设置页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/home-settings.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 助手对话页 -->
|
|
<div>
|
|
<div class="page-label">助手对话页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/chat.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 客户服务记录页 -->
|
|
<div>
|
|
<div class="page-label">客户服务记录页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/customer-service-records.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 业绩记录页 -->
|
|
<div>
|
|
<div class="page-label">业绩记录页</div>
|
|
<div class="phone-frame">
|
|
<iframe src="pages/performance-records.html" class="phone-screen"></iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|
|
|