فهرست منبع

Merge branch 'master' of http://192.168.3.207:10080/qmx/jyOpenAPI

wangshan 7 سال پیش
والد
کامیت
abfdba9a11

BIN
pkg/windows_amd64/apiservice/config.a


BIN
pkg/windows_amd64/apiservice/oamanager.a


BIN
pkg/windows_amd64/apiservice/tools.a


+ 0 - 27
src/apiservice/config/config.go

@@ -1,38 +1,11 @@
 package config
 
 import (
-	"log"
 	"qfw/util"
-	"regexp"
-
-	"github.com/go-xweb/xweb"
 )
 
-type Config struct {
-	*xweb.Action
-	article xweb.Mapper `xweb:"/article/(.*).html"`
-}
-
 var Sysconfig map[string]interface{}
-var regex = regexp.MustCompile("(Android|Mobile)")
 
 func init() {
-	xweb.AddAction(&Config{})
 	util.ReadConfig(&Sysconfig)
 }
-
-func (c *Config) Article(id string) {
-	log.Println(id)
-	bm := false
-	client := c.Header("User-Agent")
-	bm = regex.MatchString(client)
-	log.Println("bm-----", bm)
-	if bm { //手机访问
-		//解密id
-		log.Println(2222)
-	} else { //pc端访问
-		sid_openid := util.DecodeArticleId2ByCheck(id)[0]
-		log.Println("id-----", sid_openid)
-		c.Render("/pc/pc.html")
-	}
-}

+ 147 - 0
src/apiservice/oamanager/content.go

