| 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)
 
- }
 
 
  |