本文以vue2项目为参考,实现浙里办对接适老化。可以参考引入适老化的方法设置导航栏标题、展示蒙版、分享、获取设备Id、发送短信、获取地理位置也就是经纬度、调用支付、保存图片、获取剪切板内容等等。 1.引入适老化js文件
<script type="text/javascript" src="//assets.zjzwfw.gov.cn/assets/ZWJSBridge/1.1.0/zwjsbridge.js"></script>
在public中的index页面引入上述js文件,即可调用浙里办提供的api
- 在app.vue文件中初始化,onReady是获取这里api的初始接口,一定要初始化之后才可以调用其他的功能接口哦!
ZWJSBridge.onReady(() => {
console.log('初始化完成后,执行bridge方法')
})
在这里可能会报ZWJSBridge is undefined,可以把ZWJSBridge用Window表示,不会影响功能。因为引入的js方法会暴露在Window中,因此调用window.ZWJSBridge实际上就是调用引入的ZWJSBridge方法。
const ZWJSBridge = window.ZWJSBridge
接下来调用获取浙里办适老化参数,getUiStyle是浙里办获取适老参数的接口。result.uiStyle的值为“elder”时为开启适老模式,否则可以视为正常模式,注意当该接口获取异常时推荐按正常模式处理,因为一般都是开启正常模式的。
ZWJSBridge.getUiStyle().then((result) => {
if (result.uiStyle === 'elder') {
console.log('elder')
//适老模式
} else {
console.log('normal')
//正常模式
}
})
关于适老模式的页面样式,可以通过不同的class编写不同的样式,也可以通过调整px转rem的基来实现放大效果,要放大把baseSize增大即可,返回原样baseSize不传递参数。但是这种处理方式需要在页面大小、间距调整单位是px的情况下才可以使用。
setRem(baseSize = 37.5) {
// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
const scale = document.documentElement.clientWidth / 375;
// 设置页面根节点字体大小
document.documentElement.style.fontSize =baseSize * Math.min(scale, 2) + "px";
}