{"id":31601646,"url":"https://github.com/nullptru/geass-blog","last_synced_at":"2026-05-14T21:37:25.144Z","repository":{"id":98731741,"uuid":"111293194","full_name":"nullptru/geass-blog","owner":"nullptru","description":"Geass blog build by React \u0026\u0026 dva","archived":false,"fork":false,"pushed_at":"2018-04-20T07:07:41.000Z","size":14548,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-10-06T07:25:34.946Z","etag":null,"topics":["blog","dva","react","spa"],"latest_commit_sha":null,"homepage":"https://geasscn.me:8080","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nullptru.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-11-19T12:30:53.000Z","updated_at":"2019-08-17T08:30:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff0cac7c-df4d-4454-b3cd-70add50599aa","html_url":"https://github.com/nullptru/geass-blog","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nullptru/geass-blog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullptru%2Fgeass-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullptru%2Fgeass-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullptru%2Fgeass-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullptru%2Fgeass-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nullptru","download_url":"https://codeload.github.com/nullptru/geass-blog/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullptru%2Fgeass-blog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33044397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"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":["blog","dva","react","spa"],"created_at":"2025-10-06T07:15:02.244Z","updated_at":"2026-05-14T21:37:25.138Z","avatar_url":"https://github.com/nullptru.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"该版本为SPA版本：\n[在线地址](https://geasscn.me:8080) \n同构SSR版本：\n[在线地址](https://geasscn.me) \n\n### CHANGELOG\n+ v 1.0： 正式发布的第一个版本，完成前后端的完整实现\n+ v 1.1: 博客全面迁移到https的怀抱，注释七牛存储，暂存本地\n\n### 运行\n```\n// dependencies install\nnpm install / yarn install\ncd dva-server\nnpm install / yarn install\n\n// run server\ncd dva-server\nnpm start / yarn start\n\n// run client\nnpm start / yarn start\n\n// build\nnpm run build\n```\n### 界面展示\n##### 主页\n![主页](http://p1wmhg5ee.bkt.clouddn.com/main.png)\n##### 详情\n![详情](http://p1wmhg5ee.bkt.clouddn.com/56FF3551-3CE5-4B55-9380-F7D4DA748218.png)\n##### 登陆\n![登陆](http://p1wmhg5ee.bkt.clouddn.com/63CC2D25-5A4C-411A-91D8-CCBF7C442603.png)\n##### 后台\n![后台](http://p1wmhg5ee.bkt.clouddn.com/592D8DB1-FF55-4504-8FAC-ABFC0C73A4BB.png)\n\n### 功能实现\n#### 博客部分\n1. 文章的浏览， 搜索， 分页\n2. 文章标签的分类和查询\n3. 近期文章展现\n4. 文章评论功能\n5. 文章搜索功能\n6. 错误边界处理\n7. 数据参数封装\n8. Live2D看板娘\n\n#### 后台部分\n1. 登陆token权限控制\n2. 文章管理\n3. 标签管理\n4. 错误记录\n\n### 实现技术栈\n+ React 16\n+ Dva 2.0\n+ Koa2\n+ Mysql\n+ Roadhog\n......\n\n### 目录结构\n```\n—— blog-server：     服务器端代码（是一个单独的项目）\n   —— src\n      —— routes：    api路由\n      —— utils：     工具类\n   —— config.js：    服务端配置文件\n—— mock：            mock模拟数据，早期开发用\n—— public：          公共资源\n—— src\n   —— assets\n   —— components：   封装的一系列公共组件\n   —— models：       dva模型\n   —— routes：       视图层\n   —— services：     api 请求服务\n   —— themes：       公共样式文件\n   —— utils：        工具类\n   —— index.js      入口程序\n   —— router.js     路由\n```\n\n欢迎提ISSUE～\n\n有什么想法可以在issue里留言或者通过博客里联系方式联系～\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullptru%2Fgeass-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnullptru%2Fgeass-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullptru%2Fgeass-blog/lists"}