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