# FeiBug **Repository Path**: mon6912640/FeiBug ## Basic Information - **Project Name**: FeiBug - **Description**: 飞书缺陷导出工具2.0,使用flet的gui方案 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-18 - **Last Updated**: 2026-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FeiShuToy > 飞书项目小工具:给一个需求单 URL,自动查出它关联的所有缺陷单。 ## 快速开始 ### 1. 准备登录态(只需一次) 在 Firefox 浏览器登录 [project.feishu.cn](https://project.feishu.cn),然后: - 按 `F12` 打开开发者工具 - 切换到 **网络** 标签 - 刷新页面,等请求加载完后,点击右上角 **⚙ 导出 HAR** - 保存到任意位置 ### 2. 导入并查询 ```bash python feishu_toy.py --har 你导出的.har文件 --url 需求单URL ``` 执行后 session 会自动保存,下次直接查就行。 ### 3. 日常使用 ```bash # 直接查 python feishu_toy.py https://project.feishu.cn/hl_new/story/detail/6893656931 # 输出 JSON(方便给其他工具用) python feishu_toy.py --json https://project.feishu.cn/hl_new/story/detail/6893656931 ``` --- ## 输出示例 ``` ============================================================ 需求单: https://project.feishu.cn/hl_new/story/detail/6893656931 关联缺陷: 33 条 ============================================================ 1. 6993556102 【鬼服-法象】在寻宝活动中,处理热更配置的时候... https://project.feishu.cn/hl_new/story/detail/6993556102 2. 6991758729 【鬼服-法象】错别字修正与规范语句 https://project.feishu.cn/hl_new/story/detail/6991758729 ... ``` --- ## 代码调用 ```python from feishu_toy import FeiShuToy toy = FeiShuToy() defects = toy.get_story_defects("https://project.feishu.cn/hl_new/story/detail/6893656931") for d in defects: print(d["id"], d["name"]) # 返回格式: [{"id": 6993556102, "name": "...", "type": "issue", "url": "..."}, ...] ``` --- --- ## GUI 版本(推荐) 提供了基于 [Flet](https://flet.dev) 的图形界面,支持批量查询、一键复制 SVN 筛选字符串等功能。 ### 运行 GUI ```bash # 安装依赖 pip install requests flet # 启动 GUI python gui.py ``` ### 功能说明 | 功能 | 说明 | |------|------| | **批量查询** | 输入框支持多行,每行一个需求单 URL,一次性查多个 | | **导入 HAR** | 首次使用点击「导入 HAR」选择 Firefox 导出的 HAR 文件即可自动提取登录态 | | **打开链接** | 结果表格中点击 🔗 图标即可在浏览器打开对应缺陷单 | | **复制 SVN 字符串** | 一键复制 `需求单ID + 缺陷ID1 + 缺陷ID2 + ...` 格式,用于 TortoiseSVN 日志筛选 | | **批量失败提示** | 多个 URL 查询时,部分失败的会弹窗汇总展示 | ### 打包成 exe(统一入口) ```bash # 安装打包工具 pip install flet # 方式一:直接运行打包命令 flet pack main.py --name FeiBug --distpath . # 方式二:双击 compile.bat(自动清理旧文件、打包、移动到根目录) ``` **FeiBug.exe 使用方式:** | 场景 | 命令 | |------|------| | 启动 GUI | 双击 `FeiBug.exe` 或命令行直接运行 | | CLI 查询 | `FeiBug.exe https://project.feishu.cn/xxx/story/detail/123` | | CLI + HAR 导入 | `FeiBug.exe --har xxx.har --url <需求单URL>` | | CLI JSON 输出 | `FeiBug.exe --json ` | | 查看帮助 | `FeiBug.exe --help` | > 原理:`main.py` 作为统一入口,检测到命令行参数时调用 `feishu_toy.py` 的 CLI 逻辑,无参数时启动 `gui.py` 的 Flet 界面。原有入口(`python feishu_toy.py` / `python gui.py`)完全保留,不受影响。 --- ## 常见问题 **Q: 提示 session 过期怎么办?** 重新导出 HAR 再 `--har` 导入一次即可(CLI),或在 GUI 中点击「导入 HAR」重新选择。 **Q: 支持哪些 URL 格式?** `https://project.feishu.cn/项目简称/story/detail/需求单ID` **Q: 需要什么依赖?** - CLI 版:仅需 `requests` - GUI 版:`requests` + `flet`