作者 tangxvhui

处理跨域 问题

... ... @@ -21,8 +21,7 @@
*.sum
opp
/vendor
/*.exe~
/log
/logs
... ...
... ... @@ -20,7 +20,7 @@ require (
github.com/moul/http2curl v1.0.0 // indirect
github.com/onsi/ginkgo v1.13.0
github.com/onsi/gomega v1.10.1
github.com/prometheus/common v0.10.0
github.com/prometheus/common v0.10.0 // indirect
github.com/sergi/go-diff v1.1.0 // indirect
github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 // indirect
github.com/smartystreets/goconvey v1.6.4 // indirect
... ...
package models
import (
"context"
"time"
"github.com/go-pg/pg/v10"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain"
)
... ... @@ -29,3 +31,18 @@ type PartnerInfo struct {
//关联业务员
Salesman []*domain.Salesman
}
var _ pg.BeforeUpdateHook = (*PartnerInfo)(nil)
func (user *PartnerInfo) BeforeUpdate(ctx context.Context) (context.Context, error) {
user.UpdateAt = time.Now()
return ctx, nil
}
var _ pg.BeforeInsertHook = (*PartnerInfo)(nil)
func (user *PartnerInfo) BeforeInsert(ctx context.Context) (context.Context, error) {
user.CreateAt = time.Now()
user.UpdateAt = time.Now()
return ctx, nil
}
... ...
package repository
import (
"fmt"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/pg/models"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/pg/transaction"
... ... @@ -10,6 +12,19 @@ type PartnerInfoRepository struct {
transactionContext *transaction.TransactionContext
}
func (repository *PartnerInfoRepository) transformPgModelToDomainModel(PartnerInfoModel *models.PartnerInfo) (*domain.PartnerInfo, error) {
m := &domain.PartnerInfo{}
return m, err
}
func NewPartnerInfoRepository(transactionContext *transaction.TransactionContext) (*PartnerInfoRepository, error) {
if transactionContext == nil {
return nil, fmt.Errorf("transactionContext参数不能为nil")
}
return &PartnerInfoRepository{transactionContext: transactionContext}, nil
}
func (repository *PartnerInfoRepository) Save(dm *domain.PartnerInfo) (*domain.PartnerInfo, error) {
var (
err error
... ... @@ -85,16 +100,3 @@ func (repository *PartnerInfoRepository) Find(queryOptions map[string]interface{
}
return int64(query.AffectRow), PartnerInfos, nil
}
func (repository *PartnerInfoRepository) transformPgModelToDomainModel(PartnerInfoModel *models.PartnerInfo) (*domain.PartnerInfo, error) {
m := &domain.PartnerInfo{}
err := GobModelTransform(m, PartnerInfoModel)
return m, err
}
func NewPartnerInfoRepository(transactionContext *transaction.TransactionContext) (*PartnerInfoRepository, error) {
if transactionContext == nil {
return nil, ERR_EMPTY_TC
}
return &PartnerInfoRepository{transactionContext: transactionContext}, nil
}
... ...
... ... @@ -90,6 +90,10 @@ func (controller *BaseController) Finish() {
////Prepare 重写 beego.Controller 的Prepare方法
func (controller *BaseController) Prepare() {
//跨域处理
controller.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Origin", "*")
controller.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Headers", "*")
logs.Info("====>Recv Request:", controller.Ctx.Input.URI())
if controller.Ctx.Input.IsPost() || controller.Ctx.Input.IsPut() {
bodyByte := controller.Ctx.Input.RequestBody
... ... @@ -114,6 +118,8 @@ func (controller *BaseController) GetHeaderToken() string {
}
func (controller *BaseController) ValidJWTToken() bool {
controller.setUserId(2)
return true
headerToken := controller.GetHeaderToken()
mytoken := new(lib.MyToken)
err := mytoken.ValidJWTToken(headerToken)
... ...
package middleware
import (
"github.com/astaxie/beego/context"
)
//PermissionCheck 根据权限编码检验请求是否可以执行
//permissionCode:权限编码
//excludeURL:跳过url
func AdminPermissionCheck(permissionCode string, excludeURL ...string) func(ctx *context.Context) {
return func(ctx *context.Context) {
//根据code检查权限数据,并排除excludeUrl指定的url
//获取user 数据
}
}