引入跨域中间件
router.Use(req.Allow)
创建跨域中间件
func Allow(c *gin.Context) {
// 跨域 白名单
var passUrl = []string{
"/award/get", // 抽奖信息
"/award/start", // 开始抽奖
}
fullPath := c.FullPath()
for i:=0; i<len(passUrl); i++ {
if passUrl[i] == strings.ToLower(fullPath) {
c.Header("Access-Control-Allow-Origin", "*")
c.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token")
c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type")
c.Header("Access-Control-Allow-Credentials", "true")
return // 白名单跳过检验
}
}
}