8000 GitHub - mmm2233/NBlog: 📠Spring Boot + Vue å‰åŽç«¯åˆ†ç¦»åšå®¢ç³»ç»Ÿ https://naccl.top
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

mmm2233/NBlog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NBlog logo

简介

Spring Boot + Vue「å‰åŽç«¯åˆ†ç¦»ï¼Œäººä¸åˆ†ç¦»ã€åšå®¢ç³»ç»Ÿ

自用åšå®¢ï¼Œé•¿æœŸç»´æŠ¤ï¼Œæ¬¢è¿Žå‹˜è¯¯

预览地å€ï¼š

å‰å°ï¼šhttps://naccl.top

åŽå°ï¼šhttps://admin.naccl.top

åŽç«¯

  1. 核心框架:Spring Boot
  2. 安全框架:Spring Security
  3. Token:jjwt
  4. ORM 框架:MyBatis
  5. 分页æ’件:PageHelper
  6. NoSQL 缓存:Redis
  7. Markdown 转 HTML:commonmark-java
  8. 离线 IP 地å€åº“:ip2region
  9. 定时任务:quartz
  10. UserAgent è§£æžï¼šyauaa

邮件模æ¿å‚考自 Typecho-CommentToMail-Template

å‰ç«¯

核心框架:Vue2.xã€Vue Routerã€Vuex

Vue 项目基于 @vue/cli4.x 构建

JS ä¾èµ–åŠå‚考的 css:axiosã€momentã€nprogressã€v-viewerã€prismjsã€APlayerã€MetingJSã€lodashã€mavonEditorã€echartsã€tocbotã€iCSS

由 @willWang8023 维护的 Vue3 版本请查看 blog-view-vue3

åŽå° UI

åŽå°åŸºäºŽ vue-admin-template 二次修改åŽçš„ my-vue-admin-template 模æ¿è¿›è¡Œå¼€å‘(于2021å¹´11月1æ—¥é‡æž„)

UI 框架为 Element UI

å‰å° UI

Semantic UI:主è¦ä½¿ç”¨ï¼Œé¡µé¢å¸ƒå±€æ ·å¼ï¼Œä¸ªäººæ„Ÿè§‰æŒºå¥½çœ‹çš„ UI 框架,比较适åˆå‰å°ç•Œé¢çš„å¼€å‘,语义化的 css,å‰ä¸€ç‰ˆåšå®¢ç³»ç»Ÿä½¿ç”¨è¿‡ï¼Œå¯æƒœè¯¥æ¡†æž¶ Vue 版的开å‘完æˆåº¦ä¸é«˜ï¼Œè§ Semantic UI Vue

Element UI:部分使用,一些å°ç»„件,弥补了 Semantic UI çš„ä¸è¶³ï¼Œä¾¿äºŽå¿«é€Ÿå®žçŽ°æ•ˆæžœ

文章排版:基于 typo.css 修改

Telegram Bot å¿«æ·æ“作

æ¡Œé¢ Phone Phone
桌é¢å®¢æˆ·ç«¯æ•ˆæžœå›¾ 手机客户端效果图1 手机客户端效果图2

è‹¥è¦å¯ç”¨è¯¥åŠŸèƒ½ï¼Œå‚考以下步骤:

  1. å‘ @BotFather 申请一个 Bot,得到该 Bot çš„token,格å¼å¦‚1234567890:qwertyuiopasdfghjklzxcvbnm
  2. 与该 Bot ç§èŠï¼Œéšä¾¿å‘个消æ¯ï¼Œç„¶åŽæ‰“开此链接https://api.telegram.org/bot<botToken>/getUpdates(替æ¢é“¾æŽ¥ä¸­çš„ token),在result -> message -> chat -> id得到chatId
  3. 将获å–çš„tokenå’ŒchatIdå¡«å…¥application-dev.properties,并å¯ç”¨comment.notify.channel=tg
  4. 由于目å‰ä»…æ 84C3 ä¾› webhook 的方å¼èŽ·å–æ¶ˆæ¯æ›´æ–°ï¼Œæ‰€ä»¥application-dev.properties中的blog.api需è¦å¡«å†™åŽç«¯ API 的地å€ï¼Œå¹¶ä¸”必须是https(Telegram çš„è¦æ±‚),也就是说如果你没有公网 IP æˆ–å†…ç½‘ç©¿é€æˆ–åå‘代ç†ï¼Œé‚£ä¹ˆåœ¨æœ¬åœ°çŽ¯å¢ƒæ˜¯æ— æ³•æµ‹è¯•çš„ï¼Œå»ºè®®ç›´æŽ¥æ‰”æœåŠ¡å™¨ä¸Š
  5. 国内通常情况下无法访问 TG çš„ API,因此æä¾›äº†ä¸¤ç§æ–¹å¼
    1. æ­£å‘代ç†ï¼šé…ç½®http.proxy.server,通过你的代ç†å‘é€è¯·æ±‚
    2. åå‘代ç†ï¼šå¯ä»¥ç›´æŽ¥ä½¿ç”¨æˆ‘跑在 Cloudflare Workers 上的å代,默认é…ç½®å³å¯ã€‚示例代ç å·²æ”¾åœ¨blog-api/cfworker-tg-api-open.js,å¯è‡ªè¡Œæ­å»ºï¼ˆ22.05.12 更新,近两天大陆ç»å¤§å¤šæ•°åœ°åŒº *.workers.dev 域åå·²è¢«å¢™ï¼Œå› æ­¤è‹¥ä»æƒ³ä½¿ç”¨æ­¤å代方å¼è®¿é—® cf worker,需è¦å°† Worker 绑定路由至自己的域å,详è§ç›¸å…³è®¨è®ºï¼‰

