uni-app 開發 一套代碼實現公眾號和小程序總結


   最近剛結束一個項目,接到需求的的時候要求寫一個小程序和公眾號,當時感覺沒啥問題,但是后面告訴我一個個很坑的要求 客戶周期只有一個月!!! 小程序沒問題,再加個公眾號就有點心慌了,然后只能去找解決方案了 ,查找之后找到兩個框架 tarouni,但是很明顯啊 兩個都沒用過 花了兩個小時看了兩個文檔 然后問了另一個前端 發現選taro時間上可能來不及(雖然我老想嘗試taro了) 因為taro是react的寫法 另一個同事沒接觸過啊 如果選了taro 碰到坑 我還得解決 然后還要帶着熟悉react 沒辦法 只能uni了(當然本人沒有嫌棄的意思,純粹是想玩taro)。

   吐槽結束,那么總結開始:

  1. 因為我們開發項目的時候 基本上都是使用微信開發者工具查看效果,那么問題就來了:為啥開發者工具上看着樣式是好的,但是在手機上,公眾號項目會出現x軸出現滾動條。這個問題很簡單啊,寬度超了唄。但是我疑惑啊,為啥小程序行,這里就不行,沒道理啊。然后看是審查元素,發現出問題的地方 不是畫了border 就是來了margin,然后調試一下 確實是他們引起的,那就改吧 給父容器來個box-sizing: border-box; ,好了解決。可能你會發現項目跑在瀏覽器上木問題 公眾號不也是H5嗎?很明顯啊 公眾號是運行在微信上,瀏覽器內核是人家自己的啊

2.關於授權、支付、分享,這些東西,很明顯公眾號和小程序是不一樣的啊,那么簡單啊 各自對應的方法包起來唄 打包不同的應用的時候 啟用不同的配置唄。uni上,暫時就只能想到這些,因為沒找到能配置我想要的東西的地方

3.關於分享圖片 這個可以說是開發中耗時最長的,因為剛開始我以為uni對這些都處理好了,不用我來擔心, 然后根據文檔屁顛屁顛的用canvas畫好了分享圖(canvas用的實在是少,只能看文檔)。最后發現一切都是我想多了,可能是我太年輕了。

       1.如果是線上圖片,那么圖片的域名一定要是在downloadFile下配置的,包括頭像

       2.你的二維碼是base64或者ArrayBuffer的 那么使用getFileSystemManager寫個本地地址吧,因為微信上的canvas不畫base64啊

       3.你畫圖的canvas,小程序和公眾號不一樣啊 ,上面的事小程序可能碰到的 那么下面就是公眾號的了

       4.小程序上我們可能會算比例 來保證分享圖的寬高,那么公眾號就先別想了,寫死吧(可能是我沒找到,慚愧啊)

       5.至於圖片嗎,呵呵噠。跨域啊,能處理好跨域最好,處理不了那就麻煩后台來個圖片轉base64的接口吧(我就是這樣的),公眾號下你放心,他能畫base64,

       6.然后就是你可能會碰到ctx.draw為啥不進里面的回調函數呢?來個簡單的吧,給它外層來個setTimeout(我就給了200ms),當然能直接執行的可以忽略

4.這里就是公眾號自身的分享了,在數據渲染完成之后,直接開始配置config,和制作分享信息吧,你就別想着等我點擊分享那按鈕之后再配置了,還有就是別忘了wx = require('jweixin-module');

   好了,可能是寫的項目不是很大 ,可能一些東西並沒有踩到,希望當再次遇到之后,能有個看的地方,不要重來一遍。然后就是uni的好處了,有很好的ui組件庫,特別是有個很全面的 uView,當然如果不想使用的話,那么把vant的一套小程序的ui(他們可以說是很像)下載下來,自己整合成一個vue文件就搞定了(我很多就是這樣干的...),快速開發下也就只能這樣了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM