Selaa lähdekoodia

Merge branch 'dev3.2' of http://192.168.3.207:10080/qmx/jy into dev3.2

wangshan 4 vuotta sitten
vanhempi
commit
cb53cddd08
100 muutettua tiedostoa jossa 4098 lisäystä ja 425 poistoa
  1. 8 1
      src/active.json
  2. 2 2
      src/config.json
  3. 16 8
      src/jfw/config/active.go
  4. 41 8
      src/jfw/front/big-member.go
  5. 9 6
      src/jfw/front/shorturl.go
  6. 10 0
      src/jfw/front/singleLogin.go
  7. 2 0
      src/jfw/front/swordfish.go
  8. 4 0
      src/jfw/modules/app/src/active.json
  9. 8 1
      src/jfw/modules/app/src/app/config/active.go
  10. 33 8
      src/jfw/modules/app/src/app/front/big-member.go
  11. 0 1
      src/jfw/modules/app/src/app/front/me.go
  12. 139 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/base.css
  13. 5 1
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/vant-reset.css
  14. 4 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/weui.min.css
  15. 282 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/write_infor.css
  16. 3 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.css
  17. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.eot
  18. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.ttf
  19. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.woff
  20. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.woff2
  21. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/image/bg_info.png
  22. 1 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/jquery.min.js
  23. 30 7
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/page_init.js
  24. 13 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/rem.js
  25. 5 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/weui.min.js
  26. 1 0
      src/jfw/modules/app/src/web/staticres/jyapp/local/layout.css
  27. 57 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_index_new.css
  28. 48 2
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_introduce.css
  29. 56 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_purchase.css
  30. 64 2
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_renew.css
  31. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/image/vip_intro_active_bg-1111@3x.png
  32. 60 0
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_index_new.js
  33. 13 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_order_detail.js
  34. 41 10
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_renew.js
  35. 34 0
      src/jfw/modules/app/src/web/templates/big-member/page_contrast.html
  36. 1 0
      src/jfw/modules/app/src/web/templates/big-member/page_init.html
  37. 304 0
      src/jfw/modules/app/src/web/templates/big-member/page_write_infor.html
  38. 20 4
      src/jfw/modules/app/src/web/templates/commonPay/myOrder.html
  39. 1 1
      src/jfw/modules/app/src/web/templates/me/mine.html
  40. 1 1
      src/jfw/modules/app/src/web/templates/me/notice.html
  41. 56 2
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_index_new.html
  42. 62 23
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_introduce.html
  43. 2 2
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_order_detail.html
  44. 19 0
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_pay_success.html
  45. 113 9
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_purchase.html
  46. 147 66
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_renew.html
  47. 15 5
      src/jfw/modules/app/src/web/templates/weixin/historypush.html
  48. 12 0
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html
  49. 15 4
      src/jfw/modules/app/src/web/templates/weixin/wxkeyset/index.html
  50. 80 0
      src/jfw/modules/bigmember/src/service/activity/20201111.go
  51. 3 0
      src/jfw/modules/bigmember/src/service/init.go
  52. 5 1
      src/jfw/modules/bigmember/src/service/use/use.go
  53. BIN
      src/jfw/modules/bigmember/src/src
  54. 3 0
      src/jfw/modules/subscribepay/src/a/init.go
  55. 6 0
      src/jfw/modules/subscribepay/src/active.json
  56. 71 0
      src/jfw/modules/subscribepay/src/active/active.go
  57. 55 20
      src/jfw/modules/subscribepay/src/entity/subscribeVip.go
  58. 1 0
      src/jfw/modules/subscribepay/src/filter/sessionfilter.go
  59. 27 13
      src/jfw/modules/subscribepay/src/service/vipSubscribeChange.go
  60. 49 14
      src/jfw/modules/subscribepay/src/service/vipSubscribePay.go
  61. 8 10
      src/jfw/modules/subscribepay/src/service/vipSubscribeTrial.go
  62. 4 13
      src/jfw/modules/weixin/src/active.json
  63. 4 9
      src/jfw/modules/weixin/src/config/active.go
  64. 11 45
      src/jfw/modules/weixin/src/wx/wx.go
  65. BIN
      src/src
  66. 135 0
      src/web/staticres/big-member/css/base.css
  67. 4 0
      src/web/staticres/big-member/css/weui.min.css
  68. 284 0
      src/web/staticres/big-member/css/write_infor.css
  69. 3 0
      src/web/staticres/big-member/iconfont/iconfont.css
  70. BIN
      src/web/staticres/big-member/iconfont/iconfont.eot
  71. BIN
      src/web/staticres/big-member/iconfont/iconfont.ttf
  72. BIN
      src/web/staticres/big-member/iconfont/iconfont.woff
  73. BIN
      src/web/staticres/big-member/iconfont/iconfont.woff2
  74. BIN
      src/web/staticres/big-member/image/bg_info.png
  75. 1 0
      src/web/staticres/big-member/js/jquery.min.js
  76. 5 0
      src/web/staticres/big-member/js/weui.min.js
  77. 56 0
      src/web/staticres/vipsubscribe/css/vip_index_new.css
  78. 47 1
      src/web/staticres/vipsubscribe/css/vip_introduce.css
  79. 60 4
      src/web/staticres/vipsubscribe/css/vip_purchase.css
  80. 66 4
      src/web/staticres/vipsubscribe/css/vip_renew.css
  81. BIN
      src/web/staticres/vipsubscribe/image/vip_intro_active_bg-1111@3x.png
  82. 61 0
      src/web/staticres/vipsubscribe/js/vip_index_new.js
  83. 0 0
      src/web/templates/big-member/pc/page_index.html
  84. 34 1
      src/web/templates/big-member/wx/page_index.html
  85. 361 0
      src/web/templates/big-member/wx/page_open_app_active.html
  86. 283 0
      src/web/templates/big-member/wx/page_write_infor_wx.html
  87. 22 2
      src/web/templates/common/pcbottom.html
  88. 5 1
      src/web/templates/pc/index.html
  89. 2 2
      src/web/templates/pc/vip_orderDetail.html
  90. 22 6
      src/web/templates/weixin/commonPay/myOrder.html
  91. 14 4
      src/web/templates/weixin/historypush.html
  92. 116 23
      src/web/templates/weixin/my.html
  93. 13 0
      src/web/templates/weixin/search/mainSearch.html
  94. 53 0
      src/web/templates/weixin/vipsubscribe/vip_index_new.html
  95. 39 1
      src/web/templates/weixin/vipsubscribe/vip_introduce.html
  96. 22 2
      src/web/templates/weixin/vipsubscribe/vip_order_detail.html
  97. 16 0
      src/web/templates/weixin/vipsubscribe/vip_pay_success.html
  98. 156 49
      src/web/templates/weixin/vipsubscribe/vip_purchase.html
  99. 119 19
      src/web/templates/weixin/vipsubscribe/vip_renew.html
  100. 15 4
      src/web/templates/weixin/wxkeyset/index.html

+ 8 - 1
src/active.json

@@ -6,5 +6,12 @@
 	"live_Ing_Start":1594123200,
 	"live_Ing_End":1594130400,
 	"live_After_Date":1597413600,
-	"activeDiscount":0.6
+	"activeDiscount":0.6,
+	"doubleEleven":{
+		"active_Start":1504505600,
+		"active_End":1605024000
+	},
+	"shortUrl":{
+		"introducePage":"https://www.jianyu360.com/swordfish/SingleLogin?toHref=https%3A%2F%2Fwww.jianyu360.com%2Fswordfish%2FSingleLogin%3FtoHref%3Dhttps%3A%2F%2Fwww.jianyu360.com%2Ffront%2Fvipsubscribe%2FintroducePage&title=%E8%B6%85%E7%BA%A7%E8%AE%A2%E9%98%85"
+	}
 }

+ 2 - 2
src/config.json

@@ -8,7 +8,7 @@
     "weixinrpc": "127.0.0.1:8083",
     "cacheflag": false,
     "agreement": "http",
-    "webdomain": "http://web-jydev-xzh.jianyu360.cn",
+    "webdomain": "http://web-jydev-zxl.jianyu360.cn",
     "redirect": {
         "searchinfo": "/jylab/mainSearch",
         "rssset": "/swordfish/historypush",
@@ -43,7 +43,7 @@
 		"msgremind": "/front/vipsubscribe/msgremind?%s",
 		"treasurebox":"/jyTreasureBox/treasureBox",
 		"vipreport":"/subscribepay/report/wxtplmsg?start=%s&end=%s&pushcount=%s",
-		"viphomepage":"/front/vipsubscribe/toSubVipSetPage",
+		"viphomepage":"/front/vipsubscribe/introducePage",
 		"liveAcitve":"/active/livePage/index",
 		"bigMember":"/big/wx/page/landingPage"
     },

+ 16 - 8
src/jfw/config/active.go

