微信小程序补天笔记
使用wepy開(kāi)發(fā)
小程序的組件修改不能出發(fā)頁(yè)面更新
需要在父級(jí)文件上保存下才會(huì)觸發(fā)
接口請(qǐng)求出現(xiàn)的問(wèn)題?
記得勾選調(diào)試開(kāi)發(fā)工具上 不校驗(yàn)合法域名
跳轉(zhuǎn)頁(yè)面不生效?
頁(yè)面棧最多支持5層,超過(guò)5層無(wú)法后退
navigateTo, redirectTo 只能打開(kāi)非 tabBar 頁(yè)面。
switchTab 只能打開(kāi) tabBar 頁(yè)面。
reLaunch 可以打開(kāi)任意頁(yè)面。
onload只會(huì)在頁(yè)面加載時(shí)候執(zhí)行,比如用navigateBack回到之前的頁(yè)面的時(shí)候,之前那個(gè)頁(yè)面不會(huì)再執(zhí)行onload,所以我們要觸發(fā)某些函數(shù)的時(shí)候,我們可以放在onshow里面,即使是navigateBack回來(lái)也會(huì)執(zhí)行
點(diǎn)擊用戶頭像跳轉(zhuǎn)頁(yè)面
open-data上面不能綁定事件,簡(jiǎn)單實(shí)現(xiàn)可以用navigator包裹open-data,不用寫js代碼即可實(shí)現(xiàn)點(diǎn)擊跳轉(zhuǎn)頁(yè)面。navigator相當(dāng)于html的a元素,默認(rèn)為inline,可修改display樣式為block
<navigator/> 組件屬性 openType。可選值 'navigate'、'redirect'、'switchTab',對(duì)應(yīng)于wx.navigateTo、wx.redirectTo、wx.switchTab的功能
需要在Page中添加onShareAppMessage方法,否則點(diǎn)右上角菜單不會(huì)出現(xiàn)轉(zhuǎn)發(fā)選項(xiàng)
除了右上角菜單外,可以使用open-type="share"的按鈕
可以通過(guò)onShareAppMessage的參數(shù)中的from字段區(qū)分事件來(lái)源是菜單menu還是按鈕button
通過(guò)onShareAppMessage方法返回的對(duì)象來(lái)定制轉(zhuǎn)發(fā)界面顯示的內(nèi)容
在原來(lái)的分享接口中,用戶發(fā)起分享動(dòng)作之后,可以通過(guò) success 、fail、complete等回調(diào)來(lái)判斷用戶是否完成了最后的分享動(dòng)作。老代碼也是分享成功的通過(guò)分享success回調(diào)函數(shù)內(nèi)打log的記錄。由于官方后來(lái)取消了這個(gè)功能,所以分享的打點(diǎn)要放到外面來(lái)。
canvas要進(jìn)行繪制,則canvas組件必須真實(shí)地被寫在頁(yè)面上,而且其wx:if不能為false。
canvas是原生組件,層級(jí)是最高的,所以頁(yè)面中z-index設(shè)置不生效。
于是把canvas放置在屏幕之外,如設(shè)置position:fixed;left:750rpx;
canvas的api,在頁(yè)面中,api的參數(shù)this不是必填的,在組件中就是必填的
在繪制canvas時(shí),由于draw是異步操作,需要把canvasToTempFilePath寫到draw成功的回調(diào)里(起初是繪制內(nèi)容少很快,用同步寫也不會(huì)出問(wèn)題)
繪制出來(lái)的圖片如果覺(jué)得有點(diǎn)糊,請(qǐng)?jiān)赾anvas中等比例放大繪制尺寸~
但是也不能太大,不然在安卓上會(huì)有bug(限制范圍貌似在2000px)。
tabBar的層級(jí)還是很高的,當(dāng)出現(xiàn)全屏蒙版彈窗時(shí),是無(wú)法蓋住tabBar的,
可以調(diào)用微信的hidetabbar,不過(guò)需要注意兼容低版本
測(cè)試部分
有些功能是版本限制的,開(kāi)發(fā)者工具的基礎(chǔ)庫(kù)版本可以調(diào)整,但是無(wú)法設(shè)置微信版本,還是需要真機(jī)。
掃秒新生成的二維碼會(huì)跳轉(zhuǎn)到線上的鏈接,
以前是測(cè)試的時(shí)候需要用微信開(kāi)發(fā)者工具來(lái)測(cè)試在編譯模式,把二維碼的具體信息添加進(jìn)去
在最新的開(kāi)發(fā)工具中,有一項(xiàng) 二維碼編譯 模式,解決了跳轉(zhuǎn)線上小程序鏈接的問(wèn)題
開(kāi)發(fā)者工具上看效果沒(méi)問(wèn)題,但是在真機(jī)上測(cè)試不行?
一般說(shuō)來(lái)都是真機(jī)緩存的影響,微信開(kāi)發(fā)者工具是可以一鍵清理全部緩存
安卓和ios的上一般都是刪除這個(gè)小程序(注意 不是刪除使用記錄)
再有就是,刪除完畢后可以進(jìn)入小程序的設(shè)置選項(xiàng)查看權(quán)限的開(kāi)關(guān)來(lái)確定是否真的完全清除。
如果清除緩存后還有問(wèn)題,這時(shí)候就需要使用vConsole了
開(kāi)發(fā)版和體驗(yàn)版可以點(diǎn)擊小程序頁(yè)面右上角的...按鈕打開(kāi)的菜單項(xiàng)“打開(kāi)調(diào)試”來(lái)開(kāi)啟 vConsole
正式版沒(méi)有“打開(kāi)調(diào)試”的菜單項(xiàng),可以先通過(guò)開(kāi)發(fā)版和體驗(yàn)版來(lái)開(kāi)啟 vConsole,然后再打開(kāi)正式版。
或者預(yù)埋一個(gè)隱藏操作,比如連續(xù)點(diǎn)擊某個(gè) Button 多次,然后調(diào)用 API 接口 wx.setEnableDebug 來(lái)打開(kāi)。
vConsole一般用來(lái)看有無(wú)報(bào)錯(cuò),如果是簡(jiǎn)單的問(wèn)題,咱們直接修改代碼就可以改好了了
復(fù)雜的情況還需要調(diào)試,手機(jī)畢竟看日志不方便,也不能斷點(diǎn)調(diào)試、修改樣式
此時(shí)需要借助遠(yuǎn)程調(diào)試來(lái)快速定位復(fù)雜問(wèn)題~
使用開(kāi)發(fā)者工具的遠(yuǎn)程調(diào)試窗口只要用手機(jī)掃一掃就可以連通手機(jī)和模擬器之間的數(shù)據(jù)鏈接,調(diào)試的上下文會(huì)自動(dòng)切換到 VM Context 1
發(fā)布部分
上傳代碼的話,需要勾選 樣式自動(dòng)補(bǔ)全
一次沒(méi)通過(guò),請(qǐng)?jiān)偬峤灰淮巍?/p>
轉(zhuǎn)載于:https://juejin.im/post/5bc099e05188255c8255382c
總結(jié)
- 上一篇: Bootstrap – 1.认识
- 下一篇: Iptables 入门进阶