柚子快報(bào)邀請(qǐng)碼778899分享:微信小程序基礎(chǔ)bug
柚子快報(bào)邀請(qǐng)碼778899分享:微信小程序基礎(chǔ)bug
1.蘋(píng)果11手機(jī)小程序請(qǐng)求數(shù)據(jù)不顯示
設(shè)置-》隱私-》分析與改進(jìn)-》開(kāi)啟 ”與開(kāi)發(fā)者共享“
2.
tabBar?頁(yè)面是不能實(shí)現(xiàn)后退的效果的.?因?yàn)??當(dāng)我們跳轉(zhuǎn)到?tabBar?頁(yè)面,會(huì)關(guān)閉其他所有非tabBar?頁(yè)面,所以當(dāng)處于?tabBar?頁(yè)面時(shí),?無(wú)頁(yè)面可
3.編程式導(dǎo)航wx.switchTab()跳轉(zhuǎn)到導(dǎo)航頁(yè),url不能帶參數(shù)
以下參數(shù)獲取不到
tapToContact(){
wx.switchTab({url:'/pages/contact/contact?name=zs'});
},
4.TS聲明空數(shù)組或空對(duì)象,后續(xù)再定義屬性
數(shù)組:
data: {
randomColorList: [] as Array
}
...
_this.setData({randomColorList : [..._this.data.randomColorList, ...res.data.data]});
對(duì)象:
data: {
query: {} as { [key: string]: any }
},
wx.setNavigationBarTitle({title:this.data.query.title});
5.TS構(gòu)建地小程序項(xiàng)目使用 vant weapp框架
https://blog.csdn.net/qq_34569497/article/details/130729344?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22130729344%22%2C%22source%22%3A%22qq_34569497%22%7D
?6.使用miniprogram-api-promise給小程序API進(jìn)行promise化
問(wèn)題:import后報(bào)錯(cuò),使用提示的npm i --save-dev @types/miniprogram-api-promise后npm下載又報(bào)錯(cuò)
?
按社區(qū)里問(wèn)答恢復(fù),基礎(chǔ)庫(kù) 2.10.2 開(kāi)始已經(jīng)原生支持 promise 式調(diào)用了,ts 定義也支持了,如果是為了兼容,需要用 miniprogram-api-promise 的話(huà),可以在這個(gè)issue里跟進(jìn)一下進(jìn)度
使用miniprogram-api-promise時(shí),如何獲取代碼提示 · Issue #114 · wechat-miniprogram/api-typings · GitHub
7.構(gòu)建時(shí),構(gòu)建的位置一直不對(duì),不在miniprogram里面
構(gòu)建后的miniprogram_npm應(yīng)該在miniprogram文件夾下才對(duì),配置也跟上面一樣配置的
解決:就可能是先npm下載包了,再使用了npm init所以老是有問(wèn)題,刪除整個(gè)項(xiàng)目重新先執(zhí)行npm init -y 再下載包就可以了,其實(shí)應(yīng)該可以直接刪除node_modules和package.json文件了重新再執(zhí)行就可以了
8."this" 隱式具有類(lèi)型 "any",因?yàn)樗鼪](méi)有類(lèi)型注釋
?解決:參數(shù)上加this類(lèi)型為any即可
updateNumB: action(function(this: any,step){
this.numB += step;
})
9.ts項(xiàng)目組件中使用mobx
微信小程序TS項(xiàng)目使用mobx(頁(yè)面直接使用store和自定義組件中使用store)__Jyann_的博客-CSDN博客
10.分包預(yù)加載路徑
這個(gè)路徑是頁(yè)面相對(duì)于app.json的路徑
"preloadRule": {
"packageA/pages/basic/basic":{
"network": "wifi",
"packages": ["packageA"]
}
},
11.自定義tabBar注意點(diǎn)
1.必須在根目錄下創(chuàng)建文件夾,文件夾名一定是?custom-tab-bar,再創(chuàng)建名為index 的component組件(名字必須是index,否則渲染不出來(lái))
2.自定義tabBar必須使用自定義組件實(shí)現(xiàn),如果使用頁(yè)面js操作,不便于監(jiān)聽(tīng)徽標(biāo)的變化
12.navigationBar自定義不了
問(wèn)題:?"navigationBarTitleText":?"個(gè)人中心"在頁(yè)面中直接寫(xiě),不寫(xiě)到window屬性中
使用?"navigationStyle":?"custom"可以直接取點(diǎn)navigateBar
13.wx.checkSession()一直報(bào)成功
登錄態(tài)校驗(yàn),一旦調(diào)用wx.login()登錄需要后臺(tái)清除登錄態(tài)才能讓wx.checkSession()獲取登錄態(tài)時(shí)返回失效
注意:新建項(xiàng)目可能本身有寫(xiě)好登錄接口導(dǎo)致使用wx.checkSession()一直報(bào)成功
14.Error: MiniProgramError {"errMsg":"getUserProfile:fail can only be invoked by user TAP gesture."}
wx.getUserProfile需要通過(guò)按鈕方式調(diào)用
15.小程序 wx.getUserProfile 接口沒(méi)有喚起授權(quán)頁(yè)面
但是自 2022 年 10 月 25 日 24 時(shí)小程序 wx.getUserProfile 接口將被收回;插件通過(guò) wx.getUserInfo 接口,即基礎(chǔ)庫(kù)2.27.1版本以上,建議使用個(gè)人可在個(gè)人中心或設(shè)置等頁(yè)面使用頭像昵稱(chēng)填寫(xiě)能力讓用戶(hù)完善個(gè)人資料形式
16.不能同時(shí)喚起授權(quán)和獲取手機(jī)號(hào)的授權(quán)
需要使用微信小程序原生組件?button?使用bindtap="getUserProfile"?和open-type="getPhoneNumber"才能喚起兩次
17.navigator組件傳參失敗
?
這種方式switchTab跳轉(zhuǎn)到tabBar頁(yè)面會(huì)報(bào)警告且參數(shù)傳遞失敗 :wx.switchTab: url 不支持 queryString?
解決:使用app的globalData或者storage,vuex等
18.使用scroll-view設(shè)置height
一定要使用100vh,使用100%在這里不生效
.sidebar-scroll{
/* 一定要使用100vh不能使用100% */
height: calc( 100vh - 55px );
width: 27vw;
}
19.[Deprecation] SharedArrayBuffer will require cross-origin isolation as of M9
[Deprecation] SharedArrayBuffer will require cross-origin isolation as of M92, around July 2021. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.
新建頁(yè)面時(shí)名字出錯(cuò):"pages/goods/list-vop.html"導(dǎo)致?wx.navigateTo時(shí)找不到頁(yè)面
20.使用npm下載js庫(kù)后引入報(bào)錯(cuò)和警告
[代碼依賴(lài)分析] 找到 1 個(gè)依賴(lài)異常情況,可能會(huì)導(dǎo)致對(duì)應(yīng)文件無(wú)法加載,請(qǐng)檢查。 Couldn't resolve the Js file "big.js" relative to "/pages/shop-cart/shop-cart.js:2:24"
如需關(guān)閉依賴(lài)分析請(qǐng)?jiān)?project.config.json setting 字段中增加 "ignoreDevUnusedFiles": false 和 "ignoreUploadUnusedFiles": false
解決:小程序中使用npm下載包后,一定要點(diǎn)工具-》構(gòu)建才能用
21.wx.showModal()的fail方法里面不調(diào)用
確認(rèn)和取消都是在success中調(diào)用,通過(guò)?if?(res.confirm)?和if(res.cancel)進(jìn)行判斷
22.wx.saveImageToPhotosAlbum()保存圖片時(shí)報(bào)錯(cuò)saveImageToPhotosAlbum:fail?https://file.winwebedu.com/mall/collage-01.jpg?not?absolute?path
注意這個(gè)方法調(diào)用時(shí)傳入的參數(shù)filePath為必填,且圖片文件路徑,可以是臨時(shí)文件路徑或永久文件路徑 (本地路徑) ,不支持網(wǎng)絡(luò)路徑。
如果直接使用數(shù)據(jù)中的圖片路徑如https://file.winwebedu.com/mall/collage-01.jpg是保存不了的
這里需要使用生成的圖片路徑(這里是生成海報(bào)時(shí)存儲(chǔ)的路徑)http://tmp/xlHB02MBJ50H9887bf9a40b5b5dc24b904e4132afcb0.png
wx.saveImageToPhotosAlbum({
// 不能直接使用this.data.basicInfo.pic的圖片
console.log(this.data.posterImg);//http://tmp/xlHB02MBJ50H9887bf9a40b5b5dc24b904e4132afcb0.png
// "saveImageToPhotosAlbum:fail https://file.winwebedu.com/mall/collage-01.jpg not absolute path"
filePath: this.data.posterImg,
success(res) {
wx.showToast({
title: '保存成功',
})
},
fail(err){
console.log(err);
wx.showToast({
title: '保存失敗',
})
}
})
如果要根據(jù)網(wǎng)絡(luò)地址保存到相冊(cè),需要長(zhǎng)按先下載圖片到本地,再保存
downloadImage(){
wx.downloadFile({
url: this.data.basicInfo.pic,
success(res){
console.log(res.tempFilePath,"圖片臨時(shí)路徑");
if (res.statusCode === 200) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success(){
console.log("圖片保存成功");
}
})
}
}
})
}
柚子快報(bào)邀請(qǐng)碼778899分享:微信小程序基礎(chǔ)bug
推薦文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。