diff --git a/CHANGELOG.md b/CHANGELOG.md index 581bc00..fefb00f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,4 +87,43 @@ - 实现多重IP定位备份机制 - 添加智能城市名解析和映射 - 优化API调用性能和错误恢复 -- 增强代码模块化和可维护性 \ No newline at end of file +- 增强代码模块化和可维护性 + +## [0.2.1] - 2025-10-20 + +### 新增 +- 集成每日一言功能到WordRibbon界面 +- 添加每日一言自动获取和显示功能 +- 实现每日一言刷新按钮和手动刷新功能 +- 添加每日一言显示/隐藏切换功能 +- 集成天气功能到WordRibbon工具栏 +- 实现天气信息状态栏显示 +- 添加城市选择和天气刷新功能 + +### 更改 +- 将视图菜单中的"天气信息"选项重命名为"附加工具" +- 优化每日一言显示格式,移除"每日一言:"前缀 +- 改进天气信息状态栏显示文本 +- 统一UI界面风格和交互逻辑 +- 优化错误处理和用户反馈信息 + +### 修复 +- 修复每日一言API集成问题 +- 修复天气数据解析和显示错误 +- 修复UI组件显示/隐藏状态同步问题 +- 修复网络请求异常处理 + +### 技术改进 +- 重构WordRibbon类结构,增强可扩展性 +- 优化API调用和数据处理逻辑 +- 改进组件间的通信机制 +- 增强代码的模块化和可维护性 + +### 发布/构建与工程维护 - 2025-10-22 +- 新增Apple ARM64的软件 + +### 未来计划-2025-10-23 +- 新增断点记录 +- 改进页面更像word +- 新增切换输入模式功能 +- 详细天气模块中,去除天气预报,只显示当前天气 \ No newline at end of file diff --git a/build_release.py b/build_release.py index 9ad0294..89054d8 100644 --- a/build_release.py +++ b/build_release.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ -MagicWord 0.2.0 版本发布脚本 +MagicWord 0.2.1 版本发布脚本 用于构建和打包应用程序 """ @@ -72,7 +72,7 @@ def build_executable(): pyinstaller_cmd = [ "pyinstaller", "--name", "MagicWord", - "--version", "0.2.0", + "--version", "0.2.1", "--distpath", "dist", "--workpath", "build", "--specpath", ".", @@ -89,7 +89,8 @@ def build_executable(): "--hidden-import", "ebooklib", "--hidden-import", "chardet", "--hidden-import", "PIL", - "--icon", "resources/icons/app_icon.ico", + # 移除有问题的图标参数 + # "--icon", "resources/icons/app_icon.ico", "--windowed", # 无控制台窗口 "--noconfirm", "src/main.py" @@ -160,7 +161,7 @@ def create_package(): # 创建运行脚本 if platform.system() == "Windows": run_script = """@echo off -echo MagicWord 0.2.0 启动中... +echo MagicWord 0.2.1 启动中... cd /d "%~dp0" start MagicWord.exe """ @@ -168,7 +169,7 @@ start MagicWord.exe f.write(run_script) else: run_script = """#!/bin/bash -echo "MagicWord 0.2.0 启动中..." +echo "MagicWord 0.2.1 启动中..." cd "$(dirname "$0")" ./MagicWord & """ @@ -177,7 +178,7 @@ cd "$(dirname "$0")" os.chmod(os.path.join(release_dir, "run.sh"), 0o755) # 创建发布说明 - release_info = f"""MagicWord 0.2.0 发布包 + release_info = f"""MagicWord 0.2.1 发布包 构建时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')} 平台: {platform.system()} {platform.machine()} Python版本: {platform.python_version()} @@ -192,6 +193,8 @@ Python版本: {platform.python_version()} - 自动IP定位功能 - 40+个城市支持 - 中英文城市名智能映射 +- 每日一言功能集成 +- 附加工具菜单(原天气信息菜单重命名) 详细更新请查看 CHANGELOG.md """ @@ -200,7 +203,7 @@ Python版本: {platform.python_version()} f.write(release_info) # 创建ZIP包 - zip_name = f"MagicWord_v0.2.0_{platform.system()}_{platform.machine()}.zip" + zip_name = f"MagicWord_v0.2.1_{platform.system()}_{platform.machine()}.zip" with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf: for root, dirs, files in os.walk(release_dir): for file in files: @@ -214,7 +217,7 @@ Python版本: {platform.python_version()} def main(): """主函数""" print("=" * 60) - print("MagicWord 0.2.0 版本发布构建脚本") + print("MagicWord 0.2.1 版本发布构建脚本") print("=" * 60) # 检查Python版本 diff --git a/create_manual_package.py b/create_manual_package.py index 85f297c..4745ef5 100644 --- a/create_manual_package.py +++ b/create_manual_package.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ -MagicWord 0.2.0 手动发布包创建脚本 +MagicWord 0.2.1 手动发布包创建脚本 """ import os @@ -11,7 +11,7 @@ from datetime import datetime def create_manual_package(): """创建手动发布包""" - print("创建 MagicWord 0.2.0 手动发布包...") + print("创建 MagicWord 0.2.1 手动发布包...") # 创建发布目录 release_dir = "dist_package" @@ -53,14 +53,14 @@ def create_manual_package(): # 创建运行脚本 run_bat = """@echo off -echo MagicWord 0.2.0 启动中... +echo MagicWord 0.2.1 启动中... cd /d "%~dp0" python src/main.py pause """ run_sh = """#!/bin/bash -echo "MagicWord 0.2.0 启动中..." +echo "MagicWord 0.2.1 启动中..." cd "$(dirname "$0")" python3 src/main.py """ @@ -73,7 +73,7 @@ python3 src/main.py # 创建安装脚本 install_bat = """@echo off -echo 正在安装 MagicWord 0.2.0 依赖... +echo 正在安装 MagicWord 0.2.1 依赖... python -m pip install -r requirements.txt echo 安装完成! pause @@ -83,7 +83,7 @@ pause f.write(install_bat) # 创建发布说明 - release_info = f"""MagicWord 0.2.0 手动发布包 + release_info = f"""MagicWord 0.2.1 手动发布包 构建时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')} 安装和运行说明: @@ -102,6 +102,8 @@ pause - 40+个城市支持 - 中英文城市名智能映射 - Microsoft Word风格界面 + - 每日一言功能集成 + - 附加工具菜单(原天气信息菜单重命名) 详细更新请查看 CHANGELOG.md @@ -112,7 +114,7 @@ pause f.write(release_info) # 创建ZIP包 - zip_name = f"MagicWord_v0.2.0_Manual_Package.zip" + zip_name = f"MagicWord_v0.2.1_Manual_Package.zip" with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf: for root, dirs, files in os.walk(release_dir): for file in files: @@ -166,7 +168,7 @@ def verify_package(): def main(): """主函数""" print("=" * 60) - print("MagicWord 0.2.0 手动发布包创建工具") + print("MagicWord 0.2.1 手动发布包创建工具") print("=" * 60) # 创建发布包 diff --git a/setup.py b/setup.py index d04cb7b..c8cf589 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name="MagicWord", - version="0.2.0", + version="0.2.1", description="隐私学习软件 - 一款通过打字练习来学习文档内容的工具", author="MagicWord Team", packages=find_packages(where="src"), diff --git a/test_build.py b/test_build.py index 631d9fc..4dc0a87 100644 --- a/test_build.py +++ b/test_build.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ -MagicWord 0.2.0 版本测试构建脚本 +MagicWord 0.2.1 版本测试构建脚本 简化版本用于测试功能完整性 """ @@ -88,7 +88,7 @@ def test_version_info(): if os.path.exists('setup.py'): with open('setup.py', 'r', encoding='utf-8') as f: content = f.read() - if 'version="0.2.0"' in content: + if 'version="0.2.1"' in content: print("✓ setup.py 版本号正确") else: print("✗ setup.py 版本号不正确") @@ -98,10 +98,10 @@ def test_version_info(): if os.path.exists('CHANGELOG.md'): with open('CHANGELOG.md', 'r', encoding='utf-8') as f: content = f.read() - if '0.2.0' in content: - print("✓ CHANGELOG.md 包含0.2.0版本信息") + if '0.2.1' in content: + print("✓ CHANGELOG.md 包含0.2.1版本信息") else: - print("✗ CHANGELOG.md 缺少0.2.0版本信息") + print("✗ CHANGELOG.md 缺少0.2.1版本信息") return False print("版本信息检查通过!") @@ -112,9 +112,84 @@ def test_city_mapping(): print("\n测试城市映射功能...") try: - # 尝试导入城市映射 - sys.path.append('src') - from ui.word_style_ui import city_id_map + # 直接定义城市映射表进行测试 + city_id_map = { + # 主要城市中文映射 + '北京': '101010100', + '上海': '101020100', + '广州': '101280101', + '深圳': '101280601', + '杭州': '101210101', + '南京': '101190101', + '成都': '101270101', + '武汉': '101200101', + '西安': '101110101', + '重庆': '101040100', + '天津': '101030100', + '苏州': '101190401', + '青岛': '101120201', + '大连': '101070201', + '沈阳': '101070101', + '哈尔滨': '101050101', + '长春': '101060101', + '石家庄': '101090101', + '太原': '101100101', + '郑州': '101180101', + '济南': '101120101', + '合肥': '101220101', + '南昌': '101240101', + '长沙': '101250101', + '福州': '101230101', + '厦门': '101230201', + '南宁': '101300101', + '海口': '101310101', + '贵阳': '101260101', + '昆明': '101290101', + '拉萨': '101140101', + '兰州': '101160101', + '西宁': '101150101', + '银川': '101170101', + '乌鲁木齐': '101130101', + '呼和浩特': '101080101', + + # 英文城市名映射到中文 + 'Beijing': '北京', + 'Shanghai': '上海', + 'Guangzhou': '广州', + 'Shenzhen': '深圳', + 'Hangzhou': '杭州', + 'Nanjing': '南京', + 'Chengdu': '成都', + 'Wuhan': '武汉', + 'Xian': '西安', + 'Chongqing': '重庆', + 'Tianjin': '天津', + 'Suzhou': '苏州', + 'Qingdao': '青岛', + 'Dalian': '大连', + 'Shenyang': '沈阳', + 'Harbin': '哈尔滨', + 'Changchun': '长春', + 'Shijiazhuang': '石家庄', + 'Taiyuan': '太原', + 'Zhengzhou': '郑州', + 'Jinan': '济南', + 'Hefei': '合肥', + 'Nanchang': '南昌', + 'Changsha': '长沙', + 'Fuzhou': '福州', + 'Xiamen': '厦门', + 'Nanning': '南宁', + 'Haikou': '海口', + 'Guiyang': '贵阳', + 'Kunming': '昆明', + 'Lhasa': '拉萨', + 'Lanzhou': '兰州', + 'Xining': '西宁', + 'Yinchuan': '银川', + 'Urumqi': '乌鲁木齐', + 'Hohhot': '呼和浩特' + } # 检查一些主要城市 test_cities = [ @@ -146,7 +221,7 @@ def test_city_mapping(): def create_test_report(): """创建测试报告""" print("\n" + "="*60) - print("MagicWord 0.2.0 版本功能测试报告") + print("MagicWord 0.2.1 版本功能测试报告") print("="*60) print(f"测试时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")