@@ -0,0 +1,147 @@
+package oamanager
+
+import (
+	"net"
+	"qfw/util"
+	elastic "qfw/util/elastic"
+	"regexp"
+	"strings"
+	"sync"
+	"time"
+
+	"github.com/go-xweb/xweb"
+)
+
+type Content struct {
+	*xweb.Action
+	article xweb.Mapper `xweb:"/article/(.*).html"`
+}
+
+var regex = regexp.MustCompile("(Android|Mobile)")
+
+//对map的同步
+var lock sync.Mutex
+
+func init() {
+	xweb.AddAction(&Content{})
+}
+func (c *Content) Article(id string) {
+	bm := false
+	client := c.Header("User-Agent")
+	c.Request.Proto = GetIp(c)
+	addLog(c)
+	bm = regex.MatchString(client)
+	//解密id
+	sid_openid := util.DecodeArticleId2ByCheck(id)[0]
+	//sid_openid = "596c129d5d11e1c74547e6ff"
+	//查询数据
+	data := *elastic.GetByIdField("bidding", "bidding", sid_openid, `"detail","title","projectname","publishtime"`)
+	timeF := data["publishtime"].(float64)
+	time := time.Unix(int64(timeF), 0).Format("2006-01-02 15:04")
+	detail := strings.Replace(util.ObjToString(data["detail"]), " ", "", -1)
+	c.T["time"] = time
+	c.T["title"] = data["title"]
+	c.T["detail"] = detail
+	c.T["projectname"] = data["projectname"]
+	//返回页面
+	if bm { //手机访问
+		c.Render("/app/app.html", &c.T)
+	} else { //pc端访问
+		c.Render("/pc/pc.html", &c.T)
+	}
+}
+
+func addLog(c *Content) {
+	req := c.Request
+	timeNow := time.Now()
+	agent := req.Header.Get("user-agent")
+	ref := req.Referer()
+	s_url := req.RequestURI
+	date := timeNow.Unix()
+	logs := map[string]interface{}{
+		"l_date":    date,
+		"s_ip":      req.Proto,
+		"s_refer":   ref,
+		"i_year":    timeNow.Year(),
+		"i_month":   timeNow.Month(),
+		"i_day":     timeNow.Day(),
+		"i_hour":    timeNow.Hour(),
+		"i_minutes": timeNow.Minute(),
+		//"s_describe": req.Form,
+		"s_client": agent,
+		"s_os":     GetOS(agent),
+		"s_browse": GetBrowse(agent),
+		"s_method": req.Method,
+		"s_url":    s_url,
+	}
+	lock.Lock()
+	mongodb.SaveBulk("log", logs)
+	lock.Unlock()
+}
+
+//获取平台类型
+func GetOS(useros string) string {
+	osVersion := "其他"
+	if strings.Contains(useros, "NT 6.0") {
+		osVersion = "Windows Vista/Server 2008"
+	} else if strings.Contains(useros, "NT 5.2") {
+		osVersion = "Windows Server 2003"
+	} else if strings.Contains(useros, "NT 5.1") {
+		osVersion = "Windows XP"
+	} else if strings.Contains(useros, "NT 5") {
+		osVersion = "Windows 2000"
+	} else if strings.Contains(useros, "Mac") {
+		osVersion = "Mac"
+	} else if strings.Contains(useros, "Unix") {
+		osVersion = "UNIX"
+	} else if strings.Contains(useros, "Linux") {
+		osVersion = "Linux"
+	} else if strings.Contains(useros, "SunOS") {
+		osVersion = "SunOS"
+	} else if strings.Contains(useros, "NT 6.3") {
+		osVersion = "Window8"
+	} else if strings.Contains(useros, "NT 6.1") {
+		osVersion = "Window7"
+	} else if strings.Contains(useros, "NT 10.0") {
+		osVersion = "Window10"
+	}
+	return osVersion
+}
+
+//获取浏览器类型
+func GetBrowse(userbrowser string) string {
+	browserVersion := "其他"
+	if strings.Contains(userbrowser, "MSIE") {
+		browserVersion = "IE"
+	} else if strings.Contains(userbrowser, "Firefox") {
+		browserVersion = "Firefox"
+	} else if strings.Contains(userbrowser, "Chrome") {
+		browserVersion = "Chrome"
+	} else if strings.Contains(userbrowser, "Safari") {
+		browserVersion = "Safari"
+	} else if strings.Contains(userbrowser, "rv:11.0") {
+		browserVersion = "IE11"
+	}
+
+	return browserVersion
+}
+
+//获取请求ip
+func GetIp(c *Content) string {
+	req := c.Request
+	ip_for := req.Header.Get("x-forwarded-for")
+	ip_client := req.Header.Get("http_client_ip")
+	ip_addr := req.Header.Get("Remote_addr")
+	un := "unknown"
+	if (ip_for != un) && (len(strings.TrimSpace(ip_for)) > 0) {
+		return ip_for
+	}
+	if (ip_client != un) && (len(strings.TrimSpace(ip_client)) > 0) {
+		return ip_client
+	}
+	if (ip_addr != un) && (len(strings.TrimSpace(ip_addr)) > 0) {
+		return ip_addr
+	}
+	ip, _, _ := net.SplitHostPort(req.RemoteAddr)
+	return ip
+}

+ 6 - 13
src/web/staticres/css/pc.css

@@ -63,18 +63,10 @@
   color: #686868;
 }
 
-#jy-pc .main .inner .left .list {
-  padding: 42px 0;
-}
-
-#jy-pc .main .inner .left .list li {
-  font-family: MicrosoftYaHei;
-  font-size: 16px;
-  font-weight: normal;
-  font-stretch: normal;
-  line-height: 30px;
-  letter-spacing: 0px;
-  color: #101010;
+#jy-pc .main .inner .left .list .com-detail{
+  	padding: 42px 0;
+	font-size: 16px;
+    line-height: 30px;
 }
 
 #jy-pc .main .inner .left .bottom {
@@ -99,5 +91,6 @@
   line-height: 16px;
   box-sizing: border-box;
   padding: 190px 12px 0 11px;
-  background: #fff url(../images/jy-ewm.jpg) 12px 16px no-repeat;
+  background: #fff url(../images/jy-ewm.png) 12px 16px no-repeat;
+  background-size: 172px;
 }

