方法一:调用微信sdk
yarn add weixin-js-sdk
// main.js引入
import wx from 'weixin-js-sdk'
// App.vue
mounted () {
this.getSignature()
},
methods: {
async getSignature () {
try {
const res = await this.$http.get('/signature?url='+location.href.split('#')[0])
if (res.data) {
this.signatureParams = res.data
const { appId, nonceStr, signature, timestamp } = this.signatureParams
this.$wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId, // 必填,公众号的唯一标识
timestamp, // 必填,生成签名的时间戳
nonceStr, // 必填,生成签名的随机串
signature,// 必填,签名
jsApiList:[] // 必填,需要使用的JS接口列表
})
this.$wx.ready(() => {
this.$wx.invoke('setFontSizeCallback', {
fontSize: '2'
})
})
this.$wx.error(function(res) {
console.log('config error', res.errMsg)
})
}
} catch (e) {
console.log('error getSignature', e)
this.handleError()
}
}
}
方法二:
// ios
<style rel="stylesheet/less" >
body {
-webkit-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
-moz-text-size-adjust: 100% !important;
}
</style>
// 安卓禁止微信调整大小 index.html
<script type="text/javascript">
(function() {
if (typeof WeixinJSBridge == 'object' && typeof WeixinJSBridge.invoke == 'function') {
handleFontSize()
} else {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', handleFontSize, false)
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', handleFontSize)
document.attachEvent('onWeixinJSBridgeReady', handleFontSize)
}
}
function handleFontSize() {
// 设置网页字体为默认大小
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 2 })
// 重写设置网页字体大小的事件
WeixinJSBridge.on('menu:setfont', function() {
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 2 })
})
}
})()
</script>