热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信民众号页面(VUE)中怎样设置微信JSSDK和高德舆图,以及碰到的一些问题纪录

1.装置并引入JS-SDK依靠包这里是JS-SDK申明文档1.1npm下载依靠包npminstallweixin-js-sdk--save1.2.在须要用到jssdk的模块引入im

1.装置并引入JS-SDK依靠包

这里是JS-SDK申明文档

1.1 npm 下载依靠包

npm install weixin-js-sdk --save

1.2.在须要用到jssdk的模块引入

import wx from 'weixin-js-sdk';

1.3.搜检是不是引入胜利,能够在引入的模块mounted中实行

console.log(wx)

{config: ƒ, ready: ƒ, error: ƒ, checkJsApi: ƒ, onMenuShareTimeline: ƒ, …}

addCard: ƒ (e)

checkJsApi: ƒ (e)

chooseCard: ƒ (e)

chooseImage: ƒ (e)

chooseWXPay: ƒ (e)

…

控制台显现以上代码示意引入胜利.

2.设置微信JS-SDK

一切须要运用JS-SDK的页面必须先注入设置信息,否则将没法挪用

wx.config({
debug: true, // 开启调试形式,挪用的一切api的返回值会在客户端alert出来,若要检察传入的参数,能够在pc端翻开,参数信息会经由过程log打出,仅在pc端时才会打印。
appId: '', // 必填,民众号的唯一标识,治理民众号页面能够猎取
timestamp: '', // 必填,天生署名的时刻戳,背景返回
nonceStr: '', // 必填,天生署名的随机串,背景返回
signature: '',// 必填,署名,背景返回
jsApiList: ['openLocation','getLocation'] // 必填,须要运用的JS接口列表,写入本身用到的接口称号
});

然后守候设置完成后,在ready中运用微信供应的API

wx.ready(function(){
wx.getLocation({
type: 'wgs84', // 默以为wgs84的gps坐标,假如要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,局限为90 ~ -90
var lOngitude= res.longitude; // 经度,浮点数,局限为180 ~ -180。
var speed = res.speed; // 速率,以米/每秒计
var accuracy = res.accuracy; // 位置精度

}
});
})

坑1: config:invalid signature 设置报错;

起首我们不能用chorme来调试这个config,没有任何回响反映
然后网上种种搜基础能够确实是URL的题目

微信划定 署名的URL要与当前页面URL一致!

处理方案看这个题目,将此页面的URL 动态送给背景,天生署名.

坑2 安卓和IOS猎取URL的差别致使注册报错

安卓能够直接在网页中这么猎取当前URL:

location.href.split('#')[0]

IOS就不可,你只能猎取到你刚进入页面的URL;
处理的思绪大概是
1.起首要推断是不是是IOS体系
2.假如是IOS 我们缓存一个进口URL然后注册,假如不是IOS直接运用location.href.split(‘#’)[0]URL举行注册

---config.js 全局定义一个变量
global.entryUrl = location.href.split('#')[0];

伪代码以下:

mounted(){
let url;
if (publicFun.isIOS()) {//推断是不是是IOS
url = this.PUBLICCONFIG.entryUrl;
} else {
url = location.href.split('#')[0];
}
//传参给背景 猎取 appId/timestamp/nonceStr/signature
api.getJsConfig({
"url":url
},{
success:function (res) {
//猎取参数胜利后设置
wx.config({
debug: true,
appId: res.data.appId,
timestamp:res.data.timestamp ,
nonceStr:res.data.nonceStr,
signature: res.data.signature,
jsApiList: ['openLocation','getLocation']
});
}
})
//微信设置胜利
wx.ready(function(){
console.log("设置胜利")
wx.getLocation({
type: 'wgs84',
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,局限为90 ~ -90
var lOngitude= res.longitude; // 经度,浮点数,局限为180 ~ -180。
var speed = res.speed; // 速率,以米/每秒计
var accuracy = res.accuracy; // 位置精度
console.log(latitude);
this.latitude = latitude
}
});
})
// config信息考证失利会实行error函数,如署名逾期致使考证失利,详细毛病信息能够翻开config的debug形式检察,也能够在返回的res参数中检察,关于SPA能够在这里更新署名。
wx.error(function(res){

});

}

坑3:须要定时挪用微信的API接口,设置定时无效(这个题目能够很傻)

一切接口挪用都必须在config接口取得效果以后,config是一个客户端的异步操纵

因而我们须要将定时 写在wx.ready 要领内里,而不须要每次挪用微信API的时刻 wx.config一次.

wx.config({
//设置
})
wx.ready({
//放到这里 是能够滴
setInterval(timer,5000)
})

3.运用高德舆图

高德舆图API文档

3.1注册高德并请求Key

  1. 起首,注册开发者账号,成为高德开放平台开发者
  2. 上岸以后,在进入「运用治理」 页面「建立新运用」
  3. 为运用增加 Key,「效劳平台」一项请挑选「 Web 端 ( JSAPI ) 」

3.2 在项目index.html中引入高德剧本标签

3.3建立一个高德舆图的实例

建立一个容器,给一个ID名字

给容器加一个款式

.page-location-map{
width: 100%;
height: 100%;
}

在组将mounted要领中建立舆图实例

let Map = new AMap.Map('map', {
zoom: 11,//级别
center: [116.397428, 39.90923],//中心点坐标
viewMode: '3D' //运用3D视图
})

运转项目后,你就会看到一个北京天安门的舆图了.接下来你应当晓得怎样做了 对吧?

参考

1.
vue-router的history形式在IOS微信分享下url稳定的坑以及处理办法

2.
微信民众平台, config:invalid signature一向爆这个毛病,讨教怎样处理?


推荐阅读
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • 玩转直播系列之消息模块演进(3)
    一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的 ... [详细]
  • 起因由于我录制过一个小程序的课程,里面有消息模板的讲解。最近有几位同学反馈官方要取消消息模板,使用订阅消息。为了方便大家容易学 PythonFlask构建微信小程序订餐系统 课程。 ... [详细]
  • 生产环境下JVM调优参数的设置实例
     正文前先来一波福利推荐: 福利一:百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。福利二 ... [详细]
  • 微信公众平台上的人脸识别
    微信公众平台上的人脸识别微信公众平台消息接口开发(20)人脸识别微信公众平台图片人脸识别作者:http:www.cnblogs.comtxw1958 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 工作用可能会用到会话分组:Message是消息实体对象,里面有toId和fromId指明接收方ID和发送方Id,通过组合形式“12-22-”为map的key其中Mess ... [详细]
  • TableAPI报一下异常:FieldtypesofqueryresultandregisteredTableSink
    报错信息如下:Exceptioninthread“main”org.apache.flink.table.api.ValidationException:Fieldtypesofq ... [详细]
  • java开发公众号,java自学网公众号
    本文目录一览:1、JAVA微信公众号开发回复消息能回复多条吗?具体怎么代码实现? ... [详细]
  • kafka教程基本概念
    kafka教程基本概念 ... [详细]
author-avatar
377926138_b741aa
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有