背景
H5在微信里打开,然后直接唤起APP,为了解决deeplink 在安卓里不能直接唤起APP的问题
开发
前置接口请求
// WXOpenApp.js
import Jsonp from 'jsonp';
let wx = '';
if (process.client) {
wx = require('weixin-js-sdk');
}
class WXOpenApp {
constructor () {
this.url = 'https://xxx.xxxx.com/xxx/getSignPackage';
this.jsApiList = [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareQZone',
'onMenuShareWeibo',
'hideMenuItems',
'showMenuItems',
'hideAllNonBaseMenuItem',
'showAllNonBaseMenuItem',
'translateVoice',
'startRecord',
'stopRecord',
'onRecordEnd',
'playVoice',
'pauseVoice',
'stopVoice',
'uploadVoice',
'downloadVoice',
'chooseImage',
'previewImage',
'uploadImage',
'downloadImage',
'getNetworkType',
'openLocation',
'getLocation',
'hideOptionMenu',
'showOptionMenu',
'closeWindow',
'scanQRCode',
'chooseWXPay',
'openProductSpecificView',
'addCard',
'chooseCard',
'openCard'
];
}
init () {
if (wx) {
const $url = encodeURIComponent(location.href.split('#')[0]);
// 在服务器端实现签名的逻辑
Jsonp(`${
this.url}