微信小程序转百度小程序修改

百度小程序很多兼容性问题已修复,具体细节请参考官方开发文档:https://smartprogram.baidu.com/docs/develop/fuctionlist/list/

——————————————————————————————

百度小程序对比微信小程序(最初版):
【设备】项里没有内存监控、iBeacon、wifi、蓝牙、用户截屏、手机联系人、NFC
【位置】项里没有打开地图选择位置
【界面】项里没有绘图功能、没有节点信息获取功能
无【第三方平台】项
【开放接口】没有获取用户手机信息接口、无access_token获取接口、没有模板消息、客服消息,无法通过代码控制分享菜单、没有卡券、运动、打开其他小程序或app功能、没有指纹识别、无图片安全检测、插件管理。
没有【数据】分析功能
没有版本【更新】监测
没有【监控】数据上报
没有【多线程】功能
没有【日志】管理功能

多了百度钱包支付、支付宝支付、聚合收银台支付
提供语音合成功能,将文本转换为可以播放的MP3文件
提供身份证识别功能


微信小程序转换为百度小程序:
.wxml 文件修改为 .swan 后缀,项目内引用 .wxml 的地方改为 .swan
.wxss 文件修改为 .css 后缀,项目内引用 .wxss 的地方改为 .css
wx:if="{{ xxx }}" 改为 s-if="xxx"
wx:elif="{{ xxx }}" 改为 s-elif="xxx"
wx:else 改为 s-else
wx:for="{{ xxx }} 改为 s-for="xxx"
wx:for-index 改为 s-for-index
wx:for-item 改为 s-for-item
wx:key 删除
bindtap 改为 bind:tap
import 绝对路径改为相对路径
wx. 调用接口更改为 swan.
<wxs> 改为 <filter>
如果 template 模板有调用 filter 的方法,则需要将 filter 标签放入 template 内,否则编译应用时会报错 "TypeError: Cannot read property 'split' of null"
向 template 传入的数据,所有以 'data' 为 key 的地方,包括组件模板里引用的地方,全部改成'compData'

分包路径去掉最后一层,例如下面当中最后一个"/page1":

{
    "root": "default",
    "pages": [
        "pages/page1/page1"
    ]
}


百度小程序开发者工具wx2swan
1、web-view组件上的 if 没有转换
2、.swan文件里 import 的路径需要改成相对路径
3、<wxs>需要转换成<filter>
4、如果 template 模板里有调用 filter 内的方法,则需要将 filter 标签在 template 内,否则编译应用时会报错 "TypeError: Cannot read property 'split' of null"

原文地址:https://www.cnblogs.com/AustinAn/p/9776897.html