BIN
src/web/staticres/images/jy-ewm.png


+ 18 - 28
src/web/templates/app/app.html

@@ -10,7 +10,7 @@
 		<script type="text/javascript" src="../lib/n_rem.js"></script>
 		<link rel="stylesheet" type="text/css" href="../css/app.css" />
 		<title>剑鱼招标订阅</title>
-
+		<script src="../js/jquery-3.2.1.min.js"></script>
 	</head>
 
 	<body>
@@ -20,40 +20,20 @@
 				<a class="logo-text" href="#"><span class="text">全国招标信息免费看,不遮挡</span></a>
 			</header>
 			<section class="main">
-				<h3 class="title">兴宁市2018年农村公益电影放映主体采购项目竞争性谈判
-</h3>
+				<h3 class="title">{{.T.title}}</h3>
 				<div class="title-sub">
 					<div class="link">
-						<a href="#">jianyu360.com ></a>
+						<a href="https://www.jianyu360.com/">jianyu360.com ></a>
 					</div>
 					<div class="date">
-						<span>2018-01-09</span>
-						<span>15:39</span>
+						{{.T.time}}
 					</div>
 				</div>
 				<div class="main-info">
 					<ul>
-						<li>广东粤能工程管理有限公司受兴宁市文化广电新闻出版局的委托,拟对兴宁市2018年农村公益电影放映主体采购项目进行竞争性谈判,欢迎符合资格条件的供应商参加。本项目将优先确定符合相应资格条件的自主创新产品、节能产品、环保产品供应商参加谈判。</li>
-						<li>一、采购项目编号: </li>
-						<li><span>441481-201801-606001-0001</span></li>
-						<li>二、采购项目名称:<span>兴宁市2018年农村公益电影放映主体采购项目</span></li>
-						<li>三、采购项目预算金额(元):<span>1,829,100</span></li>
-						<li>四、采购数量:<span>1家</span></li>
-						<li>五、项目内容及需求:<span>(采购项目技术规格、参数及要求,需要落实的政府采购政策)</span></li>
-						<li>1. 项目名称:<span>兴宁市2018年农村公益电影放映主体采购项目</span></li>
-						<li>2. 项目编号:<span>GDYNMZ20180122</span></li>
-						<li>项目内容、数量及交货期:(详见谈判文件用户需求书)</li>
-
-						<li>六、供应商资格:</li>
-						<li>1、具有独立承担民事责任能力的在中华人民共和国境内注册的法人或其他组织</li>
-						<li>2、投标人应提供自本项目招标公告发布之日起在信用中国网站(www.creditchina.gov.cn)“信用信息”、中国政府采购网(www.creditchina.gov.cn)“政府采购严重违法失信行为信息记录”查询情况证明(提供两个网站的信用记录查询结果打印页面或全部内容的网页截图并加盖投标人公章),如有被列入失信被执行人、重大税收违法案件当事人名单、政府采购严重违法失信行为记录名单的供应商,不得参与本次政府采购活动,否则在查核后将被拒绝;</li>
-						<li>3、符合《中华人民共和国政府采购法》第二十二条的规定,提供以下证明材料; </li>
-						<li>①法人或其他组织的营业执照(复印件);</li>
-						<li>②财务状况报告(复印件),或者提供由投标人基本开户银行出具的资信证明】;</li>
-						<li>③提供近期的缴纳税收和社会保障资金的凭证(复印件)。如依法免税或不需要缴纳社会保障资金的,应提供相应文件证明(复印件);</li>
-						<li>④具备履行合同所必需的设备和专业技术能力的书面承诺函(原件);</li>
-						<li>⑤参加政府采购活动前3年内在经营活动中没有重大违法记录的书面声明(原件);</li>
-						<li>4、本项目不接受联合体投标。</li>
+						<div class="com-detail">
+							{{Html (Regexp (Regexp .T.detail "(\\n|\\\\n)\\s+" "\n") "(\\n|\\\\n)+" "<br/>")}}
+						</div>
 					</ul>
 				</div>
 				
