前端的多端适配-硬件接口篇
我们在多端开发的时候经常会遇到硬件接口的坑,比方调用扫一扫。h5网页要扫一扫,小程序要扫一扫,app也要扫一扫。
我们 正常都是一边开发,一边h5端网页调试。但是h5端根本没有办法扫一扫啊?没有支付啊?没有gps定位啊?这个时候我们需要自己定义模拟方案,一般像uniapp有一些推荐方案,但是很多时候我们还是要自己动脑经,走出一条属于自己公司的技术方案。
比方扫一扫,h5端我就会是这样的

<view class="my_saoyisao_all" v-if="my_saoyisao_display==true"> <view class="my_saoyisao_body"> <view class="my_saoyisao_one" @click="saoyisao_shexiangtou()" v-if="in_app==true"> 摄像头扫码 </view> <view class="my_saoyisao_one" @click="saoyisao_wenjian()" style="background: #007AFF;"> 从文件扫码 </view> <view class="my_saoyisao_one" style="background: rgba(255,255,255,0.4); margin-top: 14vw;" @click="saoyisao_close()"> 取消 </view> </view> </view>
,saoyisao(success,fail)
{
if(!fail)
{
var fail=function(){
console.error('扫码出现异常');
}
}
//#ifdef H5
window.saoyisao_success=success;
this.saoyisao_open(success);
//#endif
//#ifndef H5
uni.scanCode({
success: function (res) {
if(res.result)
{
success(res.result);
}else{
fail();
}
},
fail:function(){
fail();
}
});
//#endif
}通过//#ifdef H5 //#endif 等等标记位控制每种平台的代码。
这些硬件接口,都可以写一个接口,甚至可以一个输入框,一个确定按钮,把需要模拟的数据提交过去也行。

