微信js 接口 无法拉起,报错 invalid url domain
排查原因 1.从问题本质找问题。 查看 公众号后台配置中是否配置了你的域名。包含了3中类型。 一般拉不起来都是 js 安全域名的问题。 如果二级域名太多,就添加一级域名就好了。 比如 a.stuyun.cn 可以添加 stuyun.cn 注意:切记不要带着 http:// https:// 。如果有,去掉后再次尝试。
2.一般后台配置的没问题,代码中就不可能出现问题。当然也有二般情况。请看下方。 流程 打开页面的时候 就要把你需要的js 功能点 放入 jsApiList。 点击某一个功能的时候,然后拉起相关的操作。
// 获取微信配置参数
getWechatConfig() {
// 请求参数 hosid this.getUrl() 这个方法 很关键 请看下方方法
let hosId = “”****“”
ScanCodeService.getWeiXinJsConfig(hosId, this.getUrl()).then(result => {
if (result && result.data) {
let config = {
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: result.data.appId, // 必填,公众号的唯一标识
timestamp: result.data.timestamp, // 必填,生成签名的时间戳
nonceStr: result.data.noncestr, // 必填,生成签名的随机串
signature: result.data.signature, // 必填,签名,见附录1
jsApiList: ['openLocation'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 用什么 写什么 我这里是地图
};
/*eslint-disable*/
wx.config(config);
/*eslint-enable*/
}
});
}
// 这里就按我这样写,保证没有问题
getUrl() {
let href = window.location.href;
let i = href.indexOf('#');
let base = i >= 0 ? href.slice(0, i) : href;
return base;
},
//点击某一个地方的时候,这里就是具体功能点的时候 附带上方法我这里是调取的后端接口然后拉去的经纬度 下方会提供 java 后台方法 openMap 你页面上的点击事件 调用的方法
openMap(order) {
// 通过地址位置 找到 经纬度
var param = {
'address': '山东省济南市浪潮路',
'output': 'json'
};
GeneService.getAddressJWD(param).then((result) => {
var data = result.data;
console.log(data.lat);
let mapData = {
// 目的地latitude
latitude: data.lat,
// 目的地longitude
longitude: data.lng,
name: order.orderReservePerson,
address: order.orderReserveAddress,
// 地图缩放大小,可根据情况具体调整
scale: 15
};
// 打开地图
/*eslint-disable*/
wx.openLocation(mapData);
/*eslint-enable*/
});
}
```