58 lines
2.0 KiB
Python
58 lines
2.0 KiB
Python
import sys
|
|
from scbank_collector import SCBankCollector
|
|
from scbank_processor import SCBankProcessor
|
|
|
|
def main():
|
|
while True:
|
|
print("\n" + "="*40)
|
|
print(" 🚀 四川银行权益商城自动化工具")
|
|
print("="*40)
|
|
print(" [1] 步骤一:启动浏览器抓取 (下载待发货Excel)")
|
|
print(" [2] 步骤二:执行批量发货同步 (读取Excel上传至货易通)")
|
|
print(" [3] 退出程序")
|
|
print("-" * 40)
|
|
|
|
choice = input("👉 请输入选项 [1-3]: ").strip()
|
|
|
|
if choice == "1":
|
|
print("\n[系统] 正在启动采集器,准备下载 Excel...")
|
|
collector = SCBankCollector()
|
|
collector.run()
|
|
elif choice == "2":
|
|
print("\n[系统] 正在启动处理器,准备解析本地 Excel 数据并同步...")
|
|
processor = SCBankProcessor()
|
|
processor.run_excel()
|
|
elif choice == "3":
|
|
print("\n[系统] 感谢使用,再见!👋")
|
|
sys.exit(0)
|
|
else:
|
|
print("\n[错误] 无效选项,请重新输入正确数字。")
|
|
|
|
# 暂停一下,避免刷屏太快
|
|
# input("\n按回车键继续...")
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
main()
|
|
except KeyboardInterrupt:
|
|
print("\n[系统] 用户中断,程序已退出。")
|
|
sys.exit(0)
|
|
except Exception as e:
|
|
# 直接把错误写到当前目录的 error.log 文件
|
|
with open("error.log", "w", encoding="utf-8") as f:
|
|
import traceback
|
|
f.write(f"Error: {str(e)}\n")
|
|
f.write(traceback.format_exc())
|
|
|
|
# 尝试打印
|
|
print(f"\n[致命错误] {e}")
|
|
print("错误日志已保存至 error.log")
|
|
|
|
# 死循环等待用户输入,防止窗口关闭
|
|
while True:
|
|
try:
|
|
input("程序发生错误,请查看 error.log。按回车键尝试退出...")
|
|
except:
|
|
break
|
|
sys.exit(1)
|