2019-08-12 小程序

小程序面試題

小程序授權(quán)登錄流程

0、如何獲得用戶信息

a、open-type=getUserInfo?

b、直接調(diào)用wx. getUserInfo 方法

通過(guò)wx.longin

1.登陸只需發(fā)送code到后臺(tái),后臺(tái)獲取openid,根據(jù)openid到數(shù)據(jù)庫(kù)中查找用戶信息, 若有則返回用戶信息,若沒(méi)有將openid插入數(shù)據(jù)庫(kù),

2.后臺(tái)生成token(可以是用戶id和其他隨機(jī)串組合的加密字符串)返回前臺(tái)token和用戶信息

3.前臺(tái)判斷用戶信息是否包含用戶名稱,用戶城市。。。等信息,若包含則登陸成功

4若不包含,則調(diào)用 wx.getUserInfo,發(fā)送encryptedData,iv,token到后臺(tái),后臺(tái)根據(jù)token找到用戶openid解密encryptedData和iv獲取用戶其他信息

5.然后更新數(shù)據(jù)庫(kù),并返回用戶信息

小程序原理

答:微信小程序采用JavaScript、WXML、WXSS三種技術(shù)進(jìn)行開發(fā),從技術(shù)講和現(xiàn)有的前端開發(fā)差不多,但深入挖掘的話卻又有所不同。

JavaScript:首先JavaScript的代碼是運(yùn)行在微信App中的,并不是運(yùn)行在瀏覽器中,因此一些H5技術(shù)的應(yīng)用,需要微信App提供對(duì)應(yīng)的API支持,而這限制住了H5技術(shù)的應(yīng)用,且其不能稱為嚴(yán)格的H5,可以稱其為偽H5,同理,

微信提供的獨(dú)有的某些API,H5也不支持或支持的不是特別好。

WXML:WXML微信自己基于XML語(yǔ)法開發(fā)的,因此開發(fā)時(shí),只能使用微信提供的現(xiàn)有 標(biāo)簽,HTML的標(biāo)簽是無(wú)法使用的。

WXSS:WXSS具有CSS的大部分特性,但并不是所有的都支持,而且支持哪些,不支? ? 持哪些并沒(méi)有詳細(xì)的文檔。

小程序的優(yōu)勢(shì)和劣勢(shì)

優(yōu)勢(shì): 1、無(wú)需下載,通過(guò)搜索和掃一掃就可以打開。

2、良好的用戶體驗(yàn):打開速度快。

3、開發(fā)成本要比App要低。

4、安卓上可以添加到桌面,與原生App差不多。

5、為用戶提供良好的安全保障。小程序的發(fā)布,微信擁有一套嚴(yán)格的審查流程, 不能通過(guò)審查的小程序是無(wú)法發(fā)布到線上的。

劣勢(shì): 1、限制較多。頁(yè)面大小不能超過(guò)1M。不能打開超過(guò)5個(gè)層級(jí)的頁(yè)面。

2、樣式單一。小程序? 的部分組件已經(jīng)是成型的了,樣式不可以修改。例如:幻燈片、導(dǎo)航。

3、推廣面窄,不能分享朋友圈,只能通過(guò)分享給朋友,附近小程序推廣。其中附近小程序也受到微信的限制。

4、依托于微信,無(wú)法開發(fā)后臺(tái)管理功能。

獲取定位

首先我們需要從高德地圖官網(wǎng)注冊(cè)一個(gè)賬號(hào),然后獲取自己的key,

調(diào)用微信接口wx.getloction,返回給我們一個(gè)json數(shù)組,數(shù)組中包含各種屬性

我們最需要的就是經(jīng)度和緯度,我們獲取了經(jīng)度和緯度就可以調(diào)用地圖api,把我們的經(jīng)緯度傳上去,就可獲得地圖返回給我們當(dāng)前位置的信息。

小程序如何實(shí)現(xiàn)雙向數(shù)據(jù)綁定(搜索)

1、利用bindinput來(lái)觸發(fā)改變

2、利用data-name來(lái)綁定獲取的數(shù)據(jù)

3、bindinput觸發(fā)時(shí)利用event獲取name的值,然后用this.setData改變data-name綁定的參數(shù)。

4、利用data-name中間屬性來(lái)動(dòng)態(tài)指定對(duì)象還是非對(duì)象,入data-name="login"或data-name="login.username",這樣可以根據(jù)中間有沒(méi)有. 來(lái)判斷是對(duì)象還是直接參數(shù)

回到頂部

