readme.md

    技术构成:

    1 前端使用uniapp便于快速的多端开发,项目结构采用模块化结构,除了入口级页面、基于功能将代码和资源组合在不同的功能目录

    2 后端使用meteor实现ddp服务器(轻量极简的ddp协议),meteor基于nodejs,自带一个mongodb,通过配置MONGO_URL参数可以取消启动默认的db

    3 前后端通讯使用websocket(也可以用http轮询模拟)实现数据的同步和方法的异步调用

    4 数据的前端相应基于vue提供的响应式数据操作,通过订阅ddp服务器发布的数据实现即时的数据更新至本地的数据集(简版的minimongo)

    5 服务端的数据响应,基于mongodb提供的aggregate watch api,也就是提供一个查询条件,如果操作的数据满足这个条件就会通知各个连接的订阅者,极大简化了不同连接的数据同步 【server端包括import 90行ts代码,前端代码量也是极少主要在ui,虽然比较粗糙】

    虽然前些年提议让dcloud做云函数,于是unicloud如火如荼,但这种一问一答的机械方式始终不是未来

    然而firebase等依旧被墙,所以抽时间做了这么个东西自己用吧,也分享给需要的人

    server端目前使用meteor的ddp实现

    // 初次使用安装依赖 - 仅需第一次 - 自带了mongodb服务器所以比较大,也可以试着找找其它的ddp实现或者自己实现server?
    npm install meteor -g
    cd meteor
    npm install
    // 以后只需要在meteor目录下,打开命令行或者ps 用一下指令即可,或者参考meteor官方文档改服务器配置等等
    npm run start

    已经开源在 codechina 源码

    目录结构:
    /modules/ddp.js  导出共享的ddp客户端
    /modules/user    用户模块相关服务和页面
    /modules/chatroom 聊天室相关服务和页面
    /pages/index/index 主页

    app调试,安装hbuildx,然后点击运行到设备即可 --- 记得按照上面的步骤启动meteor ddp服务应用

    web调试预览,安装hbuildx,然后点击运行到浏览器即可 --- 记得启动meteor ddp服务应用

    项目简介

    uni app ddp demo --- 这可能是你见过的最少代码量的 前端和后端 都具备的、没有第三方服务的聊天室应用吧

    发行版本

    当前项目没有发行版本

    贡献者 1

    yu @weixin_42500182

    开发语言

    • JavaScript 47.8 %
    • Vue 31.1 %
    • CSS 16.7 %
    • SCSS 2.6 %
    • TypeScript 1.5 %