|
@@ -130,20 +130,24 @@ func Send(k *push.MemberInterest, v *list.List, now time.Time, TITLEA, ShortTitl
|
|
|
lastInfoDate := int64(0)
|
|
|
firstTitle := ""
|
|
|
publishTimes := map[string]interface{}{}
|
|
|
+ publishTitle := map[string]bool{}
|
|
|
for ks := v.Front(); ks != nil; ks = ks.Next() {
|
|
|
k2 := *(ks.Value.(*map[string]interface{}))
|
|
|
- i++
|
|
|
- if i == 1 {
|
|
|
- firstTitle = strings.Replace(k2["title"].(string), "\n", "", -1)
|
|
|
- lastInfoDate = k2["publishtime"].(int64)
|
|
|
- }
|
|
|
- str += "<div class='tslist'><span class='xh'>" + fmt.Sprintf("%d", i) + ".</span><a class='bt' target='_blank' href='" + k2["href"].(string) + "'>" + strings.Replace(k2["title"].(string), "\n", "", -1) + "</a></div>"
|
|
|
- publishTimes[strconv.Itoa(i)] = k2["publishtime"]
|
|
|
- if i >= MaxPushSize {
|
|
|
- //限制最大信息条数
|
|
|
- break
|
|
|
+ title := strings.Replace(k2["title"].(string), "\n", "", -1)
|
|
|
+ if !publishTitle[title] {
|
|
|
+ publishTitle[title] = true
|
|
|
+ i++
|
|
|
+ if i == 1 {
|
|
|
+ firstTitle = title
|
|
|
+ lastInfoDate = k2["publishtime"].(int64)
|
|
|
+ }
|
|
|
+ str += "<div class='tslist'><span class='xh'>" + fmt.Sprintf("%d", i) + ".</span><a class='bt' target='_blank' href='" + k2["href"].(string) + "'>" + title + "</a></div>"
|
|
|
+ publishTimes[strconv.Itoa(i)] = k2["publishtime"]
|
|
|
+ if i >= MaxPushSize {
|
|
|
+ //限制最大信息条数
|
|
|
+ break
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
TITLE := TITLEA + fmt.Sprintf("%d条,关键词(%s)", i, strings.Join(k.Interest, ";"))
|
|
|
WXTitle := fmt.Sprintf("%s《%s》%s", func() string {
|