Commit Graph

56 Commits

Author SHA1 Message Date
dmy
fffc17b9ad feat: 提示语中增加不修改工程名称的要求 2026-01-19 12:54:57 +08:00
dmy
8f6e5c8423 feat: 添加投标项目查看器的Ionic移动端应用
新增基于Ionic + Vue 3 + TypeScript + Tailwind CSS的移动端应用,适配Android平台。主要功能包括AI推荐项目展示、爬虫信息统计、置顶项目管理和下拉刷新功能。同时更新前后端API端口配置为3300。
2026-01-18 18:53:35 +08:00
dmy
f08c513bbe feat: 添加环境变量配置并优化部署路径
添加开发和生产环境变量文件
更新前端构建命令以使用不同模式
优化部署脚本中的前端部署路径
在认证守卫中添加日志记录
2026-01-18 15:44:37 +08:00
dmy
b6a6398864 feat: 添加用户认证系统
引入基于 Basic Auth 的用户认证系统,包括用户管理、登录界面和 API 鉴权
- 新增用户实体和管理功能
- 实现前端登录界面和凭证管理
- 重构 API 鉴权为 Basic Auth 模式
- 添加用户管理脚本工具
2026-01-18 12:47:16 +08:00
dmy
a55dfd78d2 feat: 更新部署配置和API类型定义
将部署配置更改为生产环境服务器设置
将AxiosRequestConfig替换为InternalAxiosRequestConfig
2026-01-18 11:17:12 +08:00
dmy
810a420a46 feat(date): enhance date formatting and timezone handling
- Update formatDateTime function to handle timezone-aware date strings directly.
- Introduce utcToBeijingISOString function for consistent Beijing time formatting in ISO string.
- Modify BidsService to utilize the new utcToBeijingISOString for date conversions.
- Add unit tests for AuthGuard to validate API key authentication and access control.
- Create end-to-end tests for API key handling in various scenarios.
- Update .gitignore to exclude 'qingyun' directory.
- Add environment configuration for production settings in .env.production.
- Include Tailwind CSS setup in the uni-app version for styling.
2026-01-16 23:31:58 +08:00
dmy
300e930c64 feat(auth): implement API key authentication and enhance request handling
- Add AuthGuard to validate API key for public access.
- Create AuthModule to provide the AuthGuard globally.
- Update API request interceptor to automatically include API key for non-localhost requests.
- Modify .env and .env.example to include API_KEY configuration.
- Enhance API request handling with improved error logging and client IP detection.
2026-01-16 11:26:02 +08:00
dmy
9257c78e72 feat(timezone): implement UTC and Beijing time conversion utilities and update bid handling
- Add functions to convert between UTC and Beijing time in timezone utility.
- Update BidsService to return latest update and publish dates in Beijing time.
- Modify BidCrawlerService to store publish dates in UTC format.
- Change database timezone configuration to UTC for consistency.
2026-01-16 00:00:00 +08:00
dmy
e8beeec2b9 chore(env): update log level to debug and modify .gitignore
- Change log level from 'info' to 'debug' for enhanced logging during development.
- Add '.cursor' to .gitignore to prevent tracking of cursor files.
2026-01-15 23:48:07 +08:00
dmy
9dc01eeb46 fix(api): increase request timeout and format latest update date
- Update API request timeout from 60 seconds to 120 seconds for improved performance.
- Format latest update date to append 'Z' if it exists, ensuring consistency in date handling.
2026-01-15 23:31:05 +08:00
dmy
811ad927f3 feat(logging): add logging middleware for HTTP requests and update API timeout
- Introduce LoggingMiddleware to log incoming requests and their response times
- Update AppModule to apply the new logging middleware globally
- Increase API request timeout from 10 seconds to 60 seconds
- Modify PromptString to include additional project types of interest
2026-01-15 21:52:40 +08:00
dmy
3033eb622f feat(deploy): implement new deployment script using ssh2-sftp-client
- Replace PowerShell deploy script with TypeScript-based deploy script
- Add SSH2 SFTP client for secure file uploads to remote server
- Include error handling and logging for deployment process
- Update package.json to reflect changes in deploy command and add new dependencies
2026-01-15 21:02:36 +08:00
dmy
5edebd9d55 refactor: improve date handling and timezone consistency
- Add timezone support to database module (+08:00)
- Extract date formatting utilities to shared modules
- Standardize timezone handling across frontend and backend
- Improve date formatting consistency in UI components
- Refactor crawler page.goto options for better readability
2026-01-15 16:17:41 +08:00
dmy
eba5c7e5c5 feat(crawler): add human-like behavior simulation to prevent detection
refactor(manifest): update appid and format manifest file
2026-01-15 15:34:00 +08:00
dmy
36cbb6fda1 feat(api): add unified request utility with type definitions
Implement a centralized API request utility with proper TypeScript interfaces
for bid items, AI recommendations, and crawl statistics. The utility handles
base URL configuration, request/response typing, and error handling.
2026-01-15 14:28:04 +08:00
dmy
20c7c0da0c feat: 添加代理隧道连接失败的重试机制
refactor(crawler): 在各爬虫服务中实现代理错误重试逻辑
feat(uni-app): 新增投标项目查看器的uni-app版本
2026-01-15 14:03:46 +08:00
dmy
eca3f4f9fd feat(electron): 添加Electron桌面应用支持
- 新增Electron主进程、预加载脚本和构建配置
- 修改前端配置以支持Electron打包
- 更新项目文档和依赖
- 重构API调用使用统一axios实例
2026-01-15 00:35:19 +08:00
dmy
f736f30248 refactor(crawler): 优化爬虫类型定义和接口导出
将 Crawler 接口替换为 AnyCrawler 类型,统一爬虫类型定义
导出 CrawlInfoAddStats 接口以便其他模块使用
简化爬虫调用方式,使用类型断言替代接口方法调用
2026-01-14 22:51:36 +08:00
dmy
82f5a81887 chore: 更新.gitignore并添加新文件
在.gitignore中添加对*.png、*.log、*-lock.json、*.woff2文件的忽略规则,并新增OFL.txt文件。同时,添加vue.svg图标文件以支持前端展示。更新多个TypeScript文件以优化代码格式和增强可读性。
2026-01-14 22:26:32 +08:00
dmy
10565af001 fix: 处理错误信息字段的空值和空字符串
更新多个文件以确保错误信息字段在处理时将空字符串和未定义值转换为null,增强数据一致性和展示逻辑。包括前端组件和后端服务的相应调整。
2026-01-14 21:33:35 +08:00
dmy
740c11527f feat: 更新数据库配置并添加同步脚本
将数据库配置从本地MariaDB切换为腾讯云MySQL
添加数据库同步脚本命令到package.json
禁用数据库自动同步功能
2026-01-14 20:58:07 +08:00
dmy
3f6d10061d feat: 添加单源爬取功能并优化数据库同步
新增单源爬取功能,支持在界面上单独更新每个数据源
添加数据库同步脚本,支持主从数据库结构同步和数据同步
优化华能集团爬虫的页面导航和稳定性
新增系统托盘功能,支持最小化到托盘
2026-01-14 16:25:01 +08:00
dmy
50bc930663 feat: 添加项目置顶功能
在仪表盘中添加置顶项目功能,包括:
- 新增置顶项目展示区域
- 为AI推荐项目添加置顶/取消置顶操作
- 后端接口支持置顶状态管理
2026-01-13 20:56:21 +08:00
dmy
4f4355c1cd refactor: 移除高优先级投标功能及相关代码 2026-01-13 20:42:34 +08:00
dmy
6825885005 feat: 更新AI提示并增强后端功能
更新AI提示字符串包含海南地区
添加CrawlInfoAdd实体到Bids模块
优化爬虫信息统计查询
增加请求体大小限制和启用CORS
修正前端部署路径
2026-01-13 19:46:41 +08:00
dmy
894976e680 feat: 在部署脚本中添加src目录上传功能 2026-01-13 19:01:50 +08:00
dmy
333748a6b9 feat: 添加部署脚本和AI推荐脚本 2026-01-13 18:59:07 +08:00
dmy
72e5230584 feat: 添加AI推荐脚本并更新提示词
添加AI推荐生成脚本,查询近3天的招标项目并调用AI服务获取推荐结果。同时更新提示词,要求至少推荐10个项目。
2026-01-13 18:33:30 +08:00
dmy
b3d784f1e3 feat: 添加Tailwind CSS支持并修复URL拼接问题
添加Tailwind CSS及相关配置
修复多个爬虫服务中的URL拼接问题,避免双斜杠
调整前端导航菜单项顺序
2026-01-13 18:07:00 +08:00
dmy
7f36e014e6 feat: 在AI仪表板中添加高优先级投标展示 2026-01-13 16:34:32 +08:00
dmy
5024d2c502 feat: 添加重复投标项目清理脚本并更新相关逻辑
更新依赖版本,移除调试日志,修改静态文件排除规则,将投标项目查重逻辑从URL改为标题,并添加清理重复投标项目的脚本
2026-01-13 00:39:43 +08:00
dmy
5f186bfb2a feat: 按发布时间倒序排列AI推荐结果 2026-01-12 22:56:35 +08:00
dmy
996289c671 feat: 在AI推荐列表中添加发布日期字段并更新AI服务配置 2026-01-12 22:48:43 +08:00
dmy
bfac194c14 feat: 添加爬虫统计信息页面和功能
新增爬虫统计信息页面,展示各来源的爬取数量、最新更新时间、错误信息等统计指标
后端添加爬虫统计信息存储和查询接口,记录每次爬取的结果
支持按关键词过滤招标信息查询
2026-01-12 22:00:39 +08:00
dmy
af58d770b6 feat: 添加投标信息按日期范围更新功能及AI推荐持久化
添加按日期范围更新投标信息的功能,支持日期范围选择和数据更新
实现AI推荐结果的持久化存储和加载功能
优化日期范围选择器的本地存储功能
2026-01-12 19:50:51 +08:00
dmy
3d269ce9d1 feat: 重构AI推荐功能并优化爬虫基础URL
重构前端AI推荐组件,移除本地过滤逻辑,改为从后端获取日期范围内的数据
新增AI服务模块,包含Prompt和推荐逻辑
为投标服务添加按日期范围查询接口
统一各爬虫服务的baseURL格式
2026-01-12 18:59:17 +08:00
dmy
61520e9ebf feat: 添加 AI 推荐功能
新增 AI 推荐模块,包括前端界面和后端服务
添加 OpenAI API 密钥配置
实现工程数据分析和推荐功能
2026-01-12 18:36:08 +08:00
dmy
3647b9a2e5 feat: 添加高优先级投标折叠功能并优化链接样式
为高优先级投标表格添加折叠/展开功能,当数据为空时自动折叠
优化链接样式,统一设置无下划线及悬停颜色
2026-01-12 15:52:58 +08:00
dmy
f2630ed01c feat: 添加更新数据源脚本 2026-01-12 15:29:45 +08:00
dmy
b1435523e8 feat: 为爬虫测试添加代理支持并通过环境变量配置
添加dotenv依赖,创建jest配置文件和setup文件
修改所有爬虫测试文件以支持通过环境变量配置代理
将jest配置从package.json移动到独立文件
2026-01-12 15:19:54 +08:00
dmy
f1ec37143c feat: 添加中海油招标平台爬虫支持 2026-01-12 15:06:31 +08:00
dmy
090e4121ce feat: 添加国投集团电子采购平台爬虫并更新其他平台名称 2026-01-12 14:53:38 +08:00
dmy
4f37b0fb61 refactor: 重构前端代码,拆分组件并优化README文档 2026-01-12 14:37:18 +08:00
dmy
1b28a3462a feat: 全面优化爬虫系统和数据处理能力
- 增强数据重试机制:对数据为0的爬虫自动重试,提高数据完整性
- 优化前端筛选逻辑:改进日期筛选,只限制开始时间,更灵活的数据查看
- 新增最近数据接口:添加 /api/bids/recent 获取30天内最新招标数据
- 改进统计展示:实时显示筛选结果数量,优化用户体验
- 完善日志系统:确保日志目录自动创建,避免启动错误
- 增强独立脚本:使用自定义logger,完善错误处理和程序关闭
- 优化主程序:集成自定义日志服务,统一日志格式
- 扩展npm脚本:新增 web 命令用于构建前端
- 改进大唐爬虫:延长等待时间到60秒,提高页面加载成功率
- 优化数据筛选:今日招标改为使用独立接口,提升性能
2026-01-12 12:28:37 +08:00
dmy
3e6456e120 feat: 全面升级系统日志和反爬虫功能
- 新增专业日志系统:集成 Winston 日志框架,支持按天轮转和分级存储
- 增强反爬虫能力:集成 puppeteer-extra-plugin-stealth 插件,提升隐蔽性
- 新增独立爬虫脚本:可通过 npm run crawl 命令单独执行爬虫任务
- 优化前端日期筛选:添加日期范围选择器,支持3天/7天快速筛选
- 改进爬虫统计功能:详细记录每个平台的成功/失败情况和执行时间
- 移除默认关键词初始化:避免重复创建预设关键词
- 扩展环境配置:新增 LOG_LEVEL 日志级别配置选项
- 增强.gitignore:添加日志目录、构建产物等忽略规则
- 升级执行时间限制:将最大执行时间从1小时延长至3小时
- 完善错误处理:更好的异常捕获和日志记录机制
2026-01-12 10:46:10 +08:00
dmy
66f535ed0c feat: 增强前端界面功能和用户体验
- 新增爬虫状态检测:前端实时检测爬虫运行状态,防止重复点击
- 添加来源筛选功能:可按采购平台来源筛选招标信息
- 实现关键字过滤:支持多选关键字过滤今日招标,结果保存到localStorage
- 添加分页功能:招标列表支持分页显示,可调整每页数量
- 优化关键字管理:将表格形式改为标签云形式,更直观易用
- 改进UI布局:优化标题栏布局,添加筛选控件,提升用户体验
- 调整定时任务:将爬虫频率从每30分钟改为每天午夜执行,减少服务器压力
- 增强交互体验:添加加载状态、空状态处理、标签颜色区分等细节优化
2026-01-12 02:24:19 +08:00
dmy
a1badea135 feat: 增强爬虫系统功能和性能管理
- 新增爬虫状态接口:GET /api/crawler/status 可实时查看爬虫运行状态
- 防止重复爬取:添加 isCrawling 标志位,避免同时运行多个爬虫任务
- 增强爬虫服务:集成所有9个爬虫平台到 BidCrawlerService
- 添加执行时间限制:设置最大执行时间为1小时,防止任务无限运行
- 新增来源统计功能:GET /api/bids/sources 可查看所有招标来源平台
- 优化错误处理:完善爬虫完成后的时间统计和超时警告
- 改进控制器逻辑:更好的异常处理和状态管理
- 支持的平台包括:华能、大唐、华润、三峡、中核、中广核、电能e招采、大连能源、北京电力等9大采购平台
2026-01-12 02:09:48 +08:00
dmy
b839779ec6 feat: 新增中广核电子商务平台爬虫
- 新增 CgnpcCrawler 爬虫类,支持中广核电子商务平台招标信息抓取
- 目标平台:https://ecp.cgnpc.com.cn,专注于核电行业采购招标
- 使用正则表达式提取招标公告,支持标题、URL和发布日期解析
- 添加完整的人类行为模拟功能(鼠标移动、滚动)降低检测风险
- 支持分页抓取,最多抓取5页数据,使用中广核特有的 btn-prev 按钮翻页
- 添加完整的单元测试文件,确保爬虫功能正常
- 统一的错误处理机制,单个爬虫失败不影响整体任务执行
2026-01-12 01:09:30 +08:00
dmy
3454d9d07f feat: 新增电能e招采平台爬虫
- 新增 EspicCrawler 爬虫类,支持电能e招采平台招标信息抓取
- 目标平台:https://ebid.espic.com.cn,专注于电力行业电子招投标
- 智能 URL 生成:使用 getUrl() 方法动态生成带时间戳的分页链接
- 增强反 WAF 功能:等待人机识别检测通过,避免被防火墙拦截
- 多重选择器策略:使用多种选择器组合查找下一页按钮,提高翻页成功率
- 使用正则表达式提取招标信息,支持标题、URL和发布日期解析
- 添加完整的人类行为模拟功能(鼠标移动、滚动)降低检测风险
- 支持分页抓取,最多抓取5页数据
- 添加完整的单元测试文件,确保爬虫功能正常
- 统一的错误处理机制,单个爬虫失败不影响整体任务执行
2026-01-12 00:01:38 +08:00
dmy
bf17587bd3 feat: 新增中核集团电子采购平台爬虫
- 新增 CnncecpCrawler 爬虫类,支持中核集团电子采购平台招标信息抓取
- 目标平台:https://www.cnncecp.com,专注于核工业领域采购招标
- 使用正则表达式提取招标公告,支持标题、URL和发布日期解析
- 添加完整的人类行为模拟功能(鼠标移动、滚动)降低检测风险
- 支持分页抓取,最多抓取5页数据,使用 index_ 模式进行翻页
- 添加完整的单元测试文件,确保爬虫功能正常
- 统一的错误处理机制,单个爬虫失败不影响整体任务执行
2026-01-11 23:32:09 +08:00