第一種情況,當(dāng)頁(yè)面在頂部的時(shí)候,回到頂部按鈕是不會(huì)出現(xiàn)的。

第二種情況,當(dāng)頁(yè)面在離開頂部一定距離的時(shí)候,回到頂部按鈕出現(xiàn)

在這里我們?nèi)绻褂脻L動(dòng)事件的話,小程序規(guī)定 最外層一定要使用scroll-view標(biāo)簽進(jìn)行包裹,然后在設(shè)置scroll-y=”true” 意思是允許頁(yè)面了縱向滾動(dòng),scroll-top是滾動(dòng)到頂部做處理,一般綁定一個(gè)事件,bindscrolltolower同樣的原理,滾動(dòng)到底部做處理,bindscroll表示在滾動(dòng)的時(shí)候出發(fā)這個(gè)事件。下面WXML內(nèi)部的話,就是我們回到頂部的按鈕設(shè)置,我們?cè)邳c(diǎn)擊它時(shí)綁定一個(gè)事件goTop,讓他的滾動(dòng)高度等于0,這樣它就回到頂部了。

點(diǎn)擊進(jìn)入詳情頁(yè)

在wxml頁(yè)面寫一個(gè)data-自定義屬性={寫入?yún)?shù)},然后在js里調(diào)用。點(diǎn)擊跳入哪個(gè)頁(yè)面在哪個(gè)頁(yè)面后面寫入你要傳的參數(shù)。

更多商品點(diǎn)擊進(jìn)入有一個(gè)上拉加載

分類

分類界面實(shí)現(xiàn)

左邊是一級(jí)目錄,右邊是一級(jí)目錄對(duì)應(yīng)的二級(jí)目錄,根據(jù)這個(gè)需求,我們數(shù)據(jù)設(shè)計(jì)結(jié)構(gòu)一定是一個(gè)數(shù)組,第一個(gè)數(shù)組包含一級(jí)目錄數(shù)據(jù),嵌套的數(shù)組包含的是二級(jí)目錄數(shù)據(jù)。

總體主盒子:positon:relative? 相對(duì)定位

左側(cè)主盒子:設(shè)置行內(nèi)級(jí)元素,display:inline-block

右側(cè)主盒子:絕對(duì)定位

4.微信小程序的分享功能,實(shí)際上就是 轉(zhuǎn)發(fā)?  √

第一種用法是:?

onShareAppMessage?這個(gè)方法在每個(gè)頁(yè)面 js 中 page里面,這個(gè)函數(shù)需要return一個(gè)對(duì)象,如果不設(shè)置這個(gè)函數(shù),那么右上角的···則沒(méi)有轉(zhuǎn)發(fā)這個(gè)功能。

返回的對(duì)象有三個(gè)值:

title:這是轉(zhuǎn)發(fā)的標(biāo)題。默認(rèn)值是當(dāng)前小程序的名稱

path:這是轉(zhuǎn)發(fā)路徑。默認(rèn)值是當(dāng)前頁(yè)面,如果自己設(shè)定則是以 / 開頭的完整路徑:例如: /pages/index/index? ? ? 就是 pages文件夾 下面 index文件夾 里的 index.wxml

imageUrl:自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網(wǎng)絡(luò)圖片路徑。支持PNG及JPG。顯示圖片長(zhǎng)寬比是 5:4。默認(rèn)值是當(dāng)前頁(yè)面的截圖

第二種用法是:

buttion?這個(gè)組件,添加? open-type="share" 屬性 ,點(diǎn)擊button的時(shí)候就能觸發(fā) onShareAppMessage 這個(gè)函數(shù),當(dāng)然,如果沒(méi)定義這個(gè)函數(shù),那么就沒(méi)作用。

支付

在這里Catcher先通過(guò)wx.login這個(gè)API先取到了登錄的憑證code,并把這個(gè)憑證code做為請(qǐng)求參數(shù)用wx.request這個(gè)API發(fā)起一個(gè)網(wǎng)絡(luò)請(qǐng)求。

在這個(gè)網(wǎng)絡(luò)請(qǐng)求處理后會(huì)返回小程序支付所需要的相關(guān)參數(shù)。拿到這些參數(shù)后,再調(diào)用wx.requestPayment這個(gè)支付API,此時(shí)才算是真正的發(fā)起支付。

小程序有哪些參數(shù)傳值的方法

1.給html元素添加data-屬性來(lái)傳值,通過(guò)e.currentTarget.dataset或onload的param參數(shù)獲取。但data-名稱不能有大寫字母和不可存放對(duì)象

