SuperAPI AI 工具集

flask-api-development

编程与开发

查看项目

更新于 10-15 21:41

技能介绍

用途:该技能面向 Flask REST API 的开发与修改,覆盖认证、文件处理、数据库集成和生产部署等场景。

主要能力与结构:资料以 Chuuk 词典后端为例,采用单文件单体结构 app.py(约 4150 行),包含全部路由、认证逻辑、翻译流水线、OCR 辅助与数据库访问,未拆分 Blueprint。目录含 src/core/jworg_lookup.py、src/database/db_factory.py 与 dictionary_db.py、src/ocr/ocr_processor.py、src/translation/ 下的 helsinki_translator_v2.py 与 hybrid_translator.py、src/utils/nwt_epub_parser.py,以及 config/users.json、config/bible_books.json 和 requirements.txt。

使用方式与约定:使用模块级全局变量而非注入,如 dict_db = DictionaryDB()、training_status 与 training_status_lock;helsinki_translator 通过 load_helsinki_translator() 延迟加载。CORS 默认禁用(flask_cors 导入被注释),需要时再手动加回。认证采用魔法链接、无密码,magic_links 与 active_sessions 维护令牌与会话,路由如 /api/auth/request-magic-link 与 /auth/magic/<token>。路由返回统一用 jsonify,异常记录日志并返回 500。后台训练任务修改 training_status 时须在 training_status_lock 内进行。圣经数据从 config/bible_books.json 加载,不内联硬编码。环境变量包括 FLASK_SECRET_KEY、FLASK_ENV、COSMOS_DB_CONNECTION_STRING、SMTP_HOST/PORT/USER/PASSWORD、GOOGLE_VISION_API_KEY。测试见 tests/conftest.py,通过 patch('app.dict_db', mock_db) 模拟数据库。

限制:资料未提供安装命令、依赖版本、部署步骤细节、收费与效果信息,暂未提供。