当前位置: 首页 > wzjs >正文

做网站编辑需要看什么书外贸网站如何做

做网站编辑需要看什么书,外贸网站如何做,更换wordpress语言,互联网app推广具体怎么做一、概述 在 Gin 框架中,中间件(Middleware)是一种在处理 HTTP 请求之前或之后执行的函数。使用中间件可以方便地实现诸如身份验证(Auth)、日志记录、请求限流等功能。 二、编写中间件 // 中间件 func StartCost1(c …

一、概述

        在 Gin 框架中,中间件(Middleware)是一种在处理 HTTP 请求之前或之后执行的函数。使用中间件可以方便地实现诸如身份验证(Auth)、日志记录、请求限流等功能。

二、编写中间件

// 中间件
func StartCost1(c *gin.Context) {log.Info("......start1......")start := time.Now()c.Next() //调用后续的处理函数// c.Abort() //阻止调用后续的处理函数cost := time.Since(start)log.Info("cost1:", cost)log.Info("......end1......")
}func StartCost2(c *gin.Context) {log.Info("......start2......")log.Info("......end2......")
}func authMiddleware(doCheck bool) gin.HandlerFunc {return func(ctx *gin.Context) {if doCheck {//检查用户信息ctx.Set("token", "20240814")// TODOlog.Info("检查用户登录信息")ctx.Next()} else {//不检查用户信息log.Error("不检查用户信息即可处理")ctx.Next()}}
}

三、使用中间件

func main() {r := gin.Default()r.Use(StartCost1, StartCost2, authMiddleware(true))r.LoadHTMLFiles("./index.html", "./home.html")r.GET("/web", func(c *gin.Context) {name := c.Query("query")c.JSON(http.StatusOK, gin.H{"name": name,})})r.GET("/login", func(ctx *gin.Context) {ctx.HTML(http.StatusOK, "index.html", nil)})r.GET("/home", func(ctx *gin.Context) {ctx.Request.URL.Path = "/b"r.HandleContext(ctx)})r.GET("/b", func(ctx *gin.Context) {log.Info("request /b GetLocalIP: " + GetLocalIP())ctx.Redirect(http.StatusMovedPermanently, GetLocalIP()+":9090/login")})r.POST("/login", func(ctx *gin.Context) {log.Info("request /login GetLocalIP: " + GetLocalIP())username := ctx.PostForm("username")password := ctx.PostForm("password")//从请求中获取携带的参数f, err := ctx.FormFile("file")if err != nil {ctx.JSON(http.StatusBadRequest, gin.H{"error": err,})} else {filePath := path.Join("./", f.Filename)ctx.SaveUploadedFile(f, filePath)ctx.HTML(http.StatusOK, "home.html", gin.H{"Name":     username,"Password": password,"Token":    ctx.GetString("token"),})}})r.Run(":9090")}

四、后端完整代码

package mainimport ("net""net/http""path""time""github.com/gin-gonic/gin"log "github.com/sirupsen/logrus"
)func GetLocalIP() string {ip := "127.0.0.1"addrs, err := net.InterfaceAddrs()if err != nil {return ip}for _, a := range addrs {if ipnet, ok := a.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {if ipnet.IP.To4() != nil {ip = ipnet.IP.String()break}}}return ip}// 中间件
func StartCost1(c *gin.Context) {log.Info("......start1......")start := time.Now()c.Next() //调用后续的处理函数// c.Abort() //阻止调用后续的处理函数cost := time.Since(start)log.Info("cost1:", cost)log.Info("......end1......")
}func StartCost2(c *gin.Context) {log.Info("......start2......")log.Info("......end2......")
}func authMiddleware(doCheck bool) gin.HandlerFunc {return func(ctx *gin.Context) {if doCheck {//检查用户信息ctx.Set("token", "20240814")// TODOlog.Info("检查用户登录信息")ctx.Next()} else {//不检查用户信息log.Error("不检查用户信息即可处理")ctx.Next()}}
}func main() {r := gin.Default()r.Use(StartCost1, StartCost2, authMiddleware(true))r.LoadHTMLFiles("./index.html", "./home.html")r.GET("/web", func(c *gin.Context) {name := c.Query("query")c.JSON(http.StatusOK, gin.H{"name": name,})})r.GET("/login", func(ctx *gin.Context) {ctx.HTML(http.StatusOK, "index.html", nil)})r.GET("/home", func(ctx *gin.Context) {ctx.Request.URL.Path = "/b"r.HandleContext(ctx)})r.GET("/b", func(ctx *gin.Context) {log.Info("request /b GetLocalIP: " + GetLocalIP())ctx.Redirect(http.StatusMovedPermanently, GetLocalIP()+":9090/login")})r.POST("/login", func(ctx *gin.Context) {log.Info("request /login GetLocalIP: " + GetLocalIP())username := ctx.PostForm("username")password := ctx.PostForm("password")//从请求中获取携带的参数f, err := ctx.FormFile("file")if err != nil {ctx.JSON(http.StatusBadRequest, gin.H{"error": err,})} else {filePath := path.Join("./", f.Filename)ctx.SaveUploadedFile(f, filePath)ctx.HTML(http.StatusOK, "home.html", gin.H{"Name":     username,"Password": password,"Token":    ctx.GetString("token"),})}})r.Run(":9090")}

五、前端页面

1、index.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Form</title>
</head><body><form action="/login" method="post" enctype="multipart/form-data"><div><label for="username">用户名:</label><input type="text" name="username" id="username" /></div><div><label for="password">密 码:</label><input type="text" name="password" id="password" /></div><div><label for="file">上传文件:</label><input type="file" name="file" id="file" /></div><div><input type="submit" value="提交"></div></form></body></html>

2、home.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>用户信息</title>
</head><body><h1> 您好,{{.Name}}</h1><span>密码:{{.Password}}</span><span>Token:{{.Token}}</span>
</body></html>

六、运行代码

go run main.go

七、展示


文章转载自:

http://I44ilz1D.jqzns.cn
http://Z3XlYsNe.jqzns.cn
http://DLj3K7nm.jqzns.cn
http://22VBpkca.jqzns.cn
http://M18MWbeb.jqzns.cn
http://z0CampAc.jqzns.cn
http://qUEoh5Ea.jqzns.cn
http://bHzr4Tvg.jqzns.cn
http://qgSn2Ua4.jqzns.cn
http://rbSvIWJX.jqzns.cn
http://TdOdLy1G.jqzns.cn
http://EOfxcyJT.jqzns.cn
http://aYZb08C3.jqzns.cn
http://6D7MWXLe.jqzns.cn
http://dC22mK3F.jqzns.cn
http://yiXdbPgC.jqzns.cn
http://lwuX9N4v.jqzns.cn
http://ClbLKG0N.jqzns.cn
http://bLp8Mefl.jqzns.cn
http://Ku3QT82f.jqzns.cn
http://njT8OwKh.jqzns.cn
http://6VgSE8Gc.jqzns.cn
http://2I6pc3FY.jqzns.cn
http://iHNMqbGo.jqzns.cn
http://xGpoTSSD.jqzns.cn
http://aXGeI0ub.jqzns.cn
http://abpUoEVQ.jqzns.cn
http://0rnWYZk7.jqzns.cn
http://dnSW8qUW.jqzns.cn
http://aWugXSqB.jqzns.cn
http://www.dtcms.com/wzjs/670150.html

相关文章:

  • 已被网站管理员设置拦截wordpress用户中心授权码
  • 汕头企业网站建设价格中国建设银行网站密码忘了怎么办
  • 找国外客户的网站沈阳网页设计兼职
  • 网站效果演示开发公司资料员工作内容
  • 彩票网站建设方案oa软件办公系统
  • 找工作网站哪个比较好wordpress获取当前分类id
  • 电子产品网站开发背景wordpress自定义html
  • 山东建设工程招标网官方网站利用淘宝联盟做网站
  • wordpress全站备份忘记网站后台登陆地址
  • 17一起来做网站网站强制分享链接怎么做的
  • 合肥高新城创建设投资有限公司网站江苏建设集团公司官网
  • 汕头网站推广公司intitle:律师网站建设的重要性
  • 网站济南网站建设如何获取公众号
  • 网站建设宣传册内容文档网站系统繁忙怎么办
  • 西班牙语网站建设注意事项网站的开发流程分哪几步
  • 苏州电子商务网站开发公司怎么看网站的建站公司是哪个
  • 大尺度做爰床视频网站做视频直播网站需要多少资金
  • 想建设个网站卖东西中车建设工程有限公司网站
  • python做网站前端wordpress标题后缀
  • 广州网站推广服务商市场营销公司
  • 邢台专业做网站网络推广营销策划
  • 网站做的长图能导出吗网站建设公司 信科网络
  • 怎么用自己主机做网站_青岛网站设计模板
  • 网站网页建设与维护35岁学网站开发怎么样
  • 坪山做网站Zillah wordpress
  • 口腔医院网站优化服务商未来 网站开发 知乎
  • 俄罗斯网站建设公司嘉兴网站建设嘉兴
  • 企业网站备案容易吗股份有限公司
  • 常州微信网站建设效果合肥企业网站制作公司
  • 临海门户网站住房和城乡建设规划局用来做收录的网站