2.設(shè)置id的方法來(lái)傳值通過(guò)e.currentTarget.id獲取設(shè)置的id值,然后通過(guò)設(shè)置全局對(duì)象方式來(lái)傳值

3.在navigator中添加參數(shù)傳值 通過(guò)js中的onload生命周期的參數(shù)“options”進(jìn)行接收。

<navigator url="list/list?title={{ title }}" >更多</navigator>傳遞;

小程序路由傳參數(shù)

給HTML一個(gè)點(diǎn)擊事件

? <view class="classify" wx:for="{{classifyData}}" wx:key="id" data-index="{{index}}" bindtap='active'>{{item}}</view>

然后在定義路由跳轉(zhuǎn)的地方寫點(diǎn)擊事件并傳參

active:function(e){ wx.navigateTo({ //跳轉(zhuǎn)到新的頁(yè)面 url: '../detail/detail?title=' + e.currentTarget.dataset.name//實(shí)際路徑要寫全 title是要傳的參數(shù) }) }

在目標(biāo)頁(yè)用options接收

onLoad: function (options) {

? ? console.log(options.title)? //此時(shí)值就是傳的東西? },

小程序和h5的區(qū)別

第一條是運(yùn)行環(huán)境的不同

傳統(tǒng)的HTML5的運(yùn)行環(huán)境是瀏覽器,包括webview,

而微信小程序的運(yùn)行環(huán)境并非完整的瀏覽器,

是微信開發(fā)團(tuán)隊(duì)基于瀏覽器內(nèi)核完全重構(gòu)的一個(gè)內(nèi)置解析器,

針對(duì)小程序?qū)iT做了優(yōu)化,配合自己定義的開發(fā)語(yǔ)言標(biāo)準(zhǔn),提升了小程序的性能。

第二條是開發(fā)成本的不同

只在微信中運(yùn)行,不用去顧慮瀏覽器兼容性,

不用擔(dān)心生產(chǎn)環(huán)境中出現(xiàn)不可預(yù)料的奇妙BUG

第三條是獲取系統(tǒng)級(jí)權(quán)限的不同

系統(tǒng)級(jí)權(quán)限都可以和微信小程序無(wú)縫銜接

第四條便是應(yīng)用在生產(chǎn)環(huán)境的運(yùn)行流暢度

當(dāng)HTML5應(yīng)用面對(duì)復(fù)雜的業(yè)務(wù)邏輯或者豐富的頁(yè)面交互時(shí),

它的體驗(yàn)總是不盡人意,

需要不斷的對(duì)項(xiàng)目?jī)?yōu)化來(lái)提升用戶體驗(yàn)。

webview的頁(yè)面怎么跳轉(zhuǎn)到小程序?qū)Ш巾?yè)面

小程序?qū)Ш降捻?yè)面可以通過(guò)switchTab,但默認(rèn)情況是不會(huì)重新加載數(shù)據(jù)的。

若需加載新數(shù)據(jù),則在success屬性中加入以下代碼即可:

success: function (e) {

??????????? var page = getCurrentPages().pop();

??????????? if (page == undefined || page == null) return;

??????????? page.onLoad();

?????????? }

? webview的頁(yè)面,則通過(guò)

?wx.miniProgram.switchTab({

????????? url: '/pages/index/index'

??????? })

webview(就是普通的h5網(wǎng)頁(yè))怎么跳轉(zhuǎn)回小程序中

首先要引入最新版的jweixin-1.3.2.js,然后

wx.miniProgram.navigateTo({

? ? ? ? ? ? url: '/pages/login/login'+'$params'

? ? ? ? })

小程序如何跳轉(zhuǎn)webview頁(yè)面

直接寫路徑 url="/pages/index/index"

js寫

bindViewTap: function() {

wx.navigateTo({

url: '../index/index'

})

},

view里邊寫bindtap=“bindViewTap”

小程序發(fā)布流程

先在微信公眾平臺(tái)登錄你注冊(cè)開發(fā)者時(shí)填寫的郵箱賬號(hào)和密碼,使用你綁定的微信賬號(hào)二維碼掃描即可登錄。

第一步:補(bǔ)充小程序的基本信息,如名稱、圖標(biāo)、描述等。

第二步:現(xiàn)在可以直接去下載開發(fā)者工具進(jìn)行代碼的開發(fā)和上傳

如果需要其他開發(fā)者配合,那就需要添加開發(fā)者了,需要用綁定的微信掃一掃二維碼確認(rèn)身份,填寫上這個(gè)開發(fā)真的對(duì)應(yīng)信息就可以了

