package routers
import (
"fmt"
"gitee.com/jikey/elk-blog/app/controller/admin"
"gitee.com/jikey/elk-blog/app/controller/home"
"gitee.com/jikey/elk-blog/middleware"
"gitee.com/jikey/elk-blog/pkg/utils"
"github.com/flosch/pongo2"
"github.com/gin-gonic/gin"
"net/http"
"strings"
)
func RouterApp() *gin.Engine {
// gin.SetMode(gin.ReleaseMode)
gin.SetMode(gin.DebugMode)
router := gin.Default()
router.Use(middleware.LoggerToFile())
// 模板引擎
router.HTMLRender = utils.NewRender("views/")
// 静态路由
router.Static("/public", "./public")
router.Static("/uploads", "./public/uploads")
router.StaticFile("/favicon.ico", "./public/common/images/favicon.ico")
router.StaticFile("/admin/mini", "./public/common/api/init.json")
// 首页
indexController := new(admin.Index)
router.GET("/admin/test", indexController.Test)
// 不需要经过token验证的路由
authController := new(admin.Auth)
router.GET("/admin/login", authController.Login)
router.POST("/admin/login", authController.SignIn)
// 管理页面
back := router.Group("/admin")
back.Use(middleware.JWTAuth())
{
back.GET("/", indexController.Index)
back.GET("welcome", indexController.Welcome)
// 上传图片
back.POST("upload/image", admin.UploadImage)
// 文章管理
articleController := new(admin.Article)
back.GET("article", articleController.Index)
back.GET("article/category", articleController.Category)
back.GET("article/category/list", articleController.CategoryList)
back.GET("article/list", articleController.List)
back.GET("article/:id", articleController.Detail)
back.GET("article/edit", articleController.Edit)
back.GET("article/edit/md", articleController.EditMd)
back.POST("article/insert", articleController.Insert)
back.PUT("article/update", articleController.Update)
back.POST("article/delete", articleController.Destroy)
// 分类管理
categoryController := new(admin.Category)
back.GET("category", categoryController.Index)
back.GET("category/list", categoryController.List)
back.POST("category/insert", categoryController.Insert)
back.PUT("category/update", categoryController.Update)
back.POST("category/delete", categoryController.Destory)
// Banner管理
bannerController := new(admin.Banner)
back.GET("banner", bannerController.Index)
back.GET("banner/list", bannerController.List)
back.POST("banner/insert", bannerController.Insert)
back.PUT("banner/update", bannerController.Update)
back.POST("banner/delete", bannerController.Destroy)
// System管理
systemController := new(admin.System)
back.GET("system/setting", systemController.Setting)
back.GET("system/setting/list", systemController.SettingList)
back.PUT("system/setting/update", systemController.SettingUpdate)
back.GET("system/bak", systemController.Bak)
back.GET("system/restore", systemController.Restore)
serverController := new(admin.Server)
back.GET("system/monitor", serverController.List)
// 留言管理
messageController := new(admin.Message)
back.GET("message", messageController.Index)
back.GET("message/list", messageController.List)
back.POST("message/delete", messageController.Destory)
// 评论管理
commentController := new(admin.Comment)
back.GET("comment", commentController.Index)
back.GET("comment/list", commentController.List)
back.POST("comment/insert", commentController.Insert)
back.POST("comment/delete", commentController.Destory)
// 友情链接
linkController := new(admin.Link)
back.GET("link", linkController.Index)
back.GET("link/list", linkController.List)
back.POST("link/insert", linkController.Insert)
back.PUT("link/update", linkController.Update)
back.POST("link/delete", linkController.Destory)
// 用户管理
userController := new(admin.User)
back.GET("user", userController.Index)
back.GET("users", userController.Users)
back.GET("users/list", userController.List)
back.GET("user/password", userController.Password)
back.GET("user/info", userController.Info)
back.POST("user/insert", userController.Insert)
back.PUT("user/update", userController.Update)
back.POST("user/delete", userController.Destory)
// 关于我
aboutController := new(admin.About)
back.GET("about", aboutController.Index)
back.PUT("about/update", aboutController.Update)
back.GET("about/info", aboutController.Detail)
}
// 前台页面
front := router.Group("")
{
// 首页
homeController := new(home.Index)
front.GET("/", homeController.Index)
front.GET("/test", homeController.Test)
// 获取验证码
front.GET("/verify", homeController.GetVerify)
// 博客
blogController := new(home.Article)
front.GET("/article", blogController.Index)
front.GET("/article/:id", blogController.Detail)
front.GET("/article/archive/:id", blogController.Archive)
front.GET("/article/category/:id", blogController.Category)
front.GET("/search", blogController.Index)
front.POST("/article/:id/likes", blogController.Likes)
// 标签
tagsController := new(home.Tags)
front.GET("/tags", tagsController.Index)
// 评论
commentController := new(home.Comment)
front.GET("/comment/list", commentController.List)
front.POST("/comment/add", commentController.Add)
// 留言板
messageController := new(home.Message)
front.GET("/message", messageController.Index)
front.POST("/message/add", messageController.Add)
// 撰稿人
writerController := new(home.Writer)
front.GET("/writer", writerController.Index)
// 关于我
aboutController := new(home.About)
front.GET("/about", aboutController.Index)
}
// 全局处理404
router.NoRoute(func(c *gin.Context) {
path := strings.Split(c.Request.URL.Path, "/")
fmt.Println("fmt-path: ", path)
c.HTML(http.StatusOK, "home/errors/404.html", pongo2.Context{
"active": "index",
"module": c.Request.URL.Path,
})
})
return router
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
功能说明 1、文章 文章发布,采用富文本 tinymce 和 markdown 编辑的使用体验 分类管理 文章排序 草稿箱 2、Banner管理 Banner增加、修改、删除 3、评论 文章评论 评论回复 4、友情链接 添加、修改、删除友链 5、用户 修改用户基础信息 6、友情链接 添加、修改友链 友链分类 7、设置 网站设置 主题切换
资源推荐
资源详情
资源评论
收起资源包目录
基于Go, Gin, Gorm, Mysql, Vue, Element, Pongo2 的个人博客管理系统 (429个子文件)
mysqld.cnf 3KB
redis.conf 193B
index.css 236KB
layui.css 78KB
animate.min.css 55KB
skin.min.css 42KB
skin.min.css 42KB
font-awesome.css 37KB
font-awesome.css 37KB
font-awesome.min.css 30KB
font-awesome.min.css 30KB
style.css 27KB
github-markdown.css 23KB
app.css 22KB
layuimini.css 20KB
app.css 20KB
layuimini.css 18KB
app.css 18KB
wangEditor.css 17KB
index.min.css 16KB
app.css 16KB
wangEditor.min.css 15KB
common.css 15KB
layer.css 14KB
zyupload-1.0.0.min.css 9KB
iconfont.css 7KB
override.css 7KB
laydate.css 7KB
home.css 7KB
visualblocks.css 5KB
visualblocks.css 5KB
pygment.css 4KB
default.css 4KB
default.css 4KB
login.css 4KB
content.min.css 4KB
content.min.css 4KB
content.inline.min.css 3KB
content.inline.min.css 3KB
prism.css 2KB
prism.css 2KB
nprogress.css 1KB
public.css 1KB
public.css 1KB
code.css 1KB
github-dark.min.css 1KB
step.css 1KB
treetable.css 294B
global.css 0B
Dockerfile 945B
Dockerfile 141B
Dockerfile 64B
Dockerfile-mysql 61B
fontawesome-webfont.eot 162KB
fontawesome-webfont.eot 162KB
iconfont.eot 46KB
tinymce.eot 18KB
tinymce.eot 18KB
tinymce-small.eot 9KB
tinymce-small.eot 9KB
iconfont.eot 8KB
404.gif 1.3MB
loading.gif 7KB
ajax-loader.gif 6KB
loading-0.gif 6KB
loading25.gif 3KB
loader.gif 3KB
loader.gif 3KB
loading-2.gif 2KB
loading.gif 2KB
loading-1.gif 701B
smiley-cool.gif 354B
smiley-cool.gif 354B
smiley-wink.gif 350B
smiley-wink.gif 350B
smiley-smile.gif 344B
smiley-smile.gif 344B
smiley-laughing.gif 343B
smiley-laughing.gif 343B
smiley-foot-in-mouth.gif 342B
smiley-foot-in-mouth.gif 342B
smiley-frown.gif 340B
smiley-frown.gif 340B
smiley-kiss.gif 338B
smiley-surprised.gif 338B
smiley-kiss.gif 338B
smiley-surprised.gif 338B
smiley-undecided.gif 337B
smiley-undecided.gif 337B
smiley-innocent.gif 336B
smiley-yell.gif 336B
smiley-innocent.gif 336B
smiley-yell.gif 336B
smiley-embarassed.gif 331B
smiley-embarassed.gif 331B
smiley-cry.gif 329B
smiley-cry.gif 329B
smiley-tongue-out.gif 328B
smiley-tongue-out.gif 328B
smiley-sealed.gif 323B
共 429 条
- 1
- 2
- 3
- 4
- 5
资源评论
程序猿小D
- 粉丝: 3045
- 资源: 118
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python自学教程-12-sql注入和防止sql注入.ev4.rar
- python自学教程-11-pymsql对数据库的增删改操作.ev4.rar
- python自学教程-10-pymysql的查询语句操作.ev4.rar
- Sigrity-XtractIM-template.rar
- Sigrity-XtractIM-Tutorial.rar
- Sigrity-XtractIM User Guide.rar
- MicrosoftIgnite2024_ConvinceYourManager.docx
- Sigrity-XPIDME User Guide.rar
- Sigrity-XcitePI What’s New in Sigrity 2018.rar
- Sigrity-XcitePI User Guide.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功