@jiaoyubaocn/workbuddy-order 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -166,6 +166,11 @@ CLI 按这个顺序尝试,另外两种组合(只带 session、无 session
166
166
 
167
167
  > 踩过的坑:`ip` 传空字符串会让 101000 直接返回「参数错误!」,
168
168
  > 必须是真实 IP(未配置时用 `127.0.0.1` 兜底)。
169
+ >
170
+ > 另一个坑:`101001`(passport 校验)实测**任何**参数组合都返回「无效参数!」——
171
+ > passport 单独、加 ip、加 usercode、空 passport、仅 ip 五种全试过,一律同样报错。
172
+ > 说明这个 action 不吃这套协议,已弃用。`whoami --verify` 改为发起一次
173
+ > 400450 最小查询(近 1 天)来判断凭证是否真的能用,这才是可信的验证。
169
174
 
170
175
  ### 兜底:手动粘贴
171
176
 
@@ -200,7 +205,7 @@ jyb-order login --wx-code="<code 或整条回调网址>" # 手动提交授权
200
205
  | --- | --- |
201
206
  | `login` | 登录并保存凭证;`--user --password [--ip] [--expires=1440] [--no-save]`,或 `--passport=值` |
202
207
  | `logout` | 清除本地 passport(保留帐号,下次自动重登) |
203
- | `whoami` | 查看登录状态、帐号、passport 脱敏值、剩余时间;`--verify` 调用 101001 校验 |
208
+ | `whoami` | 查看登录状态、帐号、passport 脱敏值、剩余时间;`--verify` 用一次最小业务查询(400450,近 1 天)实测凭证是否可用 |
204
209
  | `orders` | 查询订单列表(400450) |
205
210
  | `count` | 只取记录总数(400450 `page=0`) |
206
211
  | `dict` | 字典查询与中文转编号 |
package/cli.js CHANGED
@@ -277,11 +277,14 @@ async function cmdWhoami(args) {
277
277
  var verify = null;
278
278
  if (isOn(args.verify) && info.loggedIn) {
279
279
  var p = await auth.getPassport();
280
+ /* 101001 实测不可用:passport 单独、加 ip、加 usercode、空 passport、仅 ip
281
+ * 五种组合一律返回「无效参数!」(2026-11-07 全组合验证),说明该 action
282
+ * 不吃这套参数。改用一次最小业务查询(400450,近 1 天)做真实可用性验证。 */
280
283
  try {
281
- var r = await http.callApi("101001", { passport: p.passport, ip: p.ip || info.ip || "" });
282
- verify = { ok: true, data: r.data };
284
+ var probe = await order.count({ days: 1 }, { auth: { passport: p.passport, ip: p.ip } });
285
+ verify = { ok: true, via: "400450", totals: probe.totals || null };
283
286
  } catch (e) {
284
- verify = { ok: false, message: e.message };
287
+ verify = { ok: false, via: "400450", message: e.message };
285
288
  }
286
289
  }
287
290
  if (isOn(args.json)) {
@@ -297,7 +300,12 @@ async function cmdWhoami(args) {
297
300
  out("接口地址: " + info.apiHost);
298
301
  out("凭证文件: " + info.configFile);
299
302
  if (verify) {
300
- out(verify.ok ? "凭证校验: 有效" : "凭证校验: 失败 - " + verify.message);
303
+ if (verify.ok) {
304
+ out("凭证校验: 有效(400450 业务接口实测通过)");
305
+ } else {
306
+ out("凭证校验: 失败 - " + verify.message);
307
+ out(" 凭证过期请重新登录;网络类错误可直接重试。");
308
+ }
301
309
  }
302
310
  }
303
311
 
package/lib/tools.js CHANGED
@@ -319,8 +319,10 @@ async function callTool(name, args, ctx) {
319
319
  }
320
320
  if (a.verify === true && info.loggedIn) {
321
321
  var p = await auth.getPassport(aoStatus || {});
322
+ /* 101001 实测不可用(任何参数组合都返回「无效参数!」),
323
+ * 改用一次最小业务查询(400450,近 1 天)验证凭证是否真的能用。 */
322
324
  try {
323
- await http.callApi("101001", { passport: p.passport, ip: p.ip || info.ip || "" });
325
+ await order.count({ days: 1 }, { auth: { passport: p.passport, ip: p.ip } });
324
326
  info.verified = true;
325
327
  } catch (e2) {
326
328
  info.verified = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jiaoyubaocn/workbuddy-order",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "后台订单查询工具(CLI + MCP):按状态/日期/行业/关键词查询订单,支持 MCP 接入 AI 客户端",
5
5
  "main": "cli.js",
6
6
  "bin": {