wkyuer 7 tháng trước cách đây
mục cha
commit
3aa063aabc

+ 3 - 0
src/jfw/modules/ossProxy/README.md

@@ -0,0 +1,3 @@
+# P228发送文件与文件下载需求文档需求
+1.访问附件地址需要判断当前用户是否有权限
+2.没有权限跳转该附件对应的正文链接中

+ 4 - 1
src/jfw/modules/subscribepay/src/config.yaml

@@ -40,4 +40,7 @@ pdfPackPrice:
     - num: 1
       price: 199900
 
-ossProxyAddr: http://127.0.0.1:8400
+ossProxy:
+  open: false #默认关闭,开启后走附件下载权限校验
+  addr: http://127.0.0.1:8400 #若非新域名,则不用配置此地址,默认使用剑鱼web域名
+

+ 17 - 15
src/jfw/modules/subscribepay/src/service/basePack.go

@@ -86,23 +86,25 @@ func (this *ResourcePack) ConsumePack() {
 			return map[string]interface{}{"code": Code}, ""
 		}
 		//P228发送文件与文件下载需求文档
-		var (
-			uid     = uuid.New().String()
-			ossAddr = gconv.String(Ret["downUrl"])
+		if g.Cfg().MustGet(this.Request.Context(), "ossProxy.open", false).Bool() {
+			var (
+				uid     = uuid.New().String()
+				ossAddr = gconv.String(Ret["downUrl"])
 
-			fileName = filepath.Base(ossAddr)
-			fileExt  = filepath.Ext(fileName)
-			cacheKey = fmt.Sprintf("attachment_%s%s", uid, fileExt)
-		)
-		cacheMap := map[string]interface{}{
-			"userId":  userId,                                                                                   //可下载文件用户职位id
-			"source":  ossAddr,                                                                                  //oss文件地址
-			"noPower": fmt.Sprintf("%s/nologin/content/%s.html", config.Config.WebDomain, this.GetString("id")), //未登录或无权限跳转地址
-		}
-		if !redis.Put("newother", cacheKey, cacheMap, 60*60*24*30) {
-			return map[string]interface{}{"code": -2}, "缓存异常"
+				fileName = filepath.Base(ossAddr)
+				fileExt  = filepath.Ext(fileName)
+				cacheKey = fmt.Sprintf("attachment_%s%s", uid, fileExt)
+			)
+			cacheMap := map[string]interface{}{
+				"userId":  userId,                                                                                   //可下载文件用户职位id
+				"source":  ossAddr,                                                                                  //oss文件地址
+				"noPower": fmt.Sprintf("%s/nologin/content/%s.html", config.Config.WebDomain, this.GetString("id")), //未登录或无权限跳转地址
+			}
+			if !redis.Put("newother", cacheKey, cacheMap, 60*60*24*30) {
+				return map[string]interface{}{"code": -2}, "缓存异常"
+			}
+			Ret["downUrl"] = fmt.Sprintf("%s/jyoss/attachment/%s%s", g.Cfg().MustGet(this.Request.Context(), "ossProxy.addr", config.Config.WebDomain), uid, fileExt)
 		}
-		Ret["downUrl"] = fmt.Sprintf("%s/jyoss/attachment/%s%s", g.Cfg().MustGet(this.Request.Context(), "ossProxyAddr", config.Config.WebDomain), uid, fileExt)
 		return Ret, ""
 	}()
 	if errMsg != "" {