mobile-responsive
Vue 3 + Element Plus 管理后台页面的移动端响应式适配。将 PC 端后台页面改造为手机可用,涵盖布局、表格、表单、弹窗、图表等所有常见组件类型。当用户提到"手机适配""移动端优化""响应式""手机端体验"或要求某页面支持手机使用时触发。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Vue 3 + Element Plus 管理后台页面的移动端响应式适配。将 PC 端后台页面改造为手机可用,涵盖布局、表格、表单、弹窗、图表等所有常见组件类型。当用户提到"手机适配""移动端优化""响应式""手机端体验"或要求某页面支持手机使用时触发。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Go 语言项目的开发模式和最佳实践。当用户提到"写 Go 代码""Go 服务""Go 接口""goroutine""Go 测试"时使用。
macOS 桌面应用开发的模式和最佳实践。当用户提到"开发 Mac 应用""SwiftUI""Swift 代码""桌面应用""菜单栏应用"时使用。
创建或更新 Skill 的交互式 SOP,通过分步提问引导用户完成 Skill 设计与实现。当用户提到「创建 skill」「帮我做一个 skill」「更新 skill」时使用。
Agent 闭环自验证工作流,在完成代码修改后自动执行"写代码→构建→验证UI→查日志→修复→再验证"的完整循环。当 Agent 完成功能开发、Bug 修复、UI 修改、API 变更或任何代码改动后,应主动触发此验证流程,确保改动真正生效且无副作用。适用于 Web 前后端项目的闭环验证。
统一 AI 调用服务,三服务商策略(4sapi+sodao+OpenRouter),支持文本对话、图片理解、PDF/音视频分析、图像生成、流式输出、智能降级。当需要接入大语言模型或实现多模态 AI 功能时使用。
企微聊天记录查看方案,后端统一处理消息同步/解密/媒体下载/语音转文字,前端按业务场景分散在各模块。当需要展示聊天记录、实现会话历史查看或消息渲染时使用。
| name | mobile-responsive |
| description | Vue 3 + Element Plus 管理后台页面的移动端响应式适配。将 PC 端后台页面改造为手机可用,涵盖布局、表格、表单、弹窗、图表等所有常见组件类型。当用户提到"手机适配""移动端优化""响应式""手机端体验"或要求某页面支持手机使用时触发。 |
将 PC 端 Vue 3 + Element Plus 管理后台页面改造为手机端可用,采用同一套代码 + CSS 媒体查询 + 条件渲染的响应式策略。
项目已有的响应式基础设施,直接使用即可:
| 设施 | 路径 | 作用 |
|---|---|---|
| useResponsive composable | @/utils/responsive.js | 提供 isMobile(<768px)和 isSmallMobile(<480px)响应式状态 |
| SCSS 断点变量 | src/styles/variables.scss | $breakpoint-sm: 768px、$breakpoint-xs: 480px |
| 全局移动端基础样式 | src/styles/index.scss | page-container / page-header / filter-section / card 等全局组件的移动端样式 |
每个需要 JS 层响应式判断的组件,引入 useResponsive 获取 isMobile。纯 CSS 能解决的用媒体查询,不引入 JS。
el-aside 宽度切换),移动端改为 el-drawer 从左侧滑出overflow-x: hidden 防止任何子元素撑破视口el-table → 卡片列表:移动端条件渲染切换
<el-table v-if="!isMobile"> 保持原样<div v-else class="mobile-card-list"> 用卡片展示每条记录el-dropdown 收纳其余操作筛选表单::inline="!isMobile" 动态切换行内/垂直布局,输入框和选择器 width: 100%
分页::layout="isMobile ? 'total, prev, next' : 'total, sizes, prev, pager, next, jumper'" 精简移动端分页控件
批量操作:移动端无法框选,将批量操作按钮折叠到 el-dropdown 中
:label-position 移动端改 top,:label-width 缩窄width: 100%flex-direction: column,按钮 width: 100%:column="isMobile ? 1 : N" 单列展示border 的 el-descriptions 在移动端必须强制 table-layout: fixed; width: 100%,标签列宽固定 80px,内容列 word-break: break-all,否则表格会溢出导致标签被视口截断display: grid; grid-template-columns: 1fr 1fr 两列网格,环形图跨全行el-dropdown 收纳次要操作:width="isMobile ? '95%' : '600px'":fullscreen="isMobile" 配合 :class="{ 'mobile-dialog': isMobile }"width: 100%flex-wrap: wrap,每个卡片 flex: 0 0 calc(50% - gap):span 动态绑定,如 :span="isMobile ? 12 : 6"flex-wrap: wrapoverflow-x: auto; flex-wrap: nowrap 横向滚动trigger 改为 click(PC 保持 hover),宽度缩窄在每个组件的 <style scoped> 末尾统一添加 @media 块,不要散落在各处:
// 常规样式 ...
@media (max-width: 768px) {
// 移动端样式
}
@media (max-width: 480px) {
// 小屏手机进一步调整
}
Element Plus 组件内部样式需要 :deep() 穿透,常见目标:
:deep(.el-descriptions__label) — 描述列表标签宽度:deep(.el-table) — 表格字号、单元格间距:deep(.el-form-item) — 表单项全宽:deep(.el-radio-button__inner) — 按钮组紧凑化:deep(.el-dialog__body) — 弹窗内边距:deep(.el-tree-node__content) — 树节点触摸高度-webkit-overflow-scrolling: touch 提升滚动流畅度| 陷阱 | 表现 | 修复 |
|---|---|---|
| el-descriptions 溢出 | 带 border 模式标签被左侧视口截断 | table-layout: fixed; width: 100% + 固定标签列宽 |
| 长文本撑破容器 | 企微 ID、URL 等长字符串溢出 | word-break: break-all 或 overflow-wrap: break-word |
| 固定宽度输入框 | style="width: 300px" 超出移动端宽度 | 改为 CSS class,移动端 width: 100% |
| el-popover hover 不可用 | 手机无 hover 事件 | :trigger="isMobile ? 'click' : 'hover'" |
| 弹窗太窄看不清 | 宽度写死 px | :width="isMobile ? '95%' : '600px'" |
| page-container 横向滚动 | 子元素撑出视口 | 容器 overflow-x: hidden |
isMobiledocker compose build <service> && docker compose up -d <service>