收藏
回答

express 框架模版本地调试造成连接超时问题

https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/quickstart/template/official.html

// 小程序调用,获取微信 Open ID
app.get("/api/wx_openid", async (req, res) => {
  if (req.headers["x-wx-source"]) {
    res.send(req.headers["x-wx-openid"]);
  }
});


express 框架模版中以上代码未对x-wx-source进行未获取时返回值的设定,而在本地调试中headers并不包含x-wx-source,所以在前端迟迟得不到返回结果,导致超时连接失败。

而关于官方模板说明、本地调试、开发指引-调用云托管服务-微信小程序关于header的文档说明中,并未提及什么情况下包含x-wx-source,文档搜索后在操作指南中的消息推送模块才提及到“若云托管开启了公网访问,需要验证消息推送的请求头,带 x-wx-source 的请求才是微信侧发起的推送。”

因此是否是本地调试云托管自动生成的wxcloud-localdebug-proxy自动开启的公网访问导致不带x-wx-source,进而导致超时?另外wxcloud-localdebug-proxy自动开启的公网访问的作用是什么?是否有必要?


回答关注问题邀请回答
收藏
登录 后发表内容