<!--env-version 正式版release、开发版develop、体验版trial-->
<wx-open-launch-weapp
id="launch-btn"
username=""
:path="`/pages/download/index?url=${encodeURIComponent(url)}`"
env-version="develop"
@launch="handleLaunchFn"
@error="handleErrorFn"
style="display: inline-block; width: 100%;height: 100%;opacity: 0; position: absolute; top: 0;"
>
<script v-is="'script'" type="text/wxtag-template">
<style v-is="'style'">
.btn {
width: 100%;
height: 100%;
}
</style>
<button class="btn">跳转</button>
</script>
</wx-open-launch-weapp>
if (window.navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1) {
WxConfig.initConfig();
// 微信公众号
this.browser = 'minih5';
}
/* eslint-disable */
import request from '@/axios/request';
export default {
initConfig: function () {
var api = '签名接口'; // 接口地址
var url = window.location.href;
request({
url: api,
method: 'post',
data: url,
}).then((res) => {
var getMsg = res.data;
wx.config({
debug: false, // 生产环境需要关闭debug模式
appId: getMsg.appId, // appId通过微信服务号后台查看
timestamp: getMsg.timestamp, // 生成签名的时间戳
nonceStr: getMsg.nonceStr, // 生成签名的随机字符串
signature: getMsg.signature, // 签名
jsApiList: ['chooseImage', 'getLocalImgData'],
openTagList: ['wx-open-launch-weapp']
});
})
},
wxShowMenu: function () {
var api = '签名接口'; // 接口地址
var url = window.location.href;
request({
url: api,
method: 'post',
data: url,
}).then((res) => {
var getMsg = res.data;
getMsg.title = '标题';
getMsg.desc = '描述';
getMsg.imgUrl = '';
wx.config({
debug: false, // 生产环境需要关闭debug模式
appId: getMsg.appId, // appId通过微信服务号后台查看
timestamp: getMsg.timestamp, // 生成签名的时间戳
nonceStr: getMsg.nonceStr, // 生成签名的随机字符串
signature: getMsg.signature, // 签名
jsApiList: [
// 需要调用的JS接口列表
'onMenuShareAppMessage', // 分享给好友
'onMenuShareTimeline', // 分享到朋友圈
'showMenuItems',
'hideMenuItems',
],
});
wx.ready(function() {
// config信息验证后会执行 ready 方法,所有接口调用都必须在 config 接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,
// 则须把相关接口放在 ready 函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在 ready 函数中。
wx.checkJsApi({
jsApiList: ['showMenuItems'], // 分享到朋友圈,
success: function (res) {
wx.showMenuItems({
menuList: [
'menuItem: share:appMessage', // 发送给朋友
'menuItem: share:timeline', // 分享到朋友圈
],
});
},
});
wx.onMenuShareAppMessage({
title: getMsg.title, // 分享标题
desc: getMsg.desc, // 分享描述
link: getMsg.url, // 分享链接, 一定要获取当前页面的Url
imgUrl: getMsg.imgUrl, // 分享图标
});
wx.onMenuShareTimeline({
title: getMsg.title, // 分享标题
link: getMsg.url, // 分享链接
imgUrl: getMsg.imgUrl, // 分享图标
});
});
wx.error(function(res) {
// config信息验证失败会执行 error 函数,如签名过期导致验证失败,具体错误信息可以打开 config 的debug模式查看,
// 也可以在返回的 res 参数中查看,对于 SPA 可以在这里更新签名。
console.log(res);
});
});
},
};
<template>
</template>
<script>
import { baseUrl } from '@/common/config';
export default {
name: "index",
data() {
return {
};
},
onHide() {
wx.hideLoading();
uni.navigateBack();
},
onLoad(o) {
const url = o.url;
if (url) {
wx.showLoading({
title: '文件加载中...',
})
wx.downloadFile({
url: baseUrl + '/api/app/certification/read?url=' + decodeURIComponent(url),
success (res) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
if (res.statusCode === 200) {
var filePath = res.tempFilePath;
wx.openDocument({
showMenu: true,
filePath: filePath,
fileType: 'pdf',
success: function (res) {
console.log('打开文档成功')
},
fail(err) {
console.log('download err: ', err);
}
})
}
},
fail(err) {
console.log('download err: ', err);
}
})
}
},
}
</script>
<style scoped>
</style>
H5跳转到小程序
最新推荐文章于 2024-06-30 00:09:04 发布