package userLy import ( "duoduo/apis/pdd" "duoduo/conf" "duoduo/models/mysqlLy" "duoduo/models/user" "duoduo/tools" "duoduo/tools/app" "fmt" "github.com/gin-gonic/gin" "time" ) func OpenIdSet(c *gin.Context) { var inData user.OpenIdSetRequest var outData user.OpenIdSetResponse var sql mysqlLy.User err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } confIni, err := conf.ConnIni() if err != nil { app.Error(c, 400, err, err.Error()) return } url := fmt.Sprintf("https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code", confIni.MustValue("ly-wx", "app_id"), confIni.MustValue("ly-wx", "secret"), inData.Code) val, err := pdd.DuoDuoGet(url) if err != nil { app.Error(c, 500, err, err.Error()) return } err = tools.JsonUnmarshal(val, &outData) if err != nil { app.Error(c, 500, err, err.Error()) return } if outData.Errcode != 0 { app.Error(c, outData.Errcode, err, outData.Errmsg) return } //创建用户 sql.OpenID = outData.OpenId sql.CreateTime = time.Now().Local() sql.UpdateTime = time.Now().Local() _, err = sql.Create() if err != nil { app.Error(c, 500, err, "创建失败") return } app.OK(c, outData, app.Success) }