方法一:調用微信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>