合并 #45

Merged
p9o3yklam merged 4 commits from main into maziang 4 months ago

@ -87,4 +87,43 @@
- 实现多重IP定位备份机制
- 添加智能城市名解析和映射
- 优化API调用性能和错误恢复
- 增强代码模块化和可维护性
- 增强代码模块化和可维护性
## [0.2.1] - 2025-10-20
### 新增
- 集成每日一言功能到WordRibbon界面
- 添加每日一言自动获取和显示功能
- 实现每日一言刷新按钮和手动刷新功能
- 添加每日一言显示/隐藏切换功能
- 集成天气功能到WordRibbon工具栏
- 实现天气信息状态栏显示
- 添加城市选择和天气刷新功能
### 更改
- 将视图菜单中的"天气信息"选项重命名为"附加工具"
- 优化每日一言显示格式,移除"每日一言:"前缀
- 改进天气信息状态栏显示文本
- 统一UI界面风格和交互逻辑
- 优化错误处理和用户反馈信息
### 修复
- 修复每日一言API集成问题
- 修复天气数据解析和显示错误
- 修复UI组件显示/隐藏状态同步问题
- 修复网络请求异常处理
### 技术改进
- 重构WordRibbon类结构增强可扩展性
- 优化API调用和数据处理逻辑
- 改进组件间的通信机制
- 增强代码的模块化和可维护性
### 发布/构建与工程维护 - 2025-10-22
- 新增Apple ARM64的软件
### 未来计划-2025-10-23
- 新增断点记录
- 改进页面更像word
- 新增切换输入模式功能
- 详细天气模块中,去除天气预报,只显示当前天气

@ -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版本

@ -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)
# 创建发布包

@ -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"),

@ -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')}")

Loading…
Cancel
Save