Skip to content

喵聊技术文档

文档版本:1.0
编制目的:供技术交接、第三方采购及研发团队查阅,说明项目构成、技术栈及第三方服务对接情况。


一、文档说明

本文档描述喵聊产品所包含的项目列表、各项目技术栈以及对接的第三方服务。配置项(如密钥、AppKey)以实际部署与各环境配置文件为准,文档中不列敏感信息,仅说明对接方与用途。


二、项目总览

喵聊由以下** 4 个仓库/项目**组成:

序号项目/仓库名类型说明
1miaoliao-api后端服务业务 API(客户端接口、管理端接口)、WebSocket 实时服务,多模块 Maven 工程
2miaoliao-web前端内含管理后台(Admin)、H5(uni-app)、客服(Kefu)等子项目
3miaoliao-android移动端Android 原生 App,多 Module 结构
4miaoliao-ios移动端iOS 原生 App,工程名 NightChat,CocoaPods 管理依赖

三、各项目技术栈

3.1 miaoliao-api(后端)

类别技术/组件版本或说明
语言与运行时Java1.8
基础框架Spring Boot2.5.14
Web 与安全Spring MVC、Spring Security(若依体系)、JWT(jjwt 0.9.1)、Kaptcha 验证码
数据访问MyBatis、MyBatis PageHelperpagehelper-spring-boot-starter 1.4.3
连接池Druid1.2.11
定时任务自研 Quartz 模块与主版本一致
工具与扩展Lombok、Apache POI(Excel)、Velocity(代码生成)、Commons IO/FileUpload/Collections、UserAgentUtils、Oshi(系统信息)
日志阿里云 SLS(aliyun-log)0.6.149

模块结构:

  • admin:后台管理服务(若依风格),打包为可执行 JAR,对接 miaoliao-web-admin。
  • client:客户端 API 服务,为 Android/iOS App 提供 REST 接口(登录、用户、房间、礼物、支付、提现等)。
  • websocket:独立 WebSocket 应用,提供聊天室、私信、管理消息等实时通道。
  • framework:核心框架(Web、AOP、Druid、安全、验证码等)。
  • system:系统域(用户、角色、权限、配置等业务与数据访问)。
  • common:通用工具、常量、基础实体。
  • quartz:定时任务定义与调度。
  • generator:基于 Velocity 的代码生成器。

构建与打包: Maven 多模块,支持 profile:local / dev / prod。


3.2 miaoliao-web(前端)

3.2.1 miaoliao-web-admin(管理后台)

类别技术/组件版本或说明
框架Vue2.6.12
路由与状态Vue Router、Vuex3.4.9 / 3.6.0
UI 与图表Element UI、ECharts2.15.8 / 4.9.0
请求与工具Axios、js-cookie、lodash、nprogress、screenfull、file-saver、clipboard、fuse.js、highlight.js、js-beautify、sortablejs、vuedraggable
富文本与编辑wangEditor、vue-ueditor-wrap(UEditor)
图片与媒体vue-cropper、svgaplayerweb、benz-amr-recorder支持裁剪、SVGA 动效、AMR 录音
安全与加密jsencrypt3.0.0-rc.1
构建Vue CLI、Babel、ESLint、SassVue CLI 4.4.6
其他vue-count-to、vue-meta、vue-jsonp、@riophae/vue-treeselect

第三方前端 SDK/服务(见第四节): 阿里 OSS(ali-oss)、腾讯 TRTC(trtc-sdk-v5)。

3.2.2 miaoliao-web-h5

类别技术/组件说明
框架uni-app支持 H5/App 等多端
UIuView UI组件库
构建脚本区分环境local / dev / prod

3.2.3 miaoliao-web-kefu

客服相关前端,具体技术栈以仓库内 package.json 及构建配置为准。


3.3 miaoliao-android

类别技术/组件版本或说明
语言Kotlin、JavaKotlin 1.3.72
构建Gradle、Android Gradle PluginAGP 4.0.1
编译与目标compileSdk 30,minSdk 21,targetSdk 30
网络Retrofit、OkHttp、Okio、Gson、RxJava/RxAndroidOkHttp 4.8.0,Retrofit 2.2.0
UI 与布局AndroidX(AppCompat、ConstraintLayout、RecyclerView、CardView、Material)、SmartRefreshLayout、Glide、多种第三方 UI 库
本地存储LitePal3.0.0
图片与动效Glide、glide-transformations、SVGA、ExoPlayer、PhotoView、UCrop、ImagePicker、NineGridImageView
其他基础EventBus、Multidex、LeakCanary(debug)、ZXing、RxPermissions、ConvenientBanner、Ticker 等

应用与模块:

  • app:主应用,applicationId:miaoliao.hzy.app,版本 1.2.0(versionCode 120)。
  • chatlibrary:聊天能力。
  • networklibrary:网络封装,依赖 osslibrary。
  • osslibrary:阿里云 OSS 及阿里云实人/OCR 等(见第四节)。
  • paylibrary:微信 SDK、支付宝 SDK(见第四节)。
  • vodlibrary:腾讯云 LiteAV(直播/点播)。
  • picture_library、ucrop:图片选择与裁剪。
  • 其他:animplayer、RangeSeekBar、pickerview、tiui、mhui、wheelsruflibrary 等 UI/工具库。

3.4 miaoliao-ios

