微信小程序AP配网局域网通信

1,前言

最近在做IOT的项目,里面有个小程序要用到AP配网,和设备做一个局域网通信。可是小程序会做安全域的校验,而局域网只能是http的协议,并且局域网没有外网(无法百度等上网冲浪),在手机没有3g/4g/5g网络下,通信可以正常进行吗?所以我做了一个调研。

2,相关资料

小程序官网原文如下:

基础库 2.4.0 提供了 wx.startLocalServiceDiscovery 等一系列 mDNS API,可以用来获取局域网内提供 mDNS 服务的设备的 IPwx.request/wx.connectSocket/wx.uploadFile/wx.downloadFileurl 参数允许为 ${IP}:${PORT}/${PATH} 的格式,当且仅当 IP 与手机 IP 处在同一网段且不与本机 IP 相同(一般来说,就是同一局域网,如连接在同一个 wifi 下)时,请求/连接才会成功。在这种情况下,不会进行安全域的校验,不要求必须使用 https/wss,也可以使用 http/ws。基础库 2.7.0 开始,提供了 wx.createUDPSocket 接口用于进行 UDP 通信。通信规则同上,仅允许同一局域网下的非本机 IP

wx.request({
  url: 'http://10.9.176.40:828'
})

注:同一网段,指的是 IP 前三段相同且子网掩码也相同,比如 192.168.43.01192.168.43.02

3,实验代码

小程序写好代码,发布体验版,手机和后端连接同一个 wifi,接口地址是后端本地服务,通信成功,证明是可行的。

wx.request({
  url: 'http://172.168.10.xxx/api',
  success: (res) => {
    showModal({
      title: '温馨提示',
      content: JSON.stringify(res),
      showCancel: false
    })
  },
  fail: (rej) => {
    showModal({
      title: '温馨提示',
      content: JSON.stringify(rej),
      showCancel: false
    })
  }
})

如果看了觉得有帮助的,我是@鹏多多11997110103,欢迎 点赞 关注 评论;
END

PS:在本页按F12,在console中输入document.querySelectorAll('._2VdqdF')[0].click(),有惊喜哦

往期文章

  • 助你上手Vue3全家桶之Vue3教程
  • 助你上手Vue3全家桶之VueX4教程
  • 助你上手Vue3全家桶之Vue3教程
  • 超详细!Vuex手把手教程
  • 使用nvm管理node.js版本以及更换npm淘宝镜像源
  • 超详细!Vue-Router手把手教程
  • vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令
  • 微信小程序实现搜索关键词高亮

个人主页

  • CSDN
  • GitHub
  • 博客园
  • 掘金

你可能感兴趣的:(微信小程序AP配网局域网通信)