@@ -62,7 +42,17 @@
 				<a href="#">剑鱼招标订阅</a>提供数据支持
 			</footer>
 		</div>
-
+		
+		<script type="text/javascript">
+			$(function(){
+				var infoDetail = $(".com-detail").html();
+				infoDetail = infoDetail.replace(/&nbsp;/gi,'')
+				if(infoDetail){
+					$(".com-detail").html(infoDetail.replace(/(<\/?br\/?>)+/ig,"<br>"));
+				}
+			})
+		</script>
+		
 	</body>
 
 </html>

+ 29 - 47
src/web/templates/pc/pc.html

@@ -9,7 +9,7 @@
 		<link rel="stylesheet" type="text/css" href="../lib/reset_pc.css" />
 		<link rel="stylesheet" type="text/css" href="../css/pc.css" />
 		<title>剑鱼招标订阅</title>
-
+		<script src="../js/jquery-3.2.1.min.js"></script>
 	</head>
 
 	<body>
@@ -23,55 +23,16 @@
 				<div class="inner w clearfix">
 					<div class="left fl">
 						<div class="title">
-							<h3>兴宁市2018年农村公益电影放映主体采购项目竞争性谈判</h3>
+							<h3>{{.T.title}}</h3>
 							<div class="sub-title">
-								<a href="#">jianyu360.com&nbsp;&nbsp;&gt;</a>
-								<span class="date">2018-01-09 15:25</span>
+								<a href="https://www.jianyu360.com/">jianyu360.com&nbsp;&nbsp;&gt;</a>
+								<span class="date">{{.T.time}}</span>
 							</div>
 						</div>
 						<ul class="list">
