|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package hdl
-
- import (
- "applet/app/e"
- "applet/app/md"
- "applet/app/svc"
- "applet/app/utils"
- "applet/app/utils/logx"
- "github.com/gin-gonic/gin"
- )
-
- // 请求上传图片
- func ImgReqUpload(c *gin.Context) {
- user := svc.GetUser(c)
- uid := utils.IntToStr(user.Info.Uid)
- // 文件名名称
- var args struct {
- Dir string `json:"dir"`
- FileName string `json:"file_name"`
- FileSize int64 `json:"file_size"` // 文件大小, 单位byte
- }
- if err := c.ShouldBindJSON(&args); err != nil || args.FileSize < 1 || args.FileName == "" {
- logx.Warn(err)
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- //// 限制用户上传目录
- //if _, ok := md.FileUserDir[args.Dir]; !ok {
- // e.OutErr(c, e.ERR_FORBIDEN)
- // return
- //}
- scheme := "http"
- if c.Request.TLS != nil {
- scheme = "https"
- }
- // 拼装回调地址
- callbackUrl := scheme + "://" + c.Request.Host + "/api/v1/communityTeam/agent/file/img/callback?master_id=" + c.GetString("mid")
- utils.FilePutContents("qiniuyun", callbackUrl)
- //fmt.Println(callbackUrl)
- // callbackUrl = "http://120.55.83.222/raw.php"
- res, err := svc.ImgReqUpload(c, uid, args.Dir, args.FileName, callbackUrl, args.FileSize)
- if err != nil {
- e.OutErr(c, 400, err)
- return
- }
- my := utils.SerializeStr(res)
- var my1 map[string]interface{}
- utils.Unserialize([]byte(my), &my1)
- if c.GetHeader("Platform") == md.PLATFORM_WX_APPLET || c.GetHeader("Platform") == md.PLATFORM_TIKTOK_APPLET || c.GetHeader("Platform") == md.PLATFORM_TOUTIAO_APPLET || c.GetHeader("Platform") == md.PLATFORM_BAIDU_APPLET || c.GetHeader("Platform") == md.PLATFORM_ALIPAY_APPLET {
- my1["host"] = "https://api.zhiyingos.com/api/v1/proxy/upload" //官方页面才有白名单
- }
- e.OutSuc(c, my1, nil)
- }
-
- // 请求上传图片
- func ImgReqUploadNoUser(c *gin.Context) {
- // 文件名名称
- var args struct {
- Dir string `json:"dir"`
- FileName string `json:"file_name"`
- FileSize int64 `json:"file_size"` // 文件大小, 单位byte
- }
- if err := c.ShouldBindJSON(&args); err != nil || args.FileSize < 1 || args.FileName == "" {
- logx.Warn(err)
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- scheme := "http"
- if c.Request.TLS != nil {
- scheme = "https"
- }
- // 拼装回调地址
- callbackUrl := scheme + "://" + c.Request.Host + "/api/v1/file/img/callback?master_id=" + c.GetString("mid")
- utils.FilePutContents("qny", callbackUrl)
- //fmt.Println(callbackUrl)
- // callbackUrl = "http://120.55.83.222/raw.php"
- res, err := svc.ImgReqUpload(c, "", args.Dir, args.FileName, callbackUrl, args.FileSize)
- if err != nil {
- e.OutErr(c, 400, err)
- return
- }
- my := utils.SerializeStr(res)
- var my1 map[string]interface{}
- utils.Unserialize([]byte(my), &my1)
- domainApiBase := svc.GetWebSiteDomainInfoOfficial(c, "api")
- if c.GetHeader("Platform") == md.PLATFORM_WX_APPLET || c.GetHeader("Platform") == md.PLATFORM_TIKTOK_APPLET || c.GetHeader("Platform") == md.PLATFORM_TOUTIAO_APPLET || c.GetHeader("Platform") == md.PLATFORM_BAIDU_APPLET || c.GetHeader("Platform") == md.PLATFORM_ALIPAY_APPLET {
- my1["host"] = domainApiBase + "/api/v1/proxy/upload"
- }
- e.OutSuc(c, my1, nil)
- }
|