V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
suisuijiang
V2EX  ›  Node.js

分享: 基于 node.js 和 react 开发的 web 聊天室

  •  1
     
  •   suisuijiang · 2016-11-01 12:01:49 +08:00 · 4116 次点击
    这是一个创建于 2976 天前的主题,其中的信息可能已经有所发展或是发生改变。

    预览: fiora.suisuijiang.com
    源码: yinxin630/fiora

    请使用较新的浏览器访问(最新版 chrome/safari/firefox/edge/QQ 浏览器都测试可行)
    不支持影响式, 移动端页面是单独开发的, 仅支持 chrome 和 safari, 功能简陋(楼主太懒!一直拖更!)
    以后会使用 react-native 开发双平台 app 的(你说了几个月了吧)

    功能

    • 创建用户, 创建群组, 加入群组, 私聊, 群聊
    • 文本, 图片, 代码, url 等多种类型消息, 还有炸弹 /系统消息两种恶搞消息
    • 消息桌面通知, 声音提醒, 通知开关
    • 用户信息修改, 头像修改, 表情收藏, 群公告修改
    • 消息内容过滤, 消息长度限制, 消息发送频率限制
    • 提供第三方消息的实现接口, 炸弹和系统消息即依此实现(需要重新部署前端才能供其它用户使用)

    技术栈

    后端使用 koa 提供一个简易的 http 服务器, 并将所有路由定位到入口 index.html 处理. 使用 socket.io 前后端通讯, 后端 API 采用类似 Restful 风格的接口, 数据库是 MongoDB, 使用 bluebird 和 generator 处理异步, 用户认证采用 jwt token 的方式.

    前端基于 react 框架, 资源大部分在 cdn 上(背景图打包进了 js 里), 使用 immutable 和 redux 处理数据, react-router 提供路由, 未使用第三方 UI 库, 页面样式均使用 sass 编写.

    12 条回复    2016-11-20 19:31:10 +08:00
    eoo
        1
    eoo  
       2016-11-01 12:24:33 +08:00 via Android
    http://ci.baidu.com/43vVBVPMcJ 手机端惨不忍睹
    suisuijiang
        2
    suisuijiang  
    OP
       2016-11-01 13:17:54 +08:00
    @eoo 什么浏览器, 你这个明显部分 css 没起作用
    eoo
        3
    eoo  
       2016-11-01 14:12:25 +08:00 via Android
    @suisuijiang 用的 UC 浏览器,,,,能请教个问题吗 , 有关 nodejs 异步问题, 就是我要用 nodejs 做个签到和做任务的工具, 开头取 cookie 哪里没有问题, 就是执行任务, 哪里因为不止一个一个任务 ,原先我采用的是 for in 循环执行 ,因为我要把每个帐号完成的积分通过 socket.io 更新到前端 ,但是循环任务哪里 还没有全部执行完 Async 就提前 callback 进去下一环节 取积分返回 ,就想问问 有没有更好的办法 能让执行任务哪里全部做完才能进去下一环节, 嵌套 Async 可以?
    suisuijiang
        4
    suisuijiang  
    OP
       2016-11-01 15:52:59 +08:00
    @eoo 不知道你是前端还是后端的异步问题, async 这个库我用的少, 估计你的用法是有问题的. 我写异步都是用 bulebrid+generator 的, 现在 node7 还可以直接用 async/await
    eoo
        5
    eoo  
       2016-11-01 18:16:57 +08:00
    @suisuijiang QQ 方便贴一下嘛?
    suisuijiang
        6
    suisuijiang  
    OP
       2016-11-03 10:41:11 +08:00
    @eoo 直接来聊天室嘛, QQ 贴代码贴链接啥的都不方便
    eoo
        7
    eoo  
       2016-11-04 19:03:35 +08:00
    @suisuijiang 。。。。。。。。。。。。。。。 不见你人啊
    suisuijiang
        8
    suisuijiang  
    OP
       2016-11-07 11:30:03 +08:00
    @eoo 所有消息我肯定会看的. 周末忙于开车, 无心撸码.
    suisuijiang
        9
    suisuijiang  
    OP
       2016-11-07 11:30:49 +08:00
    更新 v1.1.2, 修复 bug, 炸弹可以炸没头像的新人了, 新加了 shit 消息, 有味道的聊天室.
    zoobop
        10
    zoobop  
       2016-11-08 10:04:01 +08:00
    可以,很强势,很有意思
    songdezu
        11
    songdezu  
       2016-11-17 09:45:09 +08:00
    能否提供 RDB 支持比如 mysql postgres
    suisuijiang
        12
    suisuijiang  
    OP
       2016-11-20 19:31:10 +08:00
    @songdezu 是支持 mysql 或者 postgres 数据库存储吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3057 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:40 · PVG 21:40 · LAX 05:40 · JFK 08:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.