第三步:在開發(fā)設(shè)置頁(yè)面查看AppID和AppSecret,配置服務(wù)器域名

第四步:把你在編輯器中寫好的代碼提交到微信公眾平臺(tái),然后提交審核,審核通過(guò)后可發(fā)布

小程序開發(fā)中遇到的問(wèn)題。

0.不能打開超過(guò)5個(gè)層級(jí)的頁(yè)面。

1.√

小程序中的背景圖片不能使用本地的路徑,要么使用在服務(wù)器上的圖片路徑,

要么編碼成base64位。? ?? image標(biāo)簽才可以使用本地路徑。

2.點(diǎn)擊view之后,獲取該view的text值? ??√

?  這個(gè)的解決辦法就是:把view的text值放在data數(shù)據(jù)里面,然后點(diǎn)擊事件觸發(fā)的時(shí)候就獲取對(duì)應(yīng)data的數(shù)據(jù)

3?遇到當(dāng)調(diào)用自定義的函數(shù)時(shí),出現(xiàn)?function? is not defined?的情況???√

情景再現(xiàn):

(1) 我自定義了一個(gè)myLoading的函數(shù),然后通過(guò)某個(gè)事件需要調(diào)用該函數(shù)

(2) 錯(cuò)誤的調(diào)用方式是:事件的名字里直接寫我剛才自定義的函數(shù)名字,

這樣調(diào)用會(huì)出現(xiàn)問(wèn)題,正確的調(diào)用方式:需要在調(diào)用的函數(shù)前加入this.


這樣調(diào)用就會(huì)出現(xiàn)上面的問(wèn)題

(3) 正確的調(diào)用方式是:


需要在調(diào)用的函數(shù)前加上 this.??

4.微信小程序的分享功能,實(shí)際上就是 轉(zhuǎn)發(fā)?  √

第一種用法是:?

onShareAppMessage?這個(gè)方法在每個(gè)頁(yè)面 js 中 page里面,這個(gè)函數(shù)需要return一個(gè)對(duì)象,如果不設(shè)置這個(gè)函數(shù),那么右上角的···則沒(méi)有轉(zhuǎn)發(fā)這個(gè)功能。

返回的對(duì)象有三個(gè)值:

title:這是轉(zhuǎn)發(fā)的標(biāo)題。默認(rèn)值是當(dāng)前小程序的名稱

path:這是轉(zhuǎn)發(fā)路徑。默認(rèn)值是當(dāng)前頁(yè)面,如果自己設(shè)定則是以 / 開頭的完整路徑:例如: /pages/index/index? ? ? 就是 pages文件夾 下面 index文件夾 里的 index.wxml

imageUrl:自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網(wǎng)絡(luò)圖片路徑。支持PNG及JPG。顯示圖片長(zhǎng)寬比是 5:4。默認(rèn)值是當(dāng)前頁(yè)面的截圖

第二種用法是:

buttion?這個(gè)組件,添加? open-type="share" 屬性 ,點(diǎn)擊button的時(shí)候就能觸發(fā) onShareAppMessage 這個(gè)函數(shù),當(dāng)然,如果沒(méi)定義這個(gè)函數(shù),那么就沒(méi)作用。

?5.數(shù)據(jù)傳值的問(wèn)題:傳值的方法。(案例例如一個(gè)for循環(huán)。然后點(diǎn)擊item需要知道點(diǎn)擊的是第幾個(gè)item。)√

在view上面加一個(gè)屬性id="需要得到的值"

然后設(shè)在點(diǎn)擊事件。在js里面的這個(gè)函數(shù)里面獲取。

在函數(shù)里面,參數(shù)是event。通過(guò)

event.currentTarget.id來(lái)獲取。

6.form組件設(shè)置padding無(wú)效√

? ? ? 解決方案:經(jīng)過(guò)反復(fù)測(cè)試發(fā)現(xiàn)小程序的form組件是隸屬于行內(nèi)元素范圍的。

因?yàn)槲以O(shè)置了padding屬性一點(diǎn)效果都沒(méi)有,我改為view有效,在改回form組件還是沒(méi)有效果,判斷form組件和我們所認(rèn)為的正常html的form表單塊元素是不一樣的。而且小程序中的組件不知道為啥始終是在最頂層,觀察了下wxml面板,并為發(fā)現(xiàn)自有css屬性

