{"id":24994251,"url":"https://github.com/zhengfu200/zchat_v1","last_synced_at":"2025-10-12T01:17:22.584Z","repository":{"id":274481722,"uuid":"922990112","full_name":"Zhengfu200/ZChat_v1","owner":"Zhengfu200","description":"A simple Public Chatroom build with Node.js + Vue.js +QuasarUI","archived":false,"fork":false,"pushed_at":"2025-02-28T05:30:26.000Z","size":4722,"stargazers_count":69,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T10:42:02.071Z","etag":null,"topics":["backend","chat-application","frontend","learning-by-doing","learning-project","nodejs","quasar","vue3"],"latest_commit_sha":null,"homepage":"https://zhengfu200.github.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zhengfu200.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-27T13:05:54.000Z","updated_at":"2025-03-24T07:04:23.000Z","dependencies_parsed_at":"2025-02-11T15:22:03.223Z","dependency_job_id":"4f3f9ce9-589a-4ed2-8fad-0f82b24e2e90","html_url":"https://github.com/Zhengfu200/ZChat_v1","commit_stats":null,"previous_names":["zhengfu200/zchat_v1"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Zhengfu200/ZChat_v1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhengfu200%2FZChat_v1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhengfu200%2FZChat_v1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhengfu200%2FZChat_v1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhengfu200%2FZChat_v1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zhengfu200","download_url":"https://codeload.github.com/Zhengfu200/ZChat_v1/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhengfu200%2FZChat_v1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009735,"owners_count":26084645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","chat-application","frontend","learning-by-doing","learning-project","nodejs","quasar","vue3"],"created_at":"2025-02-04T14:50:49.066Z","updated_at":"2025-10-12T01:17:22.550Z","avatar_url":"https://github.com/Zhengfu200.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\u003cimg src=\"https://img.icons8.com/?size=100\u0026id=7859\u0026format=png\u0026color=000000\"\u003e\u003c/div\u003e\n\n# ZChat: Build a Public Chatroom with Node.js + Vue3 + Quasar + sqlite3    \n#### 截止2025/2/10 Zchat_V1计划中所有功能均已实现，将不再进行实质性更新（仅进行前段UI优化与bug修复）\n\n---\n\n### 关于项目：\n##### Zchat旨在于任何低配置服务器上搭建在线聊天网站，Zchat_v1中所有接口均为公开接口，请谨慎使用！\n##### 项目[演示地址](https://zhengfu200.github.io/#/)(最新版本)\n- 前端：![Static Badge](https://img.shields.io/badge/Vue-green)  ![Static Badge](https://img.shields.io/badge/Javascript-yellow)  ![Static Badge](https://img.shields.io/badge/Quasar-blue)\n- 后端：![Static Badge](https://img.shields.io/badge/Node.js-red)  ![Static Badge](https://img.shields.io/badge/Sqlite3-gray)    \n- [项目文件结构](#tree)\n- [聊天室规则](#rules)\n- [Q\u0026A](#Questions)\n- [下载](https://github.com/Zhengfu200/ZChat_v1/releases/tag/release)\n- 项目文档（正在写🖊️）\n---\n\n### ✅ Zchat_v1已实现功能:\n\n- [x] 多种消息发送（文字，图片，视频，链接，网址）\n- [x] 用户管理系统\n- [x] 多频道管理系统（禁言，身份组设置）\n- [x] 支持二次开发   \n\n*（计划在V2中实现一系列包括用户私聊，网页视频通话等功能，但并非近期）*\n\n---\n\n### 📄TODO:\n\n- [x] ~~优化频道管理界面UI~~\n- [x] ~~增加发送消息时显示发送时间~~\n- [x] ~~实现图片和视频发送~~\n- [x] ~~实现音频和文件发送（以及文件下载）~~\n- [ ] 增加聊天频道隐藏机制（可能不会在V1实现了）\n- [ ] 消除一些屎山    \n  \n### 🤯Ideas:\n\n- [x] ~~实现频道身份管理系统~~\n- [x] ~~实现消息回复，撤回机制~~\n\n### 🪲已知bug:    \n ~~1.新发布的消息聊天头像不显示（已解决）~~     \n2.q-video的src如果被设置成任意文字，则会显示错误（将通过画中画形式将整个网页显示在视频组件里）\n3.token失效问题，重新登陆即可\n4.手机端切换至后台会中断websocket连接\n\n---\n\u003ca id=\"rules\"\u003e\u003c/a\u003e\n\n### 👮 聊天室规则\n1.群主拥有定义聊天室的所有权限，管理员仅开放禁言和删除聊天记录的权限    \n2.个人资料中的About Me仅支持github markdown文档的源文件直链（raw），例如（https://raw.githubusercontent.com/Zhengfu200/Zhengfu200/refs/heads/main/README.md）    \n3.聊天室身份组存在自动划分机制（例：qwe身份组的玩家会自动被加入qwew身份组）（~~不要问，问就是bug，懒得修~~）    \n\n---\n\u003ca id=\"Questions\"\u003e\u003c/a\u003e    \n### ❓ Q\u0026A\n\n**Q:** 出现token is invalid怎么办？    \n**A:** 请重新登录，此bug目前暂无解决办法，~~但影响甚微~~\n\u003cbr\u003e    \n**Q:** 获取用户数据时出现404时怎么办？    \n**A:** 由于之前演示版本的数据库被删除，所有用户数据和token失效，请重新注册账号并登录        \n\u003cbr\u003e \n**Q:** 聊天室获取错误？    \n**A:** 排除网络问题，当不存在聊天室时，会触发报错，请立即建立第一个聊天室！     \n\n---\n\n\u003ca id=\"tree\"\u003e\u003c/a\u003e\n\n### 📁 项目文件结构\n\n```\nZchat\n├─ backend\n│  ├─ js\n│  │  ├─ accountinfo.js\n│  │  ├─ addModerator.js\n│  │  ├─ badges.js\n│  │  ├─ banAccount.js\n│  │  ├─ deleteChatrooms.js\n│  │  ├─ editAccount.js\n│  │  └─ userManager.js\n│  ├─ package-lock.json\n│  ├─ package.json\n│  └─ server.js\n├─ frontend\n│  └─ chat-app\n│     ├─ .editorconfig\n│     ├─ .npmrc\n│     ├─ .prettierrc.json\n│     ├─ .quasar\n│     │  ├─ dev-spa\n│     │  │  ├─ app.js\n│     │  │  ├─ client-entry.js\n│     │  │  ├─ client-prefetch.js\n│     │  │  └─ quasar-user-options.js\n│     │  ├─ feature-flags.d.ts\n│     │  ├─ quasar.d.ts\n│     │  └─ tsconfig.json\n│     ├─ eslint.config.js\n│     ├─ index.html\n│     ├─ jsconfig.json\n│     ├─ package-lock.json\n│     ├─ package.json\n│     ├─ postcss.config.js\n│     ├─ public\n│     │  ├─ favicon.ico\n│     │  └─ icons\n│     │     ├─ favicon-128x128.png\n│     │     ├─ favicon-16x16.png\n│     │     ├─ favicon-32x32.png\n│     │     └─ favicon-96x96.png\n│     ├─ quasar.config.js\n│     ├─ quasar.extensions.json\n│     ├─ README.md\n│     └─ src\n│        ├─ App.vue\n│        ├─ assets\n│        │  └─ quasar-logo-vertical.svg\n│        ├─ boot\n│        │  └─ axios.js\n│        ├─ components\n│        │  └─ EssentialLink.vue\n│        ├─ css\n│        │  ├─ app.scss\n│        │  └─ quasar.variables.scss\n│        ├─ layouts\n│        │  └─ MainLayout.vue\n│        ├─ pages\n│        │  ├─ AccountInfo.vue\n│        │  ├─ ErrorNotFound.vue\n│        │  ├─ IndexPage.vue\n│        │  ├─ LoginPage.vue\n│        │  ├─ RegisterPage.vue\n│        │  └─ ServerModerator.vue\n│        └─ router\n│           ├─ index.js\n│           └─ routes.js\n├─ LICENSE\n└─ README.md\n\n```\n\n---\n\n### 📝更新日志：\n#### 2025/2/10:\n##### 🙂前端：\n* 实现了聊天室身份组管理系统\n* 实现聊天室删除功能\n* 优化部分UI,统一了部分报错提示\n* 修复了若干bug\n\n##### 🙃后端:\n* 实现聊天室身份组管理系统\n* 实现聊天室删除功能\n* 制造若干Bug\n\n\n#### 2025/2/8~9:\n##### 🙂前端：\n* 修复前端若干bug\n* 实现聊天室管理员系统\n* 实现聊天室禁言系统\n\n##### 🙃后端:\n* 实现聊天室管理员增加，移除功能\n* 实现聊天室禁言系统\n\n\n#### 2025/2/7:\n##### 将截至2025/2/7日前更新的所有内容放在[我的Github主页](https://zhengfu200.github.io/#/)上\n##### 🙂前端：\n* 实现消息回复机制\n* 实现消息撤回机制\n* 修复头像更改需重新登陆才有效的bug\n* 修复消息菜单超出屏幕bug\n\n##### 🙃后端:\n* 支持消息撤回\n\n#### 2025/2/6:\n##### 🙂前端：\n* 制作了点击消息展开操作页面的UI\n* 消息操作栏实现查看用户个人资料\n\n#### 2025/2/5:\n##### 🙂前端：\n* 支持上传网页链接，文件\n\n##### 🙃后端:\n* 支持上传网页链接，文件\n\n#### 2025/2/4:\n##### 🎉 重大更新：ZChat支持图片和视频上传并直链显示了（也可以做一个图床了）\n##### 🙂前端：\n* 修复了时间显示错误的bug\n* 探索了Quasar的新特性：在q-message中发送图片消息\n* 支持发送图片和视频\n* 发现了一个bug：在q-message中发送视频消息时，如果链接直接填写文字，会因为未知错误而直接在消息中插入网页\n\n##### 🙃后端:\n* 支持发送图片和视频链接\n\n#### 2025/2/3:\n##### 将截至2025/2/3日前更新的所有内容放在[我的Github主页](https://zhengfu200.github.io/#/)上\n\n#### 2025/2/2：\n##### 🙂前端：\n* 简单实现了用户资料修改功能\n* 修复聊天室查询错误\n\n##### 🙃后端:\n* 简单实现了用户资料修改功能\n* 修复聊天室查询错误\n\n#### 2025/2/1：\n##### 🙂前端：\n* 开始制作用户详情页面\n\n##### 🙃后端:\n* 由于后端变得复杂，故将以后的接口另起js文件存储在/js目录下，再使用server.js调用\n* 开始制作用户详情接口\n  \n#### 2025/1/31:\n##### 🙂前端：\n* 开始制作频道身份管理系统\n* 大幅修改侧边栏\n* 新增新建聊天室\n\n##### 🙃后端:\n* 开始制作频道身份管理系统\n* 为websocket接口逻辑进行批注\n* 新增新建聊天室\n\n#### 2025/1/30:\n##### 🙂前端：\n* 优化修改服务器页面\n* 增添聊天头像显示\n* 修复了聊天头像显示\n* 修改消息框，增加了徽章显示，时间显示\n\n##### 🙃后端:\n* 修改数据库结构，支持聊天头像显示\n* 增加验证接口，确保后台登录验证\n* 修改数据库结构，支持徽章显示\n* 制造了新的屎山\n\n#### 2025/1/28:    \n##### 🙂前端：\n* 构建频道管理界面\n* 优化侧滑栏    \n\n##### 🙃后端：  \n* 修改数据库结构\n* 修改消息读取，发送接口\n* 增加聊天室管理机制\n\n#### 2025/1/27：  \n##### 🙂前端：  \n* 构建基础聊天页面\n* 构建登陆页面\n* 构建注册页面\n* 构建侧滑栏（未优化UI）   \n\n##### 🙃后端：\n* 搭建主体读取，发送信息接口\n* 建立用户管理数据库，登录和注册接口\n* 建立聊天室数据库    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhengfu200%2Fzchat_v1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhengfu200%2Fzchat_v1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhengfu200%2Fzchat_v1/lists"}