qiwei_login_start 默认在本地端口(QIWEI_FLOW_PORT,默认 4310)启动
流程页服务(mcp/src/core/login-flow-server.js)并自动打开浏览器:
/flow/state 自动判断当前所处步骤
(已登录→完成页;已订阅→直接出码;未订阅→套餐页);/flow/subscribe 使用一次性付款确认码提交;POST /subscribe,由 Future Server 按席位与月数完成整笔扣费和续期;/flow/check,无需手动刷新;/flow/verify 后继续轮询;鉴权 token 仅保存在流程页服务进程内存中,不写入 HTML。HTML 只携带当前本地页面使用的 一次性付款确认码,开通成功后立即失效。
flowUi=false 回退模式qiwei_login_start 生成二维码(outputs/login/qiwei-login-qrcode.png + 预览页);qiwei_login_check 轮询状态;qiwei_login_verify 提交 6 位验证码。needs_subscription,提示重新使用默认动态流程页或调用
qiwei_subscribe;不再生成会把鉴权信息写入 HTML 的静态付费页。/subscribe/status 返回的 price 为准,本地默认值为 500)。| 错误码 | HTTP | 含义 | 用户提示 |
|---|---|---|---|
| QW-AUTH-401 | 401 | 鉴权失败 | token 无效或过期,检查 QIWEI_AUTH_TOKEN 后重试 |
| QW-PAY-402 | 402 | 飞马余额不足 | 余额不足以完成扣费,请先充值飞马余额 |
| QW-SUB-402 | 402 | 订阅未开通或已到期 | 在套餐页选择席位并点击开通 |
| QW-PAY-403 | 403 | 本地付款确认无效或已使用 | 刷新本地流程页后重新选择套餐 |
| QW-SEAT-403 | 403 | 席位已满 | 增购席位或停用闲置设备 |
| QW-UP-502 | 502/503 | 网关或企微服务不可用 | 稍后重试 |
对应模块:mcp/src/core/subscribe-page.js(套餐、价格、ERROR_CODES、
classifySubscribeError)与 mcp/src/core/login-flow-server.js(动态页面和一次性付款确认)。
needs_subscription:qiwei_login_start 检测到未订阅时返回,
默认动态流程页直接展示套餐;flowUi=false 时提示改用动态流程;needs_seat:席位不足;needs_auth:鉴权失败;needs_verify_code:扫码后需要 6 位验证码。