因此可以將form組件改為block化,或者在form組件內(nèi)先使用空的view來(lái)設(shè)置padding在根據(jù)頁(yè)面需求進(jìn)行下一步布局。

7.小程序中的scroll-view組件不能和textarea一起用,自己寫的類似scroll-view組件(overflow-y:auto)也不能一起使用,使用的話,textarea的提示文字和光標(biāo)會(huì)飄,根本無(wú)法使用。另外textarea,也不能display:none,最好的方法是? ? ? ? ? ? 用條件判斷去控制它wx:if="{{show}}"

小程序常用api 20個(gè)(如文件上傳,下載,錄音,音頻播放,位置,設(shè)備,撥打電話…)

上傳

wx.uploadFile()?

將本地資源上傳到開發(fā)者服務(wù)器,客戶端發(fā)起一個(gè) HTTPS POST 請(qǐng)求,其中?content-type?為?multipart/form-data?。

如頁(yè)面通過(guò)?wx.chooseImage?等接口獲取到一個(gè)本地資源的臨時(shí)文件路徑后,可通過(guò)此接口將本地資源上傳到指定服務(wù)器。

UploadTask一個(gè)可以監(jiān)聽(tīng)上傳進(jìn)度變化事件,以及取消上傳任務(wù)的對(duì)象

UploadTask.onProgressUpdate()監(jiān)聽(tīng)上傳進(jìn)度變化事件

UploadTask.abort()中斷上傳任務(wù)

下載

wx.downloadFile()

下載文件資源到本地,客戶端直接發(fā)起一個(gè) HTTP GET 請(qǐng)求,返回文件的本地臨時(shí)路徑

?音頻組件

1、this.comp(“compID”).play()播放音樂(lè)鏈接中的音樂(lè)

2、this.comp(“compID”).pause()暫停播放

3、this.comp(“compID”).setSrc()設(shè)置音頻鏈接

4、this.comp(“compID”).seek()從指定位置繼續(xù)播放音樂(lè)

下拉刷新

wx.onDeviceMotionChange()

監(jiān)聽(tīng)設(shè)備方向變化事件,頻率根據(jù)?wx.startDeviceMotionListening()?的 interval 參數(shù)??梢允褂?wx.stopDeviceMotionListening()?停止監(jiān)聽(tīng)。

wx.stopPullDownRefresh()停止當(dāng)前頁(yè)面下拉刷新。

導(dǎo)航欄

wx.setNavigationBarTitle()動(dòng)態(tài)設(shè)置當(dāng)前頁(yè)面的標(biāo)題

wx.showNavigationBarLoading()在當(dāng)前頁(yè)面顯示導(dǎo)航條加載動(dòng)畫

wx.hideNavigationBarLoading()在當(dāng)前頁(yè)面隱藏導(dǎo)航條加載動(dòng)畫

wx.setNavigationBarColor()顏色

設(shè)備

wx.startDeviceMotionListening()開始監(jiān)聽(tīng)設(shè)備方向的變化。

wx.stopDeviceMotionListening()停止監(jiān)聽(tīng)設(shè)備方向的變化。

wx.onDeviceMotionChange()

監(jiān)聽(tīng)設(shè)備方向變化事件,頻率根據(jù)?wx.startDeviceMotionListening()?的 interval 參數(shù)??梢允褂?wx.stopDeviceMotionListening()?停止監(jiān)聽(tīng)。

收貨地址

wx.chooseAddress()調(diào)起用戶編輯收貨地址原生界面,并在編輯完成后返回用戶選擇的地址。

轉(zhuǎn)發(fā)

wx.getShareInfo()獲取轉(zhuǎn)發(fā)詳細(xì)信息

wx.hideShareMenu()隱藏轉(zhuǎn)發(fā)按鈕

wx.showShareMenu()顯示當(dāng)前頁(yè)面的轉(zhuǎn)發(fā)按鈕

wx.updateShareMenu()更新轉(zhuǎn)發(fā)屬性

支付

wx.faceVerifyForPay()支付各個(gè)安全場(chǎng)景驗(yàn)證人臉

wx.requestPayment()發(fā)起微信支付。

用戶信息

wx.getUserInfo()調(diào)用前需要?用戶授權(quán)?scope.userInfo。

UserInfo屬性

string nickName用戶昵稱

string avatarUrl

用戶頭像圖片的 URL。URL 最后一個(gè)數(shù)值代表正方形頭像大?。ㄓ?0、46、64、96、132 數(shù)值可選,0 代表 640x640 的正方形頭像,46 表示 46x46 的正方形頭像,剩余數(shù)值以此類推。默認(rèn)132),用戶沒(méi)有頭像時(shí)該項(xiàng)為空。若用戶更換頭像,原有頭像 URL 將失效。

