1. <thead id="8qdxw"></thead>

      返回舊版| 微信建站| 建站之家論壇| 我要建站 | 建站學習 | 加入收藏
      百度小程序當前位置:首頁 > cms教程 > 百度小程序 > 正文

      百度小程序開發常見問題匯總

      發布時間:2018-10-19 16:15:04   來源:   點擊:
      因為百度小程序和微信小程序代碼幾乎通用,所以很多人都是直接拿微信小程序的代碼直接修改成百度的,比如微信的:wx:for、wx:if,wx:key改成對應的s-for、s-if、s-for-index等等,如果小程序沒有太復雜的功能,修改完這些基本可以通用。

      但是,一般你是用不了的,因為百度小程序有很多奇葩的地方,下面是我開發百度小程序踩過的坑,看看你有沒有遇到過。

      (1)json對象和對象字面量
      百度小程序引入對象字面量的的調用方式,舉例:
      1. list:[{"id":"95","catid":"28","typeid":"0"}, 
      2. {"id":"94","catid":"28","typeid":"0"}, 
      3. {"id":"93","catid":"28","typeid":"0"}] 
      如果正常的循環微信和百度是一樣的,但是如果通過模板template的方式來傳值,則出現不同,
      微信調用為:<template is="list_1" data="{{list}}"/> 并且is="list_1"可以動態指定,比如你可以寫成:<template is="list_{{list_type}}" data="{{list}}"/>這樣我可以隨意指定調用某個模板;但是百度小程序就不行了,百度調用則為:<template is="list_1" data="{{ {list} }}"/> 并且is="list_1"必須固定死,不允許動態改變,
      關于何時使用三個大括號還是兩個,官網有說明,可以仔細體會一下:
      https://smartprogram.baidu.com/docs/develop/framework/view_data/

      (2)某些函數的命名
      我在做列表頁的時候,用的tab切換,需要實時調用不同的分類,所以封裝一個函數為:getData。微信用的也是這個,一切正常,百度死活不出來內容,后來改成getInfo,發現竟然可以了.....,所以我不得不懷疑有某些函數不能用,同樣還有:openLocation,不知道這算不算bug

      (3)模板引入公共頁面
      比如引入公共頭部
      按理說我直接把頭部要呈現的數據直接在header/header/下的header.js中賦值即可,這樣我每個頁面調用,就不需要重復賦值了,但是不行,你調用一次就得在每個頁面中重新賦值一次,所以感覺這個功能很雞肋了,為什么不能一次性賦值,全站通用呢?

      (4)默認css問題

      用小程序demo提供的框架css,即app.css,真是坑壞了,竟然默認使用box-sizing: border-box,即IE怪異盒模型,造成原來樣式很多不能用,差點沒有大改,建議都改成:box-sizing: content-box或者直接廢棄不用。

      (5)swan.request請求返回整形bug問題(其實不能算bug)
      最近做一個提交表單,本地測試一點問題沒有,但是只要真機預覽,表單死活無法提交,打印fail錯誤,提示:Value 1 of type java.lang.Integer cannot be converted to JSONObject。

      剛開始一直是以為表單傳值有問題,各種修改post,get來回切換,然后又在api接口上頻繁修改,一直提示這個錯誤,,后來不經意才發現,是我返回值的問題,我本意是只需要返回0或1,通知小程序提交表單是成功還是失敗,所以我只記echo 1或0了,本地測試毫無問題,沒想到真機不認,所以只能改成
      1. $a['status'] = "succ"
      2. echo json_encode($a); 
      無語中...,表示在這調試了一天,竟然因為這....

      (6)百度小程序的兼容問題
      百度小程序目前兼容性還是比較差的,并且他們官方審核還經常審核這些兼容性,比如map組件,蘋果6s系統顯示空白,另外建議前端塊與塊直接用一個clear:both清楚一些浮動。

      (7)百度和微信的部分api的差異
      百度不支持的:showShareMenu、setData(data, function)(百度小程序不支持function回調函數)
      更多正在整理中


      (8)百度開發者工具
      和微信開發者工具比較,百度做的真心粗糙,如果這不值當的吐槽,那么他的編譯和預覽我必須吐槽了。
      每次打開開發者工具,先來個大黑屏,開始編譯,為什么不搞成自動后臺編譯的?
      預覽,這個讓人頭痛的預覽,一個幾百K的小程序,每次預覽,等待他編譯生成二維碼,至少需要1分鐘;就像我調試上面第5個問題的時候,不知道等了多少個1分鐘,浪費了多少時間,敢不敢快點編譯呢?
      另外,真機預覽我始終沒調試成功,有成功的小伙伴能教教我么?

      (9)百度審核人員
      百度審核人員是目前上線小程序的一個大的攔路虎,各種挑刺,各種平臺測試兼容性,當然嚴格一點是好事,可是您為什么不能大肚量一點,為什么不允許我的小程序出現其他小程序開發呢?





      版權所有:鄭州騰石網絡科技有限公司 備案信息:豫ICP備18019117號
      站長QQ:2863868475 業務合作咨詢:15137100750(同微信)
      本站所有投放的廣告是有其他網站提供,不代表本站立場,同時網站首頁廣告位對外出租詳情咨詢本站站長!同時歡迎廣大站長加入個人建站團隊
      • 建站客服
      • CMS仿站
      • CMS學習
      • 技術交流群:336572814
      福彩开奖