EZ Share 的一些經驗

  1. 簡介
    EZ Share是什麼:EZ Share是由四位阿里應屆生私下本身作的一款APP,專門爲一些悶騷的微信(我問過咱們部門的同事,來往沒對外提供接口,因此沒法作)用戶提供服務,根據用戶的心情來匹配一些裝逼的圖片,並能把文字合理編排並融入裝逼的圖片,顯得更有逼格。
  2. 系統架構
    由於功能比較簡單,因此係統的複雜度也比較簡單。主要分爲兩部分:phonegap,原生Android/IOS,以下圖所示。
    請輸入圖片描述
    phonegap部分除了提供界面和APP的交互以外,還有一個很重要的功能,就是使用canvas對圖片的處理,把文字融入圖片裏面。可能你會奇怪爲啥要這樣作?由於用原生來處理的話雖然性能不錯,但Android和IOS都須要各寫一份代碼,並且原生對圖片的處理比較麻煩。
    Android/IOS原生部分其實很簡單,就是接入微信的SDK分享微信。
    phonegap和原生之間的通訊個人作法是在原生部分創建一個socket server,經過socket通訊。
  3. phonegap部分技術細節
    3.1 phonegap調試
    我以爲phonegap的調試比較麻煩,我是採用weinre進行遠程調試,其原理以下圖:
    請輸入圖片描述
    配置步驟:(當心細節,我由於一些細節問題折騰了幾個小時)
    【1】 使用npm安裝weinre
    2 啓動weinre
    3 注入一份js到index.html當中(在虛擬機中特別注意,千萬別寫localhost或者127.0.0.1,否則的話就會向虛擬機自己請求)
    【4】 記得在config.xml添加訪問的權限
    3.2 canvas處理圖片
    以下圖所示,這個部分主要是分爲3個canvas層:
    請輸入圖片描述
    【1】第一層:主要是渲染圖片的背景
    【2】第二層:主要是渲染一些純色背景而且根據用戶的輸入的文字渲染上去,並監聽輸入框的焦點事件,當失去焦點的時候,就會把文字重繪到第二層canvas上
    【3】第三層:這個canvas的display是hidden的,當用戶肯定發送的時候,就會將第一層和第二層的canvas的內容渲染到第三層並生成一張圖片儲存到sd卡里面
  4. 原生Android部分技術細節
    其實就是接入微信sdk,當接收到phonegap發來的信息就發送到微信,如今我作了Android,由於太窮了,沒有一臺ios設備,大概等畢業以後回去入職的時候再買吧,^_^ 反正原生的代碼很少,應該也很快。
    想吐槽一下的是android的微信sdk接入有點小麻煩,哈哈!必定要確保包名,簽名證書正確才能發送。我也搜到一些資料有些人爲了方即可以繞過微信的sdk直接喚醒微信的分享的activity,我猜他們的作法也是查看微信sdk包裏面的源碼再略加修改!html

  5. 效果圖
    請輸入圖片描述android

由於我們EZ團隊還在學校度假中,各個都忙着畢業和旅遊,因此還須要一點點時間才能推出,哈哈,裝逼神器你絕對值得擁有!ios

相關文章
相關標籤/搜索