美文网首页
16.百度小程序遇到的问题

16.百度小程序遇到的问题

作者: jqClub | 来源:发表于2018-12-06 10:49 被阅读0次

    总的来说,百度小程序和微信小程序的差别不是很大,下面根据自己开发项目中碰到的问题,做一点总结

    1.html文件相关

    1. .html文件名字,改成.swan(页面中组件的html文件也要改)
    尽量不要使用组件,在低版本库(已知1.10.37,百度app10.10)中,会报错,导致无法调用,
    因为这个问题,被拒了几次。如果必须要用,建议提高基础库的版本
    
    2.这个是html页面中标签的问题
    微信小程序 wx:for wx:if
    百度小程序 s-for="imgUrl in imgs"  s-if
    一键将文件中的wx:替换成s-
    
    3.百度s-for和s-if不能用在同一行,微信那边没有限制
    

    2.css相关

    1.wxss文件加改成.css后缀--可以使用rpx单位和vw
    

    3.api相关

    1.api接口,由wx改成swan,有些api的参数可能会有改变,需要在用到的时候,进行相应的修改。
    比如下面的小程序跳转方法
    //上面的是微信的方法
    wx.navigateToMiniProgram
    //下面是百度的方法
    swan.navigateToSmartProgram({
    // 要打开的小程序 App Key---小程序的为appId: appid
        appKey: '4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c', 
    });
    并且百度小程序跳转的方法,可以直接调用api,而微信现在有限制(需要点击按钮)
    
    2.获取用户信息,可以直接调用api。而微信需要点击按钮
    
    3.需要使用swan.isLoginSync(),先判断是否有登录过
    需要先判断是否可用,因为百度可以不登录也可以玩,而微信必须要先强制登录。
    "这里可以先获取百度设备唯一的SwanID,然后先去登录"
    百度文档:https://smartprogram.baidu.com/docs/develop/api/open_userinfo/#getSwanId/
    
    4.分享的功能(获取自定义的属性有坑,开发工具上的和线上的返回不同),
    基础库不同的话,返回的不同,所以使用的下面方法
    另外分享有成功的回调(但是很鸡肋,因为根本无法判断分享到微信等第3方平台的回调,
    所以再给奖励的时候,加上次数的限制等),而微信那边现在拿不到成功的回调。
    // 10.30新增获取分享的类型
    var getShareType = function(e) {
        if(e.from == 'button' || e.from.from == 'button') {
                  //这里说明点击的是按钮,而不是右上角的默认分享
                  //然后再获取自定义属性
        }
    }
    
    5.音频播放,百度没有下面的方法
    wx.playVoice({})
    wx.playBackgroundAudio({})
    
    6.setInnerAudioContext修改:百度的使用innerAudioContext,无法切换音频
    处理方法:先在播放前销毁,再去设置新的src地址(微信的可以直接切换)
    不建议使用playBackgroundAudio,因为会在有些机型上继续轮播,而且在onload里无法关闭背景音乐
    
    7.在断网或特殊情况下,不建议使用reLaunch去重新加载首页,因为无法重新加载整个页面的,
    比如旋转图片,即有些接口无法继续调用。
    后来我直接使用下面的方法,重新去请求onload和onshow里的接口等
    that.onLoad()
    that.onShow()
    
    8.ad组件的使用,和微信相同,小程序可以使用ad组件,而小程序还可以使用视频广告
    需要注册百度mssp,然后去审核,通过后,复制代码即可使用(详见官网文档)
    官网:https://mssp.baidu.com/home
    <view style='position: relative; margin-top: 20rpx; width: 750rpx;height: 250rpx !important;'>
        <ad id="banner" appid="xxx" apid="xxx" aspect-ratio="7:3" class="ad" backend="bes" type="banner"></ad>
    </view>
    

    4.其他方面

    1.新增了一个总的文件pkginfo.json
    
    2.project.config.json改成project.swan.json
    
    3.需要使用腾讯统计,需要修改mta_analysis里的函数
    (直接全局修改wx.为swan.  就可以直接使用腾讯统计)
    

    备注:建议使用swan小程序搬家工具

    相关文章

      网友评论

          本文标题:16.百度小程序遇到的问题

          本文链接:https://www.haomeiwen.com/subject/ezlncqtx.html