Sfoglia il codice sorgente

剑鱼链接问题处理

Jianghan 2 anni fa
parent
commit
0fcf1da456
2 ha cambiato i file con 17 aggiunte e 0 eliminazioni
  1. 5 0
      src/service/jy_service.go
  2. 12 0
      src/service/repair_service.go

+ 5 - 0
src/service/jy_service.go

@@ -3,6 +3,7 @@ package service
 import (
 	"github.com/go-xweb/xweb"
 	"mongodb"
+	"net/url"
 	qu "qfw/util"
 	"strings"
 	"util"
@@ -32,6 +33,10 @@ func (jy *JyData) FindInfo() {
 		if len(identity) == 24 {
 			id = identity
 		} else {
+			identity, _ = url.QueryUnescape(identity)
+			if strings.Contains(identity, "page_workDesktop/work-bench") {
+				identity = rpreUrl.ReplaceAllString(identity, "")
+			}
 			if strings.Contains(identity, "content") {
 				identity = rpre.ReplaceAllString(identity, "")
 				identity = rsuf.ReplaceAllString(identity, "")

+ 12 - 0
src/service/repair_service.go

@@ -16,6 +16,7 @@ import (
 	"mongodb"
 	"net"
 	"net/http"
+	"net/url"
 	qu "qfw/util"
 	"qfw/util/elastic"
 	"qfw/util/redis"
@@ -28,6 +29,7 @@ import (
 )
 
 var (
+	rpreUrl       = regexp.MustCompile("^https[\\w\\W]{0,200}link=")
 	rpre          = regexp.MustCompile("https://www.jianyu360.cn/article/content/")
 	rpre1         = regexp.MustCompile("https://www.jianyu360.cn/article/bdprivate/")
 	rpre2         = regexp.MustCompile("https://www.jianyu360.cn/article/mailprivate/")
@@ -656,11 +658,17 @@ func (jy *RepairRule) SearchSha() {
 	}
 }
 
+var hrefMt = regexp.MustCompile("(content|bdprivate|mailprivate|entservice|bdcontent|indexcontent)[\\w\\W]{0,200}\\.html")
+
 func (jy *RepairRule) SearchJyurl() {
 	defer qu.Catch()
 	if jy.Method() == "POST" {
 
 		jyurl := jy.GetString("jyurl")
+		jyurl, _ = url.QueryUnescape(jyurl)
+		if strings.Contains(jyurl, "page_workDesktop/work-bench") {
+			jyurl = rpreUrl.ReplaceAllString(jyurl, "")
+		}
 		new_id := ""
 		if strings.Contains(jyurl, "content") {
 			jyurl1 := rpre.ReplaceAllString(jyurl, "")
@@ -1200,6 +1208,10 @@ func (jy *RepairRule) UpFile() {
 		if len(identity) == 24 {
 			id = identity
 		} else {
+			identity, _ = url.QueryUnescape(identity)
+			if strings.Contains(identity, "page_workDesktop/work-bench") {
+				identity = rpreUrl.ReplaceAllString(identity, "")
+			}
 			identity = rpre.ReplaceAllString(identity, "")
 			identity = rsuf.ReplaceAllString(identity, "")
 			id = qu.CommonDecodeArticle("content", identity)[0]