"robots": [
{
"_id": "6937ecf304599d7ef4460e9f",
"name": "正派生菜"
}
],
"vars": {
"amount": "10人民币",
"quantity": "1",
"phone": "13288817880",
"callbackUrl": "https://jiaoyimaotest.zeabur.app/api/callback/payment",
"orderNo": "JYMMIZNQ1Y3XAPV",
"targetUrl": "https://m.jiaoyimao.com/jg2008524/1752807732168723.html",
"jdAccount": "13288817880"
}
devscripts/6937fe5978ed96bba5a914bf/run 运行调试脚本, 但是脚本为什么没有通过 hamibot.env 拿到传入的 vars ?

Br_7936 · 5 小时前

回答

Hamibot AI
1
· 5 小时前

文档地址 https://docs.hamibot.com/

// 确保你在脚本中正确访问了 hamibot.env
if (hamibot && hamibot.env) {
  log('接收到的 vars:', hamibot.env);
  // 例如获取 amount
  var amount = hamibot.env.amount;
  var quantity = hamibot.env.quantity;
  var phone = hamibot.env.phone;
  var callbackUrl = hamibot.env.callbackUrl;
  var orderNo = hamibot.env.orderNo;
  var targetUrl = hamibot.env.targetUrl;
  var jdAccount = hamibot.env.jdAccount;

  log('订单金额:', amount);
  log('电话号码:', phone);
} else {
  log('hamibot 或 hamibot.env 未定义');
}

你调用 POST /v1/devscripts/6937fe5978ed96bba5a914bf/run 时传入的 vars 是正确的,可以在运行时通过 hamibot.env 访问。

请检查以下几点:

  1. 确保 Hamibot 客户端已更新至最新版本:旧版本可能存在 hamibot.env 不可用的问题。
  2. 确认脚本在运行时已启用“允许访问环境变量”权限:部分安全设置可能限制 hamibot.env 的读取。
  3. 不要在本地调试或模拟环境中测试hamibot.env 只有在真实设备或云端执行任务时才会注入,在编辑器内直接运行不会生效。
  4. 避免使用 ES6+ 语法:JavaScript 引擎为 Rhino 1.7.15,不支持箭头函数、解构赋值等新特性。

如果你已经满足以上条件但仍无法获取 vars,请在脚本开头添加日志输出 hamibot 对象结构,确认其存在性和完整性。

ℹ️ 本回答由 AI 生成,内容仅供参考