需求:例如后台管理系统获取小程序文章详情页分享给用户,用户可扫描二维码直接打开浏览
平台:后台
1、调接口获取ACCESS_TOKEN
2、https调用
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
3、参数详见官方文档
4、请求
请求成功返回的为文件流形式而非url,可下载
//1、先获取重要参数access_token
getAccessTokens() {
getAccessToken({}).then(res => { //自己封装的,可根据自己的axios代码获取
this.accessTokens = res.access_token
})
},
//2、根据自己的逻辑调用获取
homeCode(row) {
let params = {
"page": `pages/doctors/detail`, //小程序页面路径
"scene": row.id, //携带参数
"check_path": true, //检查page 是否存在
// "env_version": "develop", //环境
}
//let url = `/wxa/getwxacodeunlimit?access_token=${this.accessTokens}` 因为跨域问题在vue.config.js中做了代理
let url = `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${this.accessTokens}`
axios({
method: 'post',
url: url,
data: params,
"check_path": true,
responseType: 'arraybuffer',
headers: {
}
}).then(res => {
const blob = new Blob([res.data])
const link = document.createElement('a')
link.download = '文件名称.png'
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
document.body.appendChild(link)
link.click()
URL.revokeObjectURL(link.href)
document.body.removeChild(link)
})
}