<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      一些H5對接微信JSSDK的問題記錄

      這里給大家分享我在實(shí)際生活中總結(jié)出來的一些知識(shí),希望對大家有所幫助

      一.SDK引入

      這里提供兩套引入流程,一套是vue2.0及其他h5項(xiàng)目,一套是vue3.0的引入流程

      不懂的也可以看我之前的一篇詳細(xì)流程

      記錄--微信調(diào)用jssdk全流程詳解

      1.js引入

      直接在你的頁面里引入js文件就行

      <script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>

      2.weixin-js-sdk引入

      先調(diào)用全局命令

      npm install weixin-js-sdk

      然后修改main.js,加上以上代碼

      import wx from "weixin-js-sdk"
      import {
      	createSSRApp
      } from 'vue'
      export function createApp() {
      	const app = createSSRApp(App)
      	app.config.globalProperties.$wx=wx;
      	return {
      		app
      	}
      }

      之后在調(diào)用的頁面直接$wx引入就行了

      二.代碼引用流程

      基礎(chǔ)代碼引用邏輯如下,需要我們在jsApiList中添加我們要的權(quán)限,然后調(diào)用對應(yīng)的wx接口,這里以定位權(quán)限為例

      var wxNavigation = (data) => {
      	return new Promise((resolve, reject) => {
      		wx.config({
      			debug: false, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會(huì)通過log打出,僅在pc端時(shí)才會(huì)打印。
      			appId: data.appId, // 必填,公眾號的唯一標(biāo)識(shí)
      			timestamp: data.timestamp, // 必填,生成簽名的時(shí)間戳
      			nonceStr: data.nonceStr, // 必填,生成簽名的隨機(jī)串
      			signature: data.signature, // 必填,簽名
      			jsApiList: ["getLocation"],// 必填,需要使用的JS接口列表
      		});
      		wx.ready(() => {
      			wx.getLocation({
      				type: "gcj02", // 默認(rèn)為wgs84的gps坐標(biāo),如果要返回直接給openLocation用的火星坐標(biāo),可傳入'gcj02'
      				success: function(res) {
      					resolve({
      						bor: true,
      						data: res,
      					});
      				},
      			});
      		});
      	});
      };
      

       三,報(bào)錯(cuò)處理

      這里分享三個(gè)我經(jīng)常遇到的報(bào)錯(cuò)

      1.xxxx: the permission value is offline verifying

      這個(gè)報(bào)錯(cuò)是最常見的,是因?yàn)?config 沒有正確執(zhí)行,或者是調(diào)用的 JSAPI 沒有傳入 config 的jsApiList參數(shù)中。建議按如下順序檢查:

      確認(rèn) config 正確通過。
      如果是在頁面加載好時(shí)就調(diào)用了JSAPI,則必須寫在wx.ready的回調(diào)中。
      確認(rèn) config 的jsApiList參數(shù)包含了這個(gè)JSAPI。

      2.開發(fā)者工具config:ok 手機(jī)getLocation:invalid signature?

      這個(gè)是在調(diào)用getLocation,wxOpenLocation等定位,打開導(dǎo)航類型的接口時(shí)會(huì)出現(xiàn)的問題,原因就是接口權(quán)限比較高,如果換頁面調(diào)用了,沒有請求當(dāng)前頁面的url,就會(huì)導(dǎo)致invalid signature,一般是要重新請求一次jsSDK就沒問題了,這里提供我的兩套思路

      getLocation

      問題描述和解析

      ios使用微信自帶方法wx.getLocation調(diào)取用戶地理位置,會(huì)直接走err,輸出報(bào)錯(cuò)是“‘getLocation:invalid signature’”
      
      但是安卓機(jī)就沒這個(gè)問題。
      
      我看有人說
      調(diào)接口獲取wx.config配置所需參數(shù)的入?yún)ⅲ撁媛窂剑?ios沒有獲取到最新的
      于是我在app.vue里進(jìn)入頁面時(shí),將當(dāng)前的路徑緩存起來,在自己掉位置的頁面里使用。
      但是解決不了我的問題
      
      后來我看到了網(wǎng)上說ios刷新就能成功,我就測試了一下 ,果然是可以調(diào)用成功了!!!
      然后也百度了好多,說是這個(gè)是ios本身就有這個(gè)問題。
      
      最后在wx.ready里加了一個(gè)刷新一次頁面的方法,就沒問題了

      代碼思路:

        wx.config({
      				debug: false,
      				appId: data.appId,
      				timestamp: data.timestamp,
      				nonceStr: data.nonceStr,
      				signature: data.signature,
      				jsApiList: ["getLocation", "openLocation"],
      			});
      			wx.ready(() => {
      				wx.getLocation({
      					type: type, // 默認(rèn)為wgs84的gps坐標(biāo),如果要返回直接給openLocation用的火星坐標(biāo),可傳入'gcj02'
      					success: function(res) {
      						
      					},
      					fail: function(err) {
      						const u = navigator.userAgent;
      						const iOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
      						if (iOS) {
      							window.location.reload();
      						}
      						console.log('返回默認(rèn)地址')
      						
      					},
      				});
      			});

       wxOpenLocation

      問題描述

      在調(diào)用了wxopenlocation時(shí),調(diào)試返回結(jié)果正常,但是就是打不開地圖,一般是經(jīng)緯度沒有使用浮點(diǎn)類型,如果使用了后還出現(xiàn)這個(gè)問題,就需要我們在調(diào)用時(shí)用延時(shí)調(diào)用,來防止我們的代碼在內(nèi)存運(yùn)行的時(shí)候反應(yīng)不過來

       代碼思路

      var wxOpenLocation = (data, locationObj) => {
      	wx.config({
      		debug: false, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會(huì)通過log打出,僅在pc端時(shí)才會(huì)打印。
      		appId: data.appId, // 必填,公眾號的唯一標(biāo)識(shí)
      		timestamp: data.timestamp, // 必填,生成簽名的時(shí)間戳
      		nonceStr: data.nonceStr, // 必填,生成簽名的隨機(jī)串
      		signature: data.signature, // 必填,簽名
      		jsApiList: ['openLocation'], // 必填,需要使用的JS接口列表
      	});
      	wx.ready(() => {
      		setTimeout(() => {
      			wx.openLocation(locationObj);
      		}, 500)
      	});
      };

       3.禁止分享代碼失效

      問題描述

      在我們需要讓全局的所有頁面禁止微信復(fù)制,分享朋友圈等功能時(shí),莫名奇妙刷新后就又可以分享了,這里提供我的解決方案,在main.js或所有頁面的初始化文件中調(diào)用以下代碼,直接去除微信分享類目的所有功能

       代碼思路

      const hideShare = (data)=>{
      	return new Promise((resolve, reject) => {
      		wx.config({
      			// debug: true,
      			appId: data.appId,
      			timestamp: data.timestamp,
      			nonceStr: data.nonceStr,
      			signature: data.signature,
      			jsApiList: ['hideOptionMenu','hideAllNonBaseMenuItem','hideMenuItems'],
      		});
      		wx.ready(() => {
      			wx.hideOptionMenu();
      			wx.hideAllNonBaseMenuItem();
      			wx.hideMenuItems({// 要隱藏的菜單項(xiàng),只能隱藏“傳播類”和“保護(hù)類”按鈕,所有menu項(xiàng)見附錄3
      				menuList: [
      					'menuItem:share:appMessage', //發(fā)送給朋友
      					'menuItem:share:timeline', //分享到朋友圈
      					'menuItem:copyUrl' //復(fù)制鏈接
      				]
      			})
      		});
      	});
      }

      以上就是我在對接微信JSSDK中碰到的一些問題,如果對您有所幫助,歡迎您點(diǎn)個(gè)關(guān)注,我會(huì)定時(shí)更新技術(shù)文檔,大家一起討論學(xué)習(xí),一起進(jìn)步。

       

      posted @ 2023-09-21 18:02  林恒  閱讀(1122)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 欧美精品国产综合久久| 国产精品一区二区三区卡| 亚洲精品第一区二区三区| 亚洲a免费| 亚洲中文字幕精品一区二区三区| 久久人人97超碰精品| 中国熟妇牲交视频| 免费观看全黄做爰大片| 精品综合一区二区三区四区| 国产精品国产三级在线专区| 日本高清久久一区二区三区| 色爱综合另类图片av| 国产精品午夜福利片国产| 国内精品久久人妻无码不卡| 灵武市| 婷婷亚洲综合五月天小说| 人妻中文字幕不卡精品| 色老99久久九九爱精品| 无码人妻斩一区二区三区| 福建省| 婷婷开心深爱五月天播播| 亚洲国产天堂一区二区三区| 国内不卡不区二区三区| 亚洲AV成人片在线观看| 青青国产揄拍视频| 在线播放免费人成毛片| 国产一区二区av天堂热| 一亚洲一区二区中文字幕| 亚洲第一二三区日韩国产| 免费看欧美日韩一区二区三区| 亚洲国产性夜夜综合| 国产激情艳情在线看视频| 日本偷拍自影像视频久久| 中文字幕人妻日韩精品| 精品人妻av区乱码| 国产福利在线观看免费第一福利| 在线看av一区二区三区| 国内少妇人妻偷人精品视频| 麻豆亚洲精品一区二区| 欧美丰满熟妇性xxxx| 久久久久中文伊人久久久|