类别技术/组件版本或说明
平台iOS最低 13.0
工程与依赖Xcode、CocoaPods工程名 NightChat
网络AFNetworking4.0.0
本地存储FMDB
UI 与布局Masonry、SDAutoLayout、MJRefresh、MJExtension、IQKeyboardManager、GKNavigationBar、JXCategoryViewExt、GKPageScrollView、SVProgressHUD、TTRangeSlider
图片与动效SDWebImage、SDWebImageWebPCoder、FLAnimatedImage、SVGAPlayer
响应式ReactiveObjC
WebSocketSocketRocket

第三方 iOS SDK(见第四节): 阿里云 OSS(AliyunOSSiOS)、腾讯云 TXLiteAVSDK_TRTC。


四、第三方服务对接

以下按服务商/类型列出各项目对接的第三方服务,便于商务与运维核对账号、配置与合规。

4.1 阿里云

服务用途使用项目说明
阿里云 OSS对象存储(图片、语音、文件上传与 CDN 加速)miaoliao-api(client/websocket 等)、miaoliao-web-admin、miaoliao-android(osslibrary)、miaoliao-ios(AliyunOSSiOS)配置 endpoint、bucket、AccessKey、CDN 域名等;管理后台与 App 均涉及上传与展示
阿里云 SLS日志服务(服务端日志采集与查询)miaoliao-api依赖 aliyun-log,配置 project、logstore、endpoint(含内网 endpoint)
阿里云实人/人脸/OCR实名认证、人脸核身、OCR(若使用)miaoliao-android(osslibrary 内 aliyun-face 等 aar)以实际启用的能力为准

4.2 腾讯云

服务用途使用项目说明
腾讯云 TRTC实时音视频(语音/视频通话、房间)miaoliao-android(vodlibrary / LiteAV)、miaoliao-ios(TXLiteAVSDK_TRTC)、miaoliao-web-admin(trtc-sdk-v5)SDK 集成与业务房间/用户管理;需配置 SDKAppID、密钥等
腾讯云音视频审核实时音视频内容审核回调(违规处置)miaoliao-api(client:RtcAuditCallbackController、AppRtcAuditService)回调验签(tencent.audit.rtc-callback-key)、违规处理逻辑
腾讯云 COS若审核/存储使用 COS(示例 URL 中出现 cos.ap-guangzhou)miaoliao-api(审核回调中可能解析 TRTC 录制/截图 URL)与 TRTC 录制/存储配置相关

4.3 支付

服务用途使用项目说明
微信支付充值、打赏等支付miaoliao-api(支付回调 weChat)、miaoliao-android(paylibrary:wechat-sdk-android-with-mta)服务端配置 notify-url;App 端集成微信 SDK,需微信开放平台应用与支付商户号
支付宝支付充值、打赏等支付miaoliao-api(支付回调 aliPay,openapi.alipay.com)、miaoliao-android(paylibrary:alipaySdk)服务端配置 api-url、notify-url;App 端集成支付宝 SDK,需支付宝开放平台应用与商户号

4.4 其他

服务/能力用途使用项目说明
WebSocket聊天室、私信、管理消息实时通道miaoliao-api(websocket 服务)、miaoliao-android、miaoliao-ios(SocketRocket)自建 WebSocket 服务,非第三方 SaaS
SVGA礼物等动效播放miaoliao-web-admin(svgaplayerweb)、miaoliao-android、miaoliao-ios(SVGAPlayer)动效格式与播放器,资源可存 OSS
短信(未在代码中显式标注)验证码登录/注册通常由服务端对接短信厂商以实际配置的短信服务为准

五、第三方服务与项目对照表

第三方服务miaoliao-apimiaoliao-web-adminmiaoliao-androidmiaoliao-ios
阿里云 OSS
阿里云 SLS
阿里云实人/OCR✓(库存在)
腾讯云 TRTC
腾讯云音视频审核
微信支付✓(回调)以实际集成为准
支付宝支付✓(回调)以实际集成为准

六、架构关系(简要)

                    ┌─────────────────────────────────────────┐
                    │           第三方服务                      │
                    │  阿里云(OSS/SLS) 腾讯云(TRTC/审核)        │
                    │  微信/支付宝 等                             │
                    └──────────────────┬──────────────────────┘

    ┌──────────────────────────────────┼──────────────────────────────────┐
    │                                  │                                    │
    ▼                                  ▼                                    ▼
┌───────────────┐            ┌─────────────────┐            ┌──────────────┐
│ Android / iOS │ ◄─────────►│  miaoliao-api    │ ◄─────────►│ miaoliao-web │
│   (App)       │   HTTPS/   │  client          │   HTTPS/   │ -admin       │
│               │   WebSocket│  websocket       │   REST     │ (管理后台)   │
└───────────────┘            │  admin          │            └──────────────┘
                              └────────┬────────┘

                              ┌────────┴────────┐
                              │ MySQL / Redis   │
                              │ (及现有中间件)   │
                              └─────────────────┘

七、附录:仓库与目录对应

项目仓库/路径备注
后端 APImiaoliao-api(admin、client、websocket、framework、system、common、quartz、generator)Maven 多模块
管理后台miaoliao-web/miaoliao-web-adminVue 2 + Element UI
H5miaoliao-web/miaoliao-web-h5uni-app
客服前端miaoliao-web/miaoliao-web-kefu
Androidmiaoliao-android(app + 各 library)
iOSmiaoliao-ios(NightChat)

说明:密钥、AppKey、商户号等均需在各自环境(如 application.yml、manifest、xcconfig 等)中配置,本文档不列具体取值。新增或下线第三方服务时,建议同步更新本文档及配置说明。