mpvue小程序《校友來了》成長記 | 給2018畫下圓滿句號

1、前言

很久沒有進行更新文章了,2018已經結束,2019已經開啓,爲了給2018畫下圓滿的句號,決定在新年來臨前寫一篇總結。如果有看過我文章的朋友或許知道還有一個小程序《校友足跡》,而《校友來了》正是《校友足跡》的升級版,我在原有的基礎上添加了校友圈子功能,通過《校友來了》不僅能看到校友的分佈情況,同時還可以與同城校友交流,查看校友名片等。讓《校友來了》不僅僅是一個工具,更是一個同城校友發現與交流的圈子。

初心

《校友來了》旨在幫助更多同城校友交流,在這裏你能發現新的機會、新的朋友、甚至可以幫你找到你的另一半!《校友來了》更是一個幫你拓展社交圈的好工具,在家靠父母,出門靠朋友,朋友又是同校校友,你在這個城市就會多一份異鄉的溫暖。

體驗

2、校友足跡1.0

關於《校友足跡》1.0可以查看我以前的另一篇文章

mpvue小程序《校友足跡》成長記(一)

3、升級原因

《校友足跡》發佈一段時候後,一直有計劃想要升級一些新的功能,讓其不再那麼單一,但是由於工作上比較忙的原因,一直擱置了下來。直到有一次,有一位在公衆號看了我文章的朋友,留言說想要聊一下我的《校友足跡》,他給了我重新升級《校友足跡》的想法。剛好這段時間工作上也不是很忙,那就利用業餘時間說幹就幹,一口氣升級一下。

4、新增功能

4.1 校友圈子

校友圈子是這次最大的升級,基於《校友足跡》的思考,同城校友圈是我最想做的功能,先把全國校友按照省市劃分,再根據學校劃分,每個城市的校友都是不同的圈子。只有同城校友才能看到自己發的話題,這樣也符合圈子的定義,既然是圈子就不能太大,要細化一些。同時在頂部Banner部分也做了公有與私有化劃分,根據院校與城市會顯示不同的輪播圖。這也是爲了幫助各大高校做宣傳使用,因爲在舉行校友聚會的時候並不是所有的校友都能看到消息,更有一些老校友斷了聯繫,通過這個宣傳入口可以讓更多的同城校友看到消息。

4.2、校友名片

校友名片可以通過點擊暱稱或者頭像查看,此頁面展示了同城校友的基本信息。由於小程序沒有開放直接添加微信好友的接口,所以這裏需要校友完善自己的個人信息後,通過點擊複製的方式回到微信界面添加。雖然在操作方式上較爲繁雜,但目前只能採用此方式。不過手機號是可以直接保存到通訊錄中

4.3 個人中心

個人中心這裏主要就是個人信息的基本展示與修改,同時還有自己發佈過的話題,與話題相關的評論和點贊消息通知。由於話題功能需要用戶基本信息纔可,所以這裏需要授權得到您的暱稱和頭像信息,不用擔心隱私問題,因爲小程序的這個授權也只是基本的頭像和暱稱,並沒有隱私信息。


4.4 消息中心

消息中心主要分爲個人消息與系統公告通知,個人消息可以接收到自己發佈話題的點贊與評論消息。

4.5 校友足跡頁升級改版

原有足跡頁面比較單一乏味,新版在經過無數次的設計改版後,提升了整體逼格(O(∩_∩)O哈哈~),在分享出去後也是逼格滿滿,目前只顯示排名前三的城市。下載按鈕可以生成此頁面的圖片,方便你分享到朋友圈,聊聊則是直接通往校友圈子的入口。

關於技術

做的時候遠比初想的難,從mysql數據庫表的設計,到node,express業務邏輯的拆分和數據的封裝與接口統一,一直到mpvue前端頁面展示,以及mysql數據庫查詢優化,redis緩存的使用,還有JWT接口權限的驗證,還有小程序的採坑,更有界面設計的優化,在這段時間裏都一一經歷了。學了不少新的東西,也回顧了以前的不少知識,算是一個僞node全棧的項目了,關於技術的詳解我會另開一篇文章進行詳細介紹,不僅作爲一個分享交流,也作爲這個項目的技術總結。如果有興趣的話可以持續關注一下,在這裏先放一下張目錄結構

前端

mpvue + flyio + vuex + stylus + echarts

  • mpvue mpvue 是一個使用 Vue.js 開發小程序的前端框架。框架基於 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 實現,使其可以運行在小程序環境中,從而爲小程序開發引入了整套 Vue.js 開發體驗。
  • vuex Vuex 是一個專爲 Vue.js 應用程序開發的狀態管理模式。它採用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。
  • flyio 一個支持所有JavaScript運行環境的基於Promise的、支持請求轉發、強大的http請求庫。可以讓您在多個端上儘可能大限度的實現代碼複用。
  • mpvue-echarts ECharts 的 Mpvue 小程序版本。開發者可以通過熟悉的 ECharts 配置方式及 Vue 語法,快速開發圖表,滿足各種可視化需求。
  • stylus CSS 的預處理框架,stylus 給 CSS 添加了可編程的特性,也就是說,在 stylus 中可以使用變量、函數、判斷、循環一系列 CSS 沒有的東西來編寫樣式文件,執行這一套騷操作之後,這個文件可編譯成 CSS 文件

後端服務

mysql + redis + node (express + superagent + jsonwebtoken +crypto + ioredis + mysql + pm2)

  • mysql 系型數據庫管理系統
  • redis Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。它通常被稱爲數據結構服務器,因爲值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。
  • express Express 是一個保持最小規模的靈活的 Node.js Web 應用程序開發框架,爲 Web 和移動應用程序提供一組強大的功能。
  • superagent superagent 是一個輕量的,漸進式的ajax api,可讀性好,學習曲線低,內部依賴nodejs原生的請求api,適用於nodejs環境下.
  • jsonwebtoken JSON Web Token(縮寫 JWT)是目前最流行的跨域認證解決方案
  • crypto crypto模塊的目的是爲了提供通用的加密和哈希算法。用純JavaScript代碼實現這些功能不是不可能,但速度會非常慢。Nodejs用C/C++實現這些算法後,通過cypto這個模塊暴露爲JavaScript接口,這樣用起來方便,運行速度也快。在這裏用做微信小程序加密解密
  • ioredis ioredis是一個功能強大,功能齊全的Redis客戶端
  • mysql mysql的node.js驅動程序
  • pm2 PM2是node進程管理工具,可以利用它來簡化很多node應用管理的繁瑣任務,如性能監控、自動重啓、負載均衡等,而且使用非常簡單

最後

如果你對本小程序感興趣的話可以分享到朋友圈,讓更多的校友瞭解到《校友來了》,讓同城校友的圈子越來越壯大。同時如果你有更好的想法或者idea,歡迎下方留言交流,如果你的院校有校友會相關的宣傳需求,也歡迎聯繫我,我將免費爲貴校提供宣傳。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章