微信js 接口 无法拉起,报错 invalid url domain,微信公众号拉起地图,包含获取火星坐标的办法。

微信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*/
    });
  }

java 后台 免费换取经纬度的方法

,这里面 有一个要求 必须是火星坐标,你就用我这个方法就可以。

HttpUtil 是 cn.hutool.http.HttpUtil 包下的,自己添加依赖就好。

@ApiOperation("地址查经纬度")
public Result getAddressInfo(@RequestParam @ApiParam(value = "地址", required = true) String address,
                             @RequestParam @ApiParam(value = "类型", required = true) String output) {
    Map map = new HashMap<>(2);
    map.put("address", address);
    map.put("output", output);
    String sendResult = HttpUtil.get("http://api.map.baidu.com/geocoder", map);
    JSONObject jsonObject = JSONObject.parseObject(sendResult);
    JSONObject jsonObject1 = (JSONObject) jsonObject.get("result");
    return Result.ok(jsonObject1.get("location"));

结束,有问题联系我。qq 1019011560 。


版权声明:本文为weixin_39793790原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。