# golden-plugin **Repository Path**: DebuggingOnProd/golden-plugin ## Basic Information - **Project Name**: golden-plugin - **Description**: idea 插件,在idea内抓取并实时显示黄金价格 - **Primary Language**: Kotlin - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-12 - **Last Updated**: 2025-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Golden Plugin 一个用于在IntelliJ IDEA中查看实时黄金价格和其他贵金属价格的插件。 ## 功能特性 - 在IDEA工具窗口中显示实时黄金交易数据 - 自动每10秒刷新一次数据 - 手动刷新按钮,可随时更新数据 - 显示更新时间戳 - 显示贵金属名称、买入价、最高价和最低价 - 价格阈值提醒功能 - 当黄金价格达到或超过设定阈值时显示通知 ## 安装 1. 下载插件jar文件 2. 在IntelliJ IDEA中,进入 `File` -> `Settings` -> `Plugins` 3. 点击齿轮图标,选择 `Install Plugin from Disk` 4. 选择下载的jar文件并安装 5. 重启IDEA以激活插件 或者,可以通过JetBrains插件市场直接搜索 "黄金价格监控" 进行安装。 ## 使用方法 安装插件后: 1. 重启IntelliJ IDEA 2. 插件会自动在右侧工具栏创建 "Golden" 窗口 3. 点击窗口中的 "刷新" 按钮可以手动更新数据 4. 数据会每10秒自动刷新一次 5. 使用阈值提醒功能: - 在输入框中输入期望的黄金价格阈值 - 点击"设置阈值"按钮保存设置 - 当黄金价格达到或超过设定阈值时会收到IDE通知 - 可以点击"重置提醒"按钮重置通知状态 ## 技术架构 ### 主要组件 - `GoldenWindowsFactory`: 工具窗口工厂类,负责创建和管理工具窗口 - 创建带有刷新按钮和自动更新功能的面板 - 使用表格显示贵金属价格信息 - 提供阈值设置界面和提醒重置功能 - `PriceService`: 负责从API获取价格数据的服务类 - 使用OkHttp客户端发送HTTP请求 - 解析JSON响应为实体对象 - 实现阈值检查和通知功能 - `OkHttpClient`: HTTP客户端配置 - 配置连接超时、读取超时和写入超时 - `GsonUtils`: JSON序列化/反序列化工具类 ### 数据模型 - `GoldenTrade`: API响应的主要数据结构,包含状态码、消息、数据、执行时间和IP - `PriceEntity`: 价格实体,包含更新时间、开市标记和三类贵金属列表(LF、SH、GJ) - `GJ`: 单个贵金属的数据模型,包括: - Symbol: 代码 - Name: 名称 - BP: 买入价 - SP: 卖出价 - High: 最高价 - Low: 最低价 - Sort: 排序 ### 工具类 - `DateUtils`: 时间处理工具,用于获取当前时间戳 - `GsonUtils`: JSON序列化/反序列化工具 - `OkHttpClient`: OkHttp客户端配置 ## 开发 ### 构建项目 ```bash ./gradlew buildPlugin ``` ### 运行测试 ```bash ./gradlew test ``` ### 项目结构 - `entity`: 数据模型类,包括 `GoldenTrade`, `PriceEntity`, 和 `GJ` - `service`: 核心服务类,如 `PriceService` 用于获取价格数据 - `toolWindows`: 工具窗口工厂类 `GoldenWindowsFactory` - `utils`: 工具类,如 `OkHttpClient`, `GsonUtils`, 和 `DateUtils` - `resources`: 配置文件和插件元数据 ## API来源 本插件使用 [https://free.xwteam.cn/api/gold/trade](https://free.xwteam.cn/api/gold/trade) 提供的免费API获取数据。 API返回的数据包括: - 国内主要贵金属市场数据 (SH) - 国际贵金属市场数据 (GJ) - 其他贵金属数据 (LF) 每种贵金属包含名称、买入价、卖出价、最高价、最低价等信息。 ## 许可证 暂时未确定。 ## 作者 DebuggingOrProd - [https://www.github.com](https://www.github.com) ## 版本 1.0-SNAPSHOT