å¼€å‘环境

  1. 创建 MySQL æ•°æ®åº“nblog,并执行/blog-api/nblog.sqlåˆå§‹åŒ–表数æ®
  2. 修改é…置信æ¯/blog-api/src/main/resources/application-dev.properties
  3. 安装 Redis å¹¶å¯åЍ
  4. å¯åЍåŽç«¯æœåŠ¡
  5. 分别在blog-cmså’Œblog-view目录下执行npm install安装ä¾èµ–
  6. 分别在blog-cmså’Œblog-view目录下执行npm run serveå¯åЍå‰åŽå°é¡µé¢

注æ„事项

一些常è§é—®é¢˜ï¼š

  • MySQL ç¡®ä¿æ•°æ®åº“字符集为utf8mb4(â€ç«™ç‚¹è®¾ç½®â€œåŠâ€æ–‡ç« è¯¦æƒ…“等许多表字段需è¦utf8mb4æ ¼å¼å­—ç¬¦é›†æ¥æ”¯æŒ emoji 表情,å¦åˆ™åœ¨å¯¼å…¥ sql 文件时,å³ä½¿æˆåŠŸå¯¼å…¥ï¼Œä¹Ÿä¼šæœ‰éƒ¨åˆ†å­—æ®µå†…å®¹ä¸å®Œæ•´ï¼Œå¯¼è‡´å‰ç«¯é¡µé¢æ¸²æŸ“æ•°æ®æ—¶æŠ¥é”™ï¼‰
  • ç¡®ä¿ Maven å’Œ NPM 能够æˆåŠŸå¯¼å…¥çŽ°ç‰ˆæœ¬ä¾èµ–,请勿å‡çº§æˆ–é™ä½Žä¾èµ–版本
  • æ•°æ®åº“中默认用户å密ç ä¸ºAdmin,123456,因为是个人åšå®¢ï¼Œæ²¡æ‰“ç®—åšä¿®æ”¹å¯†ç çš„页é¢ï¼Œå¯åœ¨top.naccl.util.HashUtils下的main方法手动生æˆå¯†ç å­˜å…¥æ•°æ®åº“
  • 注æ„修改application-dev.propertiesçš„é…置信æ¯
    • 注æ„修改token.secretKey,å¦åˆ™æ— æ³•ä¿è¯ token 安全性
    • spring.mail.hoståŠspring.mail.port的默认é…置为阿里云邮箱,其它邮箱æœåС商å‚考关键字spring mail æœåŠ¡å™¨ï¼ˆé‚®ç®±é…置用于接收/å‘é€è¯„论æé†’)
  • 如需部署,注æ„å°†/blog-view/src/plugins/axios.jså’Œ/blog-cms/src/util/request.js中的baseUrl修改为你的åŽç«¯ API 地å€
  • 大部分个性化é…ç½®å¯ä»¥åœ¨åŽå°â€œç«™ç‚¹è®¾ç½®â€ä¸­ä¿®æ”¹ï¼Œå°éƒ¨åˆ†ç”±äºŽè€ƒè™‘到首å±åŠ è½½é€Ÿåº¦ï¼ˆå¦‚é¦–é¡µå¤§å›¾ï¼‰éœ€è¦ä¿®æ”¹å‰ç«¯æºç 

éšè—功能

  • 在å‰å°è®¿é—®/login路径登录åŽï¼Œå¯ä»¥ä»¥åšä¸»èº«ä»½ï¼ˆå¸¦æœ‰åšä¸»æ ‡è¯†ï¼‰å›žå¤è¯„论,且ä¸éœ€è¦å¡«å†™æ˜µç§°å’Œé‚®ç®±å³å¯æäº¤
  • 在 Markdown 中加入<meting-js server="netease" type="song" id="歌曲id" theme="#25CCF7"></meting-js> (注æ„ä»¥æ­£æ–‡å½¢å¼æ·»åŠ ï¼Œè€Œä¸æ˜¯ä»£ç ç‰‡æ®µï¼‰å¯ä»¥åœ¨æ–‡ç« ä¸­æ·»åŠ  APlayer éŸ³ä¹æ’­æ”¾å™¨ï¼Œnetease为网易云音ä¹ï¼Œå…¶å®ƒé…ç½®åŠå…·ä½“用法å‚考 MetingJS
  • æä¾›äº†ä¸¤ç§éšè—文字效果:在 Markdown 中使用@@åŒ…ä½æ–‡å­—,文字会被渲染æˆâ€œé»‘å¹•â€æ•ˆæžœï¼Œé¼ æ ‡æ‚¬æµ®åœ¨ä¸Šé¢æ—¶æ‰ä¼šæ˜¾ç¤ºï¼›ä½¿ç”¨%%åŒ…ä½æ–‡å­—,文字会被“è“色覆盖层â€é®ç›–ï¼Œåªæœ‰é¼ æ ‡é€‰ä¸­çŠ¶æ€æ‰ä¼šå色显示。例如:@@éšè—文字@@,%%éšè—文字%%

LICENSE

MIT

Thanks

感谢 JetBrains æä¾›çš„ Open Source License

æ„Ÿè°¢ä¸Šé¢æåˆ°çš„æ¯ä¸ªå¼€æºé¡¹ç›®

About

📠Spring Boot + Vue å‰åŽç«¯åˆ†ç¦»åšå®¢ç³»ç»Ÿ https://naccl.top

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 47.4%
  • Vue 38.0%
  • JavaScript 7.5%
  • CSS 4.6%
  • SCSS 1.1%
  • HTML 1.0%
  • Shell 0.4%
0