IRIS+VUE 前后端分离实践
本文最后更新于 2021年04月12日 已经是 897天前了 ,文章可能具有时效性,若有错误或已失效,请在下方留言

前言

前后端分离对于一个项目来说可以大大缩短开发时间,前端和后端按照统一的约定来定义接口,最终将前端后端结合,项目就可以运行了,目前很多网站都采用的是nginx的反代来实现的,这里我们采用iris的文件系统

步骤

后端编写

后端搭建好框架和一些接口(包括数据库连接,操作,路由等等,这里我就不过多赘述了)下面是本文重点介绍的:

  • 在项目根目录新建一个文件夹来存放前端文件,这里我文件夹的名字是admin,或者直接用 vue create 来创建

  • 然后在go文件里声明路径app.HandleDir("/admin", "admin/dist/spa")
    注意后面路径是前端文件编译后的路径

  • 此时要注意前端文件的配置 publicPath: '/admin', 因为不是根目录所以要写上子目录的路径

  • 后续我将采用jwt来进行鉴权,故无需配置csrf保护

在这里贴上我项目的部分代码

    app := iris.New()
    app.UseGlobal(before)
    app.Use(logger.New())
    jwtHandler := jwtmiddleware.New(jwtmiddleware.Config{
        ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
            return []byte(conf.Sysconfig.CsrfKey), nil
        },
        SigningMethod: jwt.SigningMethodHS256,
        //验证未通过错误处理方式
        ErrorHandler: func(ctx iris.Context,e error){
            if conf.Sysconfig.Debug {
                _, _ = ctx.JSON(model.ReturnMsg{
                    Code: 0,
                    Data: nil,
                    Msg:  e.Error(),
                })
                return
            }else {
                _, _ = ctx.JSON(model.ReturnMsg{
                    Code: 0,
                    Data: nil,
                    Msg:  "登录信息验证失败,请重新登录谢谢!",
                })
                return
            }
        },
    })
    admin := app.Party("/api/admin",jwtHandler.Serve)
    admin.Get("/createNotice", func(ctx iris.Context) {
        info := ctx.Values().Get("jwt").(*jwt.Token).Claims.(jwt.MapClaims)
        a:=info["name"].(string)
        ctx.WriteString("ok "+a)
    })

前端编写

前端目前最需要在 /admin目录下进行开发就行了,这里也不多赘述了

重要提示

重要提示
前后端分离,请不要完全依赖前端进行鉴权,后端鉴权才是最主要的。

这里附上之前写的项目https://github.com/super-coffee/coffee-keys-go

广告 广告位招租

评论

  1. ccc
    Windows Edge
    江苏省南京市
    3年前
    2021-2-09 10:31:52

    这也叫前后端分离?

  2. Android Chrome
    河北省
    3年前
    2020-11-10 9:59:43

    test

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
小黄脸
上一篇
下一篇