- 拆分应用工厂、业务服务与路由,保留原有 HTTP/SSE 和存储入口 - 分离页面资源,重排客服工作台并完善响应式导航、草稿和附件交互 - 整理维护脚本、请求示例和贡献指南,移除启动脚本中的密钥配置 - 上传文件改为仅本地保留,补充隔离的后端与前端回归验证 验证:46 项 Python 测试通过,含 14 个已有子测试;12 个 Node 前端场景通过。
31 lines
950 B
Python
31 lines
950 B
Python
"""Compatible command entry point; imports do not initialize runtime data."""
|
|
|
|
from logistics_chat import create_app
|
|
from logistics_chat.knowledge import knowledge_list, search_knowledge
|
|
from logistics_chat.pricing import (
|
|
RATES, CBM_CHANNELS, parse_dims, parse_shipping_intent, detect_dim_unit,
|
|
dims_to_cm, pick_rate, calc_warehouse_card, detect_surcharge, check_island,
|
|
surcharge_reply, calc_freight, freight_reply,
|
|
)
|
|
from logistics_chat.tracking import (
|
|
CARD_PREFIX, card_to_text, is_tracking_no, extract_tracking_no, build_track,
|
|
)
|
|
|
|
|
|
def __getattr__(name):
|
|
# Preserve WSGI loaders that explicitly request am.app; plain imports stay inert.
|
|
if name == 'app':
|
|
application = create_app()
|
|
globals()['app'] = application
|
|
return application
|
|
raise AttributeError(name)
|
|
|
|
|
|
def main():
|
|
from logistics_chat.runtime import serve_app
|
|
serve_app(create_app())
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|