{"id":16809551,"url":"https://github.com/zonemeen/iblog","last_synced_at":"2025-04-09T22:19:26.382Z","repository":{"id":127136830,"uuid":"247302330","full_name":"zonemeen/iBlog","owner":"zonemeen","description":"🔥 基于Vue、Node.js(Express)、MongoDB搭建的个人博客blog\u0026后台管理系统admin，承接毕业设计系统+解决疑难杂症，联系微信：zonemeen","archived":false,"fork":false,"pushed_at":"2022-09-19T03:16:24.000Z","size":45572,"stargazers_count":266,"open_issues_count":2,"forks_count":48,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-02T20:09:14.631Z","etag":null,"topics":["axios","blog","bycryptjs","element-ui","express","markdown","mongodb","mongoose","nodejs","vue","vue-blog","vue-blog-admin","vue-router"],"latest_commit_sha":null,"homepage":"","language":"Vue","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/zonemeen.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}},"created_at":"2020-03-14T15:30:14.000Z","updated_at":"2025-03-07T09:31:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"4cf897e5-ca43-4cc0-8ce6-27790c50b0cc","html_url":"https://github.com/zonemeen/iBlog","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zonemeen%2FiBlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zonemeen%2FiBlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zonemeen%2FiBlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zonemeen%2FiBlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zonemeen","download_url":"https://codeload.github.com/zonemeen/iBlog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119487,"owners_count":21050778,"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","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":["axios","blog","bycryptjs","element-ui","express","markdown","mongodb","mongoose","nodejs","vue","vue-blog","vue-blog-admin","vue-router"],"created_at":"2024-10-13T10:13:13.022Z","updated_at":"2025-04-09T22:19:26.352Z","avatar_url":"https://github.com/zonemeen.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"### 环境准备\n\n- Node.js v14.15.5\n- MongoDB v4.2.17\n\n### 安装MongoDB数据库\n\n进入[官网](https://www.mongodb.com/try/download/community)下载，版本是4.2.17，平台是Windows，安装包为msi格式\n\n### 项目开发\n\n#### 1. 克隆项目至本地：\n\n```sh\n$ git clone git@github.com:miqilin21/vue-blog.git\n$ cd vue-blog\n$ pnpm i\n```\n\n#### 2. 安装前后台(admin、web)及后端(server)项目依赖：\n\n```sh\n$ pnpm install-all\n```\n\n#### 3. 运行前后台(admin、web)及后端(server)项目：\n\n```sh\n$ pnpm serve-all\n```\n\n#### 4. 打开浏览器预览：\n\nhttp://localhost:8080 打开前台本地页面；http://localhost:8088 打开后台本地页面。\n\n第一次后台admin登陆时请先注册用户，登录后可以将注册按钮隐藏以防登录账户泄露。\n\n### 后台管理系统\n\n- 新增分类\n- 分类列表(增删改查)\n\n- 新增文章\n- 文章列表(增删改查)\n\n- 文章评论列表\n\n- 新增友链\n- 友链列表(增删改查)\n\n- 留言列表\n\n- 留言用户列表\n\n- Markdown 编辑器集成\n- 图片上传功能\n\n- 新增用户\n- 用户列表(增删改查)\n\n- 通用增删改查接口实现(中间件 resourceMiddleware)\n\n- 登录注册功能\n- 登出功能\n- 添加 jwt 校验（1. 用户名查找 2. 密码校验 3. 返回 token）\n- 添加 http 拦截器（request、response)\n\n### 博客系统\n\n- 博客首页 UI\n- 博客首页接口实现\n- 博客归档页面 UI\n- 博客归档页面接口实现\n- 博客标签页面 UI\n- 博客标签页面接口实现\n- 博客文章页面 UI\n- 博客文章页面接口实现\n- 博客友链页面 UI\n- 博客友链页面接口实现\n- 博客留言页面 UI\n- 博客留言页面接口实现\n\n### 配置注意点\n\n1. 评论页面回复他人评论采用的是你的QQ邮箱进行同步通知，需要在 `server/plugins/sendEmail.js` 中进行邮箱配置，如何获取QQ邮箱授权码见下图（在QQ邮箱的设置-账户页面）。\n\n![](https://miqilin-blog.oss-cn-shenzhen.aliyuncs.com/qq-shouquanma.png)\n\n2. 评论主账户的配置（主账户用于邮箱回复，所以评论建立的账户邮箱要和上一步QQ邮箱授权码的邮箱为同一个），同时需要在 `web/src/commentConfig.js` 中进行评论账户的设置（注意`topNickName`需要和评论建立的主账号昵称一致，`topParentId`可从后台页面获取），主账户被清除的话要重新进行配置。\n3. 关于后台的图片上传：默认是上传到本地，这种方式的话对于服务器要求比较高，自然前端的加载速度会受影响，可以选择用阿里云的oss进行上传及储存，需要将 `server/routes/admin/index.js` 中关于阿里云oss图片上传的代码注释解除，同时将本地图片上传的代码注释掉，最后将你的阿里云oss配置填入即可。\n\n### 项目打包部署\n\n- web、admin 项目打包(根目录下运行 `pnpm build-all` 命令)\n- 域名购买\n- 域名解析\n- linux 云服务器购买\n- git 安装, ssh key 添加\n- pm2 进程管理\n- ngnix 配置\n- mongodb 配置\n- mongodb 数据从本地迁移至服务器\n- 七牛云 cdn 全站免费加速\n\n线上服务器部署可参考这份[指南](https://www.yuque.com/lingqian-ceavu/gxhqpr)。\n\n### 博客后台管理系统\n\n![](https://miqilin-blog.oss-cn-shenzhen.aliyuncs.com/admin.gif)\n\n### 博客系统\n\n![](https://miqilin-blog.oss-cn-shenzhen.aliyuncs.com/web.gif)\n\n### 欢迎 Star，Issues\n\n- 您的 Star，是我不断更新维护的动力！！！\n- 若在使用过程中，存在某些问题，欢迎 Issues\n\n### To Do List\n\n- 性能优化，图片需要压缩处理，预加载处理\n- 给博文页面加上搜索功能\n- 浏览器兼容问题，移动端适配。只用了自己电脑的谷歌 chrome 浏览器开发和手机适配效果，其他种种都没试，不过不建议移动端使用，电脑登陆效果更佳\n- 解决 vue 的 seo 问题及刷新渲染页面抖动问题。先暂时做 vue 预渲染，不排除以后会做 vue 服务端渲染或 nuxt.js 服务端渲染\n- 整理代码，拆分出组件。让结构更清晰，代码量更少\n- 利用 typescript 重构整个项目\n- 想到有意思的功能也会慢慢加上，持续开发中...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzonemeen%2Fiblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzonemeen%2Fiblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzonemeen%2Fiblog/lists"}