微信小程序開發有哪些坑(微信小程序開發好做嗎)
今天給各位分享微信小程序開發有哪些坑的知識,其中也會對微信小程序開發好做嗎進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!
本文目錄一覽:
微信小程序/微信公眾號中文亂碼的坑
微信小程序可以通過webview嵌入H5頁面可以說是給開發者很大的福音,手頭的項目中有幾個頁面是使用H5開發的嵌入到了webview中,在小程序開發者工具的模擬器中測試完全沒問題,放到Android真機上測也沒問題,但是在iOS上打開后中文顯示全部亂碼,無論是在小程序還是直接通過微信點開鏈接都是亂碼。但是奇怪的是在iOS的Safari瀏覽器中卻是正常。
經過再三確定過文件編碼就是UTF8沒錯。而且在html的head中也加入了 meta charset="utf-8" 。最后無奈一點一點對比之前的項目的區別,發現之前的項目中的meta是通過http-equiv設置的瀏覽器編碼。
設置后發現顯示正常,看來微信-iOS版本中的瀏覽器內核不是最新的,存在兼容問題,遇到坑的朋友們要注意了。
開發微信小程序的“雷區”有哪些?
微信小程序的優勢:無需下載,無需安裝注冊,即點即用,不主動推送廣告。微信小程序的優勢直抵app用戶的心扉,這不就是用戶想要的體驗嗎?因此微信小程序的用戶體驗是其必須要保證的底線,一切傷害用戶體驗的行為,是開發者都不能碰觸的原則。
游戲類小程序“濫用分享”行為
在4月份,群聊被小程序分享搞的亂糟糟,群里有三個人分享小游戲就已經霸屏,看不到聊天信息了,用戶體驗一度被踐踏。很快,微信官方將一下兩種行為界定為違規,第一種,強制用戶分享小游戲到群包括分享到不同群,就是小游戲結束時彈出分享小游戲到群/不同群,可獲得第二次生命繼續游戲。第二種,誘導用戶分享到群,可獲得免費道具,或得到雙倍積分等利益。
如過開發是出現如此違規行為,會對小游戲的搜索能力、分享能力、廣告及道具結算能力進行限制,情節嚴重這將面臨下架處理。
因為“營銷濫用”行為,關閉個人小程序“公關/推廣/市場調查”和“廣告/設計”類目。
微信小程序的注冊門檻較低,無論是個人還是企業、商鋪、政府、媒體,都可以申請。由于小程序是獲取新流量的高效手段,導致營銷行為泛濫,狠狠的傷害了用戶體驗。只對個人小程序濫用“商務服務”和“廣告/設計”兩大類目通過審核,來進行無節制營銷行為的情況,微信方面表示,個人小程序將無法通過“商務服務-公關/推廣/市場調查”和“廣告/設計”的類目審核,也將不再對個人小程序開放。
“授權濫用”行為
在挺早前就有針對“授權濫用”行為的限制,當用戶初次使用小程序是,強制要求用戶授權昵稱、頭像、手機號、地理位置等信息,如果用戶不同意,繼續跳轉授權頁面,影響用戶正常使用小程序。對騰訊自己的小程序“騰訊投票”也做了違規處理,就看出騰訊的決心。
現在微信已經對用戶授權流程進行了優化,只有特定場景才需要用戶授權指定信息。
現在開發微信小程序有哪些雷區?
1、文字
一般對于微信小程序的名稱命名是一個比較重要的問題,但是這里需要強調的是,通常情況下我們都是采用中文數字或者是英文來命名的。而且一般他的名稱長度都是控制到三至20個字符中間,一個中文字那就相當于是兩個字符。
2、重復命名
既然是微信小程序,那么它的名稱就千萬不能夠跟公眾平臺已經產生的服務號或者是訂閱號重復,如果是產生了命名重復的話,那么就會有提示,所以要進行名稱的更換設置。
3、賬號信息謹慎設置
需要強調的一點的是,微信小程序的各種賬號信息,不像其他的軟件一樣可以根據自己的興趣愛好來進行隨意的更換。也就是說在微信小程序里面,一旦將自己的各種賬號信息全部都設置完畢的時候一定要進行謹慎的操作,因為一旦設置完就不會再支持修改了。
4、功能與服務一致
微信小程序雖然種類非常繁多,他們也能夠提供出各式各樣的服務,但是這些功能的提供一定是能夠在實際當中給到用戶的服務是一致的。所以在小程序設置的頁面,它所能夠提供的所有內幕,一定是放在頁面的首頁第一欄那里,最深最深也只能退到放置在二級頁面當中。
5、注冊
一般情況來講,如果是個人開發的,那么就沒有辦法對微信小程序進行申請。就目前來講,他僅僅只支持政府,企業,還有媒體或者是其他的一些組織來進行申請。而一個主體總共能夠注冊的微信小程序有30個,一個綁定身份的開發人士最多也只能夠創建出來五個微信小程序。另外,假設要進行開發的不是屬于特殊組織,那就需要另外花費300元來進行認證。
6、不支持
微信小程序,雖然功能非常的多,但是同樣跟一如既往的不支持很多東西,比方說他不支持,誘導關注,也不支持誘導分享,更不支持虛假,欺詐等等內容的存在。再有就是像廣告類的展示,一般都是企業的小程序會存在的,但是這個播放的展示比例也不能夠超過一半的頁面內容。
7、修改內容
一般來講,給微信小程序所配置的服務器,他每個月僅僅只有三次的修改機會,所以一定要珍惜這些機會,小心后面不夠機會來使用,所以沒事的話千萬不要對下面的配置進行亂動,如果是一旦確定了的話,那么就一定要將所有的內容一次性全部整理完畢,就算是改一個小標點符號都屬于浪費一次機會。
8、模板和關鍵詞
電影用戶來講在進行模版消息選用的時候,通常情況下我們可以采取跟模版可以搭配的關鍵詞來進行使用,那么配置之后再提交的過程當中,他的順序還有用到的詞語種類都是不能夠進行修改的,如果這個時候我們找不到跟模版可以相搭配的關鍵詞,那么就可以對它進行申請添加。這里強調一下,就是每個月都擁有五次可以提交新關鍵詞的機會,那么一旦被審核通過之后就可以達到共享的目的。
微信小程序藍牙入坑總結
?? 微信小程序的藍牙流程按著官網的說明寫就可以了,具體參看文檔: 小程序開發文檔
坑列表:
??? 1.成對調用需要注意, wx.openBluetoothAdapter 與 wx.closeBluetoothAdapter
??????????????????????????????????????? wx.startBluetoothDevicesDiscovery 與 wx.stopBluetoothDevicesDiscovery
???? 2.安卓與IOS的區別:安卓可以根據藍牙標識直接連接,IOS則必須先搜索才能進行連接;
???? 3.權限問題:IOS的系統不能僅僅打開系統的藍牙權限,因為IOS新版本針對藍牙做了應用及的限制,因此需要給微信藍牙權限才可以使用;對于安卓系統,部分手機必須打開定位權限才能搜索到藍牙設備
???? 4.創建連接API( wx.createBLEConnection )調用失敗:
??????????? 超時報錯:{"errCode":10012,"errMsg":"createBLEConnection:fail:operate time out"}
??????????? 連接超時:{"errCode":10003,"errMsg":"createBLEConnection:fail connect time out."}
??????????? 連接失敗:{"errCode":10003,"errMsg":"createBLEConnection:fail:connection fail status:133"}
?????????? 基本都是安卓手機出現以上問題,針對這些報錯,需編寫重試連接操作,很大概率能解決此問題;
???? 5.搜索不到任何設備,安卓手機可能是定位權限的問題造成,蘋果手機基本就是設備出問題了
???? 6.網絡請求與藍牙請求盡量分開,因為藍牙連接會受到影響,造成一些異常信息;
???? 7.所有API調用針對fail函數最好都做一次重試,因為再次重試可能就會成功;、
???? 8.API調用之間最好有一定毫秒數的間隔,目前懷疑api部分機型會存在延時;
總之微信的藍牙連接就那些已知的接口,調用時多考慮異常的情況下的重試,簡單總結下,以便查閱。
???????????
????
微信小程序開發中遇到的坑及解決辦法
taro單獨為某個項目切換taro版本環境
單獨為某一個項目升級#這樣做的好處是全局的 Taro 版本還是 1.x 的,多個項目間的依賴不沖突,其余項目依然可以用舊版本開發。 如果你的項目里沒有安裝 Taro CLI,你需要先裝一個:
# 如果你使用 NPM
$ npm install --save-dev @tarojs/cli@2.x
# 如果你使用 Yarn
$ yarn add -D @tarojs/cli@2.x
echarts在小程序中滑動卡頓
由于微信小程序中,echarts的層級最高,無論設置多大層級也無法遮住echarts。而且小程序中好像只能用echarts吧。所以為了解決這個bug,我只能委屈求全了。打開ec-canvas.wxml文件,將touchStart、touchMove和touchEnd去掉了,直接刪除就好啦。這三個事件應該是做縮放的吧,我們也沒有這個縮放的需求。所以就去掉了。雖然暫時滿足的需求,還是沒有真正的解決問題。
原:
bindinit="init"
bindtouchstart="{{ ec.disableTouch ? '' : 'touchStart' }}"
bindtouchmove="{{ ec.disableTouch ? '' : 'touchMove' }}"
bindtouchend="{{ ec.disableTouch ? '' : 'touchEnd' }}"
現:
bindinit="init"
echarts在小程序中無法跟隨頁面滑動
在卡頓問題中能與echarts交互少的,可以直接使用圖片代替cannvas,即在echarts渲染完畢后將它替換為一張圖片。
如果我更新了數據,那么就重新放出echarts,等它渲染完畢后,再次替換為一張圖片。
chart.on('finished', () = {
getCurrentInstance().page.selectComponent(id).canvasToTempFilePath({
success: res = {
console.log('res.tempFilePath====',res.tempFilePath)
this.setState({
echartImgSrc: res.tempFilePath
? ? ? })
},
? ? fail: res =console.log('轉換圖片失敗', res)
});
})
render:
this.state.echartImgSrc =='' ?
? ref={this.refChart}
id={this.state.id}
canvas-id="mychart-area"
? force-use-old-canvas="true"
? ec={this.state.ec}
/
:
CoverImage src={this.state.echartImgSrc}/CoverImage
關于微信小程序開發有哪些坑和微信小程序開發好做嗎的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。