微信公众号科技文章一键上传到草稿(自主选题,配图,配封面图)

SKILL内容创作
内容创作 未标注权限 许可证不明确
安装这个技能

微信公众号科技文章一键上传到草稿(自主选题,配图,配封面图)

累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_d6ba4c0c/001

技能档案

内容创作
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_d6ba4c0c仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791680876
正文体量3.9 KBSKILL.md 原文大小,越大说明说明书写得越细

SKILL.md 全文

3.9 KB
模型实际读到的说明书原文,来自技能仓库

出差补贴 HTML 工具生成

你要做什么

把用户提供的出差补贴数据(图片或表格文件)转成一个单文件 HTML 工具,让行政人员可以逐一给员工复制私信内容。


数据来源判断

来源 处理方式
Excel / CSV 文件 用 Python + openpyxl 读取,直接提取,准确率高
图片 直接识别图片中的表格数据,逐行提取

Excel 优先于图片——如果用户同时提供了两种,用 Excel。


字段对应规则

读取时按以下列顺序提取(以实际表头为准,灵活匹配):

字段 对应列
姓名 姓名列
部门 部门列
出差天数 实际打卡天数 / 出差天数
补贴标准 补贴标准 / 出差补贴/天
本月出差补贴 总数 / 合计列(非小计)
出差地点 最后一列

特殊处理:
- 同一人多行:合并为一条,天数用"、"分隔,标准去重,金额取最后非空的总数列,地点合并去重
- 过滤非人员行:跳过标题行、合计行、备注行(没有姓名或姓名以 ¥ 开头的行)
- 字段为空:显示"-"


私信模板(固定格式)

请确认出差补贴,如有问题随时告知我,
[姓名]
部门:[部门]
出差天数:[天数]天
补贴标准:[标准]
本月出差补贴:[金额]元
出差地点:[地点]

私信内容在 Python 阶段预先生成,存入数据,不在 JS 里拼接(避免转义问题)。


HTML 工具功能要求

布局

  • 顶部固定栏:显示「总人数 / 已完成 / 剩余」,实时更新
  • 搜索框:支持按姓名或部门过滤
  • 卡片式网格:每人一张卡片,响应式

卡片内容

  • 姓名 + 部门(标题区)
  • 状态标签:待处理 / 已完成
  • 四个字段:出差天数、补贴标准、本月补贴(蓝色加粗高亮)、出差地点
  • 两个按钮:📋 复制姓名 / 📝 复制私信

防呆逻辑

  • 任一按钮点击:该按钮变绿显示"✅ 已复制",2秒后恢复
  • 两个按钮都点击:整张卡片变灰,状态变"已完成",统计同步更新
  • 底部 Toast 提示:复制成功后弹出,2秒消失

技术要求

  • 单文件 HTML,含内联 CSS/JS,无外部依赖
  • 所有数据直接硬编码在 JS 的 DATA 数组里
  • 编码 UTF-8

执行步骤

情况一:Excel / CSV 文件

  1. 用 Python 读取文件(openpyxl 或 csv 模块),强制 UTF-8 输出
  2. 合并同名人员,生成 JSON 数据(含预生成的 msg 字段)
  3. 将数据嵌入 HTML 模板,生成完整 HTML 文件
  4. 保存到用户桌面或指定路径
  5. 用浏览器打开验证渲染和功能

情况二:图片

  1. 识别图片中所有数据行,按字段规则提取
  2. 在页面顶部输出「识别人数:X人」供用户核对
  3. 合并同名人员,生成完整 HTML

验证要点(生成后必须检查)

  • [ ] 浏览器打开后卡片正常渲染,统计数字正确
  • [ ] 控制台无 JS 报错
  • [ ] 点击"复制私信",私信内容格式与模板一致
  • [ ] 两个按钮都点击后卡片变灰、状态变"已完成"

常见问题

问题 原因 & 解决
卡片不显示 / 统计为 0 JS 语法错误,通常是字符串里含单引号或反斜杠导致转义失败 → 私信内容在 Python 预生成,不在 JS 里拼接
中文乱码 Python 输出没强制 UTF-8 → 用 io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
少了某人 合并逻辑只合并"同名",检查是否有姓名拼写差异
金额不对 优先取"总数"列而非"小计"列

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。