报错信息:
TypeError: Cannot read property 'formatted_addresses' of undefined
at vendor.js? [sm]:864
at w (vendor.js? [sm]:6838)
at Generator._invoke (vendor.js? [sm]:6917)
at Generator.e.<computed> [as next] (vendor.js? [sm]:6857)
at s (vendor.js? [sm]:765)
at i (vendor.js? [sm]:781)(env: macOS,mp,1.06.2412050; lib: 3.1.5)
修改js代码:
case 6:
c = n.sent, l = c.data;
// 安全访问 formatted_addresses 和 address
const result = l.result || {};
const formattedRecommend = result.formatted_addresses ? result.formatted_addresses.recommend : '';
const fallbackAddress = result.address || '';
u.maddress = t.address || formattedRecommend || fallbackAddress;
u.city = result.address_component ? result.address_component.city : t.city;
n.next = 14;
break;
在app.json添加:
"requiredPrivateInfos": [
"getLocation"
],
wss连接成功;需要服务器放行端口
在CentOS7中,若要通过防火墙放行wss(WebSocket Secure)的9875端口,可以使用以下命令:
1. 查看防火墙状态,确认防火墙正在运行:
firewall-cmd --state
如果输出为 `running`,说明防火墙正在运行
2. 放行9875端口,使用以下命令放行单个端口。Terminal中输入:
sudo firewall-cmd --permanent --zone=public --add-port=9875/tcp
这里的 `--permanent` 参数意味着更改将持久化,即使重启系统也不会失效。`--zone=public` 指定了要更改的防火墙区域(通常为public),而 `--add-port=9875/tcp` 指定了要放行的端口及其协议
3. 重载防火墙以应用更改,更改防火墙规则后,需要重载firewalld服务以应用更改:
sudo firewall-cmd --reload
该命令并不会导致现有连接中断,即不丢失状态信息
4. 查看已放行的端口,可以使用以下命令查看所有区域的防火墙规则,确认端口是否已成功放行:
sudo firewall-cmd --list-all
如果在输出中看到 `ports: 9875/tcp`,则说明端口已成功放行