number gender用戶性別

客服消息

customerTyping下發(fā)客服當(dāng)前輸入狀態(tài)給用戶,

getTempMedia小程序可以使用本接口獲取客服消息內(nèi)的臨時(shí)素材(即下載臨時(shí)的多媒體文件)。目前小程序僅支持下載圖片文件。

sendCustomerMessage發(fā)送客服消息給用戶。

uploadTempMedia小程序可以使用本接口把媒體文件(目前僅支持圖片)上傳到微信服務(wù)器,用戶發(fā)送客服消息或被動(dòng)回復(fù)用戶消息。

位置 調(diào)用前需要?用戶授權(quán)?scope.userLocation

wx.getLocation(Object object)獲取當(dāng)前的地理位置、速度。當(dāng)用戶離開小程序后,此接口無(wú)法調(diào)用。

wx.openLocation()?使用微信內(nèi)置地圖查看位置。

wx.chooseLocation()打開地圖選擇位置。

音頻

wx.playVoice() 開始播放語(yǔ)音,同時(shí)只允許一個(gè)語(yǔ)音文件正在播放,如果前一個(gè)語(yǔ)音文件還沒(méi)播放完,將中斷前一個(gè)語(yǔ)音播放。

wx.pauseVoice()暫停正在播放的語(yǔ)音。再次調(diào)用?wx.playVoice?播放同一個(gè)文件時(shí),會(huì)從暫停處開始播放。如果想從頭開始播放,需要先調(diào)用?wx.stopVoice。

InnerAudioContext.offStop()取消監(jiān)聽(tīng)音頻停止事件

InnerAudioContext.onEnded()監(jiān)聽(tīng)音頻自然播放至結(jié)束的事件

InnerAudioContext.offEnded()取消監(jiān)聽(tīng)音頻自然播放至結(jié)束的事件

InnerAudioContext.onTimeUpdate()監(jiān)聽(tīng)音頻播放進(jìn)度更新事件

InnerAudioContext.offTimeUpdate()取消監(jiān)聽(tīng)音頻播放進(jìn)度更新事件

圖片

wx.chooseImage()從本地相冊(cè)選擇圖片或使用相機(jī)拍照。

wx.previewImage()在新頁(yè)面中全屏預(yù)覽圖片。預(yù)覽的過(guò)程中用戶可以進(jìn)行保存圖片、發(fā)送給朋友等操作。

wx.getImageInfo()獲取圖片信息,倘若為網(wǎng)絡(luò)圖片,需先配置download域名才能生效。

wx.saveImageToPhotosAlbum()保存圖片到系統(tǒng)相冊(cè)。

數(shù)據(jù)緩存

wx.getStorage( )從本地緩存中異步獲取指定 key 的內(nèi)容

wx.getStorageSync()wx.getStorage 的同步版本

wx.setStorage()將數(shù)據(jù)存儲(chǔ)在本地緩存中指定的 key 中,會(huì)覆蓋掉原來(lái)該 key 對(duì)應(yīng)的內(nèi)容。

wx.setStorageSync()wx.setStorage 的同步版本

wx.removeStorage()從本地緩存中移除指定 key

wx.removeStorageSync()wx.removeStorage 的同步版本

wx.clearStorage()清理本地?cái)?shù)據(jù)緩存

wx.clearStorageSync()wx.clearStorage 的同步版本

wx.getStorageInfo()異步獲取當(dāng)前storage的相關(guān)信息

Object wx.getStorageInfoSync()wx.getStorageInfo 的同步版本

1、你是怎么封裝微信小程序的數(shù)據(jù)請(qǐng)求的?

答:

一、將所有的接口放在統(tǒng)一的js文件中并導(dǎo)出

二、在app.js中創(chuàng)建封裝請(qǐng)求數(shù)據(jù)的方法

三、在子頁(yè)面中調(diào)用封裝的方法請(qǐng)求數(shù)據(jù)

2、你使用過(guò)哪些方法,來(lái)提高微信小程序的應(yīng)用速度?

答:

一、提高頁(yè)面加載速度

二、用戶行為預(yù)測(cè)

三、減少默認(rèn)data的大小

四、組件化方案

3、如何實(shí)現(xiàn)下拉刷新?

答:用view代替scroll-view,,設(shè)置onPullDownRefresh函數(shù)實(shí)現(xiàn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容