@@ -6,14 +6,22 @@ import (
 
 //系统配置
 type activeConfig struct {
-	Live_Preheat_Start int64   `json:"live_Preheat_Start"` //预热活动开始时间
-	Live_Preheat_End   int64   `json:"live_Preheat_End"`   //预热活动结束时间
-	Live_Active_Start  int64   `json:"live_Active_Start"`  //直播活动开始时间
-	Live_Active_End    int64   `json:"live_Active_End"`    //直播活动结束时间
-	Live_Ing_Start     int64   `json:"live_Ing_Start"`     //直播开始时间
-	Live_Ing_End       int64   `json:"live_Ing_End"`       //直播结束时间
-	Live_After_Date    int64   `json:"live_After_Date"`    //直播活动结束后 活动已结束提示时间段(暂定一个月) 一个月后 跳转到VIP介绍页
-	ActiveDiscount     float64 `json:"activeDiscount"`     //直播活动折扣
+	Live_Preheat_Start int64             `json:"live_Preheat_Start"` //预热活动开始时间
+	Live_Preheat_End   int64             `json:"live_Preheat_End"`   //预热活动结束时间
+	Live_Active_Start  int64             `json:"live_Active_Start"`  //直播活动开始时间
+	Live_Active_End    int64             `json:"live_Active_End"`    //直播活动结束时间
+	Live_Ing_Start     int64             `json:"live_Ing_Start"`     //直播开始时间
+	Live_Ing_End       int64             `json:"live_Ing_End"`       //直播结束时间
+	Live_After_Date    int64             `json:"live_After_Date"`    //直播活动结束后 活动已结束提示时间段(暂定一个月) 一个月后 跳转到VIP介绍页
+	ActiveDiscount     float64           `json:"activeDiscount"`     //直播活动折扣
+	DoubleEleven       *doubleEleven     `json:"doubleEleven"`       //双十一
+	ShortUrl           map[string]string `json:"shortUrl"`           //短地址跳转
+}
+
+//双十一活动
+type doubleEleven struct {
+	Active_Start int64
+	Active_End   int64
 }
 
 var ActiveConfig activeConfig

+ 41 - 8
src/jfw/front/big-member.go

@@ -4,6 +4,7 @@ import (
 	"jfw/config"
 	"jfw/public"
 	qutil "qfw/util"
+	"time"
 
 	"github.com/go-xweb/xweb"
 )
@@ -22,7 +23,7 @@ func init() {
 func (s *BigMemberAction) VIPViewPage(htmlName string) {
 	s.T["logid"] = config.Seoconfig["bigmember"].(string)
 	userid, _ := s.GetSession("userId").(string)
-	power, _ := Power(userid)
+	power, _, _ := Power(userid)
 	s.T["member_status"] = power
 	s.Render("/big-member/pc/page_"+htmlName+".html", &s.T)
 }
@@ -30,7 +31,7 @@ func (s *BigMemberAction) VIPViewPage(htmlName string) {
 func (s *BigMemberAction) PcVIPViewPage(htmlName string) {
 	s.T["logid"] = config.Seoconfig["bigmember"].(string)
 	userid, _ := s.GetSession("userId").(string)
-	power, _ := Power(userid)
+	power, _, _ := Power(userid)
 	s.T["member_status"] = power
 	s.T["hasAccountsOrder"] = HasAccountsOrder(userid)
 	s.Render("/big-member/pc/page_"+htmlName+".html", &s.T)
@@ -39,29 +40,61 @@ func (s *BigMemberAction) PcVIPViewPage(htmlName string) {
 func (s *BigMemberAction) WxVIPViewPage(htmlName string) error {
 	s.T["logid"] = config.Seoconfig["bigmember"].(string)
 	userid, _ := s.GetSession("userId").(string)
-	power, _ := Power(userid)
+	power, _, member_give := Power(userid)
+	s.T["member_status"] = power
+	if htmlName == "open_app_active" {
+		return s.Render("/big-member/wx/page_"+htmlName+".html", &s.T)
+	}
 	if power > 0 && htmlName == "landingPage" {
 		htmlName = "index"
 	}
 	s.T["member_status"] = power
 	s.T["hasAccountsOrder"] = HasAccountsOrder(userid)
+	if member_give == 1 && isActiving() && htmlName != "full" {
+		htmlName = "write_infor_wx"
+	}
+	if member_give == 2 && power > 0 && htmlName != "full" {
+		s.Redirect("/big/wx/page/open_app_active")
+	}
 	return s.Render("/big-member/wx/page_"+htmlName+".html", &s.T)
 }
 
 //判断用户是否有大会员权限
-func Power(userid string) (int, int) {
+//return 大会员状态,是否首次使用,是否获得赠送大会员权益(1:是 0:否)
+func Power(userid string) (int, int, int) {
 	if userid == "" {
-		return 0, 0
+		return 0, 0, 0
 	}
-	data, ok := public.MQFW.FindById("user", userid, `{"i_member_status"}`)
-	i_member_status, isused := 0, 0
+	data, ok := public.MQFW.FindById("user", userid, `{"i_member_status":1,"i_member_give":1,"i_member_starttime":1,"i_member_endtime":1}`)
+	i_member_status, isused, member_give := 0, 0, 0
 	if ok && *data != nil && len(*data) > 0 {
 		i_member_status = qutil.IntAllDef((*data)["i_member_status"], 0)
+		if (*data)["i_member_give"] != nil && qutil.IntAll((*data)["i_member_give"]) == 1 && i_member_status <= 0 {
+			member_give = 1
+		}
+		//判断用户是不是试用用户
+		if (*data)["i_member_starttime"] != nil && (*data)["i_member_endtime"] != nil && (*data)["i_member_give"] != nil {
+			endtime := qutil.Int64All((*data)["i_member_endtime"])
+			starttime := qutil.Int64All((*data)["i_member_starttime"])
+			cycle := (endtime - starttime) / 86400
+			if cycle == 15 && qutil.IntAll((*data)["i_member_give"]) == 2 {
+				member_give = 2
+			}
+		}
 	}
 	if public.MQFW.Count("member", map[string]interface{}{"userid": userid}) > 0 {
 		isused = 1
 	}
-	return i_member_status, isused
+	return i_member_status, isused, member_give
+}
+
+//双十一活动时间
+func isActiving() bool {
+	now := time.Now()
+	if config.ActiveConfig.DoubleEleven.Active_Start < now.Unix() && config.ActiveConfig.DoubleEleven.Active_End > now.Unix() {
+		return true
+	}
+	return false
 }
 
 //是否有正在审核中的订单

+ 9 - 6
src/jfw/front/shorturl.go

@@ -383,12 +383,15 @@ func (s *Short) Qr(t, id string) error {
 }
 
 func (s *Short) Replication() {
-	mongodb.Save("copyaction", map[string]interface{}{
-		"userid":     s.GetSession("userId").(string),
-		"createtime": time.Now().Unix(),
-		"url":        s.Request.Referer(),
-		"client":     s.Header("User-Agent"),
-	})
+	userId, OK := s.GetSession("userId").(string)
+	if OK && userId != "" {
+		mongodb.Save("copyaction", map[string]interface{}{
+			"userid":     userId,
+			"createtime": time.Now().Unix(),
+			"url":        s.Request.Referer(),
+			"client":     s.Header("User-Agent"),
+		})
+	}
 }
 
 func isbid(typ interface{}) bool {

+ 10 - 0
src/jfw/front/singleLogin.go

@@ -20,12 +20,22 @@ import (
 type SingleLogin struct {
 	*xweb.Action
 	singleLogin xweb.Mapper `xweb:"/swordfish/SingleLogin"` //微信登录中转
+	shortUrl    xweb.Mapper `xweb:"/stl/(.*)"`              //短地址跳转
 }
 
 func init() {
 	xweb.AddAction(&SingleLogin{})
 }
 
+//短地址跳转
+func (this *SingleLogin) ShortUrl(key string) error {
+	var redirectUrl = "/swordfish/about"
+	if key != "" && config.ActiveConfig.ShortUrl[key] != "" {
+		redirectUrl = config.ActiveConfig.ShortUrl[key]
+	}
+	return this.Redirect(redirectUrl)
+}
+
 //是否关注处理
 func (this *SingleLogin) SingleLogin() error {
 	userid := qutil.ObjToString(this.GetSession("userId"))

+ 2 - 0
src/jfw/front/swordfish.go

@@ -110,6 +110,8 @@ func (m *Front) NewSordfish() error {
 	}
 	m.T["logid"] = config.Seoconfig["jysy"].(string)
 	m.T["shareid"] = se.EncodeString(shareid)
+	m.T["activestart"] = config.ActiveConfig.DoubleEleven.Active_Start
+	m.T["activeend"] = config.ActiveConfig.DoubleEleven.Active_End
 	regex, _ := regexp.Compile("(Android|Mobile)")
 	if ispc == 0 && len(regex.FindAllString(m.Header("User-Agent"), -1)) > 0 {
 		m.T["s_m_openid"] = util.ObjToString(m.GetSession("s_m_openid"))

+ 4 - 0
src/jfw/modules/app/src/active.json

@@ -5,5 +5,9 @@
 		"url":"https://pan.baidu.com/s/1alKNc4hzuEK3q4XOFfz5Ow",
 		"password":"j2ks",
 		"desc":"拉新活动"
+	},
+	"doubleEleven":{
+		"active_Start":1504505600,
+		"active_End":1605024000
 	}
 }

+ 8 - 1
src/jfw/modules/app/src/app/config/active.go

@@ -7,7 +7,8 @@ import (
 var Active *active
 
 type active struct {
-	Pullnew *pullnew
+	Pullnew      *pullnew
+	DoubleEleven *doubleEleven
 }
 
 //拉新活动
@@ -18,6 +19,12 @@ type pullnew struct {
 	Password  string
 }
 
+//双十一活动
+type doubleEleven struct {
+	Active_Start int64
+	Active_End   int64
+}
+
 func init() {
 	util.ReadConfig("./active.json", &Active)
 }

+ 33 - 8
src/jfw/modules/app/src/app/front/big-member.go

@@ -1,9 +1,11 @@
 package front
 
 import (
+	acfg "app/config"
 	"jfw/public"
 	qutil "qfw/util"
 	"regexp"
+	"time"
 
 	"github.com/go-xweb/xweb"
 )
@@ -18,7 +20,10 @@ func init() {
 }
 
 //白名单(不需要权限的页面)
-var whiteReg = regexp.MustCompile(`full|landingPage|buy_commit|contrast|memberdetail|init|set_*`)
+var whiteReg = regexp.MustCompile(`full|landingPage|buy_commit|contrast|memberdetail|write_infor|init|set_*`)
+
+//推送设置列表
+var setListReg = regexp.MustCompile(`push_*|full`)
 
 //专家版可进入的页面
 var expertReg = regexp.MustCompile(`potential_cor_list|bigvip_subreport|ent_portrait_change`)
@@ -27,9 +32,12 @@ var expertReg = regexp.MustCompile(`potential_cor_list|bigvip_subreport|ent_port
 var wisdomReg = regexp.MustCompile(`forecast_list|ai_search|analysis_search|unit_portrayal`)
 
 func (s *BigMemberAction) VIPViewPage(htmlName string) error {
+	userid, _ := s.GetSession("userId").(string)
+	power, isused, member_give := Power(userid)
 	if !whiteReg.MatchString(htmlName) {
-		userid, _ := s.GetSession("userId").(string)
-		power, isused := Power(userid)
+		if member_give == 1 && isActiving() {
+			return s.Redirect("/jyapp/big/page/write_infor")
+		}
 		if power <= 0 || //如果不是大会员 跳转至介绍页
 			(power != 1 && expertReg.MatchString(htmlName)) || //专家版
 			(wisdomReg.MatchString(htmlName) && power != 1 && power != 2) { //智慧版
@@ -38,6 +46,10 @@ func (s *BigMemberAction) VIPViewPage(htmlName string) error {
 		if isused != 1 { //如果没有首次使用 跳转至首次使用页面
 			return s.Redirect("/jyapp/big/page/init")
 		}
+	} else {
+		if member_give == 1 && isActiving() && !setListReg.MatchString(htmlName) {
+			htmlName = "write_infor"
+		}
 	}
 	if htmlName == "buy_commit" {
 		userid, _ := s.GetSession("userId").(string)
@@ -49,19 +61,32 @@ func (s *BigMemberAction) VIPViewPage(htmlName string) error {
 }
 
 //判断用户是否有大会员权限
-func Power(userid string) (int, int) {
+//return 大会员状态,是否首次使用,是否获得赠送大会员权益(1:是 0:否)
+func Power(userid string) (int, int, int) {
 	if userid == "" {
-		return 0, 0
+		return 0, 0, 0
 	}
-	data, ok := public.MQFW.FindById("user", userid, `{"i_member_status"}`)
-	i_member_status, isused := 0, 0
+	data, ok := public.MQFW.FindById("user", userid, `{"i_member_status":1,"i_member_give":1}`)
+	i_member_status, isused, member_give := 0, 0, 0
 	if ok && *data != nil && len(*data) > 0 {
 		i_member_status = qutil.IntAllDef((*data)["i_member_status"], 0)
+		if (*data)["i_member_give"] != nil && qutil.IntAll((*data)["i_member_give"]) == 1 && i_member_status <= 0 {
+			member_give = 1
+		}
 	}
 	if public.MQFW.Count("member", map[string]interface{}{"userid": userid}) > 0 {
 		isused = 1
 	}
-	return i_member_status, isused
+	return i_member_status, isused, member_give
+}
+
+//双十一活动时间
+func isActiving() bool {
+	now := time.Now()
+	if acfg.Active.DoubleEleven.Active_Start < now.Unix() && acfg.Active.DoubleEleven.Active_End > now.Unix() {
+		return true
+	}
+	return false
 }
 
 //是否有正在审核中的订单

+ 0 - 1
src/jfw/modules/app/src/app/front/me.go

@@ -145,7 +145,6 @@ func (m *Me) NoticeList() {
 			(*list)[key]["isExhibition"] = true
 		}
 	}
-	fmt.Println(list)
 	m.ServeJson(map[string]interface{}{
 		"list": list,
 	})

+ 139 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/base.css

@@ -0,0 +1,139 @@
+* {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    -webkit-overflow-scrolling: touch;
+    -webkit-tap-highlight-color:rgba(0,0,0,0);
+    -webkit-tap-highlight-color:transparent;
+}
+body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, hr, button, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, sumary {
+    margin: 0;
+    padding: 0;
+}
+html,body {
+    /* max-width: 750px; */
+    -webkit-text-size-adjust: 100%;
+    margin: 0 auto;
+    height: 100%;
+    overflow-x: hidden;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    font-size: .24rem;
+    background:rgba(245,244,249,1);;
+    color: #3d3d3d;
+    font-family:  "Microsoft YaHei","Helvetica Neue", "Roboto", "Segoe UI", "PingFang SC", "Hiragino Sans GB", sans-serif;
+}
+
+ul,ol {
+    list-style: none;
+}
+
+/*清除输入框内阴影*/
+input,textarea,select,button {
+    outline: none;
+    border: 0;
+    -webkit-appearance: none;
+    appearance:none;
+}
+
+button,span,div {
+    -webkit-tap-highlight-color:rgba(0,0,0,0);
+	/* -webkit-user-modify:read-only; */
+}
+
+img {
+    border: 0;
+    vertical-align: middle;
+    max-width: 100%;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+a {
+    text-decoration: none;
+    color: #3d3d3d;
+	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+	-webkit-user-select: none;
+	-moz-user-focus: none;
+	-moz-user-select: none;
+}
+
+/*禁用长按页面时的弹出菜单(iOS下有效) ,img和a标签都要加*/
+img, a {
+    -webkit-touch-callout:none;
+}
+em,i{
+	font-style: normal;
+}
+/*兼容ios调取h5页面的头部*/
+.ios-head {
+    display: none;
+    position: fixed;
+    top: 0;
+    padding-top: 15px;
+    background: #18974b;
+    width: 100%;
+    z-index: 100;
+}
+
+/* 清除浮动 */
+.clearfix {
+    zoom: 1;
+}
+.clearfix:after{
+    clear: both;
+    height: 0;
+    overflow: hidden;
+    display: block;
+    visibility: hidden;
+    content: "";
+}
+
+.left {
+    float: left;
+}
+
+.right {
+    float: right;
+}
+.ellipsis {
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+}
+.show{
+	display: block;
+}
+.hide{
+	display: none;
+}
+[v-cloak] {
+    display: none!important;
+}
+
+
+.jy-app-header {
+    position: relative;
+    height: 21.33333vw;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    box-sizing: border-box;
+    background: #fff;
+    font-family: "Avenir", Helvetica, Arial, sans-serif;
+    display: flex;
+  }
+  
+  .jy-app-header .fanhui {
+    width: 0.48rem;
+    height: 0.48rem;
+/*    font-size: 0.36rem;*/
+font-size:19.5px;
+  }
+  
+  .jy-app-header .subreport_title {
+    position: absolute;
+    left: 50%;
+    color: #171826;
+    transform: translateX(-50%);
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    font-size: 0.36rem;
+  }

+ 5 - 1
src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/vant-reset.css

@@ -28,8 +28,12 @@
     color: #171826;
 }
 
+.van-dialog .van-dialog__confirm, .van-dialog__confirm:active {
+    color: #2ABED1;
+}
+
 /* toast弹出框 */
 .van-toast {
     max-width: 4.2rem;
     line-height: 1.6;
-}
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 4 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/weui.min.css


+ 282 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/write_infor.css

@@ -0,0 +1,282 @@
+body, html {
+  width: 100%;
+  height: 100%;
+}
+
+input::-webkit-input-placeholder{
+  color: #C0C4CC;
+  font-size: .32rem;
+}
+
+.weui-toast {
+  min-height: 2.6em;
+  line-height: 2.6em;
+  top: 6rem;
+}
+
+.weui-toast .weui-toast__content {
+  margin: 0;
+}
+
+.weui-icon_toast {
+  display: none;
+}
+
+.toast-lang .weui-toast {
+  width: auto;
+  padding: 0 .5rem;
+  left: 38%;
+}
+
+#writeInfo {
+  width: 100%;
+  height: 100%;
+}
+
+#writeInfo .weui-navbar {
+  height: .96rem;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item {
+  font-size: .28rem;
+  color: #5F5E64;
+  padding: .24rem 0;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item.weui-bar__item_on {
+  color: #2ABED1;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item.weui-bar__item_on, #writeInfo .weui-navbar .weui-navbar__item:active {
+  background: #fff;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item.weui-bar__item_on .showline, #writeInfo .weui-navbar .weui-navbar__item:active .showline {
+  margin-top: .16rem;
+  width: 100%;
+  height: .03rem;
+  display: flex;
+  justify-content: center;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item.weui-bar__item_on .showline span, #writeInfo .weui-navbar .weui-navbar__item:active .showline span {
+  width: .48rem;
+  height: .03rem;
+  background: linear-gradient(270.45deg, #25BEEE 0.03%, #2ABED1 74.46%);
+  border-radius: 1px;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item:after {
+  border-right: 0;
+}
+
+#writeInfo  #writeInfo .purchase {
+  width: 100%;
+  height: 100%;
+}
+
+#writeInfo  .info_tip, #writeInfo .purchase .info_tip {
+  overflow: hidden;
+  width: 100%;
+  height: 3.6rem;
+  background: url("/jyapp/big-member/image/bg_info.png");
+  background-size: 100% 100%;
+}
+
+#writeInfo  .info_tip .tip_text, #writeInfo .purchase .info_tip .tip_text {
+  margin-top: .64rem;
+  padding: 0 .32rem;
+  width: 100%;
+  height: .48rem;
+  font-size: .28rem;
+  color: #fff;
+}
+
+#writeInfo .info_tip .tip_text .tip_phone{
+  text-decoration-line: underline;
+  text-decoration-color: #fff;
+  color: #fff;
+}
+
+#writeInfo  .write_input, #writeInfo .purchase .write_input {
+  width: 100%;
+  padding: 0 .24rem;
+  margin-top: -1.04rem;
+}
+
+#writeInfo  .write_input .write_con, #writeInfo .purchase .write_input .write_con {
+  width: 100%;
+  background: #fff;
+  border-radius: 8px;
+  margin-top: .08rem;
+  overflow: hidden;
+  padding: 0 0 0 .32rem;
+}
+
+#writeInfo  .write_input .write_con .write_name, #writeInfo .purchase .write_input .write_con .write_name {
+  width: 100%;
+  margin-top: .08rem;
+}
+
+#writeInfo  .write_input .write_con .write_name .write_name_ipt, #writeInfo .purchase .write_input .write_con .write_name .write_name_ipt {
+  width: 100%;
+  height: 1.08rem;
+  display: flex;
+  align-items: center;
+  line-height: 1.08rem;
+}
+
+#writeInfo  .write_input .write_con .write_name .write_name_ipt .label_name, #writeInfo .purchase .write_input .write_con .write_name .write_name_ipt .label_name {
+  display: flex;
+  align-items: center;
+  width: 1.6rem;
+  height: .48rem;
+  text-align: left;
+  font-size: .3rem;
+  color: #5F5E64;
+}
+
+#writeInfo  .write_input .write_con .write_name .write_name_ipt .ipt_name, #writeInfo .purchase .write_input .write_con .write_name .write_name_ipt .ipt_name {
+  height: .48rem;
+  display: flex;
+  align-items: center;
+  font-size: .32rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone, #writeInfo  .write_input .write_con .write_name, #writeInfo  .write_input .write_con .write_email, #writeInfo  .write_input .write_con .email_code, #writeInfo .purchase .write_input .write_con .write_phone, #writeInfo .purchase .write_input .write_con .write_email, #writeInfo .purchase .write_input .write_con .email_code {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  box-shadow: inset 0px -0.5px 0px rgba(0, 0, 0, 0.05), inset 16px 0px 0px #FFFFFF;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt, #writeInfo  .write_input .write_con .write_name .write_phone_ipt, #writeInfo  .write_input .write_con .write_email .write_phone_ipt, #writeInfo  .write_input .write_con .email_code .write_phone_ipt, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt {
+  width: 100%;
+  height: 1.08rem;
+  display: flex;
+  align-items: center;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt .label_phone, 
+#writeInfo  .write_input .write_con .write_name .write_phone_ipt .label_phone, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .label_phone, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .label_phone, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .label_phone, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .label_phone, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .label_phone {
+  display: flex;
+  align-items: center;
+  width: 1.6rem;
+  height: .48rem;
+  text-align: left;
+  font-size: .3rem;
+  color: #5F5E64;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_phone,
+#writeInfo  .write_input .write_con .write_name .write_phone_ipt .ipt_name,  #writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_email, #writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_code, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_phone, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_email, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_code, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_phone, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_email, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_phone, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_email, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_phone, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_email, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_phone, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_email, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_code {
+  height: .48rem;
+  display: flex;
+  align-items: center;
+  font-size: .32rem;
+  line-height: .48rem;
+}
+
+#writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_email{
+  width: 4.2rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_code, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_code, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_code {
+  width: 3.5rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_email:disabled, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_email:disabled, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_email:disabled, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_email:disabled, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_email:disabled, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_email:disabled {
+  background: #fff;
+}
+
+#writeInfo  .write_input .write_con .write_phone .phone_tips, #writeInfo  .write_input .write_con .write_phone .kf_phone_tips, #writeInfo  .write_input .write_con .write_name .name_tips, #writeInfo  .write_input .write_con .write_name .kf_name_tips, #writeInfo  .write_input .write_con .write_phone .email_tips, #writeInfo  .write_input .write_con .write_email .phone_tips, #writeInfo  .write_input .write_con .write_email .email_tips, #writeInfo  .write_input .write_con .email_code .phone_tips, #writeInfo  .write_input .write_con .email_code .email_tips, #writeInfo .purchase .write_input .write_con .write_phone .phone_tips, #writeInfo .purchase .write_input .write_con .write_phone .email_tips, #writeInfo .purchase .write_input .write_con .write_email .phone_tips, #writeInfo .purchase .write_input .write_con .write_email .email_tips, #writeInfo .purchase .write_input .write_con .email_code .phone_tips, #writeInfo .purchase .write_input .write_con .email_code .email_tips {
+  margin-bottom: .24rem;
+  display: flex;
+  width: 100%;
+  height: .36rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone .phone_tips .label_tips,
+#writeInfo  .write_input .write_con .write_phone .kf_phone_tips .label_tips,
+#writeInfo  .write_input .write_con .write_name .name_tips .label_tips,
+#writeInfo  .write_input .write_con .write_name .kf_name_tips .label_tips, #writeInfo  .write_input .write_con .write_phone .email_tips .label_tips, #writeInfo  .write_input .write_con .write_email .phone_tips .label_tips, #writeInfo  .write_input .write_con .write_email .email_tips .label_tips, #writeInfo  .write_input .write_con .email_code .phone_tips .label_tips, #writeInfo  .write_input .write_con .email_code .email_tips .label_tips, #writeInfo .purchase .write_input .write_con .write_phone .phone_tips .label_tips, #writeInfo .purchase .write_input .write_con .write_phone .email_tips .label_tips, #writeInfo .purchase .write_input .write_con .write_email .phone_tips .label_tips, #writeInfo .purchase .write_input .write_con .write_email .email_tips .label_tips, #writeInfo .purchase .write_input .write_con .email_code .phone_tips .label_tips, #writeInfo .purchase .write_input .write_con .email_code .email_tips .label_tips {
+  display: flex;
+  width: 1.6rem;
+  height: .48rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone .phone_tips .phone_rule, 
+#writeInfo  .write_input .write_con .write_phone .kf_phone_tips .phone_rule, 
+#writeInfo  .write_input .write_con .write_name .name_tips .phone_rule, 
+#writeInfo  .write_input .write_con .write_name .kf_name_tips .phone_rule, #writeInfo  .write_input .write_con .write_phone .email_tips .phone_rule, #writeInfo  .write_input .write_con .write_email .phone_tips .phone_rule, #writeInfo  .write_input .write_con .write_email .email_tips .phone_rule, #writeInfo  .write_input .write_con .email_code .phone_tips .phone_rule, #writeInfo  .write_input .write_con .email_code .email_tips .phone_rule, #writeInfo .purchase .write_input .write_con .write_phone .phone_tips .phone_rule, #writeInfo .purchase .write_input .write_con .write_phone .email_tips .phone_rule, #writeInfo .purchase .write_input .write_con .write_email .phone_tips .phone_rule, #writeInfo .purchase .write_input .write_con .write_email .email_tips .phone_rule, #writeInfo .purchase .write_input .write_con .email_code .phone_tips .phone_rule, #writeInfo .purchase .write_input .write_con .email_code .email_tips .phone_rule {
+  height: 100%;
+  font-size: .24rem;
+  color: #FB483D;
+}
+
+#writeInfo  .write_input .write_con .email_code .write_phone_ipt .label_phone, 
+#writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .label_phone {
+  font-size: .28rem;
+}
+
+#writeInfo  .write_input .write_con .email_code .write_phone_ipt .sendEmail, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .sendEmail {
+  font-size: .28rem;
+  color: #9B9CA3;
+}
+
+#writeInfo  .write_input .write_con .email_code .write_phone_ipt .timedown, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .timedown {
+  display: none;
+  font-size: .28rem;
+  text-align: center;
+  color: #C0C4CC;
+}
+
+#writeInfo  .option_purchase, #writeInfo .purchase .option_purchase {
+  padding: .64rem .64rem .36rem;
+  font-size: .28rem;
+  color: #171826;
+}
+
+#writeInfo  .run_button, #writeInfo  .free_button, #writeInfo  .run_now_button, #writeInfo .purchase .run_button, #writeInfo .purchase .free_button, #writeInfo .purchase .run_now_button {
+  margin-top: .6rem;
+  width: 100%;
+  height: .92rem;
+  padding: 0 .32rem;
+}
+
+#writeInfo  .run_button .write_run, #writeInfo  .run_button .write_free, #writeInfo  .run_button .write_run_now, #writeInfo  .free_button .write_run, #writeInfo  .free_button .write_free, #writeInfo  .free_button .write_run_now, #writeInfo  .run_now_button .write_run, #writeInfo  .run_now_button .write_free, #writeInfo  .run_now_button .write_run_now, #writeInfo .purchase .run_button .write_run, #writeInfo .purchase .run_button .write_free, #writeInfo .purchase .run_button .write_run_now, #writeInfo .purchase .free_button .write_run, #writeInfo .purchase .free_button .write_free, #writeInfo .purchase .free_button .write_run_now, #writeInfo .purchase .run_now_button .write_run, #writeInfo .purchase .run_now_button .write_free, #writeInfo .purchase .run_now_button .write_run_now {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 100%;
+  height: 100%;
+  background: #2ABED1;
+  border-radius: .16rem;
+  color: #fff;
+  font-size: .36rem;
+}
+
+#writeInfo  .run_button .write_run:disabled, #writeInfo  .run_button .write_free:disabled, #writeInfo  .free_button .write_run:disabled, #writeInfo  .free_button .write_free:disabled, #writeInfo  .run_now_button .write_run:disabled, #writeInfo  .run_now_button .write_free:disabled, #writeInfo .purchase .run_button .write_run:disabled, #writeInfo .purchase .run_button .write_free:disabled, #writeInfo .purchase .free_button .write_run:disabled, #writeInfo .purchase .free_button .write_free:disabled, #writeInfo .purchase .run_now_button .write_run:disabled, #writeInfo .purchase .run_now_button .write_free:disabled {
+  background: #87DFEA;
+  color: #FFFFFF;
+  opacity: 0.65;
+}
+
+#writeInfo .purchase {
+  background: #fff;
+}
+
+.no_use{
+  display: flex;
+  justify-content: center;
+  align-items:  center;
+  margin-top: 0.48rem;
+  width: 100%;
+}
+
+.no_use .no_use_back{
+  font-size: 0.3rem;
+  font-style: normal;
+  font-weight: 400;
+  color: #2ABED1;
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 3 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.css


BIN
src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.eot


BIN
src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.ttf


BIN
src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.woff


BIN
src/jfw/modules/app/src/web/staticres/jyapp/big-member/iconfont/iconfont.woff2


BIN
src/jfw/modules/app/src/web/staticres/jyapp/big-member/image/bg_info.png


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/jquery.min.js


+ 30 - 7
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/page_init.js

@@ -5,6 +5,7 @@ $("body").on("touchstart", ".hover-css--slide", function () {
 }).on("touchend", ".hover-css--slide", function () {
     $(this).removeClass('hover')
 })
+var saveKeyForInitData = 'big_member_save_init_big_data_nov'
 // 顶部右侧按钮
 $(".j-header .header-right").on('click', function () {
     if ($(this).text() === '完成') {
@@ -44,14 +45,14 @@ function clearOtherUserLocalStorage () {
             var isUserNext = oCookie != window.onlyUserID
             if (isUserNext) {
                 console.log('清除本地首次使用数据')
-                localStorage.removeItem('big_member_save_init_big_data')
+                localStorage.removeItem(saveKeyForInitData)
             }
         } catch (e) {
             console.log('cookie 获取失败02')
         }
     } else {
         console.log('清除本地首次使用数据')
-        localStorage.removeItem('big_member_save_init_big_data')
+        localStorage.removeItem(saveKeyForInitData)
     }
 }
 
@@ -137,18 +138,21 @@ var vNode = {
         this.checkTopRightText()
         if (!this.ajaxStatus.isAdd) {
             this.ajaxIsFirst()
+        } else if (this.step.now === 1) {
+            this.ajaxIsFirst()
         }
         // 输入防抖
         this.changeEnt = utils.debounce(this.ajaxEntList, 350)
     },
     methods: {
-        ajaxFn: function (url, data, callback) {
+        ajaxFn: function (url, data, callback, errorCall) {
             return $.ajax({
                 type: 'post',
                 url: url,
                 data: data,
                 dataType: "json",
-                success: typeof callback === 'function' ? callback.bind(this) : new Function()
+                success: typeof callback === 'function' ? callback.bind(this) : new Function(),
+                error: typeof errorCall === 'function' ? errorCall.bind(this) : new Function(),
             })
         },
         mapJoin(obj) {
@@ -188,7 +192,7 @@ var vNode = {
         recoveryData () {
             console.log('recoveryData')
             clearOtherUserLocalStorage()
-            Object.assign(this.$data, JSON.parse(localStorage.getItem('big_member_save_init_big_data') || '{}'))
+            Object.assign(this.$data, JSON.parse(localStorage.getItem(saveKeyForInitData) || '{}'))
             localStorage.removeItem('save_init_big_data')
 
             var industryData = JSON.parse(sessionStorage.getItem('big-setIndustry') || JSON.stringify(this.localInitData.industry))
@@ -220,7 +224,7 @@ var vNode = {
             this.hideLoading()
         },
         saveData () {
-            localStorage.setItem('big_member_save_init_big_data', JSON.stringify(this.$data))
+            localStorage.setItem(saveKeyForInitData, JSON.stringify(this.$data))
             setOnlyCookie()
         },
         selectEnt (str) {
@@ -292,6 +296,7 @@ var vNode = {
                         }
                     } else {
                         this.hideLoading()
+                        sessionStorage.setItem('stop_recovery_init', 'true')
                         vant.Dialog.confirm({
                             title: '提示',
                             showCancelButton: true,
@@ -322,9 +327,15 @@ var vNode = {
                 return
             }
             this.ajaxStatus.echo = this.inputArr[1].value
+            var toast = vant.Toast.loading({
+                duration: 0,
+                forbidClick: true,
+                message: '获取数据中',
+            });
             this.ajaxFn('/bigmember/use/echo', {
                 entname: this.inputArr[1].value
             },function (response) {
+                vant.Toast.clear();
                 this.hideLoading()
                 if (response && response.error_code === 0) {
                     this.ajaxInitData = response.data
@@ -333,6 +344,18 @@ var vNode = {
                 } else {
                     vant.Toast(response.error_msg)
                 }
+            },function () {
+                vant.Toast.clear();
+                this.ajaxInitData = {
+                    entname: '',
+                    industry: {},
+                    buyerclass: [],
+                    area: {},
+                    a_items: [{
+                        'a_key': []
+                    }],
+                    competitor: []
+                }
             })
         },
         ajaxEntList () {
@@ -440,7 +463,7 @@ var vNode = {
                 }
             })
             var toast = vant.Toast.loading({
-                duration: 20 * 1000, // 持续展示 toast
+                duration: 0, // 持续展示 toast
                 forbidClick: true,
                 message: '提交中',
             });

+ 13 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/rem.js

@@ -0,0 +1,13 @@
+(function(doc, win) {
+	var docEl = doc.documentElement,
+		resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
+		recalc = function() {
+			var clientWidth = docEl.clientWidth;
+			if(!clientWidth) return;
+			if(clientWidth > 750) clientWidth = 750;
+			docEl.style.fontSize = clientWidth / 7.5 + 'px';
+		};
+	if(!doc.addEventListener) return;
+	win.addEventListener(resizeEvt, recalc, false);
+	doc.addEventListener('DOMContentLoaded', recalc, false);
+})(document, window);

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 5 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/weui.min.js


+ 1 - 0
src/jfw/modules/app/src/web/staticres/jyapp/local/layout.css

@@ -349,6 +349,7 @@ ul, li, ol {
 .badge-number {
     font-size: 11px;
     line-height: 15px;
+    min-width: 15px;
     color: #fff;
     background: #FB483D;
     padding: 0 4px;

+ 57 - 1
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_index_new.css

@@ -1117,20 +1117,25 @@
   margin-top: .32rem;
 }
 
+/* 优惠弹框 */
+.discount-details .weui-half-screen-dialog__hd,
 .coupon-picker .weui-half-screen-dialog__hd {
   padding-left: 0;
   padding-right: 0;
 }
+.discount-details .icon-del-grey,
 .coupon-picker .icon-del-grey {
   padding-left: 0;
   padding-right: 0;
   order: 2;
 }
 
+.discount-details .weui-picker__bd,
 .coupon-picker .weui-picker__bd {
   padding: 0 0.2rem;
 }
 
+.discount-details .weui-picker__group,
 .coupon-picker .weui-picker__group {
   position: relative;
   display: flex;
@@ -1141,6 +1146,57 @@
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
 }
 
+.discount-details .weui-mask,
+.discount-details .weui-picker {
+    bottom: 3.1rem;
+    min-height: unset;
+    transform: unset;
+}
+.discount-details .weui-picker__bd {
+    padding: 0;
+    padding-bottom: .36rem;
+    flex-direction: column;
+}
+.discount-details .details-bd-item {
+    margin-bottom: unset;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: .24rem 0;
+    font-size: .28rem;
+    line-height: .4rem;
+    color: #171826;
+}
+.discount-details .d-b-right .dis-price {
+    text-decoration: unset;
+}
+
+.discount-button {
+    display: none;
+    margin-right: .16rem;
+    padding: .03rem .06rem;
+    font-size: .2rem;
+    line-height: .28rem;
+    color: #9B9CA3;
+    background-color: #F5F7F7;
+    border-radius: 2px;
+}
+.discount-button .icon-arrow.up {
+    transform: rotate(-90deg);
+}
+.discount-button .icon-arrow {
+    transition: all 0.2s;
+    display: inline-block;
+    font-size: .2rem;
+    transform: rotate(90deg);
+}
+
+.text-red {
+    color: #FB483D;
+}
+
+
+
 .origin-price {
   display: none;
   align-items: center;
@@ -1211,4 +1267,4 @@
 .weui-actionsheet__cell:before{
   left: .32rem;
   right: -16px;
-}
+}

+ 48 - 2
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_introduce.css

@@ -157,12 +157,17 @@ html,body {
 .vip_introduce .main .banner {
   padding-top: 8.4rem;
   width: 100%;
-  height: 16.88rem;
+  min-height: 16.88rem;
   background: url(/jyapp/vipsubscribe/image/vip_intro_bg-1@2x.jpg?v=51430) no-repeat top center;
   background-color: #1B1A2A;
   background-size: 100% 100%;
 }
 
+.main .group {
+  position: relative;
+  z-index: 1;
+}
+
 .main .group .group-title {
   position: relative;
   margin-bottom: .48rem;
@@ -391,4 +396,45 @@ html,body {
 }
 .vip-intro-footer .vi-footer-r:active {
   background-image: linear-gradient(360deg, #F1D090 0%, #FAE7CA 54.69%, #FAE7CA 74.48%, #F1D090 100%);
-}
+}
+
+.active-content-tip {
+  display: none;
+  position: absolute;
+  width: 100%;
+  left: 0;
+  top: 3.36rem;
+}
+.active-content {
+  margin: 0 .6rem;
+  font-size: .3rem;
+  line-height: .4rem;
+  color: #DADDE3;
+}
+.active-content .active-c-item {
+  display: flex;
+}
+.active-content .active-r-b {
+  font-size: .24rem;
+  line-height: .36rem;
+  color: rgba(255, 255, 255, 0.5);
+}
+.active-rules {
+  margin: 1.12rem .48rem 0;
+  font-size: .18rem;
+  line-height: .28rem;
+  color: #868592;
+}
+
+.active-20201111 .vip_introduce .banner {
+  padding-top: 10.8rem;
+  background-image: url(/jyapp/vipsubscribe/image/vip_intro_active_bg-1111@3x.png?v=1430);
+  background-size: 100% auto;
+}
+.active-20201111 .active-content-tip {
+  display: block;
+}
+.active-20201111 .comparison {
+  margin-top: 0;
+  background-image: linear-gradient(to bottom, #262536 0%, #1B1A2A 100%);
+}

+ 56 - 1
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_purchase.css

@@ -938,20 +938,26 @@
   margin-top: .26rem!important;
 }
 
+/* 优惠弹框 */
+.discount-details .weui-half-screen-dialog__hd,
 .coupon-picker .weui-half-screen-dialog__hd {
   padding-left: 0;
   padding-right: 0;
 }
+
+.discount-details .icon-del-grey,
 .coupon-picker .icon-del-grey {
   padding-left: 0;
   padding-right: 0;
   order: 2;
 }
 
+.discount-details .weui-picker__bd,
 .coupon-picker .weui-picker__bd {
   padding: 0 0.2rem;
-}       
+}
 
+.discount-details .weui-picker__group,
 .coupon-picker .weui-picker__group {
   position: relative;
   display: flex;
@@ -962,6 +968,55 @@
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
 }
 
+.discount-details .weui-mask,
+.discount-details .weui-picker {
+  bottom: 3.1rem;
+  min-height: unset;
+  transform: unset;
+}
+.discount-details .weui-picker__bd {
+  padding: 0;
+  padding-bottom: .36rem;
+  flex-direction: column;
+}
+.discount-details .details-bd-item {
+    margin-bottom: unset;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: .24rem 0;
+  font-size: .28rem;
+  line-height: .4rem;
+  color: #171826;
+}
+.discount-details .d-b-right .dis-price {
+    text-decoration: unset;
+}
+
+.discount-button {
+  display: none;
+  margin-right: .16rem;
+  padding: .03rem .06rem;
+  font-size: .2rem;
+  line-height: .28rem;
+  color: #9B9CA3;
+  background-color: #F5F7F7;
+  border-radius: 2px;
+}
+.discount-button .icon-arrow.up {
+    transform: rotate(-90deg);
+}
+.discount-button .icon-arrow {
+    transition: all 0.2s;
+  display: inline-block;
+  font-size: .2rem;
+  transform: rotate(90deg);
+}
+
+.text-red {
+  color: #FB483D;
+}
+
 .free-7day-tip {
   justify-content: space-between;
 }

+ 64 - 2
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_renew.css

@@ -34,6 +34,13 @@
   bottom: 0;
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
 }
+.vip-renew .vip-body ul > .body-item:first-child{
+    border-top-left-radius: 8px;
+    border-top-right-radius: 8px;
+}
+.vip-renew .vip-body ul > .body-item:last-child::after{
+    content: none;
+}
 
 .vip-renew .vip-footer {
     width: 100%;
@@ -592,20 +599,25 @@
   margin-top: .32rem;
 }
 
+/* 优惠弹框 */
+.discount-details .weui-half-screen-dialog__hd,
 .coupon-picker .weui-half-screen-dialog__hd {
   padding-left: 0;
   padding-right: 0;
 }
+.discount-details .icon-del-grey,
 .coupon-picker .icon-del-grey {
   padding-left: 0;
   padding-right: 0;
   order: 2;
 }
 
+.discount-details .weui-picker__bd,
 .coupon-picker .weui-picker__bd {
   padding: 0 0.2rem;
-}       
+}
 
+.discount-details .weui-picker__group,
 .coupon-picker .weui-picker__group {
   position: relative;
   display: flex;
@@ -616,6 +628,56 @@
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
 }
 
+.discount-details .weui-mask,
+.discount-details .weui-picker {
+    bottom: 3.1rem;
+    min-height: unset;
+    transform: unset;
+}
+.discount-details .weui-picker__bd {
+    padding: 0;
+    padding-bottom: .36rem;
+    flex-direction: column;
+}
+.discount-details .details-bd-item {
+    margin-bottom: unset;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: .24rem 0;
+    font-size: .28rem;
+    line-height: .4rem;
+    color: #171826;
+}
+.discount-details .d-b-right .dis-price {
+    text-decoration: unset;
+}
+
+.discount-button {
+    display: none;
+    margin-right: .16rem;
+    padding: .03rem .06rem;
+    font-size: .2rem;
+    line-height: .28rem;
+    color: #9B9CA3;
+    background-color: #F5F7F7;
+    border-radius: 2px;
+}
+.discount-button .icon-arrow.up {
+    transform: rotate(-90deg);
+}
+.discount-button .icon-arrow {
+    transition: all 0.2s;
+    display: inline-block;
+    font-size: .2rem;
+    transform: rotate(90deg);
+}
+
+.text-red {
+    color: #FB483D;
+}
+
+
 .origin-price {
   display: none;
   align-items: center;
@@ -634,4 +696,4 @@
 }
 .billing-price-container .yen {
   font-size: .32rem;
-}
+}

BIN
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/image/vip_intro_active_bg-1111@3x.png


+ 60 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_index_new.js

@@ -1,3 +1,37 @@
+function showGiveStatus (t) {
+    if (t) {
+        $("#giveTimeBox").addClass('hasDoubleEleven')
+        $('.discount-button').show().on('click', function () {
+            var details = $('.discount-details')
+            if (details.is(':hidden')) {
+                $('.discount-details').show()
+                $(this).children('.icon-arrow').addClass('up')
+            } else {
+                $('.discount-details').hide()
+                $(this).children('.icon-arrow').removeClass('up')
+            }
+        })
+    } else {
+        $("#giveTimeBox").removeClass('hasDoubleEleven')
+        $(".origin-price").hide()
+    }
+}
+// 拦截获取价格接口读取11.11活动信息
+$.ajaxSetup({
+    complete:function(XMLHttpRequest,textStatus){
+        if (this.url.indexOf('/subscribepay/vipsubscribe/getPrice') !== -1) {
+            if (textStatus === 'success') {
+                var data = XMLHttpRequest.responseJSON
+                if (data && data.isActiving && data.isWritten === 0) {
+                    showGiveStatus(true)
+                } else {
+                    showGiveStatus(false)
+                }
+            }
+        }
+    }
+});
+
 $(function () {
     //项目匹配开关
     var checkedflag = true;
@@ -276,6 +310,8 @@ $(function () {
     $('.weui-mask').on('click', function () {
         pickerShow('.billing-list-container', false)
         $('.coupon-picker').hide()
+        $('.discount-details').hide()
+        $('.discount-button .icon-arrow').removeClass('up')
     })
 
     // 关键词匹配方式
@@ -737,6 +773,18 @@ $(function () {
             "buyerclasscount": reqData.buyset.buyerclasscount,
             "citys": reqData.buyset.newcitys
         }, changeTime, reqData.endTime, reqData.renewList, reqData.isTrial);
+        // 双11.11活动
+        var giveT = [changeTime[1] === 1 ? 1 :changeTime[0], changeTime[1]]
+        if (!giveT[0] || !giveT[1]) {
+            giveT = []
+        }
+        var giveStatue = getUpgradeFinalStatus(getBuySet(reqData.area, reqData.industry), {
+            "areacount": reqData.buyset.areacount,
+            "buyerclasscount": reqData.buyset.buyerclasscount,
+            "citys": reqData.buyset.newcitys
+        }, giveT, reqData.endTime, reqData.renewList, reqData.isTrial);
+        var givePrice = giveStatue[0]
+        var giveCycle = changeTime[1] === 1 ? ('1年') : ((changeTime[0] ? changeTime[0] : 1) + '个月')
 
         if (status[0] === -2) {
             weui.toast('订单冲突', {
@@ -775,6 +823,7 @@ $(function () {
             $(".vip-footer.upgrade .billing-price").text(formatMoney(status[0]));
             submitPrice = status[0] * 10000 / 100
 
+
             // 活动期间,则显示优惠码
             if ($('.vip-upgrade').hasClass('live-20200707')) {
                 // 优惠码选项
@@ -787,6 +836,15 @@ $(function () {
         }
 
         if (reqData.isTrial) {//试用购买
+            if ($("#giveTimeBox").hasClass('hasDoubleEleven')) {
+                $(".origin-price").css('display', 'flex')
+                $("#giveTimeBox").show()
+                $("#giveTimeText").text(giveCycle)
+                $('.origin-price .price-num').text(formatMoney(status[0] + givePrice));
+                // 优惠明细
+                $('.discount-price .dis-price').text(formatMoney(givePrice))
+                $('.now-price .dis-price').text(formatMoney(status[0]));
+            }
             if (changeTime.length === 0) {
                 //刷新展示时间
                 changeTime = [1, 2];//
@@ -876,6 +934,8 @@ $(function () {
                         });
                     }
                 }
+            }else{
+				weui.loading().hide();
             }
         }, false);
     }

+ 13 - 1
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_order_detail.js

@@ -28,7 +28,7 @@ $(function () {
                 $(".productType").text("超级订阅(试用)");
             }
             //价格
-            $(".price").text("¥ " + r.data.order.original_price / 100 + "元");
+            $(".price").text("¥ " + formatMoney(parseFloat(r.data.order.original_price) / 100) + "元");
             if (!r.data.order.isLiveActive) {
                 $(".origin-price-container").hide();
             } else {
@@ -45,6 +45,18 @@ $(function () {
             if (r.data.order.filter) {
                 var filterObj = JSON.parse(r.data.order.filter);
                 var newbuyset = filterObj.newBuyset;
+                // 双11活动判断
+                var can1111 = filterObj && filterObj.original_price
+                if (can1111) {
+                    var giveTime = filterObj.give_cycle
+                    giveTime = giveTime < 12 ? (giveTime + '个月') : ('1年')
+                    $(".discount-container .highlight-text").text('赠送' + giveTime);
+                    $(".discount-container").removeClass("hide");
+                    var originPrice = formatMoney(parseFloat(filterObj.original_price) / 100)
+                    $(".price-num").text(originPrice);
+                    $(".origin-price-container").show()
+                    $(".bill-origin-price").css("display", "flex");
+                }
                 if ((r.data.order.vip_type != 2) && (r.data.order.vip_type != 1)) {
                     if (!$.isEmptyObject(newbuyset)) {
                         var val = getnewbuyset(newbuyset);

+ 41 - 10
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_renew.js

@@ -62,6 +62,20 @@ var purchase = {
             $DoPost("/subscribepay/vipsubscribe/getPrice", {}, function (r) {
                 if (r) {
                     purchase.price = r;
+                    purchase.can1111 = r.isActiving && r.isWritten === 0
+                    if (purchase.can1111) {
+                        if (!sessionStorage.getItem("vipSubSelectTime")) {
+                            purchase.timeValue = "1年";
+                            purchase.timeSelect_tmp = [1,1]
+                            purchase.timeSelect = purchase.timeSelect_tmp;
+                            purchase.showTime();
+                            purchase.flushPrice(purchase.timeSelect, 1);
+                            sessionStorage.setItem("vipSubSelectTime", JSON.stringify(purchase.timeSelect));
+                        }
+                        showGiveStatus(true)
+                    } else {
+                        showGiveStatus(false)
+                    }
                 }
             }, false)
 
@@ -155,14 +169,24 @@ var purchase = {
         //var price = getsubVipOrderPrice(this.areaSelect, this.industrySelect, time, this.price);
         var times = [time[0], time[1]];
         var price = getsubVipOrderPriceBybuyset(this.nowBuyset, time);
+        var givePrice = getsubVipOrderPriceBybuyset(this.nowBuyset, [time[1] === 1 ? 1 :time[0], time[1]]);
 
         var showPrice = formatMoney(price);
         if (flag === 1) {
             $('.billing-price').text(showPrice);
+            $('.origin-price .price-num').text(formatMoney(price + givePrice));
+            // 优惠明细
+            $('.discount-price .dis-price').text(formatMoney(givePrice))
+            $('.now-price .dis-price').text(formatMoney(price));
+
         } else if (flag === 2) {
             $('.computed_price').html(showPrice);
         } else {
             $('.billing-price').text(showPrice);
+            $('.origin-price .price-num').text(formatMoney(price + givePrice));
+            // 优惠明细
+            $('.discount-price .dis-price').text(formatMoney(givePrice))
+            $('.now-price .dis-price').text(formatMoney(price));
             $('.computed_price').html(showPrice);
         }
         this.flushSelectTime(times, flag === undefined ? 1 : flag);
@@ -175,6 +199,11 @@ var purchase = {
 
             if (flag === 1) {
                 $(".select_cycle .month").text(this.timeValue);
+                var giveTime = this.timeValue
+                if (this.timeValue.indexOf('年') !== -1) {
+                    giveTime = '1年'
+                }
+                $(".select_cycle #giveTime").text(giveTime);
                 $(".select_cycle .duration").text(time1 + "-" + time2);
                 $(".select_cycle .duration").show();
             }
@@ -182,7 +211,7 @@ var purchase = {
             //是否超过三年
             var now = Math.floor(new Date().getTime() / 1000);
             var MaxEnd = getVipEndDate(1, 3, now);
-            if (end > MaxEnd) {
+            if (!purchase.can1111 && end > MaxEnd) {
                 var timeShow = getDateSub(now, this.endTime);
                 var showTipText = "<div style='white-space: nowrap;'>最长订阅周期不可超过3年</div>剩余周期:";
                 if (timeShow[0] !== 0) {
@@ -471,20 +500,22 @@ $(function () {
 });
 
 //获取url中"?"符后的字符串并正则匹配
-function GetQueryString(name) { 
-  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
-  var r = window.location.search.substr(1).match(reg); 
-  var context = ""; 
-  if (r != null) 
-     context = r[2]; 
-  reg = null; 
-  r = null; 
-  return context == null || context == "" || context == "undefined" ? "" : context; 
+function GetQueryString(name) {
+  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+  var r = window.location.search.substr(1).match(reg);
+  var context = "";
+  if (r != null)
+     context = r[2];
+  reg = null;
+  r = null;
+  return context == null || context == "" || context == "undefined" ? "" : context;
 }
 // 隐藏dialog选择框
 function hideDialog() {
     $('#pay_way').hide(200);
     $('#time_cycle').hide(200);
+    $('.discount-details').hide()
+    $('.discount-button .icon-arrow').removeClass('up')
 }
 
 function clearSessionStorage() {

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 34 - 0
src/jfw/modules/app/src/web/templates/big-member/page_contrast.html


+ 1 - 0
src/jfw/modules/app/src/web/templates/big-member/page_init.html

@@ -19,6 +19,7 @@
     <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/index.css />
     <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/icon/local.css />
     <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/page_init.css?v={{Msg "seo" "version"}}' />
+    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/vant-reset.css?v={{Msg "seo" "version"}}' />
     <!--E-当前页面的css资源-->
     <style>
         input[type="search"]{-webkit-appearance:none;}

+ 304 - 0
src/jfw/modules/app/src/web/templates/big-member/page_write_infor.html

@@ -0,0 +1,304 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+    <head>
+        <meta charset="UTF-8">
+        <meta name="viewport"
+            content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+        <meta name="apple-mobile-web-app-capable" content="yes">
+        <meta name="apple-mobile-web-app-status-bar-style" content="black">
+        <meta http-equiv="X-UA-Compatible" content="ie=edge">
+        <meta http-equiv="X-UA-Compatible" content="ie=edge">
+        <title>大会员【专家版】15天特权</title>
+        <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/layout.css" />
+        <link href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/font.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+        <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/rem.js?v={{Msg "seo" "version"}}"></script>
+        <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/base.css?v={{Msg "seo" "version"}}">
+        <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/weui.min.css?v={{Msg "seo" "version"}}">
+        <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
+        <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/write_infor.css?v={{Msg "seo" "version"}}6">
+        <style>
+        .jy-app-header .subreport_title{
+            font-size:17px;
+            width: max-content;
+        }
+        </style>
+    </head>
+<body>
+<div class="app-layout-header jy-app-header">
+	<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+  <span class="subreport_title">大会员【专家版】15天特权</span>
+</div>
+<div class="app-layout-content-b">
+    <div id="writeInfo">
+<!--        <div class="j-header jy-app-header">
+            <i class="header-left iconfont icon-fanhui" style="font-size:19.5px;" onclick="fanhui()"></i>
+            <span class="header-title">结构化招标数据</span>
+            <span class="header-right"></span>
+        </div>-->
+        <div class="info_tip">
+            <p class="tip_text">
+                您已获得【剑鱼大会员专家版】15天的使用特权,完善以下信息即可开始使用,详细了解【剑鱼大会员】可致电<a href="tel:400-108-6670" data-phone="400-108-6670" class="tip_phone">400-108-6670</a>。
+            </p>
+        </div>
+        <div class="write_input">
+            <div class="write_con">
+                <div class="write_name">
+                    <div class="write_name_ipt">
+                        <span class="label_name">*姓名</span>
+                        <input class="ipt_name" type="text" placeholder="输入姓名">
+                    </div>
+                    <div class="name_tips" style="display: none;">
+                        <span class="label_tips"></span>
+                        <p class="phone_rule">
+                            请输入正确联系人
+                        </p>
+                    </div>
+                </div>
+                <div class="write_phone">
+                    <div class="write_phone_ipt">
+                        <span class="label_phone">*手机号</span>
+                        <input class="ipt_phone" type="text" maxlength="11" placeholder="输入手机号" value="{{.T.phone_num}}">
+                    </div>
+                    <div class="phone_tips" style="display: none;">
+                        <span class="label_tips"></span>
+                        <p class="phone_rule">
+                            手机号格式错误
+                        </p>
+                    </div>
+                </div>
+                <div class="write_email">
+                    <div class="write_phone_ipt">
+                        <span class="label_phone">企业名称</span>
+                        <input class="ipt_email" type="text" placeholder="输入企业名称" value="{{.T.s_myemail}}">
+                        <span class="correct-icon"></span>
+                    </div>
+                    <!-- <div class="email_tips" style="display: none;">
+                        <span class="label_tips"></span>
+                        <p class="phone_rule">
+                            企业名称格式错误
+                        </p>
+                    </div> -->
+                </div>
+                <div class="email_code">
+                    <div class="write_phone_ipt">
+                        <span class="label_phone">*职位</span>
+                        <input class="ipt_code" type="text" placeholder="输入职位">
+                    </div>
+                    <div class="email_tips" style="display: none;">
+                        <span class="label_tips"></span>
+                        <p class="phone_rule">
+                            输入格式错误
+                        </p>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="free_button" id="free_button">
+            <button class="write_free" id="write_free" disabled>立即使用</button>
+        </div>
+        <div class="no_use">
+            <div  class="no_use_back">暂不使用</div>
+        </div>
+    </div>
+</div>
+</body>
+<script src="/jyapp/big-member/js/jquery.min.js"></script>
+<script src="/jyapp/big-member/js/weui.min.js"></script>
+{{include "/common/js.html"}}
+<script>
+var issubmit = ["false","false"]
+var isfreesubmit = ["false","false","false"]
+
+$(function(){
+
+  //   每次进页面都要清空之前的信息
+//   $('.ipt_name').val('')
+//   $('.ipt_phone').val('')
+//   $('.ipt_code').val('')
+
+  // 姓名输入事件
+  $('.ipt_name').on('blur', function() {
+      var namerule =  isname(this.value)
+      var myreg=/^\s*$/g;
+      if(namerule){
+        $('.name_tips').hide()
+          isfreesubmit[0] = 'true'
+      }else{
+        if(myreg.test(this.value)){
+            $('.name_tips').hide()
+            isfreesubmit[0] = 'false'
+        }else{
+            $('.name_tips').css('display','flex')
+            isfreesubmit[0] = 'false'
+        }
+      }
+      freesubmit()
+  })
+  
+  // 手机号输入事件
+  $('.ipt_phone').on('blur', function() {
+      var phonerule = isPoneAvailable(this.value)
+      var myreg=/^\s*$/g;
+      if(phonerule){
+          $('.phone_tips').hide()
+          isfreesubmit[1] = 'true'
+      }else{
+        if(myreg.test(this.value)){
+            $('.phone_tips').hide()
+            isfreesubmit[1] = 'false'
+        } else {
+            $('.phone_tips').css('display','flex')
+            isfreesubmit[1] = 'false'
+        }
+      }
+      freesubmit()
+  })
+
+    // 职位输入事件
+    $('.ipt_code').on('blur', function () {
+        var workrule = isname(this.value)
+        var myreg = /^\s*$/g;
+        if (this.value != '') {
+            isfreesubmit[2] = 'true'
+        } else {
+            isfreesubmit[2] = 'false'
+        }
+        freesubmit()
+    })
+
+
+    // 免费样例--确定
+    $('.free_button').on('click', function () {
+        var iptname = $('.ipt_name').val()
+        var iptphone = $(' .ipt_phone').val()
+        var iptEntName = $('.ipt_email').val()
+        var iptJob = $('.ipt_code').val()
+        $.ajax({
+            url: '/bigmember/activity/20201111/activation',
+            type: 'POST',
+            data: {
+                name: iptname,
+                phone: iptphone,
+                entName: iptEntName,
+                job: iptJob,
+            },
+            success: function (res) {
+                if (res.error_code === 0) {
+                    window.location.replace("/jyapp/big/page/init")
+                } else {
+                    weui.toast(res.error_msg, 1500);
+                }
+            },
+            error: function (err) {
+                //   weui.toast('保存失败', 1500);
+            }
+        })
+    })
+
+  // 姓名输入事件
+  $('.kf .ipt_name').on('blur', function() {
+      var namerule =  isname(this.value)
+      var myreg=/^\s*$/g;
+      if(namerule){
+        $('.kf_name_tips').hide()
+          issubmit[0] = "true"
+      }else{
+        if(myreg.test(this.value)){
+            $('.kf_name_tips').hide()
+            issubmit[0] = "false"
+        }else{
+            $('.kf_name_tips').css('display','flex')
+            issubmit[0] = "false"
+        }
+      }
+      submit()
+  })
+  
+  // 手机号输入事件
+  $('.kf .ipt_phone').on('blur', function() {
+      var phonerule = isPoneAvailable(this.value)
+      var myreg=/^\s*$/g;
+      if(phonerule){
+          $('.kf_phone_tips').hide()
+          issubmit[1] = "true"
+      }else{
+        if(myreg.test(this.value)){
+            $('.kf_phone_tips').hide()
+            issubmit[1] = "false"
+        } else {
+            $('.kf_phone_tips').css('display','flex')
+            issubmit[1] = "false"
+        } 
+      }
+      submit()
+  })
+
+    // 暂不使用
+    $('.no_use_back').on('click',function(){
+        history.go(-1)
+    })
+
+    // 拨打电话
+    // APP端禁止电话跳转
+    var isApp = false
+    try {
+        JyObj.getVersion()
+        isApp = true
+    } catch (e) {
+        isApp = false
+    }
+    if (isApp) {
+        $('a[data-phone]').attr('href', 'javascript:;')
+    }
+    $(".tip_phone").on('click', function () {
+        var phone = $(this).attr('data-phone')
+        console.log(phone)
+        try {
+            JyObj.callPhone(phone);
+        } catch (e) {
+            console.log('error: app call phone')
+        }
+    })
+})
+
+
+// 验证手机号格式
+function isPoneAvailable($poneInput) {
+    var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
+    if (!myreg.test($poneInput)) {
+        return false;
+    } else {
+        return true;
+    }
+}
+// 联系人必须是两个汉字以上
+function isname($nameInput) {
+    // var myreg=/^\s*$/g;
+    var tworeg = /^[\u4E00-\u9FA5]{2,}$/;
+    if (!tworeg.test($nameInput)) {
+        return false;
+    } else {
+        return true;
+    }
+}
+
+
+
+
+// 判断免费样例的按钮是否可以点击
+function freesubmit() {
+    if(isfreesubmit.includes('false')) {
+        $('.write_free').attr('disabled',true)
+    } else {
+        $('.write_free').attr('disabled',false)
+    }
+}
+
+    // 返回
+    function fanhui() {
+        history.go(-1)
+    }
+</script>
+<!--百度统计end-->
+{{include "/common/baiducc.html"}}
+</html>

+ 20 - 4
src/jfw/modules/app/src/web/templates/commonPay/myOrder.html

@@ -1462,6 +1462,11 @@
                 //订单金额
                 var orderMoney_vip = obj.order_money;
                 var orginsPrices = obj.order_money;
+                var can1111 = filter_vip && filter_vip.original_price
+                if (can1111) {
+                    orginsPrices = filter_vip.original_price;
+                }
+                var giveCycle = filter_vip.give_cycle;
                 //金额格式化 小数点前 1,000
                 orderMoney_vip = orderMoney_vip + "";
                 orderMoney_vip1 = toThousands(orderMoney_vip.split(".")[0]);
@@ -1586,12 +1591,18 @@
                         + '<div class="media-info">'
                         + '<p class="item-ifo ellipsis">区域:' + region_vip + '</p>'
                         + '<p class="item-ifo ellipsis">行业:' + industry_vip + '</p>'
-                        + '<p class="item-ifo ellipsis">订阅周期:' + effectiveduration_vip + '</p>'
+                        + '<p class="item-ifo ellipsis">订阅周期:' + effectiveduration_vip
+                        + (can1111 ? ('&nbsp;+&nbsp;' + '<span style="color: #2ABED1;">赠送' + (giveCycle < 12 ? (giveCycle + '个月') : '1年') + '</span>')  : '')
+                        + '</p>'
                         + '</div>'
                         + '</a>'
                     listhtml += '<div class="price">'
-                    if (isLiveActive) {
+
+                    if (can1111 || isLiveActive) {
                         var originPrice = formatMoney(parseFloat(orginsPrices) / 0.6);
+                        if (can1111) {
+                            originPrice = formatMoney(parseFloat(orginsPrices) / 100)
+                        }
                         listhtml += '<span class="origin-price-container">'
                             + '<span>原价:¥</span>'
                             + '<span class="origin-price">' + originPrice + '</span>'
@@ -1623,13 +1634,18 @@
                         + '<div class="media-info">'
                         + '<p class="item-ifo ellipsis">区域:' + region_vip + '</p>'
                         + '<p class="item-ifo ellipsis">行业:' + industry_vip + '</p>'
-                        + '<p class="item-ifo ellipsis">订阅周期:' + effectiveduration_vip + '</p>'
+                        + '<p class="item-ifo ellipsis">订阅周期:' + effectiveduration_vip
+                        + (can1111 ? ('&nbsp;+&nbsp;' + '<span style="color: #2ABED1;">赠送' + (giveCycle < 12 ? (giveCycle + '个月') : '1年') + '</span>')  : '')
+                        + '</p>'
                         + '<p class="item-ifo ellipsis">有效日期:' + effectivetime_vip + '</p>'
                         + '</div>'
                         + '</a>'
                     listhtml += '<div class="price">'
-                    if (isLiveActive) {
+                    if (can1111 || isLiveActive) {
                         var originPrice = formatMoney(parseFloat(orginsPrices) / 0.6);
+                        if (can1111) {
+                            originPrice = formatMoney(parseFloat(orginsPrices) / 100)
+                        }
                         listhtml += '<span class="origin-price-container">'
                             + '<span>原价:¥</span>'
                             + '<span class="origin-price">' + originPrice + '</span>'

+ 1 - 1
src/jfw/modules/app/src/web/templates/me/mine.html

@@ -247,7 +247,7 @@
     <script>
         function getOfflineMessageCount () {
             try {
-                var nowPlatform = 'h5';
+                var nowPlatform = 'app';
                 (function (w, d, e, x) {
                     w[e] = function () { w.cbk = w.cbk || []; w.cbk.push(arguments); }
                     x = d.createElement('script');

+ 1 - 1
src/jfw/modules/app/src/web/templates/me/notice.html

@@ -115,7 +115,7 @@
     }
     function getOfflineMessageCount () {
         try {
-            var nowPlatform = 'h5';
+            var nowPlatform = 'app';
             (function (w, d, e, x) {
                 w[e] = function () { w.cbk = w.cbk || []; w.cbk.push(arguments); }
                 x = d.createElement('script');

+ 56 - 2
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_index_new.html

@@ -285,6 +285,18 @@
               </div>
             </a>
           </li>
+        <li class="body-item" id="giveTimeBox" style="display: none;margin-top: 0.16rem;">
+            <div class="item-container" href="javascript:;">
+                <div class="item">
+                    <span class="item-l">
+                      <span class="item-label">赠送周期</span>
+                    </span>
+                    <span class="item-r">
+                      <span class="keywords-text ellipsis" id="giveTimeText"></span>
+                    </span>
+                </div>
+            </div>
+        </li>
           <li class="body-item coupon-code-tx" style="display: none">
             <a class="item-container" href="javascript:;">
               <div class="item">
@@ -336,7 +348,11 @@
               </span>
             </div>
             <div class="origin-price" style="display: none">
-              <span class="price-label">原价:</span>
+                <span class="discount-button">
+                    <span>优惠明细</span>
+                    <span class="iconfont icon-arrow"></span>
+                </span>
+                <span class="price-label">原价:</span>
               <div class="price-container">
                 <span class="currency-type">&yen;</span>
                 <span class="price-num">5.80</span>
@@ -360,7 +376,45 @@
           </div>
         </div> -->
       </div>
-      <!-- 计费清单picker -->
+        <!-- 优惠明细 -->
+        <div class="j-picker adaption discount-details" style="display:none;">
+            <div class="weui-mask"></div>
+            <div class="weui-half-screen-dialog weui-picker">
+                <div class="weui-half-screen-dialog__hd">
+                    <div class="weui-half-screen-dialog__hd__main">
+                        <strong class="weui-half-screen-dialog__title">优惠明细</strong>
+                    </div>
+                    <span class="j-icon icon-del-grey cancel"></span>
+                </div>
+                <div class="weui-half-screen-dialog__bd">
+                    <div class="weui-picker__bd">
+                        <div class="details-bd-item origin-price">
+                            <div class="d-b-left">原价</div>
+                            <div class="d-b-right">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price price-num">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item discount-price">
+                            <div class="d-b-left">限时优惠</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">-&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item now-price">
+                            <div class="d-b-left">实付</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+
+        <!-- 计费清单picker -->
       <div class="billing-list-container p13" style="display: none;">
         <div class="weui-mask weui-animate-fade-in"></div>
         <div class="weui-half-screen-dialog weui-picker weui-animate-slide-up">

+ 62 - 23
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_introduce.html

@@ -17,7 +17,7 @@
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/font.css?v={{Msg "seo" "version"}}"/>
 </head>
 <body>
-<div class="j-container">
+<div class="j-container" id="vip-intro-container">
     <div class="j-header jy-app-header transparent-header">
       <span class="app-back jyapp-icon jyapp-icon-zuojiantou header-left"></span>
       <span class="header-title">超级订阅</span>
@@ -26,6 +26,31 @@
     <div class="j-main vip_introduce">
         <div class="main">
             <div class="banner power group">
+                <div class="active-content-tip">
+                    <div class="active-content">
+                        <div class="active-c-item">
+                            <div class="active-i-l">大礼1:</div>
+                            <div class="active-i-r">
+                                <div class="active-r-t">买多久送你多久!</div>
+                                <div class="active-r-b">(如:买1年送1年,买3个月送3个月)</div>
+                            </div>
+                        </div>
+                        <div class="active-c-item">
+                            <div class="active-i-l">大礼2:</div>
+                            <div class="active-i-r">
+                                <div class="active-r-t">赠送剑鱼大会员【专家版】使用特权!</div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="active-rules">
+                        <div class="active-r-text">活动规则:</div>
+                        <div class="active-r-text">1、2020年11月5日0:00至2020年11月11日23:59期间,新购和续费超级订阅的用户参与此活动。</div>
+                        <div class="active-r-text">2、活动期间,用户第一次购买超级订阅的订单参与此活动,多次购买无效。</div>
+                        <div class="active-r-text">3、每个用户赠送1次超级订阅时长,赠送时长与购买时长相等,最多送1年。</div>
+                        <div class="active-r-text">4、每个用户赠送剑鱼大会员专家版15天使用时长,仅在活动时间内领取有效。</div>
+                        <div class="active-r-text">5、此活动最终解释权归剑鱼标讯所有。</div>
+                    </div>
+                </div>
                 <div class="group-title">
                     <span class="title-text line-title">超级订阅服务特权</span>
                     <span class="title-bg-text">DINGYUEFUWU</span>
@@ -139,31 +164,45 @@
     </script>
     <script>
     $(function(){
-      try{
-        //隐藏底部栏 0:隐藏;1:显示
-        JyObj.hiddenBottom("0");
-      }catch(e){}
-    })
-    // 头部返回按钮事件
-    $('.j-header .header-left').on('click', function () {
-        window.history.back()
-    })
+        try{
+            //隐藏底部栏 0:隐藏;1:显示
+            JyObj.hiddenBottom("0");
+        }catch(e){}
+
+        $.ajax({
+            url: '/jyactive/doubleEleven/isActiving',
+            type: 'GET',
+            success: function (res) {
+                if (res && res.error_code == 0) {
+                    if (res.data && res.data.isActiving) {
+                        $('#vip-intro-container').addClass('active-20201111')
+                    } else {
+                        $('#vip-intro-container').removeClass('active-20201111')
+                    }
+                }
+            }
+        })
 
-    // 头部滚动事件
-    $('.j-main .main').on('scroll', function () {
-        var headerDOM = $('.j-header.jy-app-header')
-        var scrollTop = this.scrollTop
+        // 头部返回按钮事件
+        $('.j-header .header-left').on('click', function () {
+            window.history.back()
+        })
+        // 头部滚动事件
+        $('.j-main .main').on('scroll', function () {
+            var headerDOM = $('.j-header.jy-app-header')
+            var scrollTop = this.scrollTop
 
-        // 是否有header-transparent这个类名
-        var hasClassT = headerDOM.hasClass('transparent-header')
+            // 是否有header-transparent这个类名
+            var hasClassT = headerDOM.hasClass('transparent-header')
 
-        if(scrollTop >= 75) {
-            if (!hasClassT) return
-            headerDOM.removeClass('transparent-header')
-        }else {
-            if (hasClassT) return
-            headerDOM.addClass('transparent-header')
-        }
+            if(scrollTop >= 75) {
+                if (!hasClassT) return
+                headerDOM.removeClass('transparent-header')
+            }else {
+                if (hasClassT) return
+                headerDOM.addClass('transparent-header')
+            }
+        })
     })
 </script>
 

+ 2 - 2
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_order_detail.html

@@ -14,7 +14,7 @@
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/public_.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/weui.min.css">
-    
+
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/layout.css" />
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/font.css?v={{Msg "seo" "version"}}" />
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/dataExport/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
@@ -78,7 +78,7 @@
 											<span class="dyzq">订阅周期:</span>
 											<span class="item-list-parents cyclecount value"></span>
 											<span class="discount-container hide">
-											    <span>+</span>
+											    <span>&nbsp;+&nbsp;</span>
 											    <span class="highlight-text">赠送30天</span>
 											</span>
 										</p>

+ 19 - 0
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_pay_success.html

@@ -61,10 +61,29 @@
 <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "mod_version"}}"></script>
 <script>
     $(function () {
+        if (window.performance.navigation.type !== 2) {
+            $.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
+                if (r && r.data) {
+                    if (r.data.isActiving && r.data.isWritten === 1) {
+                        try {
+                            var title = {{.T.title}}
+                            if (title.indexOf('超级订阅') !== -1 && title.indexOf('超级订阅试用') === -1) {
+                                setTimeout(function () {
+                                    location.href = '/jyapp/big/page/write_infor'
+                                }, 3000)
+                            }
+                        } catch (e) {
+
+                        }
+                    }
+                }
+            })
+        }
         try {
             JyObj.hiddenBottom("0");
         } catch (e) {
         }
+
         //查看订单
         $(".left_btn").on("click", function () {
             window.location.href = '/jyapp/vipsubscribe/toOrderDetailPage?orderCode=' + {{.T.orderCode}}

+ 113 - 9
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_purchase.html

@@ -27,7 +27,7 @@
         }
     </style>
 </head>
-<body>
+<body  data-weui-theme="light">
 <div class="app-layout-header jy-app-header">
     <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
     超级订阅
@@ -35,12 +35,20 @@
 <div class="app-layout-content-b">
     <div style="height: 100%">
         <div class="vip_purchase">
+
             {{if not .T.isTrial }}
+                <div class="j-notice-bar bar-red free-7day-tip give" style="display: none;">
+                    <span class="label" style="width: 100%;text-align: center;">现在购买,买多久送多久,错过再等一年!</span>
+                </div>
                 <div class="hot-bought" style="display:none;">
                     <span class="j-icon icon-cart"></span>
                     <span class="bought-text">已有<span class="bought-num">0</span>人购买</span>
                 </div>
             {{else}}
+                <div class="j-notice-bar bar-red free-7day-tip give" style="display: none">
+                    <span class="label">现在购买,买多久送多久! </span>
+                    <a href="/jyapp/vipsubscribe/vipsubscribe_new" class="link" style="padding: 0.12rem 0.32rem;">去抢!</a>
+                </div>
                 <div class="j-notice-bar bar-red free-7day-tip" style="display: none">
                     <span class="label">现在购买,可享6折优惠。</span>
                     <a href="/jyapp/vipsubscribe/vipsubscribe_new" class="link">去购买</a>
@@ -110,6 +118,14 @@
                     {{end}}
                 </div> -->
                 {{if not .T.isTrial }}
+                    <ul class="chooseList" id="giveTimeBox" style="display: none;">
+                        <li class="choose_item select_cycle">
+                            <div class="free-7day give">
+                                <span class="label">赠送周期</span>
+                                <i class="info"></i>
+                            </div>
+                        </li>
+                    </ul>
                     <div class="chooseList coupon-code-tx" style="display:none;">
                         <div class="coupon-code-sel choose_item">
                             <a href="javascript:;">
@@ -184,7 +200,9 @@
             </div>
             <div class="fixed-bottom-box p15">
                 {{if not .T.isTrial }}
-                    <div class="j-notice-bar bar-red vip-bar" style="display:none;">限时6折,现在购买,帮您省<span class="reduce-price">0</span>元</div>
+                    <div class="j-notice-bar bar-red vip-bar" style="display:none;">限时6折,现在购买,帮您省<span
+                                class="reduce-price">0</span>元
+                    </div>
                 {{end}}
                 <div class="price">
                     <span class="billing-total">合计:</span>
@@ -196,6 +214,10 @@
                 </div>
                 {{if not .T.isTrial }}
                     <div class="origin-price" style="display:none;">
+                        <span class="discount-button">
+                            <span>优惠明细</span>
+                            <span class="iconfont icon-arrow"></span>
+                        </span>
                         <span class="price-label">原价:</span>
                         <div class="price-container">
                             <span class="currency-type">&yen;</span>
@@ -353,6 +375,43 @@
                     </div>
                 </div>
             </div>
+            <!-- 优惠明细 -->
+            <div class="j-picker adaption discount-details" style="display:none;">
+                <div class="weui-mask"></div>
+                <div class="weui-half-screen-dialog weui-picker">
+                    <div class="weui-half-screen-dialog__hd">
+                        <div class="weui-half-screen-dialog__hd__main">
+                            <strong class="weui-half-screen-dialog__title">优惠明细</strong>
+                        </div>
+                        <span class="j-icon icon-del-grey cancel"></span>
+                    </div>
+                    <div class="weui-half-screen-dialog__bd">
+                        <div class="weui-picker__bd">
+                            <div class="details-bd-item origin-price">
+                                <div class="d-b-left">原价</div>
+                                <div class="d-b-right">
+                                    <span class="dis-mon">&yen;</span>
+                                    <span class="dis-price price-num">0</span>
+                                </div>
+                            </div>
+                            <div class="details-bd-item discount-price">
+                                <div class="d-b-left">限时优惠</div>
+                                <div class="d-b-right text-red">
+                                    <span class="dis-mon">-&yen;</span>
+                                    <span class="dis-price">0</span>
+                                </div>
+                            </div>
+                            <div class="details-bd-item now-price">
+                                <div class="d-b-left">实付</div>
+                                <div class="d-b-right text-red">
+                                    <span class="dis-mon">&yen;</span>
+                                    <span class="dis-price">0</span>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
         </div>
         <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/jquery.min.js"></script>
         <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/weui.min.js"></script>
@@ -361,6 +420,27 @@
         <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/check-bind-phone.js?v={{Msg "seo" "version"}}'></script>
 
         <script>
+            function showGiveStatus(t) {
+                if (t) {
+                    $(".j-notice-bar.bar-red.free-7day-tip.give").css('display', 'flex')
+                    $("#giveTimeBox").show()
+                    $(".origin-price").css('display', 'flex')
+                    $('.discount-button').show().on('click', function () {
+                        var details = $('.discount-details')
+                        if (details.is(':hidden')) {
+                            $('.discount-details').show()
+                            $(this).children('.icon-arrow').addClass('up')
+                        } else {
+                            $('.discount-details').hide()
+                            $(this).children('.icon-arrow').removeClass('up')
+                        }
+                    })
+                } else {
+                    $(".j-notice-bar.bar-red.free-7day-tip.give").hide()
+                    $("#giveTimeBox").hide()
+                    $(".origin-price").hide()
+                }
+            }
             $(window).bind("pageshow", function (event) {
                 if (event.originalEvent.persisted) {
                     window.location.reload();
@@ -465,6 +545,11 @@
                         $DoPost("/subscribepay/vipsubscribe/getPrice", {}, function (r) {
                             if (r) {
                                 purchase.price = r;
+                                if (r.isActiving && r.isWritten === 0) {
+                                    showGiveStatus(true)
+                                } else {
+                                    showGiveStatus(false)
+                                }
                             }
                         }, false)
                         sessionStorage.removeItem("pay_read_cache");
@@ -552,22 +637,37 @@
                         }
                     }
                     $(".choose_item .show_time").text(tmp);
+                    var giveTime = tmp
+                    if (giveTime.indexOf('年') !== -1) {
+                        giveTime = '1年'
+                    }
+                    $(".free-7day.give .info").text(giveTime)
                     $(".info.choose_time").val(tmp);
                 },
                 flushPrice: function (time, flag) {
                     if (this.vipSubisTrial) {
-                        $('.price strong').text('0.00');
+                        $('.price .billing-price').text('0.00');
+                        $('.now-price .dis-price').text('0.00');  // 优惠明细
                     } else {
                         var price = getsubVipOrderPriceBybuyset(this.nowBuyset, time);
+                        var givePrice = getsubVipOrderPriceBybuyset(this.nowBuyset, [time[1] === 1 ? 1 :time[0], time[1]]);
                         //var price = getsubVipOrderPrice(this.areaSelect, this.industrySelect, time, this.price);
                         var showPrice = formatMoney(price);
                         if (flag === 1) {
-                            $('.price strong').text(showPrice);
+                            $('.price .billing-price').text(showPrice);
+                            $('.now-price .dis-price').text(showPrice); // 优惠明细
+
+                            $('.origin-price .price-num').text(formatMoney(price + givePrice));
+                            $('.discount-price .dis-price').text(formatMoney(givePrice))
                         } else if (flag === 2) {
                             $('.computed_price').html(showPrice);
                         } else {
-                            $('.price strong').text(showPrice);
+                            $('.price .billing-price').text(showPrice);
+                            $('.now-price .dis-price').text(showPrice); // 优惠明细
+
+                            $('.origin-price .price-num').text(formatMoney(price + givePrice));
                             $('.computed_price').html(showPrice);
+                            $('.discount-price .dis-price').text(formatMoney(givePrice))
                         }
 
                     }
@@ -747,6 +847,11 @@
                             val = $('.active').html();
                             $('#time_cycle').hide(function () {
                                 $('.choose_time').val(val);
+                                var giveTime = val
+                                if (giveTime.indexOf('年') !== -1) {
+                                    giveTime = '1年'
+                                }
+                                $(".free-7day.give .info").text(giveTime)
                                 $('.show_time').text(val);
                             });
                             purchase.timeSelect_tmp = [parseInt(val[0]), 1]
@@ -755,6 +860,7 @@
                             $('#time_cycle').hide(function () {
                                 $('.choose_time').val(val + '个月');
                                 $('.show_time').text(val + '个月');
+                                $(".free-7day.give .info").text(val + '个月')
                             });
                             purchase.timeSelect_tmp = [parseInt(val), 2]
                         }
@@ -831,6 +937,8 @@
                 $('#pay_way').hide(200);
                 $('#time_cycle').hide(200);
                 $('.coupon-picker').hide()
+                $('.discount-details').hide()
+                $('.discount-button .icon-arrow').removeClass('up')
             }
 
 
@@ -864,10 +972,6 @@
                         $(".industry_warn").css("display", "block");
                     }
                 }
-                // else {
-                //     $(".area_warn").css("display", "");
-                //     $(".industry_warn").css("display", "");
-                // }
 
                 sessionStorage.setItem("vipSub_read", checked)
 

+ 147 - 66
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_renew.html

@@ -9,15 +9,15 @@
     <title>超级订阅续费</title>
     <meta name="apple-mobile-web-app-capable" content="yes">
     <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/rem.js"></script>
-    <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/weui.min.css"/>
-    <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/base2.css?v={{Msg "seo" "version"}}"/>
-    <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}"/>
-	<link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/public_.css?v={{Msg "seo" "version"}}"/>
-	<link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/appbutton.css?v={{Msg "seo" "version"}}"/>
-    <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/vip_renew.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/layout.css"/>
-    <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/font.css?v={{Msg "seo" "version"}}"/>
+    <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/rem.js'></script>
+    <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/weui.min.css'/>
+    <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/base2.css?v={{Msg "seo" "version"}}'/>
+    <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}'/>
+	<link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/public_.css?v={{Msg "seo" "version"}}'/>
+	<link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/appbutton.css?v={{Msg "seo" "version"}}'/>
+    <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/vip_renew.css?v={{Msg "seo" "version"}}'>
+    <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/layout.css'/>
+    <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/font.css?v={{Msg "seo" "version"}}'/>
 
     <style>
         .vip-header {
@@ -36,7 +36,7 @@
         }
     </style>
 </head>
-<body class="no-touch">
+<body class="no-touch"  data-weui-theme="light">
 <div class="app-layout-header jy-app-header">
     <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
     超级订阅续费
@@ -51,86 +51,102 @@
             <span class="header-left">提示:</span>
             <span class="header-right">您的超级订阅服务即将到期,为不影响您的使用。请立即续费</span>
         </div>
-        <ul class="vip-body" style="padding: .16rem .24rem;">
-            <li class="body-item area">
-                <a class="item-container" href="/jyapp/vipsubscribe/toChooseArea">
-                    <div class="item">
+        <div class="vip-body">
+            <div class="j-notice-bar bar-red vip-bar" style="text-align: center;">现在续费,续多久送多久,错过再等一年!</div>
+            <ul style="padding: .16rem .24rem;">
+                <li class="body-item area">
+                    <a class="item-container" href="/jyapp/vipsubscribe/toChooseArea">
+                        <div class="item">
                         <span class="item-l">
                             <span class="item-label">区域</span>
                         </span>
-                        <span class="item-r">
+                            <span class="item-r">
                             <span class="selected-area-name ellipsis"></span>
                             <span class="iconfont icon-arrow"></span>
                         </span>
-                    </div>
-                    <div class="sub-item text selected-area"></div>
-                </a>
-            </li>
-            <li class="body-item industry">
-                <a class="item-container" href="/jyapp/vipsubscribe/toChooseIndustry">
-                    <div class="item">
+                        </div>
+                        <div class="sub-item text selected-area"></div>
+                    </a>
+                </li>
+                <li class="body-item industry">
+                    <a class="item-container" href="/jyapp/vipsubscribe/toChooseIndustry">
+                        <div class="item">
                         <span class="item-l">
                             <span class="item-label">采购单位行业</span>
                         </span>
-                        <span class="item-r">
+                            <span class="item-r">
                             <span class="selected-industry-name industry-text ellipsis"></span>
                             <span class="iconfont icon-arrow"></span>
                         </span>
-                    </div>
-                    <div class="sub-item text selected-industry-count"></div>
-                </a>
-            </li>
-            <li class="body-item select_cycle">
-                <a class="item-container" href="javascript:;">
-                    <div class="item">
+                        </div>
+                        <div class="sub-item text selected-industry-count"></div>
+                    </a>
+                </li>
+                <li class="body-item select_cycle">
+                    <a class="item-container" href="javascript:;">
+                        <div class="item">
                         <span class="item-l">
                             <span class="item-label">延长订阅周期</span>
                         </span>
-                        <span class="item-r">
+                            <span class="item-r">
                             <span class="buy-cycle text ellipsis">6个月</span>
                             <span class="iconfont icon-arrow"></span>
                         </span>
-                    </div>
-                    <div class="sub-item text">
-                        <span class="sub-l" style="white-space:nowrap;">有效日期:</span>
-                        <span class="sub-r ellipsis">
+                        </div>
+                        <div class="sub-item text">
+                            <span class="sub-l" style="white-space:nowrap;">有效日期:</span>
+                            <span class="sub-r ellipsis">
                             <span class="ellipsis">
                                 (<span class="month">3个月</span>)<span class="duration"></span>
                             </span>
                         </span>
-                    </div>
-                </a>
-            </li>
-            <!-- <li class="body-item pay-mode">
-                <a class="item-container" href="javascript:;">
-                    <div class="item">
+                        </div>
+                    </a>
+                </li>
+                <!-- <li class="body-item pay-mode">
+                    <a class="item-container" href="javascript:;">
+                        <div class="item">
+                            <span class="item-l">
+                                <span class="leading"></span>
+                                <span class="item-label">支付方式</span>
+                            </span>
+                            <span class="item-r">
+                                <span class="pay-mode-text">微信支付</span>
+                                <span class="iconfont icon-arrow"></span>
+                            </span>
+                        </div>
+                    </a>
+                </li> -->
+                <!--			<li class="body-item coupon-code-tx" style="display: none">-->
+                <!--			    <a class="item-container" href="javascript:;">-->
+                <!--			        <div class="item">-->
+                <!--			            <span class="item-l">-->
+                <!--			                <span class="item-label">优惠码</span>-->
+                <!--			            </span>-->
+                <!--			            <span class="item-r">-->
+                <!--			                <span class="keywords-text">输入优惠码</span>-->
+                <!--			                <span class="iconfont icon-arrow"></span>-->
+                <!--			            </span>-->
+                <!--			        </div>-->
+                <!--			    </a>-->
+                <!--			</li>-->
+            </ul>
+            <ul style="padding: 0 .24rem;" id="giveTimeBox" style="display: none;">
+                <li class="body-item select_cycle">
+                    <div class="item-container" href="javascript:;">
+                        <div class="item">
                         <span class="item-l">
-                            <span class="leading"></span>
-                            <span class="item-label">支付方式</span>
+                            <span class="item-label">赠送周期</span>
                         </span>
-                        <span class="item-r">
-                            <span class="pay-mode-text">微信支付</span>
-                            <span class="iconfont icon-arrow"></span>
+                            <span class="item-r">
+                            <span id="giveTime" class="buy-cycle text" style="font-size: 14px;color: #9B9CA3;">6个月</span>
                         </span>
+                        </div>
                     </div>
-                </a>
-            </li> -->
-			<li class="body-item coupon-code-tx" style="display: none">
-			    <a class="item-container" href="javascript:;">
-			        <div class="item">
-			            <span class="item-l">
-			                <span class="item-label">优惠码</span>
-			            </span>
-			            <span class="item-r">
-			                <span class="keywords-text">输入优惠码</span>
-			                <span class="iconfont icon-arrow"></span>
-			            </span>
-			        </div>
-			    </a>
-			</li>
-        </ul>
+                </li>
+            </ul>
+        </div>
         <div class="vip-footer renew">
-            <div class="j-notice-bar bar-red vip-bar" style="display: none">限时6折,现在购买,帮您省<span class="reduce-price">0</span>元</div>
             <div class="footer-preview-container">
                 <div class="price-preview">
                     <span class="preview-label">合计:</span>
@@ -143,10 +159,14 @@
                     </span>
                 </div>
                 <div class="origin-price" style="display: none">
+                    <span class="discount-button">
+                        <span>优惠明细</span>
+                        <span class="iconfont icon-arrow"></span>
+                    </span>
                     <span class="price-label">原价:</span>
                     <div class="price-container">
                         <span class="currency-type">&yen;</span>
-                        <span class="price-num">5.80</span>
+                        <span class="price-num"></span>
                     </div>
                 </div>
                 <div class="clause-box">
@@ -161,7 +181,46 @@
         </div>
     </div>
 
-    <!-- 计费清单picker -->
+        <!-- 优惠明细 -->
+        <div class="j-picker adaption discount-details" style="display:none;">
+            <div class="weui-mask"></div>
+            <div class="weui-half-screen-dialog weui-picker">
+                <div class="weui-half-screen-dialog__hd">
+                    <div class="weui-half-screen-dialog__hd__main">
+                        <strong class="weui-half-screen-dialog__title">优惠明细</strong>
+                    </div>
+                    <span class="j-icon icon-del-grey cancel"></span>
+                </div>
+                <div class="weui-half-screen-dialog__bd">
+                    <div class="weui-picker__bd">
+                        <div class="details-bd-item origin-price">
+                            <div class="d-b-left">原价</div>
+                            <div class="d-b-right">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price price-num">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item discount-price">
+                            <div class="d-b-left">限时优惠</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">-&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item now-price">
+                            <div class="d-b-left">实付</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+
+
+        <!-- 计费清单picker -->
     <div class="billing-list-container p13" style="display: none;">
         <div class="weui-mask weui-animate-fade-in"></div>
         <div class="weui-half-screen-dialog weui-picker weui-animate-slide-up">
@@ -352,7 +411,7 @@
     <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "mod_version"}}"></script>
 	{{include "/common/iosJS.html"}}
 	<script>
-	    $(window).bind("pageshow", function (event) {
+      $(window).bind("pageshow", function (event) {
 	        if (event.originalEvent.persisted) {
 	            window.location.reload();
 	        }
@@ -360,6 +419,28 @@
       function toRead() {
         sessionStorage.setItem("pay_read_cache", "0");
         window.location.href = "/jyapp/front/staticPage/wx-serviceterms.html";
+      }
+      function showGiveStatus (t) {
+	    if (t) {
+	        $(".vip-bar").show()
+	        $("#giveTimeBox").show()
+            $(".origin-price").css('display', 'flex')
+            $(".discount-details .weui-picker").css('bottom', $(".vip-footer.renew").height() + 'px')
+            $('.discount-button').show().on('click', function () {
+                var details = $('.discount-details')
+                if (details.is(':hidden')) {
+                    $('.discount-details').show()
+                    $(this).children('.icon-arrow').addClass('up')
+                } else {
+                    $('.discount-details').hide()
+                    $(this).children('.icon-arrow').removeClass('up')
+                }
+            })
+        } else {
+            $(".vip-bar").hide()
+            $("#giveTimeBox").hide()
+            $(".origin-price").hide()
+        }
       }
 	</script>
 	<script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/js/vip_renew.js?v={{Msg "seo" "version"}}1"></script>

+ 15 - 5
src/jfw/modules/app/src/web/templates/weixin/historypush.html

@@ -79,8 +79,8 @@
   		<div class="header_header" style="height: 60px;display:none;transition: all 0.1s;">
   			<div class="only-personal" style="position: absolute;top: .2rem;left: 4%;background-image: url(/jyapp/vipsubscribe/image/entback.png?v=51430);background-size: 100%;background-repeat: no-repeat;border-radius: 8px;width: 92%;display: flex;align-items: center;justify-content: space-between;height: 44px;">
   				<img style="width: 20px;height: 20px; margin-left: .3rem;" src="/jyapp/vipsubscribe/image/vip-icon.png?v=1">
-  				<span style="color:#fff;font-weight: bold;font-size: 15px;text-align: left;width: 4.1rem;">300 组关键词特权</span>
-  				<span class="switch_ext" id="app-historypush-vipSub-banner" style="border-radius: 32px;display: flex;flex-direction: row;padding: 3px 12px;font-size: 12px;color: #FAE7CA;margin-right: .2rem;background: linear-gradient(to bottom, #F1D090 0%, #FAE7CA 100%);color: #33323A;font-family: PingFang SC;font-size: 12px;line-height: 18px;letter-spacing: 0px;text-align: center;">免费试用</span>
+  				<span  data-name="doubleEleven_title" style="color:#fff;font-weight: bold;font-size: 15px;text-align: left;width: 4.1rem;">300组关键词特权</span>
+  				<span  data-name="doubleEleven_button" class="switch_ext" id="app-historypush-vipSub-banner" style="border-radius: 32px;display: flex;flex-direction: row;padding: 3px 12px;font-size: 12px;color: #FAE7CA;margin-right: .2rem;background: linear-gradient(to bottom, #F1D090 0%, #FAE7CA 100%);color: #33323A;font-family: PingFang SC;font-size: 12px;line-height: 18px;letter-spacing: 0px;text-align: center;">免费试用</span>
   			</div>
   		</div>
       {{end}}
@@ -271,7 +271,17 @@
 <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
 <!-- 账号合并弹窗js -->
 <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/merge-wx.js?v={{Msg "seo" "version"}}"></script>
-
+    <script>
+        // 双11活动文案修改
+        $.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
+            if (r && r.data) {
+                if (r.data.isActiving) {
+                    $('*[data-name="doubleEleven_title"]').text('买超级订阅,买多久送多久!')
+                    $('*[data-name="doubleEleven_button"]').text('去抢')
+                }
+            }
+        })
+    </script>
 <script>
   /*
   * money unit for zyh @date 2020/6/5
@@ -361,7 +371,7 @@
             window.location.href = link;
         }
     }
-    
+
   if (sessionStorage && sessionStorage.reloadSubPage) {
       sessionStorage.removeItem("reloadSubPage");
       removeSessionStorage();
@@ -685,7 +695,7 @@
                     $('.header_header').show()
                 }
             }
-            
+
             $(".app-content").css("justify-content","flex-start");
             $(".switch").addClass("only-personal");
             $(".switch>span").text("免费试用 超级订阅");

+ 12 - 0
src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html

@@ -438,6 +438,18 @@
     });
 </script>
 <script type="text/javascript">
+    $.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
+        if (r && r.data) {
+            if (r.data.isActiving && r.data.isWritten === 1) {
+                var readToDay = localStorage.getItem('doubleEleven_isActiving') === new Date().toDateString()
+                localStorage.setItem('doubleEleven_isActiving', new Date().toDateString())
+                if (!readToDay) {
+                    history.pushState({state: 'full'}, null)
+                    location.href = '/jyapp/big/page/write_infor'
+                }
+            }
+        }
+    })
     var homePageInit = function(){
         //查询是否开通超级搜索和中标企业搜索
         $.post("/jyapp/free/searchIndex?t=" + new Date().getTime(), {

+ 15 - 4
src/jfw/modules/app/src/web/templates/weixin/wxkeyset/index.html

@@ -26,8 +26,8 @@
         <div class="vip_banner">
             <div class="banner-box">
                 <span class="j-icon vip-icon"></span>
-                <span class="content">300 组关键词特权</span>
-                <a class="right-action" id="free-keyset-list-link" href="/jyapp/vipsubscribe/introducePage">免费试用</a>
+                <span  data-name="doubleEleven_title" class="content">300组关键词特权</span>
+                <a  data-name="doubleEleven_button" class="right-action" id="free-keyset-list-link" href="/jyapp/vipsubscribe/introducePage">免费试用</a>
             </div>
         </div>
         {{end}}
@@ -71,7 +71,7 @@
                 </li>
             </ul>
         </div>
-        <div 
+        <div
             class="add-keyword icon-del"
             v-if="keyList.length < conf.maxKeyLength"
             ref="addButton"
@@ -88,6 +88,17 @@
             </div>
         </div>
     </div>
+    <script>
+        // 双11活动文案修改
+        $.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
+            if (r && r.data) {
+                if (r.data.isActiving) {
+                    $('*[data-name="doubleEleven_title"]').text('买超级订阅,买多久送多久!')
+                    $('*[data-name="doubleEleven_button"]').text('去抢')
+                }
+            }
+        })
+    </script>
 
     <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/vue.min.js"></script>
     <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/swiper.min.js"></script>
@@ -97,4 +108,4 @@
     {{include "/common/baiducc.html"}}
 </body>
 
-</html>
+</html>

+ 80 - 0
src/jfw/modules/bigmember/src/service/activity/20201111.go

@@ -0,0 +1,80 @@
+package activity
+
+import (
+	. "api"
+	"db"
+	"errors"
+	"github.com/go-xweb/xweb"
+	"log"
+	qutil "qfw/util"
+	"regexp"
+	"time"
+)
+
+/*
+202011.11活动
+购买超级订阅赠送大会员15天
+*/
+
+type Activity20201111 struct {
+	*xweb.Action
+	activation xweb.Mapper `xweb:"/activity/20201111/activation"` //激活赠送15天大会员
+}
+
+var phoneReg = regexp.MustCompile("^[1][3-9][0-9]{9}$")
+
+func (this *Activity20201111) Activation() {
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	rData, errMsg := func() (interface{}, error) {
+		name := this.GetString("name")
+		phone := this.GetString("phone")
+		entName := this.GetString("entName")
+		sJob := this.GetString("job")
+		//校验格式
+		if !phoneReg.MatchString(phone) || len(name) == 0 || len(sJob) == 0 {
+			return nil, errors.New("提交信息格式异常")
+		}
+		//校验是否待激活
+		rData, _ := db.Mgo.FindById("user", userId, `{"i_member_give":1,"i_member_status":1}`)
+		if rData == nil || len(*rData) == 0 {
+			return nil, errors.New("用户身份异常")
+		}
+		activationStatus := qutil.IntAll((*rData)["i_member_give"]) // 1待激活 2已激活
+		if activationStatus == 2 {
+			return nil, errors.New("已激活,请勿重复激活")
+		} else if activationStatus != 1 {
+			return nil, errors.New("非法请求")
+		}
+		if qutil.IntAll((*rData)["i_member_status"]) != 0 {
+			return nil, errors.New("已购买过大会员,不能激活")
+		}
+		now := time.Now()
+		db.Mgo.Save("user_msg", map[string]interface{}{
+			"s_userId":  userId,
+			"s_name":    name,
+			"i_time":    now.Unix(),
+			"s_source":  "member_give_202011",
+			"s_phone":   phone,
+			"s_company": entName,
+			"s_job":     sJob,
+		})
+		//激活大会员
+		end := now.AddDate(0, 0, 15)
+		upDataFlag := db.Mgo.UpdateById("user", userId, map[string]interface{}{
+			"$set": map[string]interface{}{
+				"i_member_status":    1,
+				"i_member_endtime":   end.Unix(),
+				"i_member_starttime": now.Unix(),
+				"i_member_give":      2,
+			},
+		})
+		if !upDataFlag {
+			return nil, errors.New("非法请求")
+		}
+		return true, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s Activity20201111 激活赠送15天出错:%s\n", userId, errMsg.Error())
+	}
+	this.ServeJson(NewResult(rData, errMsg))
+}

+ 3 - 0
src/jfw/modules/bigmember/src/service/init.go

@@ -1,6 +1,7 @@
 package service
 
 import (
+	"service/activity"
 	"service/analysis"
 	"service/follow"
 	"service/portrait"
@@ -27,4 +28,6 @@ func init() {
 	xweb.AddAction(&subscribe.Subscribe{})
 	xweb.AddAction(&report.Report{})
 	xweb.AddAction(&trial.Trial{})
+	xweb.AddAction(&activity.Activity20201111{})
+
 }

+ 5 - 1
src/jfw/modules/bigmember/src/service/use/use.go

@@ -546,7 +546,11 @@ func Merge(echo_map map[string]interface{}, userid string) map[string]interface{
 			echo_map["buyerclass"] = []string{} //全行业
 		}
 		//关键词
-		echo_map["a_items"] = MergeKeyWords(qu.ObjArrToMapArr(o_vipjy["a_items"].([]interface{})))
+		if o_vipjy["a_items"] != nil {
+			echo_map["a_items"] = MergeKeyWords(qu.ObjArrToMapArr(o_vipjy["a_items"].([]interface{})))
+		} else {
+			echo_map["a_items"] = []map[string]interface{}{}
+		}
 	} else if (*data)["o_jy"] != nil {
 		sign := false //记录免费订阅用户地区是否有全国
 		o_jy := *qu.ObjToMap((*data)["o_jy"])

BIN
src/jfw/modules/bigmember/src/src


+ 3 - 0
src/jfw/modules/subscribepay/src/a/init.go

@@ -1,6 +1,7 @@
 package initxweb
 
 import (
+	"active"
 	"report"
 	"service"
 	"time"
@@ -56,4 +57,6 @@ func init() {
 	xweb.AddRouter("/jypay", &service.Invoice{})
 	//
 	xweb.AddRouter("/jypay", &service.Bigmember{})
+	//
+	xweb.AddRouter("/jyactive", &active.Active{})
 }

+ 6 - 0
src/jfw/modules/subscribepay/src/active.json

@@ -0,0 +1,6 @@
+{
+	"doubleEleven":{
+		"active_Start":1504505600,
+		"active_End":1605024000
+	}
+}

+ 71 - 0
src/jfw/modules/subscribepay/src/active/active.go

@@ -0,0 +1,71 @@
+package active
+
+import (
+	. "api"
+	"errors"
+	"log"
+	qutil "qfw/util"
+	"time"
+	"util"
+
+	"github.com/go-xweb/xweb"
+)
+
+type Active struct {
+	*xweb.Action
+	isActiving xweb.Mapper `xweb:"/(.*)/isActiving"` //活动时间
+}
+
+type activeConfig struct {
+	DoubleEleven struct {
+		Active_Start int64 `json:"active_Start"` //活动开始时间
+		Active_End   int64 `json:"active_End"`   //活动开始时间
+	}
+}
+
+var ActiveConfig activeConfig
+
+func init() {
+	qutil.ReadConfig("./active.json", &ActiveConfig)
+}
+
+//
+func (this *Active) IsActiving(activeName string) {
+	defer qutil.Catch()
+	userId, _ := this.GetSession("userId").(string)
+	rData, errMsg := func() (interface{}, error) {
+		now := time.Now()
+		res := map[string]interface{}{}
+		if activeName == "doubleEleven" {
+			res = map[string]interface{}{
+				"isActiving": false,
+				"isWritten":  0,
+			}
+			if ActiveConfig.DoubleEleven.Active_Start < now.Unix() && ActiveConfig.DoubleEleven.Active_End > now.Unix() {
+				res["isActiving"] = true
+				if userId != "" {
+					data, ok := util.MQFW.FindById("user", userId, nil)
+					if ok && data != nil && *data != nil {
+						//已录入信息 已激活大会员赠送
+						if (*data)["i_member_give"] != nil {
+							res["isWritten"] = qutil.IntAll((*data)["i_member_give"])
+						}
+						//是否是大会员用户
+						if (*data)["i_member_status"] != nil && qutil.IntAll((*data)["i_member_status"]) > 0 {
+							res["isWritten"] = 2
+						}
+					}
+				}
+			}
+			return res, nil
+		}
+		if res == nil || len(res) == 0 {
+			return nil, errors.New("暂无活动")
+		}
+		return "", nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s   获取活动信息出错-%s", userId, errMsg)
+	}
+	this.ServeJson(NewResult(rData, errMsg))
+}

+ 55 - 20
src/jfw/modules/subscribepay/src/entity/subscribeVip.go

@@ -2,6 +2,7 @@ package entity
 
 //vip订阅公共方法
 import (
+	"active"
 	"encoding/json"
 	"errors"
 	"log"
@@ -63,7 +64,9 @@ type VipSimpleMsg struct {
 	OrderType        int                      `json:"ordertype"`        //1,3,5   类型 1:订单 2:续费 3:立即升级 4:下月升级 5:即将到期(可升降级续费)6:升级订单未生效再次升级
 	//Addareacount       []int                    `json:"addareacount"`       //购买区域数量(订单详情展示使用)
 	//Addbuyerclasscount int                      `json:"addbuyerclasscount"` //购买行业数量(订单详情展示使用)
-	DisWord string `json:"disWord"` //分销系统 口令
+	DisWord       string `json:"disWord"`                  //分销系统 口令
+	GiveCycle     int    `json:"give_cycle,omitempty"`     //双十一活动赠送周期
+	OriginalPrice int    `json:"original_price,omitempty"` //双十一活动原价价格
 }
 
 //购买内容
@@ -125,6 +128,9 @@ func (this *vipSubscribeStruct) PayCallBack(param *CallBackParam) bool {
 		if activeData != nil {
 			endTime = endTime.AddDate(0, 0, 30)
 		}
+		if vmsg.GiveCycle != 0 {
+			endTime = endTime.AddDate(0, vmsg.GiveCycle, 0)
+		}
 		updateMap["vip_starttime"] = qutil.FormatDate(&startTime, qutil.Date_Full_Layout)
 		updateMap["vip_endtime"] = qutil.FormatDate(&endTime, qutil.Date_Full_Layout)
 	}
@@ -155,13 +161,13 @@ func (this *vipSubscribeStruct) PayCallBack(param *CallBackParam) bool {
 		//其他未支付vip订阅订单 变为已取消
 		go PayCancel(userid, "VIP订阅", "")
 		if dis_word != "" {
-		/*	//分销系统 分销记录
-			go DisWordRecode(qutil.IntAll((*orderdata)["id"]), qutil.IntAll((*orderdata)["order_money"]), "超级订阅", dis_word)*/
+			/*	//分销系统 分销记录
+				go DisWordRecode(qutil.IntAll((*orderdata)["id"]), qutil.IntAll((*orderdata)["order_money"]), "超级订阅", dis_word)*/
 			//分销系统 分销记录
 			suffix := dis_word[len(dis_word)-3 : len(dis_word)]
 			if suffix == suffix_msgt {
-				go 	OtherDisWordRecode(qutil.IntAll((*orderdata)["id"]), qutil.IntAll((*orderdata)["order_money"]), "超级订阅", dis_word,qutil.ObjToString((*orderdata)["user_id"]),qutil.ObjToString((*orderdata)["create_time"]))
-				}else{
+				go OtherDisWordRecode(qutil.IntAll((*orderdata)["id"]), qutil.IntAll((*orderdata)["order_money"]), "超级订阅", dis_word, qutil.ObjToString((*orderdata)["user_id"]), qutil.ObjToString((*orderdata)["create_time"]))
+			} else {
 				go DisWordRecode(qutil.IntAll((*orderdata)["id"]), qutil.IntAll((*orderdata)["order_money"]), "超级订阅", dis_word)
 			}
 		}
@@ -189,17 +195,21 @@ func (this *vipSubscribeStruct) GetUserLastOrderDetaul(userid string) (VipSimple
 
 //设置开始使用vip订阅
 func (this *vipSubscribeStruct) StartSubVip(userId string, vmsg VipSimpleMsg, startTime, endTime time.Time, isTrial bool) bool {
+	set := map[string]interface{}{
+		"o_vipjy.i_trial":      -1,                      //已激活试用
+		"o_vipjy.o_area":       vmsg.Area,               //设置地区
+		"o_vipjy.a_buyerclass": vmsg.Industry,           //设置行业
+		"o_vipjy.o_buyset":     vmsg.NewBuyset,          //购买内容 城市、省份、行业数量
+		"l_vip_starttime":      startTime.Unix(),        //开始时间
+		"l_vip_endtime":        endTime.Unix(),          //结束时间
+		"i_vip_status":         qutil.If(isTrial, 1, 2), //1试用 2正式
+		"i_vip_expire_tip":     0,                       //消息提示初始化
+	}
+	if vmsg.GiveCycle != 0 {
+		set["i_member_give"] = 1 //  双十一活动 赠送大会员15天 1大会员待激活 2大会员已激活
+	}
 	if !util.MQFW.UpdateById("user", userId,
-		bson.M{"$set": bson.M{
-			"o_vipjy.i_trial":      -1,                      //已激活试用
-			"o_vipjy.o_area":       vmsg.Area,               //设置地区
-			"o_vipjy.a_buyerclass": vmsg.Industry,           //设置行业
-			"o_vipjy.o_buyset":     vmsg.NewBuyset,          //购买内容 城市、省份、行业数量
-			"l_vip_starttime":      startTime.Unix(),        //开始时间
-			"l_vip_endtime":        endTime.Unix(),          //结束时间
-			"i_vip_status":         qutil.If(isTrial, 1, 2), //1试用 2正式
-			"i_vip_expire_tip":     0,                       //消息提示初始化
-		}}) {
+		bson.M{"$set": set}) {
 		return false
 	}
 	go func() {
@@ -217,12 +227,15 @@ func (this *vipSubscribeStruct) RenewSubVip(userId string, vmsg VipSimpleMsg, st
 		log.Printf("%s格式化日期出错%s %s\n", userId, start, end)
 		return false
 	}
-
+	set := map[string]interface{}{
+		"l_vip_endtime":    endTime.Unix(),
+		"i_vip_expire_tip": 0,
+	}
+	if vmsg.GiveCycle != 0 {
+		set["i_member_give"] = 1 //  双十一活动 赠送大会员15天 1大会员待激活 2大会员已激活
+	}
 	if !util.MQFW.UpdateById("user", userId,
-		bson.M{"$set": bson.M{
-			"l_vip_endtime":    endTime.Unix(),
-			"i_vip_expire_tip": 0,
-		}}) {
+		bson.M{"$set": set}) {
 		log.Printf("%s更新结束%d日期出错\n", userId, endTime.Unix())
 		return false
 	}
@@ -700,3 +713,25 @@ func PayCancel(userId, product_type, entname string) bool {
 	}
 	return i == order_len //更改成功次数是否等于需要更改次数
 }
+
+//双十一活动 判断用户是否已经获得赠送周期资格
+func (this *vipSubscribeStruct) IsHaveCycle(userId string) bool {
+	data, ok := util.MQFW.FindById("user", userId, `{"i_member_give":1}`)
+	if ok {
+		if (*data)["i_member_give"] == nil {
+			return true
+		}
+	}
+	return false
+}
+
+//是否在活动期间
+func (this *vipSubscribeStruct) IsActiving() bool {
+	now := time.Now()
+	if active.ActiveConfig.DoubleEleven.Active_Start < now.Unix() && active.ActiveConfig.DoubleEleven.Active_End > now.Unix() {
+		log.Println("true")
+		return true
+	}
+	log.Println("false")
+	return false
+}

+ 1 - 0
src/jfw/modules/subscribepay/src/filter/sessionfilter.go

@@ -21,6 +21,7 @@ func (l *sessionfilter) Do(w http.ResponseWriter, req *http.Request) bool {
 		strings.HasPrefix(rqu, "/jypay/invoice/callback") ||
 		strings.HasPrefix(rqu, "/subscribepay/index/getIndexMessage") ||
 		strings.HasPrefix(rqu, "/res/dataexport") ||
+		strings.HasPrefix(rqu, "/jyactive") ||
 		rqu == "/jypay/wx/getwxSdkSign" { //微信js调用参数
 		return true
 	}

+ 27 - 13
src/jfw/modules/subscribepay/src/service/vipSubscribeChange.go

@@ -46,7 +46,7 @@ func (this *SubscribeChange) GetSubBuyMsg() {
 		vipStatus := qutil.IntAll((*rData)["i_vip_status"])
 		var renewList *[]map[string]interface{}
 		if vipStatus == 2 { //查询是否有未执行的续费订单
-			renewList, _ = util.MQFW.Find("vip_upgrade", &bson.M{"s_userid": userId, "i_isvalid": 0}, `{"l_validtime":"1"}`, `{"o_buyset":1,"l_validtime":1}`, false, -1, -1)
+			renewList, _ = util.MQFW.Find("vip_upgrade", &bson.M{"s_userid": userId, "i_isvalid": 0}, `{"l_validtime":1}`, `{"o_buyset":1,"l_validtime":1}`, false, -1, -1)
 		}
 		return &entity.FuncResult{true, nil, map[string]interface{}{
 			"isTrial":         vipStatus == 1,
@@ -124,15 +124,15 @@ func (this *SubscribeChange) SaveChange() {
 
 		//升级or续费
 		filter := entity.VipSimpleMsg{
-			area,
-			industry,
-			date_count,
-			date_unit,
-			nil,
-			nil,
-			nil,
-			0,
-			"",
+			Area:             area,
+			Industry:         industry,
+			Cyclecount:       date_count,
+			Cycleunit:        date_unit,
+			OldBuyset:        nil,
+			NewBuyset:        nil,
+			UpgradeSubtotail: nil,
+			OrderType:        0,
+			DisWord:          "",
 		}
 		final_price := 0
 		var startTime, endTime time.Time
@@ -143,6 +143,18 @@ func (this *SubscribeChange) SaveChange() {
 			filter.OrderType = 1
 			filter.NewBuyset = newBuyset
 			final_price = entity.JyVipSubStruct.GetSubVipPriceByBuySet(newBuyset.NewCitys, newBuyset.AreaCount, newBuyset.BuyerclassCount, date_count, date_unit, false)
+			//双十一活动
+			if entity.JyVipSubStruct.IsActiving() && entity.JyVipSubStruct.IsHaveCycle(userId) {
+				filter.OriginalPrice = final_price * 2
+				if date_unit == 1 {
+					filter.GiveCycle = 12
+					if date_count > 1 {
+						filter.OriginalPrice = final_price / date_count * (date_count + 1)
+					}
+				} else if date_unit == 2 {
+					filter.GiveCycle = date_count
+				}
+			}
 		} else if !needUpgrade && needRenew { //只续费,不升级
 			//保存修改
 			if !entity.JyVipSubStruct.SubChange(userId, qutil.ObjToMap((*rData)["o_vipjy"]), area, industry) {
@@ -323,7 +335,7 @@ func needUpgrade(newBuySet, oldBuySet *entity.SubvipBuySet) (bool, *entity.Subvi
 					UpgradeBuyset.AreaCount = newBuySet.AreaCount
 				}
 				del_2_flag, del_1_flag := 0, 0 //被占用
-				if c_2_diff < 0 { //有两个城市的名额未使用完
+				if c_2_diff < 0 {              //有两个城市的名额未使用完
 					if p_Diff > 0 {
 						//转移给一个省使用
 						if c_2_diff+p_Diff > 0 {
@@ -404,7 +416,7 @@ func needUpgrade(newBuySet, oldBuySet *entity.SubvipBuySet) (bool, *entity.Subvi
 
 //升级详情单
 func getUpgradeDetail(userId string, newBuySet, oldBuySet *entity.SubvipBuySet, oldEndtime int64, count, unit int) (totalPrice int, subtotals []map[string]interface{}) {
-	rResult, ok := util.MQFW.Find("vip_upgrade", &bson.M{"s_userid": userId, "i_isvalid": 0}, `{"l_validtime":"1"}`, `{"o_buyset":1,"l_validtime":1}`, false, -1, -1)
+	rResult, ok := util.MQFW.Find("vip_upgrade", &bson.M{"s_userid": userId, "i_isvalid": 0}, `{"l_validtime":1}`, `{"o_buyset":1,"l_validtime":1}`, false, -1, -1)
 	if !ok {
 		return -2, nil
 	}
@@ -421,6 +433,7 @@ func getUpgradeDetail(userId string, newBuySet, oldBuySet *entity.SubvipBuySet,
 			if this_price < 0 {
 				return -1, nil
 			}
+			log.Println("---------------this_price:", this_price)
 			totalPrice += this_price
 			subtotals = append(subtotals, map[string]interface{}{
 				"type":      1,
@@ -435,6 +448,7 @@ func getUpgradeDetail(userId string, newBuySet, oldBuySet *entity.SubvipBuySet,
 	//当前升级
 	now := time.Now()
 	price_now := getSubtotalPrice(oldBuySet, newBuySet, now.Unix(), nowEndTime)
+	log.Println("~~~~~~~~2", price_now)
 	if price_now < 0 {
 		return -1, nil
 	}
@@ -450,6 +464,7 @@ func getUpgradeDetail(userId string, newBuySet, oldBuySet *entity.SubvipBuySet,
 	if count > 0 {
 		renew_price := entity.JyVipSubStruct.GetSubVipPriceByBuySet(newBuySet.NewCitys, newBuySet.AreaCount, newBuySet.BuyerclassCount, count, unit, false)
 		if renew_price < 0 {
+			log.Println("~~~~~~~~3", renew_price)
 			return -1, nil
 		}
 		totalPrice += renew_price
@@ -478,7 +493,6 @@ func getSubtotalPrice(oldBuyset, newBuyset *entity.SubvipBuySet, startTime, endt
 			newCitysBuyTwo++
 		}
 	}
-
 	if (oldBuyset.AreaCount != -1 && newBuyset.AreaCount != -1 && (oldBuyset.AreaCount > newBuyset.AreaCount || len(oldBuyset.NewCitys)+oldBuyset.AreaCount > len(newBuyset.NewCitys)+newBuyset.AreaCount || oldCitysBuyTwo+oldBuyset.AreaCount > newCitysBuyTwo+newBuyset.AreaCount)) ||
 		(oldBuyset.AreaCount == -1 && newBuyset.AreaCount != -1) || //旧套餐全国 新套餐非全国
 		(oldBuyset.BuyerclassCount != -1 && newBuyset.BuyerclassCount != -1 && oldBuyset.BuyerclassCount > newBuyset.BuyerclassCount) || //非全行业下 新套餐行业数量小于旧套餐数量

+ 49 - 14
src/jfw/modules/subscribepay/src/service/vipSubscribePay.go

@@ -1,6 +1,7 @@
 package service
 
 import (
+	"active"
 	"config"
 	"encoding/json"
 	"entity"
@@ -31,7 +32,27 @@ func init() {
 
 //支付价格
 func (this *SubVipPayOrder) GetPrice() {
-	this.ServeJson(entity.SubVipPrice)
+	if active.ActiveConfig.DoubleEleven.Active_Start < time.Now().Unix() && active.ActiveConfig.DoubleEleven.Active_End > time.Now().Unix() {
+		res := map[string]interface{}{
+			"isActiving": true,
+			"isWritten":  0,
+		}
+		j, _ := json.Marshal(&entity.SubVipPrice)
+		json.Unmarshal(j, &res)
+		userId, _ := this.GetSession("userId").(string)
+		if userId != "" {
+			data, ok := util.MQFW.FindById("user", userId, nil)
+			if ok && data != nil && *data != nil {
+				//已录入信息 已激活大会员赠送
+				if (*data)["i_member_give"] != nil {
+					res["isWritten"] = qutil.IntAll((*data)["i_member_give"])
+				}
+			}
+		}
+		this.ServeJson(res)
+	} else {
+		this.ServeJson(entity.SubVipPrice)
+	}
 }
 
 //新订单 或 即将到期续费
@@ -46,9 +67,9 @@ func (this *SubVipPayOrder) CreateOrder() {
 	if disWord == "" {
 		start_time := TimeProcessing(time.Now().Format(DateFullLayout), -config.Config.TermValidity).Format(DateFullLayout)
 		stop_time := TimeProcessing(time.Now().Format(DateFullLayout), config.Config.TermValidity).Format(DateFullLayout)
-		infoList := util.Mysql.SelectBySql("select  * from  dis_word where userId=? and  ?<=start_time  and stop_time<? ORDER BY id ", userId, start_time,  stop_time)
+		infoList := util.Mysql.SelectBySql("select  * from  dis_word where userId=? and  ?<=start_time  and stop_time<? ORDER BY id ", userId, start_time, stop_time)
 		if len(*infoList) != 0 {
-			disWord= fmt.Sprint((*infoList)[0]["password"])
+			disWord = fmt.Sprint((*infoList)[0]["password"])
 		}
 	}
 	r := func() *entity.FuncResult {
@@ -70,15 +91,13 @@ func (this *SubVipPayOrder) CreateOrder() {
 		}
 		buyset := entity.JyVipSubStruct.NewBuySet(area, industry)
 		filter := entity.VipSimpleMsg{
-			area,
-			industry,
-			date_count,
-			date_unit,
-			nil,
-			buyset,
-			nil,
-			orderType,
-			disWord,
+			Area:       area,
+			Industry:   industry,
+			Cyclecount: date_count,
+			Cycleunit:  date_unit,
+			NewBuyset:  buyset,
+			OrderType:  orderType,
+			DisWord:    disWord,
 		}
 		//续费单子
 		if orderType == 5 {
@@ -103,8 +122,20 @@ func (this *SubVipPayOrder) CreateOrder() {
 		//计算价格
 		totalfee := entity.JyVipSubStruct.GetSubVipPrice(area, industry, date_count, date_unit)
 		log.Printf("最终选择 地区:%+v   行业:%v\n 价格%d", filter.Area, filter.Industry, totalfee)
-		filterStr, _ := json.Marshal(filter)
 		ordercode := pay.GetOrderCode(userId)
+		//双十一活动
+		if entity.JyVipSubStruct.IsActiving() && entity.JyVipSubStruct.IsHaveCycle(userId) {
+			filter.OriginalPrice = totalfee * 2
+			if date_unit == 1 {
+				filter.GiveCycle = 12
+				if date_count > 1 {
+					filter.OriginalPrice = totalfee / date_count * (date_count + 1)
+				}
+			} else if date_unit == 2 {
+				filter.GiveCycle = date_count
+			}
+		}
+		filterStr, _ := json.Marshal(filter)
 		insertMap := map[string]interface{}{
 			"order_money":    totalfee,
 			"order_status":   0,
@@ -123,9 +154,12 @@ func (this *SubVipPayOrder) CreateOrder() {
 			timeStamp := qutil.Int64All((*userData)["l_vip_endtime"])
 			startTime := time.Unix(timeStamp, 0)
 			endTime := util.GetDATE(filter.Cycleunit, filter.Cyclecount, timeStamp)
+			if filter.GiveCycle != 0 { //双十一活动
+				endTime = endTime.AddDate(0, filter.GiveCycle, 0)
+			}
 			//校验是否超过三年
 			if time.Date(now.Year(), now.Month(), now.Day(), 23, 59, 59, 59, now.Location()).
-				AddDate(3, 0, 0).Before(endTime) {
+				AddDate(3, 0, 0).Before(endTime) && !entity.JyVipSubStruct.IsActiving() {
 				return &entity.FuncResult{false, errors.New("订阅周期超过三年"), nil}
 			}
 			insertMap["vip_type"] = 1
@@ -151,6 +185,7 @@ func TimeProcessing(hour interface{}, duration int) time.Time {
 	t := todayZero.Add(mm)
 	return t
 }
+
 //cycleunit(1:年 2:月)
 //cyclecount 数字长度
 func checkReqDate(dateStr string) (cyclecount, cycleunit int, err error) {

+ 8 - 10
src/jfw/modules/subscribepay/src/service/vipSubscribeTrial.go

@@ -206,7 +206,7 @@ func (t *TrialOrder) SubmitApply() {
 
 //查询手机号是否存在
 func isExist(phone string) bool {
-	res, ok := util.MQFW.FindOne("user_msg", bson.M{"s_phone": phone})
+	res, ok := util.MQFW.FindOne("user_msg", bson.M{"s_phone": phone, "s_source": "vipsub_trial"})
 	if ok && len(*res) > 0 {
 		return true
 	}
@@ -279,15 +279,13 @@ func (this *TrialOrder) TrialPay() {
 		//存入订单表
 		buyset := entity.JyVipSubStruct.NewBuySet(area, industry)
 		filter := entity.VipSimpleMsg{
-			area,
-			industry,
-			date_count,
-			date_unit,
-			nil,
-			buyset,
-			nil,
-			0,
-			"",
+			Area:       area,
+			Industry:   industry,
+			Cyclecount: date_count,
+			Cycleunit:  date_unit,
+			NewBuyset:  buyset,
+			OrderType:  0,
+			DisWord:    "",
 		}
 		filterStr, _ := json.Marshal(filter)
 		//结束日期 按照 自然周 算 (例:11.11开通 11.17 23.59.59结束)

+ 4 - 13
src/jfw/modules/weixin/src/active.json

@@ -1,15 +1,6 @@
 {
-	"live_Active_Start":1593432000,
-	"live_Active_End":1594728000,
-	"live_WelcomeMsg":"<a href='%s'>点击了解超级订阅活动</a>",
-	"live_AutoRpl": "感谢使用剑鱼标讯!\n1.<a href='%s'>点击了解超级订阅活动</a>\n2.<a href='%s'>【订阅招标信息】</a>\n3.<a href='%s'>【搜索招标信息】</a>\n4.<a href='http://mp.weixin.qq.com/mp/homepage?__biz=MzIyNTM1NDUyNw==&hid=1&sn=f9e98da1975f85011ee138a4ee5cfbe8#wechat_redirect'>【产品帮助】</a>\n5.<a href='http://www.myfans.cc/30a78e9b78'>【招标社区】</a> \n6.<a href='%s'>点击这里,查看“%s”的相关招标信息</a>\n7.快速订阅:回复“订阅”加上你的关键词,比如“订阅 教学设备”\n8.如需人工协助,请回复“客服”\n9.<a href='https://res.jianyu360.com/jyapp/free/download/normal?source=weixinAutoRpl'>下载剑鱼标讯APP,更加方便快捷</a>",
-	"live_Sub_Repl":{
-		"71":"<a href='%s'>立即预约</a>",
-		"72":"<a href='%s'>点击进入活动!</a>",
-		"73":"<a href='%s'>点击进入活动!</a>"
-	},
-	"listRep":"《2020年拟建项目清单》\n领取方法:\n1、将下方海报发到朋友圈,1小时后截图;\n2、在该公众号【对话框】发送朋友圈截图,即可免费获取清单下载地址;\n3、领取有效期:自即日起至7月14日20:00。",
-	"listRepOut":"《2020年拟建项目清单》领取已结束,敬请期待下次活动",
-	"list_Active_Start":1594119600,
-	"list_Active_Invalid":1596204000
+	"active_Start":1504505600,
+	"active_End":1605024000,
+	"welcomeMsg":"现在购买超级订阅,买多久送多久,错过再等一年!<a href='%s'>点击去抢</a>",
+	"autoRpl": "感谢使用剑鱼标讯!\n现在购买超级订阅,买多久送多久,错过再等一年!<a href='%s'>点击去抢</a>\n1.<a href='%s'>【订阅招标信息】</a>\n2.<a href='%s'>【搜索招标信息】</a>\n3.<a href='http://mp.weixin.qq.com/mp/homepage?__biz=MzIyNTM1NDUyNw==&hid=1&sn=f9e98da1975f85011ee138a4ee5cfbe8#wechat_redirect'>【产品帮助】</a>\n4.<a href='http://www.myfans.cc/30a78e9b78'>【招标社区】</a> \n5.<a href='%s'>点击这里,查看“%s”的相关招标信息</a>\n6.快速订阅:回复“订阅”加上你的关键词,比如“订阅 教学设备”\n7.如需人工协助,请回复“客服”\n8.<a href='https://res.jianyu360.com/jyapp/free/download/normal?source=weixinAutoRpl'>下载剑鱼标讯APP,更加方便快捷</a>"
 }

+ 4 - 9
src/jfw/modules/weixin/src/config/active.go

@@ -6,15 +6,10 @@ import (
 
 //系统配置
 type activeConfig struct {
-	Live_Active_Start   int64             `json:"live_Active_Start"`   //直播活动开始时间
-	Live_Active_End     int64             `json:"live_Active_End"`     //直播活动结束时间
-	Live_AutoRpl        string            `json:"live_AutoRpl"`        //微信活动期间非关键词自动回复
-	Live_WelcomeMsg     string            `json:"live_WelcomeMsg"`     //微信活动期间关注自动回复
-	Live_Sub_Repl       map[string]string `json:"live_Sub_Repl"`       //微信活动期间关注指定二维码自动回复
-	ListRep             string            `json:"listRep"`             //清单活动回复语
-	ListRepOut          string            `json:"listRepOut"`          //清单活动结束回复语
-	List_Active_Start   int64             `json:"list_Active_Start"`   //清单活动开始时间
-	List_Active_Invalid int64             `json:"list_Active_Invalid"` //清单活动结束时间
+	Active_Start int64  `json:"active_Start"` //活动开始时间
+	Active_End   int64  `json:"active_End"`   //活动结束时间
+	AutoRpl      string `json:"autoRpl"`      //微信活动期间非关键词自动回复
+	WelcomeMsg   string `json:"welcomeMsg"`   //微信活动期间关注自动回复
 }
 
 var ActiveConfig activeConfig

+ 11 - 45
src/jfw/modules/weixin/src/wx/wx.go

@@ -119,29 +119,6 @@ func MsgTxtHandler(w ResponseWriter, r *Request) {
 		w.ReplyText(config.Sysconfig["policysupport"].(string))
 	} else if r.Content == "2017政策" {
 		w.ReplyText(config.Sysconfig["2017policy"].(string))
-	} else if strings.Replace(r.Content, " ", "", -1) == "清单" && time.Now().Unix() < config.ActiveConfig.List_Active_Invalid && time.Now().Unix() > config.ActiveConfig.List_Active_Start { //清单活动周期
-		//清单活动包括有效期和无效期
-		if time.Now().Unix() > config.ActiveConfig.Live_Active_End {
-			//活动结束后到 7月底  是失效时间
-			w.ReplyText(config.ActiveConfig.ListRepOut)
-		} else if time.Now().Unix() > config.ActiveConfig.List_Active_Start {
-			//活动开始后
-			w.ReplyText(config.ActiveConfig.ListRep)
-			//回复图片
-			go func() {
-				time.Sleep(time.Millisecond * 100)
-				var listImgPath = "res/live/liveShare.jpg"
-				for i := 0; i < 3; i++ {
-					mediaId, err := w.UploadMediaFromFile("image", listImgPath)
-					if mediaId != "" && err == nil {
-						w.PostImage(mediaId)
-						break
-					} else {
-						log.Println("w.UploadMediaFromFile", openid, err)
-					}
-				}
-			}()
-		}
 	} else if len(autoReply_reg.FindStringIndex(r.Content)) == 2 {
 		rContent := strings.TrimSpace(r.Content)
 		fastSubscribeText := config.Sysconfig["fastSubscribe"].(map[string]interface{})
@@ -212,10 +189,10 @@ func MsgTxtHandler(w ResponseWriter, r *Request) {
 			if len(searchWord) > 0 && len([]rune(searchWord)) > 8 {
 				searchWord = string([]rune(searchWord)[:8]) + "..."
 			}
-			//直播活动开始
-			if config.ActiveConfig.Live_Active_End > time.Now().Unix() && time.Now().Unix() > config.ActiveConfig.Live_Active_Start {
-				liveUrl := fmt.Sprintf(config.Sysconfig["proxysess"].(string), se.EncodeString(openid+","+user.UnionId+","+strconv.Itoa(int(time.Now().Unix()))+",liveAcitve"))
-				w.ReplyText(fmt.Sprintf(config.ActiveConfig.Live_AutoRpl, liveUrl, rsssetUrl, searchUrl, searchWordUrl, searchWord))
+			//双十一活动开始
+			if config.ActiveConfig.Active_End > time.Now().Unix() && time.Now().Unix() > config.ActiveConfig.Active_Start {
+				var activeUrl = fmt.Sprintf(config.Sysconfig["proxysess"].(string), se.EncodeString(openid+","+user.UnionId+","+strconv.Itoa(int(time.Now().Unix()))+",viphomepage"))
+				w.ReplyText(fmt.Sprintf(config.ActiveConfig.AutoRpl, activeUrl, rsssetUrl, searchUrl, searchWordUrl, searchWord))
 			} else {
 				w.ReplyText(fmt.Sprintf(config.Sysconfig["weixinAutoRpl"].(string), rsssetUrl, searchUrl, searchWordUrl, searchWord))
 			}
@@ -645,7 +622,7 @@ func Subscribe(w ResponseWriter, r *Request) {
 		pccodepre = util.ObjToString(infoData["action"])
 		RSource = util.ObjToString(infoData["RSource"])
 	}
-	log.Println("pcccc:", pccodepre)
+	// log.Println("pcccc:", pccodepre)
 	isAutoRepl := false
 	autoReplUrl := fmt.Sprintf(config.Sysconfig["proxysess"].(string), se.EncodeString(openid+","+user.UnionId+","+strconv.Itoa(int(time.Now().Unix()))+",rssset"))
 	if b, pcresult, subkey := saveUser(user, source, pccodepre, RSource); b {
@@ -738,23 +715,6 @@ func Subscribe(w ResponseWriter, r *Request) {
 	}
 	var shareflag = false
 	var activeName = ""
-	//直播活动开始
-	if config.ActiveConfig.Live_Active_End > time.Now().Unix() && time.Now().Unix() > config.ActiveConfig.Live_Active_Start {
-		var liveUrl = fmt.Sprintf(config.Sysconfig["proxysess"].(string), se.EncodeString(openid+","+user.UnionId+","+strconv.Itoa(int(time.Now().Unix()))+",liveAcitve"))
-		var replyArr = config.ActiveConfig.Live_Sub_Repl
-		var replyFlag = true
-		for k, v := range replyArr {
-			if k == source {
-				replyFlag = false
-				w.ReplyText(fmt.Sprintf(v, liveUrl))
-				break
-			}
-		}
-		if replyFlag {
-			w.ReplyText(fmt.Sprintf(fmt.Sprint(config.ActiveConfig.Live_WelcomeMsg), liveUrl))
-		}
-		isAutoRepl = false
-	}
 	//正则查看是不是临时二维码
 	if digitreg.MatchString(pccodepre) {
 		//TODO 处理分享(邀请)类的二维码,记录邀请关系
@@ -776,6 +736,12 @@ func Subscribe(w ResponseWriter, r *Request) {
 			Description: subscribeReply["description"].(string),
 		}})
 	}
+	//双十一活动开始
+	if config.ActiveConfig.Active_End > time.Now().Unix() && time.Now().Unix() > config.ActiveConfig.Active_Start {
+		time.Sleep(500 * time.Millisecond)
+		var activeUrl = fmt.Sprintf(config.Sysconfig["proxysess"].(string), se.EncodeString(openid+","+user.UnionId+","+strconv.Itoa(int(time.Now().Unix()))+",viphomepage"))
+		w.PostText(fmt.Sprintf(fmt.Sprint(config.ActiveConfig.WelcomeMsg), activeUrl))
+	}
 	if source == "68" { //微信扫码登录页-登录回复
 		if redisValue := redis.Get("other", fmt.Sprintf("SingleLogin_%s", openid)); redisValue != nil {
 			if param, ok := redisValue.(map[string]interface{}); ok {

BIN
src/src


+ 135 - 0
src/web/staticres/big-member/css/base.css

@@ -0,0 +1,135 @@
+* {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    -webkit-overflow-scrolling: touch;
+    -webkit-tap-highlight-color:rgba(0,0,0,0);
+    -webkit-tap-highlight-color:transparent;
+}
+body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, hr, button, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, sumary {
+    margin: 0;
+    padding: 0;
+}
+html,body {
+    /* max-width: 750px; */
+    -webkit-text-size-adjust: 100%;
+    margin: 0 auto;
+    height: 100%;
+    overflow-x: hidden;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    font-size: .24rem;
+    background:rgba(245,244,249,1);;
+    color: #3d3d3d;
+    font-family:  "Microsoft YaHei","Helvetica Neue", "Roboto", "Segoe UI", "PingFang SC", "Hiragino Sans GB", sans-serif;
+}
+
+ul,ol {
+    list-style: none;
+}
+
+/*清除输入框内阴影*/
+input,textarea,select,button {
+    outline: none;
+    border: 0;
+    -webkit-appearance: none;
+    appearance:none;
+}
+
+button,span,div {
+    -webkit-tap-highlight-color:rgba(0,0,0,0);
+	/* -webkit-user-modify:read-only; */
+}
+
+img {
+    border: 0;
+    vertical-align: middle;
+    max-width: 100%;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+a {
+    text-decoration: none;
+    color: #3d3d3d;
+	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+	-webkit-user-select: none;
+	-moz-user-focus: none;
+	-moz-user-select: none;
+}
+
+/*禁用长按页面时的弹出菜单(iOS下有效) ,img和a标签都要加*/
+img, a {
+    -webkit-touch-callout:none;
+}
+em,i{
+	font-style: normal;
+}
+/*兼容ios调取h5页面的头部*/
+.ios-head {
+    display: none;
+    position: fixed;
+    top: 0;
+    padding-top: 15px;
+    background: #18974b;
+    width: 100%;
+    z-index: 100;
+}
+
+/* 清除浮动 */
+.clearfix {
+    zoom: 1;
+}
+.clearfix:after{
+    clear: both;
+    height: 0;
+    overflow: hidden;
+    display: block;
+    visibility: hidden;
+    content: "";
+}
+
+.left {
+    float: left;
+}
+
+.right {
+    float: right;
+}
+.ellipsis {
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+}
+.show{
+	display: block;
+}
+.hide{
+	display: none;
+}
+[v-cloak] {
+    display: none!important;
+}
+
+
+.jy-app-header {
+    height: 21.33333vw;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    box-sizing: border-box;
+    background: #fff;
+    font-family: "Avenir", Helvetica, Arial, sans-serif;
+    display: flex;
+  }
+  
+  .jy-app-header .fanhui {
+    width: 0.48rem;
+    height: 0.48rem;
+    font-size: 0.36rem;
+  }
+  
+  .jy-app-header .subreport_title {
+    width: 6.1rem;
+    height: 100%;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    font-size: 0.36rem;
+  }

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 4 - 0
src/web/staticres/big-member/css/weui.min.css


+ 284 - 0
src/web/staticres/big-member/css/write_infor.css

@@ -0,0 +1,284 @@
+body, html {
+  width: 100%;
+  height: 100%;
+}
+
+input::-webkit-input-placeholder {
+  color: #C0C4CC;
+  font-size: .32rem;
+}
+
+.weui-toast {
+  min-height: 2.6em;
+  line-height: 2.6em;
+  top: 6rem;
+}
+
+.weui-toast .weui-toast__content {
+  margin: 0;
+}
+
+.weui-icon_toast {
+  display: none;
+}
+
+.toast-lang .weui-toast {
+  width: auto;
+  padding: 0 .5rem;
+  left: 38%;
+}
+
+#writeInfo {
+  width: 100%;
+  height: 100%;
+}
+
+#writeInfo .weui-navbar {
+  height: .96rem;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item {
+  font-size: .28rem;
+  color: #5F5E64;
+  padding: .24rem 0;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item.weui-bar__item_on {
+  color: #2ABED1;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item.weui-bar__item_on, #writeInfo .weui-navbar .weui-navbar__item:active {
+  background: #fff;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item.weui-bar__item_on .showline, #writeInfo .weui-navbar .weui-navbar__item:active .showline {
+  margin-top: .16rem;
+  width: 100%;
+  height: .03rem;
+  display: flex;
+  justify-content: center;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item.weui-bar__item_on .showline span, #writeInfo .weui-navbar .weui-navbar__item:active .showline span {
+  width: .48rem;
+  height: .03rem;
+  background: linear-gradient(270.45deg, #25BEEE 0.03%, #2ABED1 74.46%);
+  border-radius: 1px;
+}
+
+#writeInfo .weui-navbar .weui-navbar__item:after {
+  border-right: 0;
+}
+
+#writeInfo  #writeInfo .purchase {
+  width: 100%;
+  height: 100%;
+}
+
+#writeInfo  .info_tip, #writeInfo .purchase .info_tip {
+  overflow: hidden;
+  width: 100%;
+  height: 3.6rem;
+  background: url("/big-member/image/bg_info.png");
+  background-size: 100% 100%;
+}
+
+#writeInfo  .info_tip .tip_text, #writeInfo .purchase .info_tip .tip_text {
+  margin-top: .64rem;
+  padding: 0 .32rem;
+  width: 100%;
+  height: .48rem;
+  font-size: .28rem;
+  color: #fff;
+}
+
+#writeInfo .info_tip .tip_text .tip_phone{
+  text-decoration-line: underline;
+  text-decoration-color: #fff;
+  color: #fff;
+}
+
+#writeInfo  .write_input, #writeInfo .purchase .write_input {
+  width: 100%;
+  padding: 0 .24rem;
+  margin-top: -1.04rem;
+}
+
+#writeInfo  .write_input .write_con, #writeInfo .purchase .write_input .write_con {
+  width: 100%;
+  background: #fff;
+  border-radius: 8px;
+  margin-top: .08rem;
+  overflow: hidden;
+  padding: 0 0 0 .32rem;
+}
+
+#writeInfo  .write_input .write_con .write_name, #writeInfo .purchase .write_input .write_con .write_name {
+  width: 100%;
+  margin-top: .08rem;
+}
+
+#writeInfo  .write_input .write_con .write_name .write_name_ipt, #writeInfo .purchase .write_input .write_con .write_name .write_name_ipt {
+  width: 100%;
+  height: 1.08rem;
+  display: flex;
+  align-items: center;
+  line-height: 1.08rem;
+}
+
+#writeInfo  .write_input .write_con .write_name .write_name_ipt .label_name, #writeInfo .purchase .write_input .write_con .write_name .write_name_ipt .label_name {
+  display: flex;
+  align-items: center;
+  width: 1.6rem;
+  height: .48rem;
+  text-align: left;
+  font-size: .3rem;
+  color: #5F5E64;
+}
+
+#writeInfo  .write_input .write_con .write_name .write_name_ipt .ipt_name, #writeInfo .purchase .write_input .write_con .write_name .write_name_ipt .ipt_name {
+  height: .48rem;
+  display: flex;
+  align-items: center;
+  padding-top: .08rem;
+  font-size: .32rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone, #writeInfo  .write_input .write_con .write_name, #writeInfo  .write_input .write_con .write_email, #writeInfo  .write_input .write_con .email_code, #writeInfo .purchase .write_input .write_con .write_phone, #writeInfo .purchase .write_input .write_con .write_email, #writeInfo .purchase .write_input .write_con .email_code {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  box-shadow: inset 0px -0.5px 0px rgba(0, 0, 0, 0.05), inset 16px 0px 0px #FFFFFF;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt, #writeInfo  .write_input .write_con .write_name .write_phone_ipt, #writeInfo  .write_input .write_con .write_email .write_phone_ipt, #writeInfo  .write_input .write_con .email_code .write_phone_ipt, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt {
+  width: 100%;
+  height: 1.08rem;
+  display: flex;
+  align-items: center;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt .label_phone, 
+#writeInfo  .write_input .write_con .write_name .write_phone_ipt .label_phone, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .label_phone, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .label_phone, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .label_phone, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .label_phone, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .label_phone {
+  display: flex;
+  align-items: center;
+  width: 1.6rem;
+  height: .48rem;
+  text-align: left;
+  font-size: .3rem;
+  color: #5F5E64;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_phone,
+#writeInfo  .write_input .write_con .write_name .write_phone_ipt .ipt_name,  #writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_email, #writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_code, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_phone, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_email, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_code, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_phone, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_email, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_phone, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_email, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_phone, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_email, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_phone, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_email, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_code {
+  height: .48rem;
+  display: flex;
+  align-items: center;
+  font-size: .32rem;
+  line-height: .48rem;
+}
+
+#writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_email{
+  width: 4.2rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_code, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_code, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_code, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_code {
+  width: 3.5rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone .write_phone_ipt .ipt_email:disabled, #writeInfo  .write_input .write_con .write_email .write_phone_ipt .ipt_email:disabled, #writeInfo  .write_input .write_con .email_code .write_phone_ipt .ipt_email:disabled, #writeInfo .purchase .write_input .write_con .write_phone .write_phone_ipt .ipt_email:disabled, #writeInfo .purchase .write_input .write_con .write_email .write_phone_ipt .ipt_email:disabled, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .ipt_email:disabled {
+  background: #fff;
+}
+
+#writeInfo  .write_input .write_con .write_phone .phone_tips, #writeInfo  .write_input .write_con .write_phone .kf_phone_tips, #writeInfo  .write_input .write_con .write_name .name_tips, #writeInfo  .write_input .write_con .write_name .kf_name_tips, #writeInfo  .write_input .write_con .write_phone .email_tips, #writeInfo  .write_input .write_con .write_email .phone_tips, #writeInfo  .write_input .write_con .write_email .email_tips, #writeInfo  .write_input .write_con .email_code .phone_tips, #writeInfo  .write_input .write_con .email_code .email_tips, #writeInfo .purchase .write_input .write_con .write_phone .phone_tips, #writeInfo .purchase .write_input .write_con .write_phone .email_tips, #writeInfo .purchase .write_input .write_con .write_email .phone_tips, #writeInfo .purchase .write_input .write_con .write_email .email_tips, #writeInfo .purchase .write_input .write_con .email_code .phone_tips, #writeInfo .purchase .write_input .write_con .email_code .email_tips {
+  margin-bottom: .24rem;
+  display: flex;
+  width: 100%;
+  height: .36rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone .phone_tips .label_tips,
+#writeInfo  .write_input .write_con .write_phone .kf_phone_tips .label_tips,
+#writeInfo  .write_input .write_con .write_name .name_tips .label_tips,
+#writeInfo  .write_input .write_con .write_name .kf_name_tips .label_tips, #writeInfo  .write_input .write_con .write_phone .email_tips .label_tips, #writeInfo  .write_input .write_con .write_email .phone_tips .label_tips, #writeInfo  .write_input .write_con .write_email .email_tips .label_tips, #writeInfo  .write_input .write_con .email_code .phone_tips .label_tips, #writeInfo  .write_input .write_con .email_code .email_tips .label_tips, #writeInfo .purchase .write_input .write_con .write_phone .phone_tips .label_tips, #writeInfo .purchase .write_input .write_con .write_phone .email_tips .label_tips, #writeInfo .purchase .write_input .write_con .write_email .phone_tips .label_tips, #writeInfo .purchase .write_input .write_con .write_email .email_tips .label_tips, #writeInfo .purchase .write_input .write_con .email_code .phone_tips .label_tips, #writeInfo .purchase .write_input .write_con .email_code .email_tips .label_tips {
+  display: flex;
+  width: 1.6rem;
+  height: .48rem;
+}
+
+#writeInfo  .write_input .write_con .write_phone .phone_tips .phone_rule, 
+#writeInfo  .write_input .write_con .write_phone .kf_phone_tips .phone_rule, 
+#writeInfo  .write_input .write_con .write_name .name_tips .phone_rule, 
+#writeInfo  .write_input .write_con .write_name .kf_name_tips .phone_rule, #writeInfo  .write_input .write_con .write_phone .email_tips .phone_rule, #writeInfo  .write_input .write_con .write_email .phone_tips .phone_rule, #writeInfo  .write_input .write_con .write_email .email_tips .phone_rule, #writeInfo  .write_input .write_con .email_code .phone_tips .phone_rule, #writeInfo  .write_input .write_con .email_code .email_tips .phone_rule, #writeInfo .purchase .write_input .write_con .write_phone .phone_tips .phone_rule, #writeInfo .purchase .write_input .write_con .write_phone .email_tips .phone_rule, #writeInfo .purchase .write_input .write_con .write_email .phone_tips .phone_rule, #writeInfo .purchase .write_input .write_con .write_email .email_tips .phone_rule, #writeInfo .purchase .write_input .write_con .email_code .phone_tips .phone_rule, #writeInfo .purchase .write_input .write_con .email_code .email_tips .phone_rule {
+  height: 100%;
+  font-size: .24rem;
+  color: #FB483D;
+}
+
+#writeInfo  .write_input .write_con .email_code .write_phone_ipt .label_phone, 
+#writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .label_phone {
+  font-size: .28rem;
+}
+
+#writeInfo  .write_input .write_con .email_code .write_phone_ipt .sendEmail, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .sendEmail {
+  font-size: .28rem;
+  color: #9B9CA3;
+}
+
+#writeInfo  .write_input .write_con .email_code .write_phone_ipt .timedown, #writeInfo .purchase .write_input .write_con .email_code .write_phone_ipt .timedown {
+  display: none;
+  font-size: .28rem;
+  text-align: center;
+  color: #C0C4CC;
+}
+
+#writeInfo  .option_purchase, #writeInfo .purchase .option_purchase {
+  padding: .64rem .64rem .36rem;
+  font-size: .28rem;
+  color: #171826;
+}
+
+#writeInfo  .run_button, #writeInfo  .free_button, #writeInfo  .run_now_button, #writeInfo .purchase .run_button, #writeInfo .purchase .free_button, #writeInfo .purchase .run_now_button {
+  margin-top: .6rem;
+  width: 100%;
+  height: .92rem;
+  padding: 0 .32rem;
+}
+
+#writeInfo  .run_button .write_run, #writeInfo  .run_button .write_free, #writeInfo  .run_button .write_run_now, #writeInfo  .free_button .write_run, #writeInfo  .free_button .write_free, #writeInfo  .free_button .write_run_now, #writeInfo  .run_now_button .write_run, #writeInfo  .run_now_button .write_free, #writeInfo  .run_now_button .write_run_now, #writeInfo .purchase .run_button .write_run, #writeInfo .purchase .run_button .write_free, #writeInfo .purchase .run_button .write_run_now, #writeInfo .purchase .free_button .write_run, #writeInfo .purchase .free_button .write_free, #writeInfo .purchase .free_button .write_run_now, #writeInfo .purchase .run_now_button .write_run, #writeInfo .purchase .run_now_button .write_free, #writeInfo .purchase .run_now_button .write_run_now {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 100%;
+  height: 100%;
+  background: #2ABED1;
+  border-radius: .16rem;
+  color: #fff;
+  font-size: .36rem;
+}
+
+#writeInfo  .run_button .write_run:disabled, #writeInfo  .run_button .write_free:disabled, #writeInfo  .free_button .write_run:disabled, #writeInfo  .free_button .write_free:disabled, #writeInfo  .run_now_button .write_run:disabled, #writeInfo  .run_now_button .write_free:disabled, #writeInfo .purchase .run_button .write_run:disabled, #writeInfo .purchase .run_button .write_free:disabled, #writeInfo .purchase .free_button .write_run:disabled, #writeInfo .purchase .free_button .write_free:disabled, #writeInfo .purchase .run_now_button .write_run:disabled, #writeInfo .purchase .run_now_button .write_free:disabled {
+  background: #87DFEA;
+  color: #FFFFFF;
+  opacity: 0.65;
+}
+
+#writeInfo .purchase {
+  background: #fff;
+}
+
+
+.no_use{
+  display: flex;
+  justify-content: center;
+  align-items:  center;
+  margin-top: 0.48rem;
+  width: 100%;
+}
+
+.no_use .no_use_back{
+  font-size: 0.3rem;
+  font-style: normal;
+  font-weight: 400;
+  color: #2ABED1;
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 3 - 0
src/web/staticres/big-member/iconfont/iconfont.css


BIN
src/web/staticres/big-member/iconfont/iconfont.eot


BIN
src/web/staticres/big-member/iconfont/iconfont.ttf


BIN
src/web/staticres/big-member/iconfont/iconfont.woff


BIN
src/web/staticres/big-member/iconfont/iconfont.woff2


BIN
src/web/staticres/big-member/image/bg_info.png


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
src/web/staticres/big-member/js/jquery.min.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 5 - 0
src/web/staticres/big-member/js/weui.min.js


+ 56 - 0
src/web/staticres/vipsubscribe/css/vip_index_new.css

@@ -1111,20 +1111,25 @@
   margin-top: .32rem;
 }
 
+/* 优惠弹框 */
+.discount-details .weui-half-screen-dialog__hd,
 .coupon-picker .weui-half-screen-dialog__hd {
   padding-left: 0;
   padding-right: 0;
 }
+.discount-details .icon-del-grey,
 .coupon-picker .icon-del-grey {
   padding-left: 0;
   padding-right: 0;
   order: 2;
 }
 
+.discount-details .weui-picker__bd,
 .coupon-picker .weui-picker__bd {
   padding: 0 0.2rem;
 }
 
+.discount-details .weui-picker__group,
 .coupon-picker .weui-picker__group {
   position: relative;
   display: flex;
@@ -1135,6 +1140,57 @@
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
 }
 
+.discount-details .weui-mask,
+.discount-details .weui-picker {
+    bottom: 3.1rem;
+    min-height: unset;
+    transform: unset;
+}
+.discount-details .weui-picker__bd {
+    padding: 0;
+    padding-bottom: .36rem;
+    flex-direction: column;
+}
+.discount-details .details-bd-item {
+    margin-bottom: unset;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: .24rem 0;
+    font-size: .28rem;
+    line-height: .4rem;
+    color: #171826;
+}
+.discount-details .d-b-right .dis-price {
+    text-decoration: unset;
+}
+
+.discount-button {
+    display: none;
+    margin-right: .16rem;
+    padding: .03rem .06rem;
+    font-size: .2rem;
+    line-height: .28rem;
+    color: #9B9CA3;
+    background-color: #F5F7F7;
+    border-radius: 2px;
+}
+.discount-button .icon-arrow.up {
+    transform: rotate(-90deg);
+}
+.discount-button .icon-arrow {
+    transition: all 0.2s;
+    display: inline-block;
+    font-size: .2rem;
+    transform: rotate(90deg);
+}
+
+.text-red {
+    color: #FB483D;
+}
+
+
+
 .origin-price {
   display: none;
   align-items: center;

+ 47 - 1
src/web/staticres/vipsubscribe/css/vip_introduce.css

@@ -157,12 +157,17 @@ html,body {
 .vip_introduce .main .banner {
   padding-top: 8.4rem;
   width: 100%;
-  height: 16.88rem;
+  min-height: 16.88rem;
   background: url(/vipsubscribe/image/vip_intro_bg-1@2x.jpg?v=51430) no-repeat top center;
   background-color: #1B1A2A;
   background-size: 100% 100%;
 }
 
+.main .group {
+  position: relative;
+  z-index: 1;
+}
+
 .main .group .group-title {
   position: relative;
   margin-bottom: .48rem;
@@ -391,4 +396,45 @@ html,body {
 }
 .vip-intro-footer .vi-footer-r:active {
   background-image: linear-gradient(360deg, #F1D090 0%, #FAE7CA 54.69%, #FAE7CA 74.48%, #F1D090 100%);
+}
+
+.active-content-tip {
+  display: none;
+  position: absolute;
+  width: 100%;
+  left: 0;
+  top: 3.36rem;
+}
+.active-content {
+  margin: 0 .6rem;
+  font-size: .3rem;
+  line-height: .4rem;
+  color: #DADDE3;
+}
+.active-content .active-c-item {
+  display: flex;
+}
+.active-content .active-r-b {
+  font-size: .24rem;
+  line-height: .36rem;
+  color: rgba(255, 255, 255, 0.5);
+}
+.active-rules {
+  margin: 1.12rem .48rem 0;
+  font-size: .18rem;
+  line-height: .28rem;
+  color: #868592;
+}
+
+.active-20201111 .vip_introduce .banner {
+  padding-top: 10.8rem;
+  background-image: url(/vipsubscribe/image/vip_intro_active_bg-1111@3x.png?v=1430);
+  background-size: 100% auto;
+}
+.active-20201111 .active-content-tip {
+  display: block;
+}
+.active-20201111 .comparison {
+  margin-top: 0;
+  background-image: linear-gradient(to bottom, #262536 0%, #1B1A2A 100%);
 }

+ 60 - 4
src/web/staticres/vipsubscribe/css/vip_purchase.css

@@ -659,7 +659,7 @@ html, body {
 .weui-cells:before {
     border-top: 0;
   }
-  
+
   .weui-cells:after {
     border-bottom: 0;
   }
@@ -800,7 +800,7 @@ html, body {
 .vip_purchase .time_cycle .box_bd .monthly_label .weui-cell__hd{
     padding-right: 0.08rem;
   }
-  
+
   .vip_purchase .time_cycle .box_bd .yearly_label .weui-cell__hd{
     padding-right: 0.08rem;
   }
@@ -935,20 +935,25 @@ html, body {
   margin-top: .26rem!important;
 }
 
+/* 优惠弹框 */
+.discount-details .weui-half-screen-dialog__hd,
 .coupon-picker .weui-half-screen-dialog__hd {
   padding-left: 0;
   padding-right: 0;
 }
+.discount-details .icon-del-grey,
 .coupon-picker .icon-del-grey {
   padding-left: 0;
   padding-right: 0;
   order: 2;
 }
 
+.discount-details .weui-picker__bd,
 .coupon-picker .weui-picker__bd {
   padding: 0 0.2rem;
-}       
+}
 
+.discount-details .weui-picker__group,
 .coupon-picker .weui-picker__group {
   position: relative;
   display: flex;
@@ -959,6 +964,57 @@ html, body {
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
 }
 
+.discount-details .weui-mask,
+.discount-details .weui-picker {
+    bottom: 3.1rem;
+    min-height: unset;
+    transform: unset;
+}
+.discount-details .weui-picker__bd {
+    padding: 0;
+    padding-bottom: .36rem;
+    flex-direction: column;
+}
+.discount-details .details-bd-item {
+    margin-bottom: unset;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: .24rem 0;
+    font-size: .28rem;
+    line-height: .4rem;
+    color: #171826;
+}
+.discount-details .d-b-right .dis-price {
+    text-decoration: unset;
+}
+
+.discount-button {
+    display: none;
+    margin-right: .16rem;
+    padding: .03rem .06rem;
+    font-size: .2rem;
+    line-height: .28rem;
+    color: #9B9CA3;
+    background-color: #F5F7F7;
+    border-radius: 2px;
+}
+.discount-button .icon-arrow.up {
+    transform: rotate(-90deg);
+}
+.discount-button .icon-arrow {
+    transition: all 0.2s;
+    display: inline-block;
+    font-size: .2rem;
+    transform: rotate(90deg);
+}
+
+.text-red {
+    color: #FB483D;
+}
+
+
+
 .free-7day-tip {
   justify-content: space-between;
 }
@@ -980,4 +1036,4 @@ html, body {
 .weui-cells_checkbox .weui-icon-checked{
   width: 20px;
   height: 20px;
-}
+}

+ 66 - 4
src/web/staticres/vipsubscribe/css/vip_renew.css

@@ -19,14 +19,20 @@
     flex-direction: column;
     flex: 1;
     overflow-y: scroll;
-    padding: .16rem .24rem;
+    padding: 0;
     background-color: #F5F6F7;
 }
 
 .vip-renew .vip-body .body-item {
     padding: 0.33rem 0.31rem;
 }
-
+.vip-renew .vip-body ul > .body-item:first-child{
+    border-top-left-radius: 8px;
+    border-top-right-radius: 8px;
+}
+.vip-renew .vip-body ul > .body-item:last-child::after{
+    content: none;
+}
 .vip-renew .vip-footer {
     width: 100%;
 }
@@ -610,20 +616,25 @@
   margin-top: .26rem!important;
 }
 
+/* 优惠弹框 */
+.discount-details .weui-half-screen-dialog__hd,
 .coupon-picker .weui-half-screen-dialog__hd {
   padding-left: 0;
   padding-right: 0;
 }
+.discount-details .icon-del-grey,
 .coupon-picker .icon-del-grey {
   padding-left: 0;
   padding-right: 0;
   order: 2;
 }
 
+.discount-details .weui-picker__bd,
 .coupon-picker .weui-picker__bd {
   padding: 0 0.2rem;
-}       
+}
 
+.discount-details .weui-picker__group,
 .coupon-picker .weui-picker__group {
   position: relative;
   display: flex;
@@ -634,6 +645,57 @@
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
 }
 
+.discount-details .weui-mask,
+.discount-details .weui-picker {
+    bottom: 3.1rem;
+    min-height: unset;
+    transform: unset;
+}
+.discount-details .weui-picker__bd {
+    padding: 0;
+    padding-bottom: .36rem;
+    flex-direction: column;
+}
+.discount-details .details-bd-item {
+    margin-bottom: unset;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: .24rem 0;
+    font-size: .28rem;
+    line-height: .4rem;
+    color: #171826;
+}
+.discount-details .d-b-right .dis-price {
+    text-decoration: unset;
+}
+
+.discount-button {
+    display: none;
+    margin-right: .16rem;
+    padding: .03rem .06rem;
+    font-size: .2rem;
+    line-height: .28rem;
+    color: #9B9CA3;
+    background-color: #F5F7F7;
+    border-radius: 2px;
+}
+.discount-button .icon-arrow.up {
+    transform: rotate(-90deg);
+}
+.discount-button .icon-arrow {
+    transition: all 0.2s;
+    display: inline-block;
+    font-size: .2rem;
+    transform: rotate(90deg);
+}
+
+.text-red {
+    color: #FB483D;
+}
+
+
+
 .origin-price {
   display: none;
   align-items: center;
@@ -644,4 +706,4 @@
 
 .origin-price .price-num {
   text-decoration: line-through;
-}
+}

BIN
src/web/staticres/vipsubscribe/image/vip_intro_active_bg-1111@3x.png


+ 61 - 0
src/web/staticres/vipsubscribe/js/vip_index_new.js

@@ -1,3 +1,40 @@
+function showGiveStatus (t) {
+    if (t) {
+        $("#giveTimeBox").addClass('hasDoubleEleven')
+        $('.discount-button').show().on('click', function () {
+            var details = $('.discount-details')
+            if (details.is(':hidden')) {
+                $('.discount-details').show()
+                $(this).children('.icon-arrow').addClass('up')
+            } else {
+                $('.discount-details').hide()
+                $(this).children('.icon-arrow').removeClass('up')
+            }
+        })
+        $(".j-icon.icon-del-grey.cancel").on('click', function () {
+            $('.weui-mask').trigger('click')
+        })
+    } else {
+        $("#giveTimeBox").removeClass('hasDoubleEleven')
+        $(".origin-price").hide()
+    }
+}
+// 拦截获取价格接口读取11.11活动信息
+$.ajaxSetup({
+    complete:function(XMLHttpRequest,textStatus){
+        if (this.url.indexOf('/subscribepay/vipsubscribe/getPrice') !== -1) {
+            if (textStatus === 'success') {
+                var data = XMLHttpRequest.responseJSON
+                if (data && data.isActiving && data.isWritten === 0) {
+                    showGiveStatus(true)
+                } else {
+                    showGiveStatus(false)
+                }
+            }
+        }
+    }
+});
+
 $(function () {
     //项目匹配开关
     var checkedflag = true;
@@ -278,6 +315,8 @@ $(function () {
     $('.weui-mask').on('click', function () {
         pickerShow('.billing-list-container', false)
         $('.coupon-picker').hide()
+        $('.discount-details').hide()
+        $('.discount-button .icon-arrow').removeClass('up')
     })
 
     // 关键词匹配方式
@@ -747,6 +786,18 @@ $(function () {
             "buyerclasscount": reqData.buyset.buyerclasscount,
             "citys": reqData.buyset.newcitys
         }, changeTime, reqData.endTime, reqData.renewList, reqData.isTrial);
+        // 双11.11活动
+        var giveT = [changeTime[1] === 1 ? 1 :changeTime[0], changeTime[1]]
+        if (!giveT[0] || !giveT[1]) {
+            giveT = []
+        }
+        var giveStatue = getUpgradeFinalStatus(getBuySet(reqData.area, reqData.industry), {
+            "areacount": reqData.buyset.areacount,
+            "buyerclasscount": reqData.buyset.buyerclasscount,
+            "citys": reqData.buyset.newcitys
+        }, giveT, reqData.endTime, reqData.renewList, reqData.isTrial);
+        var givePrice = giveStatue[0]
+        var giveCycle = changeTime[1] === 1 ? ('1年') : ((changeTime[0] ? changeTime[0] : 1) + '个月')
 
         if (status[0] === -2) {
             weui.toast('订单冲突', {
@@ -803,6 +854,7 @@ $(function () {
                 // }
             }
             $(".vip-footer.upgrade .billing-price").text(formatMoney(status[0]));
+
             submitPrice = status[0] * 10000 / 100
 
             // 活动期间,则显示优惠码
@@ -817,6 +869,15 @@ $(function () {
         }
 
         if (reqData.isTrial) {//试用购买
+            if ($("#giveTimeBox").hasClass('hasDoubleEleven')) {
+                $(".origin-price").css('display', 'flex')
+                $("#giveTimeBox").show()
+                $("#giveTimeText").text(giveCycle)
+                $('.origin-price .price-num').text(formatMoney(status[0] + givePrice));
+                // 优惠明细
+                $('.discount-price .dis-price').text(formatMoney(givePrice))
+                $('.now-price .dis-price').text(formatMoney(status[0]));
+            }
             if (changeTime.length === 0) {
                 //刷新展示时间
                 changeTime = [1, 2];//

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
src/web/templates/big-member/pc/page_index.html


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 34 - 1
src/web/templates/big-member/wx/page_index.html


+ 361 - 0
src/web/templates/big-member/wx/page_open_app_active.html

@@ -0,0 +1,361 @@
+<!DOCTYPE html>
+<html lang="zh-CN" style="font-size: 50px;">
+<head>
+    <meta charset="utf-8">
+    <meta name="keywords" content="剑鱼标讯">
+    <meta name="description" content="剑鱼标讯">
+    <meta name="author" content="剑鱼标讯">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
+    <meta name="browsermode" content="application">
+    <meta name="x5-orientation" content="portrait">
+    <meta name="screen-orientation" content="portrait">
+    <meta name="x5-page-mode" content="app">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <meta name="format-detection" content="telephone=no">
+    <link rel="icon" href="/favicon.ico">
+    <title>大会员【专家版】15天特权</title>
+    <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/reset-css@4.0.1/reset.min.css />
+    <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/weui@2.3.0/dist/style/weui.min.css />
+    <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/big-member/css/public.css' />
+    <style>
+        .mt-10 {
+            margin-top: .2rem;
+        }
+        .open-app-container {
+            background-image: url(/big-member/image/open_app_bgi.png);
+            background-repeat: no-repeat;
+            background-size: 100%;
+            border-top: 1px solid transparent;
+        }
+        .open-app-center {
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: flex-end;
+            padding: 0 .4rem;
+            min-height: 7rem;
+            background-repeat: no-repeat;
+            background-size: cover;
+        }
+        .tip-text-bold {
+            font-weight: bold;
+            font-size: .36rem;
+            line-height: .54rem;
+            color: #171826;
+            text-align: center;
+        }
+        .tip-text-grey {
+            font-size: .32rem;
+            line-height: .48rem;
+            color: #5F5E64;
+        }
+        .open-app {
+            display: none;
+            margin-top: .6rem;
+            padding: .16rem .68rem;
+            min-height: .8rem;
+            font-size: .32rem;
+            line-height: .48rem;
+            color: #F7F9FA;
+            background-color: #2cb7ca;
+            border-radius: 0.08rem;
+        }
+        .wx-launch-app-btn {
+            padding: .16rem .58rem;
+        }
+        .guide-mask {
+            display: none;
+            position: absolute;
+            top: 0;
+            left: 0;
+            right: 0;
+            bottom: 0;
+            z-index: 2;
+            opacity: .65;
+            background-color: #000000;
+        }
+        .open-in-browser-tip {
+            width: 259px;
+            position: absolute;
+            top: 10px;
+            right: 25px;
+            z-index: 3;
+        }
+        .open-app-close {
+            width: 37.5px;
+            position: absolute;
+            top: 160px;
+            right: 135px;
+            bottom: 0px;
+            z-index: 3;
+        }
+        .weui-toast {
+            background-color: rgba(0, 0, 0, 0.7);
+        }
+    </style>
+</head>
+<body>
+<div class="j-container">
+    <div class="j-main open-app-container">
+        <div class="open-app-center">
+            <p class="tip-text-bold">
+                您已获得【剑鱼大会员专家版】15天的使用特权,请用超级订阅购买账号登录app进行使用,详细了解【剑鱼大会员】可致电
+                <a class="highlight-text" href="tel:400-108-6670">400-108-6670</a>
+            </p>
+            <p class="tip-text-grey mt-10">-  请前往剑鱼标讯APP进行使用  -</p>
+            <!-- 使用a标签或者iframe,但是使用iframe会触发visibilitychange事件(判断是否离开了浏览器使用了visibilitychange) -->
+            <a id="android-open-app-market" class="open-app" href="market://details?id=com.topsoft.jianyu">应用商店打开APP</a>
+            <a id="open-app" class="open-app download-event" href="jianyu://root/open">立即前往APP</a>
+
+            <wx-open-launch-app
+                id="wx-launch-app-btn"
+                appid="appid"
+                class="open-app wx-launch-app-btn"
+                    style="display: none; min-width: 96px;"
+            >
+                <template>
+                    <style>
+                        .btn {
+                            display: flex;
+                            align-items: center;
+                            justify-content: center;
+                            color: #fff;
+                            font-size: 16px;
+                            line-height: 24px;
+                        }
+                    </style>
+                    <span class="btn">立即前往APP</span>
+                </template>
+            </wx-open-launch-app>
+        </div>
+        <div class="guide-mask">
+			<img class="open-in-browser-tip" src='{{Msg "seo" "cdn"}}/big-member/image/open_in_browser_tip.png'/>
+			<img class="open-app-close" src='{{Msg "seo" "cdn"}}/big-member/image/open_app_close.png'/>
+		</div>
+    </div>
+    <div class="j-footer"></div>
+</div>
+<div id="loadingToast" style="display: none;">
+    <div class="weui-mask_transparent"></div>
+    <div class="weui-toast">
+        <i class="weui-loading weui-icon_toast"></i>
+    </div>
+</div>
+
+<script src='{{Msg "seo" "cdn"}}/js/rem.js'></script>
+<script src=//cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js></script>
+<script src=//res2.wx.qq.com/open/js/jweixin-1.6.0.js></script>
+
+<script>
+    var openApp = {
+        isWeiXinBrowser: navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1,
+        isAndroid: navigator.userAgent.toLowerCase().indexOf('android') !== -1,
+        isIos: /iphone|ipod|ipad|ios/.test(navigator.userAgent.toLowerCase()),
+        tryToOpenTimer: 0,
+        hasApp: false,
+        conf: {
+            appDownloadLink: 'https://jianyu360.com/front/downloadJyApp?source=mobile_landingpage&page=mobile_landingpage&code=sh001',
+        },
+        shareInfo: {
+            title: '剑鱼标讯',
+            desc: '剑鱼标讯大会员 - 前往app',
+            link: location.href.split('?')[0],
+            imgUrl: 'https://cdn-ali.jianyu360.com/images/appext/fixed-sm.jpg'
+        },
+        wxSDKSign: {
+            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
+            appId: '', // 必填,公众号的唯一标识
+            timestamp: '', // 必填,生成签名的时间戳
+            nonceStr: '', // 必填,生成签名的随机串
+            signature: '',// 必填,签名
+            jsApiList: [
+                // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容
+                'updateAppMessageShareData',
+                // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容
+                'updateTimelineShareData',
+                // 获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口
+                'onMenuShareWeibo',
+                // 关闭当前网页窗口接口
+                'closeWindow',
+                // 批量隐藏功能按钮接口
+                // 'hideMenuItems',
+                // 批量显示功能按钮接口
+                // 'showMenuItems',
+                // 隐藏所有非基础按钮接口
+                // 'hideAllNonBaseMenuItem',
+                // 显示所有功能按钮接口
+                // 'showAllNonBaseMenuItem',
+                // 调起微信扫一扫接口
+                // 'scanQRCode'
+            ],
+            openTagList: ['wx-open-launch-app']
+        },
+        typeMap: {
+            1: '专家版',
+            2: '智慧版',
+            3: '商机版'
+        },
+        tipText: {
+            textType: '您已购买了大会员$type服务套餐'
+        },
+        init: function () {
+            if (this.isWeiXinBrowser) {
+                this.getWxSdkSign()
+            } else {
+                $('#open-app').show()
+                // $('#android-open-app-market').show()
+                if (this.isIos) {
+                    location.href = "jianyuiosapp://"
+                }
+            }
+            this.bindEvents()
+        },
+        bindEvents: function () {
+            var _this = this
+            $('.open-app.download-event').on('click', function (e) {
+                if (!_this.isWeiXinBrowser) {
+                    _this.tryToOpenApp(e)
+                }
+            })
+
+            $('.open-app-close').on('click', function () {
+                $('.guide-mask').hide()
+            })
+
+            if (this.isWeiXinBrowser) {
+                $('#wx-launch-app-btn').on('launch', function (e) {
+                    console.log('success', e)
+                }).on('error', function (e) {
+                    $('.guide-mask').show()
+                    console.log('open app failed', e.detail)
+                })
+            } else {
+                // 非微信/安卓
+                if (this.isAndroid) {
+                    // 监听浏览器是否隐藏了
+                    document.addEventListener('visibilitychange', function () {
+                        console.log('document.hidden:', document.hidden)
+                        if (document.visibilityState == 'visible') {
+                            console.log('页面显示')
+                        }
+                        if(document.visibilityState == 'hidden') {
+                            _this.hasApp = true
+                            _this.loadingHide()
+                            console.log('页面隐藏')
+                        }
+                    })
+                }
+            }
+        },
+        // 5秒后,浏览器没隐藏(没有打开app)就下载
+        tryToOpenApp: function (e) {
+            var _this = this
+            if (this.isAndroid) {
+                _this.loadingShow()
+                clearInterval(_this.tryToOpenTimer)
+                _this.tryToOpenTimer = setTimeout(function () {
+                    _this.loadingHide(function () {
+                        if (!_this.hasApp) {
+                            _this.downloadApp()
+                        }
+                    })
+                }, 4500)
+            }
+
+            if (this.isIos) {
+                if (e) {
+                    e.preventDefault()
+                }
+                this.downloadApp()
+            }
+        },
+        // 执行下载操作
+        downloadApp: function () {
+            if (this.isAndroid) {
+                var iframe = document.createElement('iframe')
+                iframe.src = this.conf.appDownloadLink
+                iframe.style.display = 'none'
+                document.body.appendChild(iframe)
+            }
+            if (this.isIos) {
+                location.href = _this.conf.appDownloadLink
+            }
+            console.log('下载app')
+        },
+        loadingShow: function () {
+            var loading = $('#loadingToast')
+            if (loading.css('display') != 'none') return;
+            loading.fadeIn(100);
+            return loading
+        },
+        loadingHide: function (callback) {
+            $('#loadingToast').fadeOut(100, function () {
+                callback && callback()
+            })
+        },
+        getWxSdkSign: function () {
+            var _this = this
+            _this.loadingShow()
+            $.ajax({
+                url: '/jypay/wx/getwxSdkSign',
+                type: 'POST',
+                data: {
+                    url: location.href.split('#')[0]
+                },
+                success: function (res) {
+                    if (res && res.wxsdk && $.isArray(res.wxsdk)) {
+                        // 公众号appId(微信公众平台获取)
+                        _this.wxSDKSign.appId = res.wxsdk[0]
+                        _this.wxSDKSign.timestamp = res.wxsdk[1]
+                        _this.wxSDKSign.nonceStr = res.wxsdk[2]
+                        _this.wxSDKSign.signature = res.wxsdk[3]
+
+                        _this.registerWxSDK()
+                    }
+                },
+                complete: function () {
+                    _this.loadingHide()
+                },
+                error: function () {
+                    _this.registerWxSDK()
+                }
+            })
+        },
+        registerWxSDK: function () {
+            var _this = this
+
+            // 应用号appId(微信开放平台获取)
+            var extInfo = {
+                url: 'jianyu360.com'
+            }
+            $('#wx-launch-app-btn')
+                .attr('appid', 'wx0e6a5b18f4cfd10d')
+                // attr('extinfo', JSON.stringify(extInfo))
+
+            // 微信sdk注册
+            wx.config(this.wxSDKSign)
+            wx.error(function(res){
+                $('#wx-launch-app-btn').remove()
+                $('#open-app').show().on('click', function () {
+                    $('.guide-mask').show()
+                }).trigger('click')
+            })
+            wx.ready(function (res) {
+                // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容
+                wx.updateAppMessageShareData(_this.shareInfo)
+                // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容
+                wx.updateTimelineShareData(_this.shareInfo)
+                // onMenuShareWeibo
+                wx.onMenuShareWeibo(_this.shareInfo)
+
+                $('#wx-launch-app-btn').show()
+            })
+        }
+    }
+    openApp.init()
+</script>
+{{include "/common/baiducc.html"}}
+</body>
+</html>

+ 283 - 0
src/web/templates/big-member/wx/page_write_infor_wx.html

@@ -0,0 +1,283 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>大会员【专家版】15天特权</title>
+    <script src="{{Msg "seo" "cdn"}}/big-member/js/rem.js?v={{Msg "seo" "version"}}"></script>
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/big-member/css/base.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/big-member/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/big-member/css/weui.min.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/big-member/css/write_infor.css?v={{Msg "seo" "version"}}2">
+</head>
+<body>
+<div id="writeInfo">
+    <div class="info_tip">
+        <p class="tip_text">
+            您已获得【剑鱼大会员专家版】15天的使用特权,完善以下信息即可开始使用,详细了解【剑鱼大会员】可致电<a href="tel:400-108-6670" class="tip_phone">400-108-6670</a>。
+        </p>
+    </div>
+    <div class="write_input">
+        <div class="write_con">
+            <div class="write_name">
+                <div class="write_phone_ipt">
+                    <span class="label_phone">*姓名</span>
+                    <input class="ipt_name" type="text" placeholder="输入姓名">
+                </div>
+                <div class="name_tips" style="display: none;">
+                    <span class="label_tips"></span>
+                    <p class="phone_rule">
+                        请输入正确的姓名
+                    </p>
+                </div>
+            </div>
+            <div class="write_phone">
+                <div class="write_phone_ipt">
+                    <span class="label_phone">*手机号</span>
+                    <input class="ipt_phone" type="text" maxlength="11" placeholder="输入手机号">
+                </div>
+                <div class="phone_tips" style="display: none;">
+                    <span class="label_tips"></span>
+                    <p class="phone_rule">
+                        手机号格式错误
+                    </p>
+                </div>
+            </div>
+            <div class="write_email">
+                <div class="write_phone_ipt">
+                    <span class="label_phone">企业名称</span>
+                    <input class="ipt_email" type="text" placeholder="输入企业名称">
+                </div>
+                <!-- <div class="email_tips" style="display: none;">
+                    <span class="label_tips"></span>
+                    <p class="phone_rule">
+                        邮箱格式错误
+                    </p>
+                </div> -->
+            </div>
+            <div class="email_code">
+                <div class="write_phone_ipt">
+                    <span class="label_phone">*职位</span>
+                    <input class="ipt_code" type="text" placeholder="输入职位">
+                </div>
+                <div class="email_tips" style="display: none;">
+                    <span class="label_tips"></span>
+                    <p class="phone_rule">
+                        请输入正确的职位
+                    </p>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="free_button" id="free_button">
+        <button class="write_free" id="write_free" disabled>确定</button>
+    </div>
+    <div class="no_use">
+        <div class="no_use_back">暂不使用</div>
+    </div>
+</div>
+</body>
+<script src="/big-member/js/jquery.min.js"></script>
+<script src="/big-member/js/weui.min.js"></script>
+<script src=//res2.wx.qq.com/open/js/jweixin-1.6.0.js></script>
+<script>
+    var issubmit = ["false", "false"]
+    var isfreesubmit = ["false", "false", "false"]
+
+    $(function () {
+
+        // 姓名输入事件
+        $('.ipt_name').on('blur', function () {
+            var namerule = isname(this.value)
+            var myreg = /^\s*$/g;
+            if (namerule) {
+                $('.name_tips').hide()
+                isfreesubmit[0] = 'true'
+            } else {
+                if (myreg.test(this.value)) {
+                    $('.name_tips').hide()
+                    isfreesubmit[0] = 'false'
+                } else {
+                    $('.name_tips').css('display', 'flex')
+                    isfreesubmit[0] = 'false'
+                }
+            }
+            freesubmit()
+        })
+
+        // 手机号输入事件
+        $('.ipt_phone').on('blur', function () {
+            var phonerule = isPoneAvailable(this.value)
+            var myreg = /^\s*$/g;
+            if (phonerule) {
+                $('.phone_tips').hide()
+                isfreesubmit[1] = 'true'
+            } else {
+                if (myreg.test(this.value)) {
+                    $('.phone_tips').hide()
+                    isfreesubmit[1] = 'false'
+                } else {
+                    $('.phone_tips').css('display', 'flex')
+                    isfreesubmit[1] = 'false'
+                }
+            }
+            freesubmit()
+        })
+
+        // 职位输入事件
+        $('.ipt_code').on('blur', function () {
+            var workrule = isname(this.value)
+            var myreg = /^\s*$/g;
+            if (this.value != '') {
+                isfreesubmit[2] = 'true'
+            } else {
+                isfreesubmit[2] = 'false'
+            }
+            freesubmit()
+        })
+
+
+        // 免费样例--确定
+        $('.free_button').on('click', function () {
+            var iptname = $('.ipt_name').val()
+            var iptphone = $(' .ipt_phone').val()
+            var iptEntName = $('.ipt_email').val()
+            var iptJob = $('.ipt_code').val()
+            $.ajax({
+                url: '/bigmember/activity/20201111/activation',
+                type: 'POST',
+                data: {
+                    name: iptname,
+                    phone: iptphone,
+                    entName: iptEntName,
+                    job: iptJob,
+                },
+                success: function (res) {
+                    if (res.error_code === 0) {
+                        window.location.replace("/big/wx/page/open_app_active?from=active_20201111")
+                    } else {
+                        weui.toast(res.error_msg, 1500);
+                    }
+                },
+                error: function (err) {
+                    //   weui.toast('保存失败', 1500);
+                }
+            })
+        })
+
+        // 暂不使用
+        $('.no_use_back').on('click', function () {
+            if (history.length<=1) {
+                wx.closeWindow()
+            }else{
+                history.go(-1)
+            }
+        })
+    })
+
+    // 验证手机号格式
+    function isPoneAvailable($poneInput) {
+        var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;
+        if (!myreg.test($poneInput)) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    // 联系人必须是两个汉字以上
+    function isname($nameInput) {
+        var tworeg = /^[\u4E00-\u9FA5]{2,}$/;
+        if (!tworeg.test($nameInput)) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+
+    // 判断免费样例的按钮是否可以点击
+    function freesubmit() {
+        if (isfreesubmit.includes('false')) {
+            $('.write_free').attr('disabled', true)
+        } else {
+            $('.write_free').attr('disabled', false)
+        }
+    }
+
+    // 获取url参数
+    function getQueryVariable(variable) {
+        var query = window.location.search.substring(1);
+        var vars = query.split("&");
+        for (var i = 0; i < vars.length; i++) {
+            var pair = vars[i].split("=");
+            if (pair[0] == variable) {
+                return pair[1];
+            }
+        }
+        return (false);
+    }
+
+    function RegisterWxSDK () {
+        this.wxSDKSign = {
+            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
+            appId: '', // 必填,公众号的唯一标识
+            timestamp: '', // 必填,生成签名的时间戳
+            nonceStr: '', // 必填,生成签名的随机串
+            signature: '',// 必填,签名
+            jsApiList: [
+                // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容
+                // 'updateAppMessageShareData',
+                // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容
+                // 'updateTimelineShareData',
+                // 获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口
+                // 'onMenuShareWeibo',
+                // 关闭当前网页窗口接口
+                'closeWindow',
+                // 批量隐藏功能按钮接口
+                // 'hideMenuItems',
+                // 批量显示功能按钮接口
+                // 'showMenuItems',
+                // 隐藏所有非基础按钮接口
+                // 'hideAllNonBaseMenuItem',
+                // 显示所有功能按钮接口
+                // 'showAllNonBaseMenuItem',
+                // 调起微信扫一扫接口
+                // 'scanQRCode'
+            ]
+        }
+
+        this.getWxSdkSign = function () {
+            var _this = this
+            $.ajax({
+                url: '/jypay/wx/getwxSdkSign',
+                type: 'POST',
+                data: {
+                    url: location.href.split('#')[0]
+                },
+                success: function (res) {
+                    if (res && res.wxsdk && $.isArray(res.wxsdk)) {
+                        // 公众号appId(微信公众平台获取)
+                        _this.wxSDKSign.appId = res.wxsdk[0]
+                        _this.wxSDKSign.timestamp = res.wxsdk[1]
+                        _this.wxSDKSign.nonceStr = res.wxsdk[2]
+                        _this.wxSDKSign.signature = res.wxsdk[3]
+
+                        wx.config(_this.wxSDKSign)
+                    }
+                }
+            })
+        }
+
+        this.getWxSdkSign()
+    }
+    var sdk = new RegisterWxSDK()
+</script>
+<!--百度统计end-->
+{{include "/common/baiducc.html"}}
+</html>

+ 22 - 2
src/web/templates/common/pcbottom.html

@@ -357,14 +357,34 @@
     #zc__sdk__sys__btn {
         display: none !important;
     }
+     .icon-badge-number {
+         position: relative;
+     }
+    .icon-badge-number::before {
+        content: attr(data-badge-number);
+        position: absolute;
+        top: -5px;
+        right: -5px;
+        font-size: 11px;
+        line-height: 15px;
+        min-width: 15px;
+        color: #fff;
+        background: #FB483D;
+        padding: 0 4px;
+        display: inline-block;
+        text-align: center;
+        white-space: nowrap;
+        border-radius: 40px;
+        box-sizing: border-box;
+    }
 </style>
 <!--E-侧边样式-->
 <!--S-侧边栏-->
 <div class="right-side-box" data-backside>
     <div class="right-side-item open-customer" id="go-customer-4">
         <div class="hover-open-box">
-            <div class="icon-customer white"></div>
-            <div class="icon-customer"></div>
+            <div class="icon-customer white icon-badge-number" data-badge-number="12"></div>
+            <div class="icon-customer icon-badge-number" data-badge-number="12"></div>
             <span>客服</span>
         </div>
     </div>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 5 - 1
src/web/templates/pc/index.html


+ 2 - 2
src/web/templates/pc/vip_orderDetail.html

@@ -131,8 +131,8 @@
 						//订单信息
 						$(".order_code").text(orderCode);
 						var filterObj=JSON.parse(r.data.order.filter);
-						if(r.data.order.prepay_time) {
-							$(".order_time").text(r.data.order.prepay_time.replace("-",".").replace("-","."));
+						if(r.data.order.create_time) {
+							$(".order_time").text(r.data.order.create_time.replaceAll("-","."));
 						}
 						$(".price").text(r.data.order.original_price/100);
 						//优惠码

+ 22 - 6
src/web/templates/weixin/commonPay/myOrder.html

@@ -1007,6 +1007,11 @@
                 //订单金额
                 var orderMoney_vip = obj.order_money;
                 var orginsPrices = obj.order_money;
+                var can1111 = filter_vip && filter_vip.original_price
+                if (can1111) {
+                    orginsPrices = filter_vip.original_price;
+                }
+                var giveCycle = filter_vip.give_cycle;
                 //金额格式化 小数点前 1,000
                 orderMoney_vip = orderMoney_vip + "";
                 orderMoney_vip1 = toThousands(orderMoney_vip.split(".")[0]);
@@ -1119,12 +1124,17 @@
                         + '<div class="media-info">';
                     listhtml += '<p class="item-ifo ellipsis">区域:' + region_vip + '</p>'
                         + '<p class="item-ifo ellipsis">行业:' + industry_vip + '</p>'
-                        + '<p class="item-ifo ellipsis">订阅周期:' + effectiveduration_vip + '</p>';
-                    //}
-                    listhtml += '</div></a>'
+                        + '<p class="item-ifo ellipsis">订阅周期:' + effectiveduration_vip
+                        + (can1111 ? ('&nbsp;+&nbsp;' + '<span style="color: #2ABED1;">赠送' + (giveCycle < 12 ? (giveCycle + '个月') : '1年') + '</span>')  : '')
+                        + '</p>'
+                        + '</div>'
+                        + '</a>'
                     listhtml += '<div class="price">'
-                    if (isLiveActive) {
+                    if (can1111 || isLiveActive) {
                         var originPrice = formatMoney(parseFloat(orginsPrices) / parseFloat(0.6));
+                        if (can1111) {
+                            originPrice = formatMoney(parseFloat(orginsPrices) / 100)
+                        }
                         listhtml += '<span class="origin-price-container">'
                             + '<span>原价:¥</span>'
                             + '<span class="origin-price">' + originPrice + '</span>'
@@ -1156,13 +1166,19 @@
                         + '<div class="media-info">';
                     listhtml += '<p class="item-ifo ellipsis">区域:' + region_vip + '</p>'
                         + '<p class="item-ifo ellipsis">行业:' + industry_vip + '</p>'
-                        + '<p class="item-ifo ellipsis">订阅周期:' + effectiveduration_vip + '</p>'
+                        + '<p class="item-ifo ellipsis">订阅周期:' + effectiveduration_vip
+                        + (can1111 ? ('&nbsp;+&nbsp;' + '<span style="color: #2ABED1;">赠送' + (giveCycle < 12 ? (giveCycle + '个月') : '1年') + '</span>')  : '')
+                        + '</p>'
                         + '<p class="item-ifo ellipsis">有效日期:' + effectivetime_vip + '</p>';
                     //}
                     listhtml += '</div></a>'
                     listhtml += '<div class="price">'
-                    if (isLiveActive) {
+                    if (can1111 || isLiveActive) {
                         var originPrice = formatMoney(parseFloat(orginsPrices) / parseFloat(0.6));
+                        if (can1111) {
+                            originPrice = formatMoney(parseFloat(orginsPrices) / 100)
+                        }
+
                         listhtml += '<span class="origin-price-container">'
                             + '<span>原价:¥</span>'
                             + '<span class="origin-price">' + originPrice + '</span>'

+ 14 - 4
src/web/templates/weixin/historypush.html

@@ -550,9 +550,9 @@
             {{else}}
             <div class="left">
                 <img src="/vipsubscribe/image/vip-icon.png">
-                <h4>300组关键词特权</h4>
+                <h4  data-name="doubleEleven_title">300组关键词特权</h4>
             </div>
-            <a onclick="tointroducepage()" id="app-historypush-vipSub-topBanner" class="right freeuse" style="text-decoration: none;background: linear-gradient(270deg, #F1D090 0%, #FAE7CA 100%)">免费试用</a>
+            <a data-name="doubleEleven_button" onclick="tointroducepage()" id="app-historypush-vipSub-topBanner" class="right freeuse" style="text-decoration: none;background: linear-gradient(270deg, #F1D090 0%, #FAE7CA 100%)">免费试用</a>
             {{end}}
         </div>
     </div>
@@ -681,7 +681,17 @@
 <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
 <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/mapArea.js?v={{Msg "seo" "version"}}"></script>
 <script src="{{Msg "seo" "cdn"}}/js/merge-wx.js?v={{Msg "seo" "version"}}"></script>
-
+<script>
+    // 双11活动文案修改
+    $.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
+        if (r && r.data) {
+            if (r.data.isActiving) {
+                $('*[data-name="doubleEleven_title"]').text('买超级订阅,买多久送多久!')
+                $('*[data-name="doubleEleven_button"]').text('去抢')
+            }
+        }
+    })
+</script>
 <script>
   /*
       * money unit for zyh @date 2020/6/5
@@ -1109,7 +1119,7 @@
           var nokeyNoDataShow = $('.findnull-no-key').is(':visible')
           $(".listcontent").hide();
           $(".loading_").hide();
-          
+
           if (nokeyNoDataShow) return
           $(".findnull_").show().siblings('.empty').hide()
       }

+ 116 - 23
src/web/templates/weixin/my.html

@@ -14,9 +14,32 @@
     <link rel="stylesheet" href="/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}"/>
     <link rel="stylesheet" href="/css/merge-wx.css?v={{Msg "seo" "version"}}">
 	{{include "/common/weixin.html"}}
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>   
+	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
 </head>
 <style>
+.icon-customer {
+    display: inline-block;
+    width: .48rem;
+    height: .48rem;
+    margin-right: .32rem;
+    background-color: transparent;
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: contain;
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAATTSURBVHgB7Zg/b9tGFMDfHeUm9VJ1KtqkCLul7lDZUiNZSlFy6xZ562Z57CT5E8gZO1kdO0X+BLbmIpGA2q4cKxaTqVsUwEUzCkXhFJbJ13cUKdM0aZLSFe2gHyCIPN7de+/+vPfuAObMmTPnv4SBJDKaloa//s6kFOURAmiAoFLvafsjwpCeDXoamGi1jOe/7oEkZjZAKM7PzqsMWG2icDQD+nVMZj42ut0BzIACM5DNr1b5CPcYY9+S8rcTNBWGZjjw8sd377I/fj/twpRMNQP2qL8bbVPjCsihab6/sGl0OkNISGIDhPKpd6M2rfOM/xvSWmcMdwCVzgIf0eoYL49CoaBeQEpFCyvI8BtabmpA1wYZoSc1IrEBuXyp71deKM45+/HidqoRR4GV1VKNmVAP2DPGi6ODZUhAIgNW8iWxbGp+obQZ15JuxgzNCkfe9s8Gs6DROz7YjNlNfAMyD1bLCuO7vuKppn3SZ0ZLK++N2qTFlRllJtN7vf1OnD44xERhbNv7jsKni5GfUnmBYXSG5vmCjoCDK30r+CRuH7EMWPmqWKFxUb1lFjP1WX24QBjBGd/wFatjmdHEMoBxtu4raspQ3qXXpeWCsBMhM5BIA8RmA5EaeBARFCRjcnPLV6QtF4v3otrdaIDw+QoqdW8ZjtOAfweRM3ngJjScAQwl1AuJhgq5Of/adxAbWJe1jGaRFToDiqXshnQoIIFKGyRxg/KurFCvFGgAjYjm9c2UrOkUIRkgX/NMs5rLPdRgRrIPvi67yovl6cqilMPrmbQwWYEGcGSewIIt20sQL57/soci13GwuKXBjCCYgbJOuodNC61LWcxSg9oHLyFkkxyF8hzDJ3HqwBWJr29KMwaeFzWoSexI/H9lboDLUvtlfenZS/zi6avtsDqfP3vVjqqTFHkzgLBl/zGs3f+5r/k/Lz3tV8iNaW4dkEQKJEHKdRCYJp65wndJ4c2zP8G+fVhMp6oMrRpOKmMTJBFsAFK64MRo8sv3fJoG3jyY5LfJ/fZhfGBPUzb2ZPEDGAcgtAAnXcOA0ufgXMrXN2Pw5eULBnq/4Dig8IHnteKmtplcQSO7Hl3Kw4mL/U1fHsCFpd+UK9nKM0u367qyOO9c9sfWs9nVsiuLSsqTeqZiBPUZmgtl8yWRKmhwgzInRwef+cvvt/sqHQvLNHOUDrsBkQxFbJ1xaAz05WsjuZIvvg456LuEnpVD9wAlUBtBZ1ZXeXGgCWrnjG7D+cWCoqweIWstrG3oxdbb09PhR5/eaVHHH5LXSFPnaefa5CcS+L3MA42Q9ckd9Q2t8+/cMuem4wc6c28Y+/tvw9pKuxt1EalxCpUqwvXNjohvKH+6dpoT613hlP06m9id4TiDJNWAbKG0TtKbEdWG3EL9+PjQcG746t6rmiTKC+TdTtuHEuV1zOpDmo2G/0I4qfICaYGMYkDZqwhYAb6eQ93ZqGnyUlu+rx1SfiPp3pJmgJ2Cu/OJuHNyfNj0V8nmiyKGqFeaic3K4HHv6CC21/IizwA7Uo4toNGtkrIURZnf55c9z5R6WC1r8VbzZIbLMXl7gK4J+a3zfkRAsgkLgtMgLRsVN2wiIPmvCQPohAXBaZAeBwS5wkPNMq+fYSlqGsJ9wpw5c+a4/AP3DxdK/hdlwgAAAABJRU5ErkJggg==);
+}
+.badge-number {
+    font-size: 11px;
+    line-height: 15px;
+    min-width: 15px;
+    color: #fff;
+    background: #FB483D;
+    padding: 0 4px;
+    display: inline-block;
+    text-align: center;
+    white-space: nowrap;
+    border-radius: 40px;
+}
 .message > img{
 	width: .48rem;
     height: .48rem;
@@ -41,7 +64,7 @@
                  <a href="#" class="set_email" style="display:none">
                     <span>邮箱设置</span>
                     <i class="iconfont icon-arrow"></i>
-                </a> 
+                </a>
                 <a class="user_email" style="display:none">
                     <span></span>
                     <i class="iconfont icon-arrow"></i>
@@ -124,7 +147,17 @@
                 </div>
                 <img class="arrow_right" src="/images/wx/persional/my_arrow_right.png" alt="">
             </a>
-            <a class="menu_list feedback">
+            <a class="menu_list" href="/jyapp/free/customer">
+                <div class="menu_list_left">
+                    <span class="j-icon base-icon icon-customer"></span>
+                    <span class="label">人工客服</span>
+                </div>
+                <div class="menu_list_right">
+                    <span class="badge-number" style="display: none;"></span>
+                    <img class="arrow_right" src="/images/wx/persional/my_arrow_right.png" alt="">
+                </div>
+            </a>
+            <a class="menu_list feedback" style="display: none;">
                 <div class="menu_list_left">
                     <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANfSURBVHgB7ZjNThNRFMfPmQ5DiZtiTfyKSX2DBlQa2AxvoEtXDAQTTDStT0B9Aoe4EIPR8gTAE9AFJrjQ1CegC6JYP5iNSEvnHu+UDum003Lnoy0k80uazsy9p/P/d86de+4FiIiIiBgmCB5ZXHqmIsayDCANIYEIBhKUTWJb71dfFzzFinbUcrmEXKUNfqhCfynWR/FRQdcNkc4SCDJSo23ov3gLtflHCSFkYGEppxGFlzICqAtLzzWRjrJIJwlpznEBoQQMX/DgMoSAaUKCZPoALeNKQsm6Z+G8WCED0JY6dcZzdFUvQ4jwMTbLU+ew5ZLQExceA62ELb7xm52DNiES58vARUI0hbqiPcmlZZleEUDKS1zj3X+C82tregkCENjAiEwblnjPMyIP4gPXejWPQwACpxAJ5mq/6GkgfS+jTk7NbPfqwwBfgl8IV3o183vvTdyf1nr1wR7BZzPvjZu3IJlMgqKMNtrevVlxxFllRvzY25M4joPR/uZZfJol69s061CpVODg+7dmC22aY8p8qVjsKC9cx8BEZnqZ54Zqn1s/9Of3L7iavNYw0k5TiFDt0gtb+M/KD35strTgQ+mo9pUf5NtjXJ/A5NT0Hm9KubUpigLVajXPJLZe2t0tQwikVTXBBWZlWc47hTswPn/62DHguxiYITifMhEVghixhSNgjis5NwW5gQ69QgYIqMxvkgJ3PBsREc6LRwPb2nwbMNG8K4OsMWJzQYyICpckXKnHZT327+QwFAN2YDqTSfkx4lW4/bbppsO3ARtRI/xT5IEGF6d5ES6qw8JXKdH8Z/PcSKGHEetcayjA7sLNMVn/4vJ+FyVQLSRoxEFYwm0CF3MWIkbCFm4TigGbMyOqqseOTJXAPF1V8S0TdkXZDFO4TagGbJqDcbP56SuXfkUWGRg2kYFhI2TAqmVgwKTTqv99Iat8bj2X/54sw4CR4rWs4wKB6/aL+zyAsM4DzkSTBLnJBzMaIYU+EbnenjDB7+94AoRs3a2vqwF2rOjSaM1ZDvBqkp8PJpXaij9eEJYZkuuk6JpCpVLRYMhm21NpGJyKN2e7LZJi3QIP9veN63dub0kkjTd23hDiMEBOl5T0lo0pj0s7Owfd+gnvCGb4IgYGyG5IOx4REREXnP/2G7L/stZoqgAAAABJRU5ErkJggg==" alt="">
                     <span>意见反馈</span>
@@ -133,28 +166,88 @@
             </a>
         </div>
     </div>
-    <script src="/js/jquery-3.2.1.min.js"></script>
-    <script src="/js/merge-wx.js?v={{Msg "seo" "version"}}"></script>
+    <script src='/js/jquery-3.2.1.min.js'></script>
+    <script src='/js/merge-wx.js?v={{Msg "seo" "version"}}'></script>
     <script>
+    function getOfflineMessageCount () {
+        try {
+            var nowPlatform = 'wxh5';
+            (function (w, d, e, x) {
+                w[e] = function () { w.cbk = w.cbk || []; w.cbk.push(arguments); }
+                x = d.createElement('script');
+                x.async = true;
+                x.id = 'zhichiScript';
+                x.className="zhiCustomBtn";
+
+                x.src = 'https://' + nowPlatform + '-jianyu.sobot.com/chat/frame/v2/entrance.js?sysnum=9d1e3980f91e4b75b8f04e2d206a4c76&t=' + new Date().getTime();
+                d.body.appendChild(x);
+            })(window, document, 'zc');
+            $.post("/jypay/user/getSimpleData?t="+new Date().getTime(),{},function(r){
+                console.log(r, 'r')
+                var ajaxUserInfo = {
+                    headImage: '',
+                    nickName: '默认昵称',
+                    userId: '',
+                }
+
+                if (r) {
+                    Object.keys(ajaxUserInfo).forEach(function (v) {
+                        if (r[v] && r[v] !== '') {
+                            ajaxUserInfo[v] = r[v]
+                        }
+                    })
+                }
+
+                zc('config', {
+                    custom:true,
+                    top_bar_flag: 0,
+                    auto_expand: false,
+                    show_face: 1,
+                    async: 0,
+                    photo_flag: false,
+                    partnerid: ajaxUserInfo.userId,
+                    face: ajaxUserInfo.headImage
+                })
+                console.log('获取未读消息')
+                zc('receive_message',function(res){
+                    console.log(res, 'res receive_message')
+                })
+                zc('zhichiReceive',function(res){
+                    console.log(res, 'res zhichiReceive')
+                })
+                zc("offline_message_count",function(res){
+                    console.log(res, 'offline_message_count')
+                    if (res && res.size && res.size > 0) {
+                        $(".badge-number").text(res.size).show()
+                    } else {
+                        $(".badge-number").hide()
+                    }
+                })
+            })
+        } catch (e) {
+            console.log('error: ',e)
+        }
+    }
+    getOfflineMessageCount()
 		//苹果刷新js
-		$(function () {    
-			var isPageHide = false;   
-			window.addEventListener('pageshow', function () {      
+		$(function () {
+			var isPageHide = false;
+			window.addEventListener('pageshow', function () {
 			    if (isPageHide) {
 	                location.reload();
-			    }    
-			});    
+			    }
+			});
 			window.addEventListener('pagehide', function () {
 			    isPageHide = true;
-			});  
+			});
 		});
-		
-        $(function () { 
+
+        $(function () {
 		  	//分享
 		  	initShare({{.T.signature}},{{.T.openid}},2,"jy_wxmyorder",{{.T.nickname}},{{.T.avatar}});
-			
+
 			var nowTimestamp= (new Date()).valueOf();
-      
+
       //关注项目
 			$(".myProject").on("click",function(){
 				window.location.href="/follow/list";
@@ -163,7 +256,7 @@
 			$(".myEnt").on("click",function(){
 				window.location.href="/jylab/followent/entList";
 			})
-      
+
 			$(".vip").on("click",function(){
 				$.post("/subscribepay/orderListDetails/isVip?v="+nowTimestamp,{},function(data){
 					if (data.isvip){
@@ -211,19 +304,19 @@
 			if(img_head!=""){
 				$("#head_img").attr("src",img_head);
 			}
-      
+
       showUserMerge();
       $(".userMerge span:eq(1)").on("click",function(){
         sessionStorage.removeItem("userMergeFlag")
         window.location.href='/page_entniche/page/user/account_merge.html'
       })
-      
+
         })
-		
+
 		function getParam(pname) {
 		    var params = location.search.substr(1);
 		    var ArrParam = params.split('&');
-		    if (ArrParam.length == 1) { 
+		    if (ArrParam.length == 1) {
 		        return params.split('=')[1];
 		    }
 		    else {
@@ -235,7 +328,7 @@
 		        }
 		    }
 		}
-			
+
 		// 控制手机号中间四位显示星号
 		function user_phone_encryption(user_phone){
 			let userName =user_phone;
@@ -244,7 +337,7 @@
                 $('.user_name').text(userName)
             }
 		}
-		
+
     //用户合并是否显示
     function showUserMerge(){
         // 自动合并账号期间,不显示手机号合并
@@ -282,4 +375,4 @@
 	{{include "/common/baiducc.html"}}
 </body>
 
-</html>
+</html>

+ 13 - 0
src/web/templates/weixin/search/mainSearch.html

@@ -95,6 +95,19 @@
 	SuperSearch.ZBADDRESS = {{Msg "seo" "ZBADDRESS"}};
 	SuperSearch.industry = {{.T.industry}};
 	SuperSearch.sortArray = {{.T.sortArray}};
+	// 判断1111活动
+  // $.get('/jyactive/doubleEleven/isActiving', function (r) {
+  //     if (r && r.data) {
+  //         if (r.data.isActiving && r.data.isWritten === 1) {
+  //             var readToDay = localStorage.getItem('doubleEleven_isActiving') === new Date().toDateString()
+  //             localStorage.setItem('doubleEleven_isActiving', new Date().toDateString())
+  //             if (!readToDay) {
+  //                 history.pushState({state: 'full'}, null)
+  //                 location.href = '/big/wx/page/write_infor_wx'
+  //             }
+  //         }
+  //     }
+  // })
     // 动画隐藏tab栏
     function hideTab() {
         $('.newdialog .tab-box .sub-search-title').slideUp('fast');

+ 53 - 0
src/web/templates/weixin/vipsubscribe/vip_index_new.html

@@ -251,6 +251,18 @@
                     </div>
                 </a>
             </li>
+                    <li class="body-item" id="giveTimeBox" style="display: none;margin-top: 0.16rem;">
+            <div class="item-container" href="javascript:;">
+                <div class="item">
+                    <span class="item-l">
+                      <span class="item-label">赠送周期</span>
+                    </span>
+                    <span class="item-r">
+                      <span class="keywords-text ellipsis" id="giveTimeText"></span>
+                    </span>
+                </div>
+            </div>
+        </li>
             <li class="body-item coupon-code-tx">
               <a class="item-container" href="javascript:;">
                   <div class="item">
@@ -303,6 +315,10 @@
                     </span>
             </div>
             <div class="origin-price">
+                <span class="discount-button">
+                    <span>优惠明细</span>
+                    <span class="iconfont icon-arrow"></span>
+                </span>
                 <span class="price-label">原价:</span>
                 <div class="price-container">
                     <span class="currency-type">&yen;</span>
@@ -346,6 +362,43 @@
       </div>
   </div>
 </div>
+        <!-- 优惠明细 -->
+        <div class="j-picker adaption discount-details" style="display:none;">
+            <div class="weui-mask"></div>
+            <div class="weui-half-screen-dialog weui-picker">
+                <div class="weui-half-screen-dialog__hd">
+                    <div class="weui-half-screen-dialog__hd__main">
+                        <strong class="weui-half-screen-dialog__title">优惠明细</strong>
+                    </div>
+                    <span class="j-icon icon-del-grey cancel"></span>
+                </div>
+                <div class="weui-half-screen-dialog__bd" style="padding-bottom: unset;">
+                    <div class="weui-picker__bd">
+                        <div class="details-bd-item origin-price">
+                            <div class="d-b-left">原价</div>
+                            <div class="d-b-right">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price price-num">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item discount-price">
+                            <div class="d-b-left">限时优惠</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">-&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item now-price">
+                            <div class="d-b-left">实付</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
 <!-- 计费清单picker -->
 <div class="billing-list-container p13" style="display: none;">
     <div class="weui-mask weui-animate-fade-in"></div>

+ 39 - 1
src/web/templates/weixin/vipsubscribe/vip_introduce.html

@@ -17,10 +17,35 @@
 </head>
 
 <body>
-    <div class="j-container">
+    <div class="j-container" id="vip-intro-container">
         <div class="j-main vip_introduce">
             <div class="main">
                 <div class="banner power group">
+                    <div class="active-content-tip">
+                        <div class="active-content">
+                            <div class="active-c-item">
+                                <div class="active-i-l">大礼1:</div>
+                                <div class="active-i-r">
+                                    <div class="active-r-t">买多久送你多久!</div>
+                                    <div class="active-r-b">(如:买1年送1年,买3个月送3个月)</div>
+                                </div>
+                            </div>
+                            <div class="active-c-item">
+                                <div class="active-i-l">大礼2:</div>
+                                <div class="active-i-r">
+                                    <div class="active-r-t">赠送剑鱼大会员【专家版】使用特权!</div>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="active-rules">
+                            <div class="active-r-text">活动规则:</div>
+                            <div class="active-r-text">1、2020年11月5日0:00至2020年11月11日23:59期间,新购和续费超级订阅的用户参与此活动。</div>
+                            <div class="active-r-text">2、活动期间,用户第一次购买超级订阅的订单参与此活动,多次购买无效。</div>
+                            <div class="active-r-text">3、每个用户赠送1次超级订阅时长,赠送时长与购买时长相等,最多送1年。</div>
+                            <div class="active-r-text">4、每个用户赠送剑鱼大会员专家版15天使用时长,仅在活动时间内领取有效。</div>
+                            <div class="active-r-text">5、此活动最终解释权归剑鱼标讯所有。</div>
+                        </div>
+                    </div>
                     <div class="group-title">
                         <span class="title-text line-title">超级订阅服务特权</span>
                         <span class="title-bg-text">DINGYUEFUWU</span>
@@ -135,6 +160,19 @@
     </script>
     <script>
         initShare({{.T.signature }});
+        $.ajax({
+            url: '/jyactive/doubleEleven/isActiving',
+            type: 'GET',
+            success: function (res) {
+                if (res && res.error_code == 0) {
+                    if (res.data && res.data.isActiving) {
+                        $('#vip-intro-container').addClass('active-20201111')
+                    } else {
+                        $('#vip-intro-container').removeClass('active-20201111')
+                    }
+                }
+            }
+        })
     </script>
     {{include "/common/baiducc.html"}}
 </body>

+ 22 - 2
src/web/templates/weixin/vipsubscribe/vip_order_detail.html

@@ -78,6 +78,13 @@
                         <p class="o-name">超级订阅</p>
                         <p class="o-price price"></p>
                     </div>
+                    <div class="origin-price-container" style="display: none;">
+                        <p class="price-label">原价:</p>
+                        <p class="origin-price">
+                            <span class="yen">&yen;</span>
+                            <span class="price-num">1222</span>
+                        </p>
+                    </div>
                 </div>
                 <div class="middle">
                     <div class="title">订阅信息</div>
@@ -94,7 +101,7 @@
                             <span class="dyzq">订阅周期:</span>
                             <span class="item-list-parents cyclecount value"></span>
                             <span class="discount-container hide">
-                                <span>+</span>
+                                <span>&nbsp;+&nbsp;</span>
                                 <span class="highlight-text">赠送30天</span>
                             </span>
                         </p>
@@ -201,7 +208,7 @@
                     $(".productType").text("超级订阅(试用)");
                 }
                 //价格
-                $(".price").text("¥ " + r.data.order.original_price / 100 + "元");
+                $(".price").text("¥ " + formatMoney(parseFloat(r.data.order.original_price) / 100) + "元");
 
                 //优惠码
                 if (r.data.order.isUsedActiveCode) {
@@ -212,6 +219,19 @@
                 if (r.data.order.filter) {
                     var filterObj = JSON.parse(r.data.order.filter);
                     var areaText = "";
+                    // 双11活动判断
+                    var can1111 = filterObj && filterObj.original_price
+                    if (can1111) {
+                        var giveTime = filterObj.give_cycle
+                        giveTime = giveTime < 12 ? (giveTime + '个月') : ('1年')
+                        $(".discount-container .highlight-text").text('赠送' + giveTime);
+                        $(".discount-container").removeClass("hide");
+                        var originPrice = formatMoney(parseFloat(filterObj.original_price) / 100)
+                        $(".price-num").text(originPrice);
+                        $(".origin-price-container").show()
+                        $(".bill-origin-price").css("display", "flex");
+                    }
+
                     if ((r.data.order.vip_type != 2) && (r.data.order.vip_type != 1)) {
                         if (!$.isEmptyObject(filterObj.newBuyset)) {	//p1
                             var newBuyset = filterObj.newBuyset

+ 16 - 0
src/web/templates/weixin/vipsubscribe/vip_pay_success.html

@@ -49,6 +49,22 @@
 <script src="/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
 <script>
     $(function () {
+        if (window.performance.navigation.type !== 2) {
+            $.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
+                if (r && r.data) {
+                    if (r.data.isActiving && r.data.isWritten === 1) {
+                        try {
+                            var title = {{.T.title}}
+                            if (title.indexOf('超级订阅') !== -1 && title.indexOf('超级订阅试用') === -1) {
+                                setTimeout(function () {
+                                    location.href = '/big/wx/page/write_infor_wx'
+                                }, 3000)
+                            }
+                        } catch (e) {}
+                    }
+                }
+            })
+        }
         //查看订单
         $(".left_btn").on("click", function () {
             window.location.href = '/front/vipsubscribe/toOrderDetailPage?orderCode={{.T.orderCode}}'

+ 156 - 49
src/web/templates/weixin/vipsubscribe/vip_purchase.html

@@ -14,7 +14,7 @@
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/css/wxbutton.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="/vipsubscribe/css/vip_purchase.css?v={{Msg "seo" "version"}}">
 </head>
-<body>
+<body  data-weui-theme="light">
 <div style="height: 100%;">
     {{if not .T.isLiveActive}}
     <div class="vip_purchase">
@@ -22,12 +22,20 @@
         <div class="vip_purchase live-20200707">
             {{end}}
             {{if not .T.isTrial }}
-                <div class="hot-bought">
+                <div class="j-notice-bar bar-red free-7day-tip give" style="display: none;">
+                    <span class="label" style="width: 100%;text-align: center;">现在购买,买多久送多久,错过再等一年!</span>
+                </div>
+                <div class="hot-bought" style="display:none;">
                     <span class="j-icon icon-cart"></span>
                     <span class="bought-text">已有<span class="bought-num">0</span>人购买</span>
                 </div>
             {{else}}
-                <div class="j-notice-bar bar-red free-7day-tip">
+                <div class="j-notice-bar bar-red free-7day-tip give" style="display: none">
+                    <span class="label">现在购买,买多久送多久! </span>
+                    <a href="/front/vipsubscribe/vipsubscribe_new" class="link"
+                       style="padding: 0.12rem 0.32rem;">去抢!</a>
+                </div>
+                <div class="j-notice-bar bar-red free-7day-tip" style="display: none">
                     <span class="label">现在购买,可享6折优惠。</span>
                     <a href="/front/vipsubscribe/vipsubscribe_new" class="link">去购买</a>
                 </div>
@@ -85,6 +93,16 @@
 
                     </li>
                 </ul>
+                {{if not .T.isTrial }}
+                    <ul class="chooseList" id="giveTimeBox" style="display: none;">
+                        <li class="choose_item select_cycle">
+                            <div class="free-7day give">
+                                <span class="label">赠送周期</span>
+                                <i class="info"></i>
+                            </div>
+                        </li>
+                    </ul>
+                {{end}}
                 <div class="vip_rules">
                     <!--
                       <div class="auto_renew weui-cells_checkbox radio-form">
@@ -147,35 +165,52 @@
                 </div>
             </div>
             <div class="fixed-bottom-box p15">
-            {{if not .T.isTrial }}
-                <div class="origin-price">
-                    <span class="price-label">原价:</span>
-                    <div class="price-container">
-                        <span class="currency-type">&yen;</span>
-                        <span class="price-num">5.80</span>
+                {{if not .T.isTrial }}
+                    <div class="j-notice-bar bar-red vip-bar" style="display:none;">限时6折,现在购买,帮您省<span
+                                class="reduce-price">0</span>元
                     </div>
-                </div>
-            {{end}}
-            <div class="weui-cells weui-cells_checkbox radio-form">
-                <label class="weui-cell weui-check__label" for="buy">
-                    <div class="weui-cell__hd">
-                        <input type="checkbox" class="weui-check" name="buyService" id="buy"/>
-                        <i class="weui-icon-checked"></i>
+                {{end}}
+                <div class="price">
+                    <span class="billing-total">合计:</span>
+                    <!-- <strong>&yen;1,300.00</strong> -->
+                    <div class="billing-list-btn">
+                        <span class="billing-mon">&yen;</span>
+                        <strong class="billing-price">5.80</strong>
                     </div>
-                    <div class="weui-cell__bd read">
-                        <p>
-                            我已阅读,理解并接受
-                            <a href="/front/staticPage/wx-serviceterms.html">
-                                《剑鱼标讯线上购买与服务条款》
-                            </a>
-                        </p>
+                </div>
+                {{if not .T.isTrial }}
+                    <div class="origin-price" style="display:none;">
+                        <span class="discount-button">
+                            <span>优惠明细</span>
+                            <span class="iconfont icon-arrow"></span>
+                        </span>
+                        <span class="price-label">原价:</span>
+                        <div class="price-container">
+                            <span class="currency-type">&yen;</span>
+                            <span class="price-num">5.80</span>
+                        </div>
                     </div>
-                </label>
-            </div>
-            <div class="form-btn j-footer">
-                <button data-need-bind-phone class="btn enter j-button" disabled id="payHandle">去支付</button>
+                {{end}}
+                <div class="weui-cells weui-cells_checkbox radio-form">
+                    <label class="weui-cell weui-check__label" for="buy">
+                        <div class="weui-cell__hd">
+                            <input type="checkbox" class="weui-check" name="buyService" id="buy"/>
+                            <i class="weui-icon-checked"></i>
+                        </div>
+                        <div class="weui-cell__bd read">
+                            <p>
+                                我已阅读,理解并接受
+                                <a href="/front/staticPage/wx-serviceterms.html">
+                                    《剑鱼标讯线上购买与服务条款》
+                                </a>
+                            </p>
+                        </div>
+                    </label>
+                </div>
+                <div class="form-btn j-footer">
+                    <button class="btn enter j-button" disabled id="payHandle">提交订单</button>
+                </div>
             </div>
-        </div>
 
             <!-- 选择行业 -->
             <div class="js_dialog time_cycle p13" id="time_cycle" style="display: none;">
@@ -302,14 +337,73 @@
                         </button>
                     </div>
                 </div>
+            </div>
+                    <!-- 优惠明细 -->
+        <div class="j-picker adaption discount-details" style="display:none;">
+            <div class="weui-mask"></div>
+            <div class="weui-half-screen-dialog weui-picker">
+                <div class="weui-half-screen-dialog__hd">
+                    <div class="weui-half-screen-dialog__hd__main">
+                        <strong class="weui-half-screen-dialog__title">优惠明细</strong>
+                    </div>
+                    <span class="j-icon icon-del-grey cancel"></span>
+                </div>
+                <div class="weui-half-screen-dialog__bd" style="padding-bottom: 0;">
+                    <div class="weui-picker__bd">
+                        <div class="details-bd-item origin-price">
+                            <div class="d-b-left">原价</div>
+                            <div class="d-b-right">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price price-num">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item discount-price">
+                            <div class="d-b-left">限时优惠</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">-&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item now-price">
+                            <div class="d-b-left">实付</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
             </div>
         </div>
+        </div>
         <script src="/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
         <script src="/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
         <script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
         <script src='{{Msg "seo" "cdn"}}/js/check-bind-phone.js?v={{Msg "seo" "version"}}'></script>
         {{include "/common/weixin.html"}}
         <script>
+            function showGiveStatus(t) {
+                if (t) {
+                    $(".j-notice-bar.bar-red.free-7day-tip.give").css('display', 'flex')
+                    $("#giveTimeBox").show()
+                    $(".origin-price").css('display', 'flex')
+                    $('.discount-button').show().on('click', function () {
+                        var details = $('.discount-details')
+                        if (details.is(':hidden')) {
+                            $('.discount-details').show()
+                            $(this).children('.icon-arrow').addClass('up')
+                        } else {
+                            $('.discount-details').hide()
+                            $(this).children('.icon-arrow').removeClass('up')
+                        }
+                    })
+                } else {
+                    $(".j-notice-bar.bar-red.free-7day-tip.give").hide()
+                    $("#giveTimeBox").hide()
+                    $(".origin-price").hide()
+                }
+            }
+
             $(window).bind("pageshow", function (event) {
                 if (event.originalEvent.persisted) {
                     window.location.reload();
@@ -411,6 +505,11 @@
                         $DoPost("/subscribepay/vipsubscribe/getPrice", {}, function (r) {
                             if (r) {
                                 purchase.price = r;
+                                if (r.isActiving && r.isWritten === 0) {
+                                    showGiveStatus(true)
+                                } else {
+                                    showGiveStatus(false)
+                                }
                             }
                         }, false)
 
@@ -498,38 +597,38 @@
                         }
                     }
                     $(".choose_item .show_time").text(tmp);
+                    var giveTime = tmp
+                    if (giveTime.indexOf('年') !== -1) {
+                        giveTime = '1年'
+                    }
+                    $(".free-7day.give .info").text(giveTime)
                     $(".info.choose_time").val(tmp);
                 },
                 flushPrice: function (time, flag) {
                     if (this.vipSubisTrial) {
-                        $('.price strong').text('0.00');
+                        $('.price .billing-price').text('0.00');
+                        $('.now-price .dis-price').text('0.00');  // 优惠明细
                     } else {
                         var price = getsubVipOrderPriceBybuyset(this.nowBuyset, time);
+                        var givePrice = getsubVipOrderPriceBybuyset(this.nowBuyset, [time[1] === 1 ? 1 : time[0], time[1]]);
                         //var price = getsubVipOrderPrice(this.areaSelect, this.industrySelect, time, this.price);
                         var showPrice = formatMoney(price);
-                        var nowTime = new Date().getTime();
-                        var startTime = live20200707.startTime;
-                        var endTime = live20200707.endTime;
-                        var activeDiscount = parseFloat(live20200707.activeDiscount);
-                        var startTimes = parseInt(startTime) * 1000;
-                        var endTimes = parseInt(endTime) * 1000;
-                        var buyCount = {{.T.buyCount}};
-                        if (nowTime >= startTimes && nowTime < endTimes) {
-                            if (flag !== 2) {
-                                $(".price-num").text(showPrice);
-                                var activePrice = formatMoney(parseFloat(price) - parseFloat(price) * activeDiscount);
-                                $(".reduce-price").text(formatMoney(activePrice));
-                            }
-                            showPrice = formatMoney(parseFloat(price) * activeDiscount);
-                            $(".bought-num").text(buyCount);
-                        }
+
                         if (flag === 1) {
-                            $('.price strong').text(showPrice);
+                            $('.price .billing-price').text(showPrice);
+                            $('.now-price .dis-price').text(showPrice); // 优惠明细
+
+                            $('.origin-price .price-num').text(formatMoney(price + givePrice));
+                            $('.discount-price .dis-price').text(formatMoney(givePrice))
                         } else if (flag === 2) {
                             $('.computed_price').html(showPrice);
                         } else {
-                            $('.price strong').text(showPrice);
+                            $('.price .billing-price').text(showPrice);
+                            $('.now-price .dis-price').text(showPrice); // 优惠明细
+
+                            $('.origin-price .price-num').text(formatMoney(price + givePrice));
                             $('.computed_price').html(showPrice);
+                            $('.discount-price .dis-price').text(formatMoney(givePrice))
                         }
 
                     }
@@ -699,7 +798,12 @@
                         if ($(v).is(':checked') === true && $('.year_number').hasClass('active')) {
                             val = $('.active').html();
                             $('#time_cycle').hide(function () {
-                                $('.choose_time').val(val)
+                                $('.choose_time').val(val);
+                                var giveTime = val
+                                if (giveTime.indexOf('年') !== -1) {
+                                    giveTime = '1年'
+                                }
+                                $(".free-7day.give .info").text(giveTime)
                                 $('.show_time').text(val);
                             });
                             purchase.timeSelect_tmp = [parseInt(val[0]), 1]
@@ -708,6 +812,7 @@
                             $('#time_cycle').hide(function () {
                                 $('.choose_time').val(val + '个月')
                                 $('.show_time').text(val + '个月');
+                                $(".free-7day.give .info").text(val + '个月')
                             });
                             purchase.timeSelect_tmp = [parseInt(val), 2]
                         }
@@ -745,7 +850,7 @@
                         "time": $(".info:eq(2)").val().trim(),
                         "orderType":{{.T.orderType}},
                         "activeCode": activeCodes,
-                        "disWord":getParam("disWord")//分销系统
+                        "disWord": getParam("disWord")//分销系统
                     };
                     $DoPost("/subscribepay/vipsubscribe/createOrder", param, function (r) {
                         if (r.success) {
@@ -777,6 +882,8 @@
                 $('#pay_way').hide(200);
                 $('#time_cycle').hide(200);
                 $('.j-picker').hide();
+                $('.discount-details').hide()
+                $('.discount-button .icon-arrow').removeClass('up')
             }
 
             //是否可点击

+ 119 - 19
src/web/templates/weixin/vipsubscribe/vip_renew.html

@@ -34,7 +34,7 @@
     </style>
 </head>
 
-<body class="no-touch">
+<body class="no-touch"  data-weui-theme="light">
 
 {{if not .T.isLiveActive}}
 <div class="vip-renew">
@@ -45,10 +45,12 @@
             <span class="header-left">提示:</span>
             <span class="header-right">您的超级订阅服务即将到期,为不影响您的使用。请立即续费</span>
         </div>
-        <ul class="vip-body">
-            <li class="body-item area">
-                <a class="item-container" href="/front/vipsubscribe/toChooseArea">
-                    <div class="item">
+        <div class="vip-body">
+            <div class="j-notice-bar bar-red vip-bar" style="text-align: center;">现在续费,续多久送多久,错过再等一年!</div>
+            <ul style="padding: .16rem .24rem;">
+                <li class="body-item area">
+                    <a class="item-container" href="/front/vipsubscribe/toChooseArea">
+                        <div class="item">
                         <span class="item-l">
                             <span class="item-label">区域</span>
                         </span>
@@ -95,23 +97,23 @@
                     </div>
                 </a>
             </li>
-            <li class="body-item coupon-code-tx">
-                <a class="item-container coupon-code-sel" href="javascript:;">
-                    <div class="item">
+        </ul>
+        <ul style="padding: 0 .24rem;" id="giveTimeBox" style="display: none;">
+                <li class="body-item select_cycle">
+                    <div class="item-container" href="javascript:;">
+                        <div class="item">
                         <span class="item-l">
-                            <span class="leading"></span>
-                            <span class="item-label">优惠码</span>
+                            <span class="item-label">赠送周期</span>
                         </span>
-                        <span class="item-r">
-                            <span class="keywords-text">输入优惠码</span>
-                            <span class="iconfont icon-arrow"></span>
+                            <span class="item-r">
+                            <span id="giveTime" class="buy-cycle text" style="font-size: 14px;color: #9B9CA3;">6个月</span>
                         </span>
+                        </div>
                     </div>
-                </a>
-            </li>
-        </ul>
+                </li>
+            </ul>
+        </div>
         <div class="vip-footer renew">
-            <div class="j-notice-bar bar-red vip-bar">限时6折,现在购买,帮您省<span class="reduce-price">0</span>元</div>
             <div class="footer-preview-container">
                 <div class="price-preview">
                     <span class="preview-label"></span>
@@ -124,6 +126,10 @@
                     </span>
                 </div>
                 <div class="origin-price">
+                    <span class="discount-button">
+                        <span>优惠明细</span>
+                        <span class="iconfont icon-arrow"></span>
+                    </span>
                     <span class="price-label">原价:</span>
                     <div class="price-container">
                         <span class="currency-type">&yen;</span>
@@ -142,6 +148,43 @@
             </div>
         </div>
     </div>
+            <!-- 优惠明细 -->
+        <div class="j-picker adaption discount-details" style="display:none;">
+            <div class="weui-mask"></div>
+            <div class="weui-half-screen-dialog weui-picker">
+                <div class="weui-half-screen-dialog__hd">
+                    <div class="weui-half-screen-dialog__hd__main">
+                        <strong class="weui-half-screen-dialog__title">优惠明细</strong>
+                    </div>
+                    <span class="j-icon icon-del-grey cancel"></span>
+                </div>
+                <div class="weui-half-screen-dialog__bd" style="padding-bottom: 0;">
+                    <div class="weui-picker__bd">
+                        <div class="details-bd-item origin-price">
+                            <div class="d-b-left">原价</div>
+                            <div class="d-b-right">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price price-num">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item discount-price">
+                            <div class="d-b-left">限时优惠</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">-&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                        <div class="details-bd-item now-price">
+                            <div class="d-b-left">实付</div>
+                            <div class="d-b-right text-red">
+                                <span class="dis-mon">&yen;</span>
+                                <span class="dis-price">0</span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
 
     <!-- 计费清单picker -->
     <div class="billing-list-container p13" style="display: none;">
@@ -334,7 +377,30 @@
     <script src="/vipsubscribe/js/UpgradePrice.js?v={{Msg "seo" "version"}}"></script>
     {{include "/common/weixin.html"}}
     <script>
-        $(window).bind("pageshow", function (event) {
+    function showGiveStatus (t) {
+        if (t) {
+            $(".vip-bar").show()
+            $("#giveTimeBox").show()
+            $(".origin-price").css('display', 'flex')
+            $(".discount-details .weui-picker").css('bottom', $(".vip-footer.renew").height() + 'px')
+            $('.discount-button').show().on('click', function () {
+                var details = $('.discount-details')
+                if (details.is(':hidden')) {
+                    $('.discount-details').show()
+                    $(this).children('.icon-arrow').addClass('up')
+                } else {
+                    $('.discount-details').hide()
+                    $(this).children('.icon-arrow').removeClass('up')
+                }
+            })
+        } else {
+            $(".vip-bar").hide()
+            $("#giveTimeBox").hide()
+            $(".origin-price").hide()
+        }
+    }
+
+    $(window).bind("pageshow", function (event) {
             if (event.originalEvent.persisted) {
                 window.location.reload();
             }
@@ -405,6 +471,20 @@
                     $DoPost("/subscribepay/vipsubscribe/getPrice", {}, function (r) {
                         if (r) {
                             purchase.price = r;
+                            purchase.can1111 = r.isActiving && r.isWritten === 0
+                            if (purchase.can1111) {
+                                if (!sessionStorage.getItem("vipSubSelectTime")) {
+                                    purchase.timeValue = "1年";
+                                    purchase.timeSelect_tmp = [1,1]
+                                    purchase.timeSelect = purchase.timeSelect_tmp;
+                                    purchase.showTime();
+                                    purchase.flushPrice(purchase.timeSelect, 1);
+                                    sessionStorage.setItem("vipSubSelectTime", JSON.stringify(purchase.timeSelect));
+                                }
+                                showGiveStatus(true)
+                            } else {
+                                showGiveStatus(false)
+                            }
                         }
                     }, false)
 
@@ -490,6 +570,7 @@
                 //var price = getsubVipOrderPrice(this.areaSelect, this.industrySelect, time, this.price);
                 var times = [time[0], time[1]];
                 var price = getsubVipOrderPriceBybuyset(this.nowBuyset, time);
+                var givePrice = getsubVipOrderPriceBybuyset(this.nowBuyset, [time[1] === 1 ? 1 :time[0], time[1]]);
                 var showPrice = formatMoney(price);
                 var nowTime = new Date().getTime();
                 var startTime = live20200707.startTime;
@@ -507,11 +588,22 @@
                 }
                 if (flag === 1) {
                     $('.billing-price').text(showPrice);
+                    $('.origin-price .price-num').text(formatMoney(parseFloat(price + givePrice)));
+                    // 优惠明细
+                    $('.discount-price .dis-price').text(formatMoney(givePrice))
+                    $('.now-price .dis-price').text(formatMoney(price));
+
                 } else if (flag === 2) {
                     $('.computed_price').html(showPrice);
                 } else {
                     $('.billing-price').text(showPrice);
+                    $('.origin-price .price-num').text(formatMoney(parseFloat(price + givePrice)));
+
                     $('.computed_price').html(showPrice);
+                    // 优惠明细
+                    $('.discount-price .dis-price').text(formatMoney(givePrice))
+                    $('.now-price .dis-price').text(formatMoney(price));
+
                 }
                 this.flushSelectTime(times, flag === undefined ? 1 : flag);
             },
@@ -523,6 +615,12 @@
 
                     if (flag === 1) {
                         $(".select_cycle .month").text(this.timeValue);
+                        var giveTime = this.timeValue
+                        if (this.timeValue.indexOf('年') !== -1) {
+                            giveTime = '1年'
+                        }
+                        $(".select_cycle #giveTime").text(giveTime);
+
                         $(".select_cycle .duration").text(time1 + "-" + time2);
                         $(".select_cycle .duration").show();
                     }
@@ -530,7 +628,7 @@
                     //是否超过三年
                     var now = Math.floor(new Date().getTime() / 1000);
                     var MaxEnd = getVipEndDate(1, 3, now);
-                    if (end > MaxEnd) {
+                    if (!purchase.can1111 && end > MaxEnd) {
                         var timeShow = getDateSub(now, this.endTime);
                         var showTipText = "<div style='white-space: nowrap;'>最长订阅周期不可超过3年</div>剩余周期:";
                         if (timeShow[0] !== 0) {
@@ -831,6 +929,8 @@
             $('#pay_way').hide(200);
             $('#time_cycle').hide(200);
             $('.j-picker').hide();
+            $('.discount-details').hide()
+            $('.discount-button .icon-arrow').removeClass('up')
         }
 
         function clearSessionStorage() {

+ 15 - 4
src/web/templates/weixin/wxkeyset/index.html

@@ -24,8 +24,8 @@
         <div class="vip_banner">
             <div class="banner-box">
                 <span class="j-icon vip-icon"></span>
-                <span class="content">300 组关键词特权</span>
-                <a class="right-action" id="free-keyset-list-link" href="/front/vipsubscribe/introducePage">免费试用</a>
+                <span  data-name="doubleEleven_title" class="content">300组关键词特权</span>
+                <a  data-name="doubleEleven_button" class="right-action" id="free-keyset-list-link" href="/front/vipsubscribe/introducePage">免费试用</a>
             </div>
         </div>
         <div class="j-main keyset" ref="jMain">
@@ -68,7 +68,7 @@
                 </li>
             </ul>
         </div>
-        <div 
+        <div
             class="add-keyword icon-del"
             v-if="keyList.length < conf.maxKeyLength"
             ref="addButton"
@@ -85,6 +85,17 @@
             </div>
         </div>
     </div>
+    <script>
+        // 双11活动文案修改
+        $.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
+            if (r && r.data) {
+                if (r.data.isActiving) {
+                    $('*[data-name="doubleEleven_title"]').text('买超级订阅,买多久送多久!')
+                    $('*[data-name="doubleEleven_button"]').text('去抢')
+                }
+            }
+        })
+    </script>
     <script src="{{Msg "seo" "cdn"}}/js/vue.min.js"></script>
     <script src="{{Msg "seo" "cdn"}}/js/swiper.min.js"></script>
     <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js"></script>
@@ -93,4 +104,4 @@
     {{include "/common/baiducc.html"}}
 </body>
 
-</html>
+</html>

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä