12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package userLy
- import (
- "context"
- "duoduo/conf"
- "duoduo/models/mysqlLy"
- "duoduo/models/userLy"
- "duoduo/tools/app"
- "fmt"
- "github.com/gin-gonic/gin"
- "github.com/qiniu/go-sdk/v7/auth/qbox"
- "github.com/qiniu/go-sdk/v7/storage"
- "time"
- )
- func UserInfoUpdate(c *gin.Context) {
- var inData userLy.UserInfoUpdateRequest
- 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
- }
- if inData.Pictures != "" { //图片上传
- timeUnixNano := time.Now().UnixNano() //单位纳秒
- fileName := fmt.Sprintf("%d.jpg", timeUnixNano)
- //七牛云上传图片
- bucket := "imgxx"
- key := "lingyang-head/" + inData.OpenId + "/" + fileName
- putPolicy := storage.PutPolicy{
- Scope: bucket,
- }
- mac := qbox.NewMac(confIni.MustValue("ly-qn", "access_key"), confIni.MustValue("ly-qn", "secret_key"))
- upToken := putPolicy.UploadToken(mac)
- cfg := storage.Config{}
- // 空间对应的机房
- cfg.Zone = &storage.ZoneHuanan
- // 是否使用https域名
- cfg.UseHTTPS = false
- // 上传是否使用CDN上传加速
- cfg.UseCdnDomains = false
- // 构建表单上传的对象
- baseUploader := storage.NewBase64Uploader(&cfg)
- ret := storage.PutRet{}
- err = baseUploader.Put(context.Background(), &ret, upToken, key, []byte(inData.Pictures), nil)
- if err != nil {
- app.Error(c, 500, err, "上传图片失败")
- return
- }
- inData.AvatarUrl = "http://lingyang.shisanmiao.com/" + key
- }
- sql.OpenID = inData.OpenId
- sql.WxCode = inData.WxCode
- sql.Phone = inData.Phone
- sql.NickName = inData.NickName
- sql.AvatarUrl = inData.AvatarUrl
- _, err = sql.Update()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- app.OK(c, nil, app.Success)
- }
|