百度智能小程序簡介 官網(wǎng) 官方文檔
- 智能小程序是一種新的開放能力,開發(fā)者可以快速地開發(fā)一個(gè)智能小程序。通過搜索,用戶可以在手百 App 內(nèi)被便捷地獲取和傳播。
- 智能小程序現(xiàn)已經(jīng)進(jìn)入入駐申請階段,目前僅面向企業(yè)、政府、媒體及其它組織等非個(gè)人主體開放申請,個(gè)人開發(fā)者暫時(shí)無法申請。
由于百度智能小程序剛剛開放第三方申請。開發(fā)基礎(chǔ)設(shè)施與開發(fā)體驗(yàn)極度不理想,目前還沒有建立完善的社區(qū)體系。因此開發(fā)中遇到了問題大多靠自己分析,大部分是從微信小程序項(xiàng)目遷移至百度小程序遇到的,做了簡單的總結(jié)。
開發(fā)中問題匯總
- 整體與微信程序開發(fā)保持一致,相似性有90%以上
- 文檔、開發(fā)工具、框架設(shè)計(jì)、api接口均保持一致。即微信小程序可低成本遷移至百度小程序。對于某一具體功能開發(fā)具有相似性,可參考微信小程序邏輯。例如:登陸認(rèn)證、應(yīng)用授權(quán)等
- 開發(fā)上的區(qū)別(可全局替換)
- 文件后綴不同。例如:模版文件:
.wxml->.swan,樣式文件:.wxss->.css - 渲染時(shí)部分指令不同。例如:條件渲染:
wx:if->s-if等 - 全局接口調(diào)用對象不同。例如:
wx.xxx->swan.xxx
- 文件后綴不同。例如:模版文件:
- 由于模擬器IDE可以在未登錄時(shí)使用,應(yīng)該時(shí)刻注意,IDE的登陸狀態(tài)
- 例如:未登錄時(shí)會造成
swan.getUserInfo調(diào)用失敗。
- 例如:未登錄時(shí)會造成
-
div\p\ul\li\span\i等html標(biāo)簽,特殊情況- 模擬器調(diào)試面板
swan Tab中,會過濾掉這些標(biāo)簽。- 不能夠正常調(diào)試和查看
class樣式信息
- 不能夠正常調(diào)試和查看
- 這些標(biāo)簽不能綁定事件。例如
bindtap- 解決方案: 換成
<view>,<button>百度小程序支持的標(biāo)簽即可
- 解決方案: 換成
- 樣式文件不支持這些標(biāo)簽選擇器。但是使用class屬性可正常添加css樣式
-
.container ul li不能正常設(shè)置css樣式 - 解決方案: 渲染層可修改為
<ul class="ul"><li class="li"></li></ul>,css使用class選擇器.container .ul .li可正常設(shè)置樣式
-
- 模擬器調(diào)試面板
- 渲染組件時(shí)不能使用
<=字符串- 例如:
<div>{{ 1 <= 2 ? 'yes' : 'no' }}</div>,會導(dǎo)致渲染出現(xiàn)異常。ps: 我懷疑渲染內(nèi)部使用正則匹配,會匹配到<=這個(gè)關(guān)鍵字符串 - 解決方案:換成
大于 >即可
- 例如:
- 渲染組件,某一個(gè)屬性為對象時(shí),需要用
{{{}}}- 例如:
<template is="some-template" data="{{{...detail}}}" />
- 例如:
- 不支根據(jù)數(shù)據(jù)持動態(tài)引入
<template>- 例如: 聲明模版
<template is="template-1" >123</template>。應(yīng)用模版<template is="template-{{id}}" data="{{{...detail}}}" />, 當(dāng)id=1時(shí),不能正確引入template-1。但是如果直接寫死template-1可以直接引用。 - 解決方案: 可使用條件渲染動態(tài)引入模版。
<block s-if="{{ id == 1}}"><template is="template-1" data="{{{...detail}}}" /></block>
- 例如: 聲明模版
-
<live-player />不能正常播放.m3u8格式視頻- 目前正在尋找原因
- 解決方案: 使用
<video>代替即可
-
<cover-view>模擬器盒模型異常異常,但是真機(jī)預(yù)覽支持。- 例如:
overflow:hidden;display:inline-block;max-width:100rpx等屬性無效。即不能根據(jù)內(nèi)容撐開寬度,或者折疊文字,只可以設(shè)置固定寬度,默認(rèn)是'block'。
- 例如:
-
<cover-image>在地圖上顯示不出來,在模擬器上可以。- 解決方案: 坐等官方修復(fù)
- 自定義組件不能2層嵌套
<template>- 解決方案: 外層嵌套一個(gè)
<slot>標(biāo)簽
- 解決方案: 外層嵌套一個(gè)
相關(guān)資源
百度小程序開發(fā)資源匯總 目前暫不完善
wx2rm 微信小程序項(xiàng)目轉(zhuǎn)換為百度小程序的工具
-
taro 框架已經(jīng)支持百度小程序
-
第三方百度智能小程序開發(fā)微信群(掃描小程序二維碼加群)
如有錯(cuò)誤或者紕漏歡迎評論區(qū)指正,有任何問題可評論區(qū)或者微信群討論。

