东元鸿小程序代理 · 自检

部署完成后用这个页面确认代理是否可用,再回到小程序里测。

① 配置状态

加载中…

② 登录(验证账号校验 + token 签发)

—
成功会返回 uid、departmentId、role 和三份 token。departmentId = 1 是管理端。

③ passport 登录诊断(账号密码正确却登录失败时先看这里)

它会把登录页真实的表单字段名、提交后的 HTTP 状态、拿到的 cookie 名、 以及 /e/GetUserToken/ 的原始返回全部列出来。
— 或带账号密码完整跑一遍 —
—
— 直接试一段 JSON(照抄浏览器 Network 里的请求体)—
—
返回里看 state(1 = 成功)和 msg。 把能成功的那段填到 web.config 的 PassportLoginBody, 用 {account} / {password} 占位。
— 若提示「无效的账号名」:多半是字段名不对 —
—
每个组合都会真发一次请求。找到 state: 1 的那一行, 把它的 accountField / passwordField / extra 填进 web.config 即可。
重点看 loginPost.apiState(1 = 成功,0 = 失败, -1 = 返回的不是 JSON)和 loginPost.apiMsg (PageAdmin 会把真实原因放在这里,例如「对不起,无效的密码!」)。 以及 loginPageInputs(真实字段名,据此改 web.config 的 PassportLoginForm)和 loginPost.status (302 = 成功;200 且含密码框 = 失败)。
如果 loginPageInputs 是空数组:说明登录页是 AJAX 提交(PageAdmin 就是这样),服务端无法模拟登录。 若 snippet 里还有「验证码」,就必须走网页登录: 用户在 web-view 里填验证码,代理按 sid 保存 cookie, 小程序再用同一个 sid 调 auth.fromWeb 换 token。
—

④ 业务接口(验证权限过滤)

—
401 = EncodingAESKey 不对;403 = 身份不足,核对 M_Job_Container 的 f014。