-							<li>广东粤能工程管理有限公司受兴宁市文化广电新闻出版局的委托,拟对兴宁市2018年农村公益电影放映主体采购项目进行竞争性谈判,欢迎符合资格条件的供应商参加。本项目将优先确定符合相应资格条件的自主创新产品、节能产品、环保产品供应商参加谈判。</li>
-							<li>一、采购项目编号: </li>
-							<li><span>441481-201801-606001-0001</span></li>
-							<li>二、采购项目名称:<span>兴宁市2018年农村公益电影放映主体采购项目</span></li>
-							<li>三、采购项目预算金额(元):<span>1,829,100</span></li>
-							<li>四、采购数量:<span>1家</span></li>
-							<li>五、项目内容及需求:<span>(采购项目技术规格、参数及要求,需要落实的政府采购政策)</span></li>
-							<li>1. 项目名称:<span>兴宁市2018年农村公益电影放映主体采购项目</span></li>
-							<li>2. 项目编号:<span>GDYNMZ20180122</span></li>
-							<li>项目内容、数量及交货期:(详见谈判文件用户需求书)</li>
-
-							<li>六、供应商资格:</li>
-							<li>1、具有独立承担民事责任能力的在中华人民共和国境内注册的法人或其他组织</li>
-							<li>2、投标人应提供自本项目招标公告发布之日起在信用中国网站
-								(www.creditchina.gov.cn)“信用信息”、中国政府采购网
-								(www.creditchina.gov.cn)“政府采购严重违法失信行为信息记录”查询情况证明(提供两个网站的信用记录查询结果打印页面或全部内容的网页截图并加盖投标人公章),如有被列入失信被执行人、重大税收违法案件当事人名单、政府采购严重违法失信行为记录名单的供应商,不得参与本次政府采购活动,否则在查核后将被拒绝;</li>
-							<li>3、符合《中华人民共和国政府采购法》第二十二条的规定,提供以下证明材料; </li>
-							<li>①法人或其他组织的营业执照(复印件);</li>
-							<li>②财务状况报告(复印件),或者提供由投标人基本开户银行出具的资信证明】;</li>
-							<li>③提供近期的缴纳税收和社会保障资金的凭证(复印件)。如依法免税或不需要缴纳社会保障资金的,应提供相应文件证明(复印件);</li>
-							<li>④具备履行合同所必需的设备和专业技术能力的书面承诺函(原件);</li>
-							<li>⑤参加政府采购活动前3年内在经营活动中没有重大违法记录的书面声明(原件);</li>
-							<li>4、本项目不接受联合体投标。</li>
-							<li>七、符合资格的供应商应当在2018年01月26日至2018年02月1日期间(上午08:30至11:30,下午14:30至17:30,法定节假日除外,不少于5个工作日)到(广东粤能工程管理有限公司)(详细地址:兴宁市岭东花园岭东门市24卡(广东粤能工程管理有限公司)购买谈判(磋商、询价)文件,谈判(磋商、询价)文件每套售价200元(人民币),售后不退。</li>
-							<li>八、提交谈判(磋商、询价)文件截止时间:<span>2018 年02 月08 日15 时00 分</span></li>
-							<li>九、提交谈判(磋商、询价)文件地点:<span>梅州市新都路67号(广东粤能工程管理有限公司)</span> </li>
-							<li>十、谈判(磋商、询价)时间:<span>2018 年02 月08 日15 时00 分</span></li>
-							<li>十一、谈判(磋商、询价)地点:<span>(详细地址) 梅州市新都路67号(广东粤能工程管理有限公司)</span> </li>
-							<li>十二、本公告期限 (3个工作日)自2018年01月25日至2018年01月29日止。</li>
-							<li>十三、联系事项 </li>
-							<li>(一)采购项目联系人(代理机构):王先生 联系电话:0753-3321132 采购项目联系人(采购人):钟先生 联系电话:0753-0753-3356589</li>
-							<li>(二)采购代理机构 :广东粤能工程管理有限公司 地址:广州市天河北路663号(广东机械研究所大院)自编8栋9层</li>
-							<li>联系人:古爱媚 联系电话:020-38730932</li>
-							<li>传真:020-38731486 邮编:510630</li>
-							<li>(三)采购人:兴宁市文化广电新闻出版局 地址:兴宁市中山西路74号</li>
-							<li>联系人:何培嵩 联系电话:0753-3356147</li>
-							<li>传真:0753-3356147 邮编:514500</li>
-							<li>附件</li>
-							<li>1、委托代理协议:委托代理协议</li>
-							<li>2、竞争性谈判(磋商)文件/询价通知书:竞争性谈判(磋商)文件/询价通知书</li>
-							<li>发布人:广东粤能工程管理有限公司</li>
-							<li>发布时间:2018年01月25日"</li>
+							<div class="com-detail">
+								{{Html (Regexp (Regexp .T.detail "(\\n|\\\\n)\\s+" "\n") "(\\n|\\\\n)+" "<br/>")}}
+							</div>
 						</ul>
 						<div class="bottom">
 							<a href="#">剑鱼招标订阅</a>
@@ -86,6 +47,27 @@
 			</div>
 		</div>
 
+		<script type="text/javascript">
+			$(function(){
+				var infoDetail = $(".com-detail").html();
+				infoDetail = infoDetail.replace(/&nbsp;/gi,'')
+				if(infoDetail){
+					$(".com-detail").html(infoDetail.replace(/(<\/?br\/?>)+/ig,"<br>"));
+				}
+			})
+		</script>
+		
+		
+		<!--百度统计start-->
+		<script>
+		var _hmt = _hmt || [];
+		(function(){
+			var hm = document.createElement("script");
+			hm.src = "//hm.baidu.com/hm.js?d7bc90fd54f45f37f12967f13c4ba19a";
+			var s = document.getElementsByTagName("script")[0]; 
+			s.parentNode.insertBefore(hm, s);
+		})();
+		</script>
+		<!--百度统计end-->
 	</body>
-
 </html>