一款使用環(huán)信實(shí)現(xiàn)的一個(gè)開源聊天應(yīng)用含服務(wù)器

前言

之前寫了一篇Android開發(fā)集成聊天環(huán)信SDK3.x簡(jiǎn)單開始,然后最近得空開發(fā)了一款使用環(huán)信實(shí)現(xiàn)的實(shí)時(shí)聊天應(yīng)用,包含簡(jiǎn)單的服務(wù)器端,并開源給大家,有興趣的同學(xué)可以一起搞一下,詳細(xì)介紹看下邊吧

同步自己博客

上代碼

服務(wù)器:VMServer
客戶端:VMMatch

VMMatch

猿匹配 —— 國(guó)內(nèi)首個(gè)程序猿非嚴(yán)肅婚戀交友應(yīng)用,讓我們一言不合就來場(chǎng)匹配吧??

介紹

首先說下中文名:為什么叫這個(gè)名字呢,因?yàn)檫@是一個(gè)程序猿(媛)之間匹配交流的應(yīng)用啊??

其實(shí)這是一個(gè)使用環(huán)信 IM 開發(fā)的一款開源聊天項(xiàng)目,涵蓋了時(shí)下流行的一些聊天元素,同時(shí)已將 IM 功能封裝為單獨(dú)庫,可以直接引用,方便使用

項(xiàng)目還處在初期階段,還有許多功能需要實(shí)現(xiàn),有興趣的可以一起來

項(xiàng)目資源均來自于互聯(lián)網(wǎng),如果有侵權(quán)請(qǐng)聯(lián)系我

下載體驗(yàn)

安裝包下載 >> Github >>

猿匹配 Google Play

項(xiàng)目截圖

匹配
匹配
匹配

匹配
匹配
匹配

匹配
匹配
匹配

匹配
匹配

開發(fā)環(huán)境

項(xiàng)目基本屬于在最新的Android開發(fā)環(huán)境下開發(fā),使用Java8的一些新特性,比如Lambda表達(dá)式,
然后項(xiàng)目已經(jīng)適配Android6.x以上的動(dòng)態(tài)權(quán)限適配,以及7.x的文件選擇,和8.x的通知提醒等;

  • Mac OS 10.14.4
  • Android Studio 3.3.2

項(xiàng)目模塊兒

本項(xiàng)目包含兩部分:

  • 一部分是項(xiàng)目主模塊app,這部分主要包含了項(xiàng)目的業(yè)務(wù)邏輯,比如匹配、信息修改、設(shè)置等
  • 另一部分是封裝成libraryvmim,這是為了方便大家引用到自己的項(xiàng)目中做的一步封裝,不用再去復(fù)雜的復(fù)制代碼和資源等,
    只需要將vmimmodule導(dǎo)入到自己的項(xiàng)目中就行了,具體使用方式參見項(xiàng)目app模塊兒;

功能與 TODO

IM部分功能

  • [x] 鏈接監(jiān)聽
  • [x] 登錄注冊(cè)
  • [x] 會(huì)話功能
    • [x] 置頂
    • [x] 標(biāo)為未讀
    • [x] 刪除與清空
    • [x] 草稿功能
  • [x] 消息功能
    • [x] 下拉加載更多
    • [x] 消息復(fù)制(僅文字類消息)
    • [x] 消息刪除
    • [x] 文本+Emoji消息收發(fā)
    • [x] 大表情消息收發(fā)
    • [x] 圖片消息
      • [x] 查看大圖
      • [ ] 保存圖片
    • [x] 語音消息
      • [x] 語音錄制
      • [x] 語音播放(可暫停,波形待優(yōu)化)
      • [x] 聽筒和揚(yáng)聲器播放切換
    • [x] 語音實(shí)時(shí)通話功能
    • [x] 視頻實(shí)時(shí)通話功能
    • [x] 通話過程中的娛樂消息收發(fā)
      • [x] 骰子
      • [x] 石頭剪刀布
      • [x] 大表情
    • [x] 昵稱頭像處理(通過回調(diào)實(shí)現(xiàn))

App部分功能

  • [x] 登錄注冊(cè)(包括業(yè)務(wù)邏輯和 IM 邏輯)
  • [x] 匹配
    • [x] 提交匹配信息
    • [x] 拉取匹配信息
  • [x] 聊天(這里直接加載 IM 模塊兒)
  • [x] 我的
    • [x] 個(gè)人信息展示
    • [x] 上傳頭像
    • [x] 設(shè)置昵稱
    • [x] 設(shè)置簽名
  • [x] 設(shè)置
    • [x] 個(gè)人信息設(shè)置
    • [x] 通知提醒
    • [x] 聊天
    • [ ] 隱私(隨業(yè)務(wù)部分一起完善)
    • [ ] 通用(隨業(yè)務(wù)部分一起完善)
    • [ ] 幫助反饋(隨業(yè)務(wù)部分一起完善)
    • [x] 關(guān)于
    • [x] 退出
  • [ ] 社區(qū)
    • [ ] 發(fā)布
    • [ ] 評(píng)論
    • [ ] 收藏
    • [ ] 關(guān)注

發(fā)布功能

  • [x] 多渠道打包
  • [x] 簽名配置
  • [x] 開發(fā)與線上環(huán)境配置
  • [x] 敏感信息保護(hù)

配置運(yùn)行

  1. 首先復(fù)制config.default.gradleconfig.gradle
  2. 配置下config.gradle環(huán)信appkey以及bugly統(tǒng)計(jì)Id
  3. 正式打包需要配置下簽名信息,同時(shí)將簽名文件放置在項(xiàng)目根目錄

參與貢獻(xiàn)

如果你有什么好的想法,或者好的實(shí)現(xiàn),可以通過下邊的步驟參與進(jìn)來,讓我們一起把這個(gè)項(xiàng)目做得更好,歡迎參與 ??

  1. Fork本倉庫
  2. 新建feature_xxx分支 (單獨(dú)創(chuàng)建一個(gè)實(shí)現(xiàn)你自己想法的分支)
  3. 提交代碼
  4. 新建Pull Request
  5. 等待我們的Review & Merge

關(guān)聯(lián)項(xiàng)目

服務(wù)器端由nodejs實(shí)現(xiàn),地址見這里 VMServer

VMServer

是為Android開源項(xiàng)目VMMatch項(xiàng)目(中文名猿匹配)實(shí)現(xiàn)的服務(wù)端

簡(jiǎn)介

這個(gè)項(xiàng)目包含兩部分

  • 根目錄:服務(wù)邏輯及API接口實(shí)現(xiàn)
  • client目錄:前端界面,和服務(wù)器端代碼端放置在同一倉庫下(暫未實(shí)現(xiàn))

使用

簡(jiǎn)單介紹下運(yùn)行環(huán)境及部署方法

  1. 安裝nodejs開發(fā)時(shí)使用的是v10.16.0版本
  2. 需要安裝mongodb并啟動(dòng),開發(fā)使用版本4.0.10
  3. 下載項(xiàng)目到服務(wù)器,可以下載壓縮包,或者用git clone命令
  4. 復(fù)制config_default.jsconfig.js,可根據(jù)自己需要修改配置文件
  5. 安裝依賴
npm install
  1. 全局安裝pm2
npm install pm2 -g
  1. 運(yùn)行 vmshell.sh

加群交流

QQ 交流群
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容