正在显示
10 个修改的文件
包含
0 行增加
和
580 行删除
trunk/research/community/server.py
已删除
100755 → 0
| 1 | -#!/usr/bin/python | ||
| 2 | -''' | ||
| 3 | -The MIT License (MIT) | ||
| 4 | - | ||
| 5 | -Copyright (c) 2013-2014 winlin | ||
| 6 | - | ||
| 7 | -Permission is hereby granted, free of charge, to any person obtaining a copy of | ||
| 8 | -this software and associated documentation files (the "Software"), to deal in | ||
| 9 | -the Software without restriction, including without limitation the rights to | ||
| 10 | -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||
| 11 | -the Software, and to permit persons to whom the Software is furnished to do so, | ||
| 12 | -subject to the following conditions: | ||
| 13 | - | ||
| 14 | -The above copyright notice and this permission notice shall be included in all | ||
| 15 | -copies or substantial portions of the Software. | ||
| 16 | - | ||
| 17 | -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 18 | -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||
| 19 | -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||
| 20 | -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||
| 21 | -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
| 22 | -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 23 | -''' | ||
| 24 | - | ||
| 25 | -""" | ||
| 26 | -the community is a default demo server for srs | ||
| 27 | -""" | ||
| 28 | - | ||
| 29 | -import sys | ||
| 30 | -# reload sys model to enable the getdefaultencoding method. | ||
| 31 | -reload(sys) | ||
| 32 | -# set the default encoding to utf-8 | ||
| 33 | -# using exec to set the encoding, to avoid error in IDE. | ||
| 34 | -exec("sys.setdefaultencoding('utf-8')") | ||
| 35 | -assert sys.getdefaultencoding().lower() == "utf-8" | ||
| 36 | - | ||
| 37 | -import os, json, time, datetime, cherrypy, threading | ||
| 38 | - | ||
| 39 | -# simple log functions. | ||
| 40 | -def trace(msg): | ||
| 41 | - date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") | ||
| 42 | - print "[%s][trace] %s"%(date, msg) | ||
| 43 | - | ||
| 44 | -# enable crossdomain access for js-client | ||
| 45 | -# define the following method: | ||
| 46 | -# def OPTIONS(self, *args, **kwargs) | ||
| 47 | -# enable_crossdomain() | ||
| 48 | -# invoke this method to enable js to request crossdomain. | ||
| 49 | -def enable_crossdomain(): | ||
| 50 | - cherrypy.response.headers["Access-Control-Allow-Origin"] = "*" | ||
| 51 | - cherrypy.response.headers["Access-Control-Allow-Methods"] = "GET, POST, HEAD, PUT, DELETE" | ||
| 52 | - # generate allow headers for crossdomain. | ||
| 53 | - allow_headers = ["Cache-Control", "X-Proxy-Authorization", "X-Requested-With", "Content-Type"] | ||
| 54 | - cherrypy.response.headers["Access-Control-Allow-Headers"] = ",".join(allow_headers) | ||
| 55 | - | ||
| 56 | -# error codes definition | ||
| 57 | -class Error: | ||
| 58 | - # ok, success, completed. | ||
| 59 | - success = 0 | ||
| 60 | - | ||
| 61 | -# HTTP RESTful path. | ||
| 62 | -class Root(object): | ||
| 63 | - exposed = True | ||
| 64 | - | ||
| 65 | - def __init__(self): | ||
| 66 | - self.api = Api() | ||
| 67 | - def GET(self): | ||
| 68 | - enable_crossdomain(); | ||
| 69 | - return json.dumps({"code":Error.success, "urls":{"api":"the api root"}}) | ||
| 70 | - def OPTIONS(self, *args, **kwargs): | ||
| 71 | - enable_crossdomain(); | ||
| 72 | -# HTTP RESTful path. | ||
| 73 | -class Api(object): | ||
| 74 | - exposed = True | ||
| 75 | - | ||
| 76 | - def __init__(self): | ||
| 77 | - self.v1 = V1() | ||
| 78 | - def GET(self): | ||
| 79 | - enable_crossdomain(); | ||
| 80 | - return json.dumps({"code":Error.success, | ||
| 81 | - "urls": { | ||
| 82 | - "v1": "the api version 1.0" | ||
| 83 | - } | ||
| 84 | - }); | ||
| 85 | - def OPTIONS(self, *args, **kwargs): | ||
| 86 | - enable_crossdomain(); | ||
| 87 | -# HTTP RESTful path. to access as: | ||
| 88 | -# http://127.0.0.1:8085/api/v1/clients | ||
| 89 | -class V1(object): | ||
| 90 | - exposed = True | ||
| 91 | - | ||
| 92 | - def __init__(self): | ||
| 93 | - pass; | ||
| 94 | - def OPTIONS(self, *args, **kwargs): | ||
| 95 | - enable_crossdomain(); | ||
| 96 | - | ||
| 97 | -''' | ||
| 98 | -main code start. | ||
| 99 | -''' | ||
| 100 | -# donot support use this module as library. | ||
| 101 | -if __name__ != "__main__": | ||
| 102 | - raise Exception("embed not support") | ||
| 103 | - | ||
| 104 | -# check the user options | ||
| 105 | -if len(sys.argv) <= 1: | ||
| 106 | - print "SRS community server, Copyright (c) 2013-2014 winlin" | ||
| 107 | - print "Usage: python %s <port>"%(sys.argv[0]) | ||
| 108 | - print " port: the port to listen at." | ||
| 109 | - print "For example:" | ||
| 110 | - print " python %s 1949"%(sys.argv[0]) | ||
| 111 | - print "" | ||
| 112 | - print "See also: https://github.com/winlinvip/simple-rtmp-server" | ||
| 113 | - sys.exit(1) | ||
| 114 | - | ||
| 115 | -# parse port from user options. | ||
| 116 | -port = int(sys.argv[1]) | ||
| 117 | -static_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), "static-dir")) | ||
| 118 | -trace("api server listen at port: %s, static_dir: %s"%(port, static_dir)) | ||
| 119 | - | ||
| 120 | -# cherrypy config. | ||
| 121 | -conf = { | ||
| 122 | - 'global': { | ||
| 123 | - 'server.shutdown_timeout': 1, | ||
| 124 | - 'server.socket_host': '0.0.0.0', | ||
| 125 | - 'server.socket_port': port, | ||
| 126 | - 'tools.encode.on': True, | ||
| 127 | - 'tools.staticdir.on': True, | ||
| 128 | - 'tools.encode.encoding': "utf-8", | ||
| 129 | - #'server.thread_pool': 2, # single thread server. | ||
| 130 | - }, | ||
| 131 | - '/': { | ||
| 132 | - 'tools.staticdir.dir': static_dir, | ||
| 133 | - 'tools.staticdir.index': "index.html", | ||
| 134 | - # for cherrypy RESTful api support | ||
| 135 | - 'request.dispatch': cherrypy.dispatch.MethodDispatcher() | ||
| 136 | - } | ||
| 137 | -} | ||
| 138 | - | ||
| 139 | -# start cherrypy web engine | ||
| 140 | -trace("start cherrypy server") | ||
| 141 | -root = Root() | ||
| 142 | -cherrypy.quickstart(root, '/', conf) | ||
| 143 | - |
| 1 | -<html> | ||
| 2 | -<head> | ||
| 3 | - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
| 4 | - <meta property="qc:admins" content="35453715257630661457637577164165323" /> | ||
| 5 | - <title>DailyReport</title> | ||
| 6 | -</head> | ||
| 7 | -<body> | ||
| 8 | - <script type="text/javascript" src="http://tajs.qq.com/stats?sId=27171919" charset="UTF-8"></script> | ||
| 9 | - <script type="text/javascript" src="js/jquery.js"></script> | ||
| 10 | - <script type="text/javascript"> | ||
| 11 | - function parse_query_string(){ | ||
| 12 | - var query_string = String(window.location.hash).split("#")[1]; | ||
| 13 | - if(query_string == undefined){ | ||
| 14 | - return {}; | ||
| 15 | - } | ||
| 16 | - | ||
| 17 | - var queries = query_string.split("&"); | ||
| 18 | - var obj = {}; | ||
| 19 | - $(queries).each(function(){ | ||
| 20 | - var query = this.split("="); | ||
| 21 | - obj[query[0]] = query[1]; | ||
| 22 | - }); | ||
| 23 | - | ||
| 24 | - return obj; | ||
| 25 | - } | ||
| 26 | - | ||
| 27 | - function jump(){ | ||
| 28 | - // discovery the query string. | ||
| 29 | - var obj = parse_query_string(); | ||
| 30 | - //console.log(obj); | ||
| 31 | - | ||
| 32 | - // for IE, cannot pase the char ":", we use ".." to substitued. | ||
| 33 | - var host = obj.state; | ||
| 34 | - | ||
| 35 | - if(!host){ | ||
| 36 | - alert("invalid state to parsed to host"); | ||
| 37 | - return; | ||
| 38 | - } | ||
| 39 | - | ||
| 40 | - // generate the redirect url. | ||
| 41 | - var url = ""; | ||
| 42 | - if (host == "check") { | ||
| 43 | - url = "http://182.92.80.26:8085/srs/releases/index.html" + window.location.hash; | ||
| 44 | - } else { | ||
| 45 | - url = "http://182.92.80.26:1949/ui/auth.html" + window.location.hash; | ||
| 46 | - } | ||
| 47 | - //console.log(url); | ||
| 48 | - //document.write(url); | ||
| 49 | - | ||
| 50 | - window.location.href = url; | ||
| 51 | - } | ||
| 52 | - jump(); | ||
| 53 | - </script> | ||
| 54 | -</body> |
| 1 | -#slideshow_wrapper { | ||
| 2 | - POSITION: relative; | ||
| 3 | - PADDING-BOTTOM: 0px; | ||
| 4 | - PADDING-LEFT: 0px; | ||
| 5 | - WIDTH: 980px; | ||
| 6 | - PADDING-RIGHT: 0px; | ||
| 7 | - HEIGHT: 446px; | ||
| 8 | - OVERFLOW: hidden; | ||
| 9 | - PADDING-TOP: 0px | ||
| 10 | -} | ||
| 11 | -#slideshow_footbar { | ||
| 12 | - Z-INDEX: 5; | ||
| 13 | - POSITION: absolute; | ||
| 14 | - WIDTH: 100%; | ||
| 15 | - BOTTOM: 0px; | ||
| 16 | - HEIGHT: 30px; | ||
| 17 | -} | ||
| 18 | -#slideshow_photo { | ||
| 19 | - POSITION: absolute; | ||
| 20 | - WIDTH: 100%; | ||
| 21 | - HEIGHT: 100%; | ||
| 22 | - CURSOR: pointer | ||
| 23 | -} | ||
| 24 | -#slideshow_photo A { | ||
| 25 | - Z-INDEX: 1; | ||
| 26 | - BORDER-BOTTOM: 0px; | ||
| 27 | - POSITION: absolute; | ||
| 28 | - BORDER-LEFT: 0px; | ||
| 29 | - MARGIN: 0px; | ||
| 30 | - DISPLAY: block; | ||
| 31 | - BORDER-TOP: 0px; | ||
| 32 | - TOP: 0px; | ||
| 33 | - BORDER-RIGHT: 0px; | ||
| 34 | - LEFT: 0px | ||
| 35 | -} | ||
| 36 | -#slideshow_footbar .slideshow-bt { | ||
| 37 | - BACKGROUND-COLOR: #ccc; | ||
| 38 | - MARGIN: 10px 0px 0px 10px; | ||
| 39 | - WIDTH: 9px; | ||
| 40 | - DISPLAY: inline; | ||
| 41 | - FLOAT: left; | ||
| 42 | - HEIGHT: 9px; | ||
| 43 | - border-radius:5px; | ||
| 44 | - FONT-SIZE: 0px | ||
| 45 | -} | ||
| 46 | -#slideshow_footbar .bt-on { | ||
| 47 | - BACKGROUND-COLOR: #30b1eb; | ||
| 48 | - width:9px; | ||
| 49 | - height:9px; | ||
| 50 | -} |
| 1 | -@charset "utf-8"; | ||
| 2 | -/* CSS Document */ | ||
| 3 | -* {margin:0; padding:0;word-break:break-all;} | ||
| 4 | -html,body{height:auto;} | ||
| 5 | -html,body,a,h1,h2,h3,h4,h5,h6,p,div,ul,li,ol,dl,dt,dd,img,form,input,textarea,select,fieldset { margin:0px; padding:0px } | ||
| 6 | -body,table,input,select,textarea { font-family:'微软雅黑',Arial; font-size:12px;} | ||
| 7 | -body {} | ||
| 8 | -img { border:0px;} | ||
| 9 | - | ||
| 10 | -.td_left { text-align:left; padding-left:3px; background:#FFF;} | ||
| 11 | -.td_right { text-align:right; padding-right:5px;} | ||
| 12 | - | ||
| 13 | -.btn_1 { margin:10px 0px; padding:5px 20px; cursor:pointer;} | ||
| 14 | - | ||
| 15 | -/*logo | ||
| 16 | -------------------------------------------------------------------------------------------------- */ | ||
| 17 | -#logo { width:980px; height:52px; margin:0px auto; color:#FFF; line-height:25px; font-size:12px;} | ||
| 18 | -#logo span { float:right; margin-top:20px; margin-right:10px; line-height:32x;} | ||
| 19 | -#logo span a { margin-left:8px;} | ||
| 20 | - | ||
| 21 | -/*主导航 | ||
| 22 | -------------------------------------------------------------------------------------------------- */ | ||
| 23 | -#nav { width:980px; height:35px; line-height:35px; *line-height:32px; margin:0px auto;} | ||
| 24 | -#nav ul { list-style-type:none; width:inherit; margin:0px auto;} | ||
| 25 | -#nav ul li { float:left; list-style-type:none; width:162.5px; height:35px; padding:0px; text-align:center; display:block; overflow:hidden; background:url(../images/mav_bg.gif) no-repeat; background-position:0px 0px;} | ||
| 26 | -#nav ul li:hover { float:left; list-style-type:none; width:162.5px; height:35px; padding:0px; text-align:center; display:block; overflow:hidden; background:url(../images/mav_bg.gif) no-repeat; background-position:0px -35px;} | ||
| 27 | -#nav ul li.S { float:left; list-style-type:none; width:162.5px; height:35px; padding:0px; text-align:center; display:block; overflow:hidden; background:url(../images/mav_bg.gif) no-repeat; background-position:0px -35px;} | ||
| 28 | - | ||
| 29 | -#nav ul li.L { width:162.5px; height:35px; padding:0px; background:url(../images/mav_bg_l.gif) no-repeat; background-position:0px 0px;} | ||
| 30 | -#nav ul li.L:hover { width:162.5px; height:35px; padding:0px;background:url(../images/mav_bg_l.gif) no-repeat; background-position:0px -35px;} | ||
| 31 | - | ||
| 32 | -#nav ul li.R { width:162.5px; height:35px; padding:0px; background:url(../images/mav_bg_r.gif) no-repeat; background-position:0px 0px;} | ||
| 33 | -#nav ul li.R:hover { width:162.5px; height:35px; padding:0px;background:url(../images/mav_bg_r.gif) no-repeat; background-position:0px -35px;} | ||
| 34 | - | ||
| 35 | -#nav ul li.line { width:1px; height:35px; margin:0px 0px; padding:0px; background:#287ab4;} | ||
| 36 | -#nav ul li a { width:inherit; height:35px; line-height:33px; *line-height:32px; font-size:14px; color:#fff; padding:8px 50px;text-decoration:none; box-shadow:0px 0px 1px #4bd2ef inset;} | ||
| 37 | -#nav ul li a:hover { color:#fff; padding:8px 50px;} | ||
| 38 | - | ||
| 39 | -/*banner | ||
| 40 | -------------------------------------------------------------------------------------------------- */ | ||
| 41 | -#banner { width:980px; height:446px; margin:0px auto; position:relative;} | ||
| 42 | - | ||
| 43 | -/*主内容 | ||
| 44 | -------------------------------------------------------------------------------------------------- */ | ||
| 45 | -#container { width:980px; margin:0px auto 40px auto; padding:0px;} | ||
| 46 | - | ||
| 47 | -/*栏目模块 | ||
| 48 | -------------------------------------------------------------------------------------------------- */ | ||
| 49 | -#module { width:239px; height:160px; float:left; margin-right:8px;} | ||
| 50 | -#module h1 { padding-left:15px; padding-top:15px; font-size:16px; font-weight:normal; color:#333;} | ||
| 51 | -#module h2 { padding-left:15px; padding-top:5px; font-size:12px; color:#000;} | ||
| 52 | -#module p { padding-left:15px; padding-top:5px; padding-right:70px; color:#707070; line-height:20px;} | ||
| 53 | -#module a { color:none; text-decoration:none;} | ||
| 54 | - | ||
| 55 | -/*产品模块 | ||
| 56 | -------------------------------------------------------------------------------------------------- */ | ||
| 57 | -#P_module { width:319px; height:160px; float:left; margin-right:11px; background:url(../images/module_P.gif) no-repeat;} | ||
| 58 | -#P_module h1 { padding-left:15px; padding-top:15px; font-size:16px; font-weight:normal; color:#333;} | ||
| 59 | -#P_module h2 { padding-left:15px; padding-top:5px; font-size:12px; color:#000;} | ||
| 60 | -#P_module p { padding-left:15px; padding-top:5px; padding-right:70px; color:#707070; line-height:20px;} | ||
| 61 | -#P_module a { color:none; text-decoration:none;} | ||
| 62 | - | ||
| 63 | -/*列表 | ||
| 64 | -------------------------------------------------------------------------------------------------- */ | ||
| 65 | -#list { float:left; width:189px; height:230px; margin:0px; *margin-top:20px; background:url(../images/list_bg.gif) no-repeat;} | ||
| 66 | -#list ul { list-style-type:none; width:inherit; margin:0px; padding-left:5px; padding-top:15px;} | ||
| 67 | -#list ul li { width:92%; list-style-type:none; height:25px; line-height:25px;} | ||
| 68 | -#list ul li:hover { color:#000; background:url(../images/arrow.gif) no-repeat right center;} | ||
| 69 | -#list ul li.sel { font-size:14px; color:#000; font-weight:bold; background:url(../images/arrow.gif) no-repeat right center;} | ||
| 70 | -#list ul li a { width:inherit; text-decoration:none; color:#666; padding:6px 10px 6px 10px;} | ||
| 71 | -#list ul li a:hover { width:inherit; color:#000; padding:6px 10px 6px 10px;} | ||
| 72 | - | ||
| 73 | -/*产品详细 | ||
| 74 | -------------------------------------------------------------------------------------------------- */ | ||
| 75 | -#detailed { width:750px; height:360px; margin-left:200px; margin-top:20px; background:url(../images/SCT.jpg) no-repeat; padding:15px;} | ||
| 76 | -#detailed h1 { width:auto; line-height:40px; font-size:36px; font-weight:normal;} | ||
| 77 | -#detailed p { width:90%; padding-top:15px; line-height:28px; font-size:14px;} | ||
| 78 | -#detailed ul { list-style-type:none; width:50%; padding:0px; padding-top:15px;} | ||
| 79 | -#detailed ul li { list-style-type:none; line-height:28px; color:#666;} | ||
| 80 | - | ||
| 81 | -/*产品特性 | ||
| 82 | -------------------------------------------------------------------------------------------------- */ | ||
| 83 | -#feature { width:775px; *width:775px; margin-left:200px;} | ||
| 84 | -#feature h1 { width:auto; line-height:25px; font-size:14px; font-weight:normal; padding-left:15px; border-bottom:1px solid #bfbfbf;} | ||
| 85 | -#feature ul { width:inherit; list-style-type:none; margin-top:10px;} | ||
| 86 | -#feature ul li { width:355px; height:150px; list-style-type:none; padding:15px; margin-bottom:5px; display:block; overflow:hidden; background:url(../images/feature_bg.gif) no-repeat;} | ||
| 87 | -#feature ul li h2 { line-height:23px; font-size:14px; font-weight:normal;} | ||
| 88 | -#feature ul li p { width:inherit; line-height:20px; color:#666;} | ||
| 89 | - | ||
| 90 | -/*解决方案 说明 | ||
| 91 | -------------------------------------------------------------------------------------------------- */ | ||
| 92 | -#explain { width:980px; height:210px; padding-top:20px; padding-bottom:50px; background:url(../images/explain_bg.jpg) no-repeat;} | ||
| 93 | -#explain h1 { width:auto; line-height:40px; padding-left:15px; font-size:30px; font-weight:normal;} | ||
| 94 | -#explain h1 span { float:right; font-size:12px; padding-right:15px;} | ||
| 95 | -#explain h2 { font-size:16px; padding-left:15px; padding-top:10px;} | ||
| 96 | -#explain p { width:60%; padding:15px; margin-top:10px; line-height:28px; font-size:16px;} | ||
| 97 | -#explain ul { list-style-type:none; width:inherit; padding:0px; padding-top:15px; padding-left:15px;} | ||
| 98 | -#explain ul li { list-style-type:none; line-height:28px; color:#666;} | ||
| 99 | - | ||
| 100 | -/*解决方案 列表 | ||
| 101 | -------------------------------------------------------------------------------------------------- */ | ||
| 102 | -#Slist { float:left; width:180px; height:230px; margin:0px; *margin-top:20px; padding-right:6px; border-right:1px dotted #bfbfbf;} | ||
| 103 | -#Slist ul { list-style-type:none; width:inherit; margin:0px; padding-left:5px; padding-top:15px;} | ||
| 104 | -#Slist ul li { width:92%; list-style-type:none; height:25px; line-height:25px;} | ||
| 105 | -#Slist ul li:hover { color:#000; background:url(../images/arrow.gif) no-repeat right center;} | ||
| 106 | -#Slist ul li.sel { font-size:14px; color:#000; font-weight:bold; background:url(../images/arrow.gif) no-repeat right center;} | ||
| 107 | -#Slist ul li a { width:inherit; text-decoration:none; color:#666; padding:6px 10px 6px 10px;} | ||
| 108 | -#Slist ul li a:hover { width:inherit; color:#000; padding:6px 10px 6px 10px;} | ||
| 109 | - | ||
| 110 | -/*解决方案 | ||
| 111 | -------------------------------------------------------------------------------------------------- */ | ||
| 112 | -#solution { width:auto; height:auto; margin-left:200px; margin-top:20px;} | ||
| 113 | -#solution h1 { width:auto; line-height:24px; font-size:18px; font-weight:normal;} | ||
| 114 | -#solution h1 span { float:right; font-size:12px; padding-right:15px;} | ||
| 115 | -#solution h1 span a { color:#999; text-decoration:none;} | ||
| 116 | -#solution h1 span a:hover { color:#09F;} | ||
| 117 | -#solution p { width:auto; padding:15px; margin-top:10px; line-height:28px; font-size:14px; background:#f1f9fd; border:1px solid #bfbfbf; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;} | ||
| 118 | -#solution ul { list-style-type:none; width:50%; padding:0px; padding-top:15px;} | ||
| 119 | -#solution ul li { list-style-type:none; line-height:28px; color:#666;} | ||
| 120 | - | ||
| 121 | -/*招贤纳士 | ||
| 122 | -------------------------------------------------------------------------------------------------- */ | ||
| 123 | -#career { width:980px; height:auto; margin-top:20px; padding-bottom:20px; background:url(../images/career_bg.jpg) no-repeat;} | ||
| 124 | -#career h1 { width:auto; line-height:40px; padding-left:15px; font-size:30px; font-weight:normal;} | ||
| 125 | -#career h1 span { float:right; font-size:12px; padding-right:15px;} | ||
| 126 | -#career h2 { font-size:14px;} | ||
| 127 | -#career p { width:80%; padding:15px; margin-top:10px; line-height:28px; font-size:14px;} | ||
| 128 | -#career ul { list-style-type:none; width:inherit; padding:0px; padding-top:15px; padding-left:15px;} | ||
| 129 | -#career ul li { list-style-type:none; line-height:28px; color:#666;} | ||
| 130 | - | ||
| 131 | -/*招聘 | ||
| 132 | -------------------------------------------------------------------------------------------------- */ | ||
| 133 | -#recruitment { width:918px; height:auto; padding:30px; background:url(../images/recruitment_bg.jpg); background-repeat:repeat-x; border:1px solid #FFF; *border:1px solid #bfbfbf; box-shadow:0px 2px 3px #999999; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;} | ||
| 134 | -#recruitment h1 { width:auto; line-height:28px; font-size:18px; font-weight:bold;} | ||
| 135 | -#recruitment h1 span { float:right; font-size:12px; padding-right:15px; font-weight:normal;} | ||
| 136 | -#recruitment p { width:auto; margin-top:10px; line-height:23px; font-size:14px;} | ||
| 137 | -#recruitment ul { list-style-type:none; width:inherit; padding:0px; padding-top:15px; padding-left:15px;} | ||
| 138 | -#recruitment ul li { list-style-type:none; line-height:28px; color:#666;} | ||
| 139 | - | ||
| 140 | -/*关于我们 | ||
| 141 | -------------------------------------------------------------------------------------------------- */ | ||
| 142 | -#aboutUs { width:980px; height:auto; margin-top:20px; padding-bottom:20px; background:url(../images/aboutUs_bg.jpg) no-repeat;} | ||
| 143 | -#aboutUs h1 { width:auto; line-height:40px; padding-left:15px; font-size:30px; font-weight:normal;} | ||
| 144 | -#aboutUs h1 span { float:right; font-size:12px; padding-right:15px;} | ||
| 145 | -#aboutUs h2 { font-size:16px; padding-left:15px; padding-top:10px;} | ||
| 146 | -#aboutUs p { width:80%; padding:15px; margin-top:10px; line-height:28px; font-size:14px;} | ||
| 147 | -#aboutUs ul { list-style-type:none; width:inherit; padding:0px; padding-top:15px; padding-left:15px;} | ||
| 148 | -#aboutUs ul li { list-style-type:none; line-height:28px; color:#666;} | ||
| 149 | - | ||
| 150 | -/*联系我们 | ||
| 151 | -------------------------------------------------------------------------------------------------- */ | ||
| 152 | -#contactUs { width:980px; height:auto; padding-top:20px; padding-bottom:0px; background:url(../images/contactUs_bg.jpg) no-repeat;} | ||
| 153 | -#contactUs h1 { width:auto; line-height:40px; padding-left:15px; font-size:30px; font-weight:normal;} | ||
| 154 | -#contactUs h1 span { float:right; font-size:12px; padding-right:15px;} | ||
| 155 | -#contactUs h2 { font-size:16px; padding-left:15px; padding-top:10px;} | ||
| 156 | -#contactUs p { width:80%; padding:15px; margin-top:10px; line-height:28px; font-size:14px;} | ||
| 157 | -#contactUs ul { list-style-type:none; width:inherit; padding:0px; padding-top:15px; padding-left:15px;} | ||
| 158 | -#contactUs ul li { list-style-type:none; line-height:28px; color:#000;} | ||
| 159 | - | ||
| 160 | -/*地图 | ||
| 161 | -------------------------------------------------------------------------------------------------- */ | ||
| 162 | -#map { width:918px; height:550px; padding:30px; background:url(../images/recruitment_bg.jpg); background-repeat:repeat-x; border:1px solid #FFF; *border:1px solid #bfbfbf; box-shadow:0px 2px 3px #999999; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;} | ||
| 163 | -#map h1 { width:auto; line-height:28px; font-size:18px; font-weight:bold;} | ||
| 164 | -#map h1 span { float:right; font-size:12px; padding-right:15px;} | ||
| 165 | -#map h1 span a { color:#999; text-decoration:none;} | ||
| 166 | -#map h1 span a:hover { color:#09F;} | ||
| 167 | -#map p { width:auto; margin-top:10px; line-height:23px; font-size:14px; background:; } | ||
| 168 | -#map ul { list-style-type:none; width:inherit; padding:0px; padding-top:15px; padding-left:15px;} | ||
| 169 | -#map ul li { list-style-type:none; line-height:28px; color:#666;} | ||
| 170 | - | ||
| 171 | -/*体验中心 | ||
| 172 | -------------------------------------------------------------------------------------------------- */ | ||
| 173 | -#experience { width:485px; height:160px; float:left; margin-right:10px;} | ||
| 174 | -#experience h1 { padding-left:15px; padding-top:15px; font-size:30px; font-weight:normal; color:#333;} | ||
| 175 | -#experience h2 { padding-left:15px; padding-top:5px; font-size:12px; color:#000;} | ||
| 176 | -#experience p { padding-left:15px; padding-top:5px; padding-right:70px; color:#707070; line-height:20px;} | ||
| 177 | -#experience a { color:none; text-decoration:none;} | ||
| 178 | - | ||
| 179 | -/*演示 | ||
| 180 | -------------------------------------------------------------------------------------------------- */ | ||
| 181 | -/*#demonstrate { width:750px; height:360px; margin-left:200px; margin-top:20px; background:#999; padding:15px;}*/ | ||
| 182 | -#demonstrate { width:750px; height:360px; margin-left:200px; margin-top:20px; background:url(../images/wait.jpg); padding:0px;} | ||
| 183 | -#demonstrate h1 { width:auto; line-height:28px; font-size:18px; font-weight:normal;} | ||
| 184 | -#demonstrate p { width:inherit; padding-top:15px; line-height:28px; font-size:14px;} | ||
| 185 | -#demonstrate ul { list-style-type:none; width:50%; padding:0px; padding-top:15px;} | ||
| 186 | -#demonstrate ul li { list-style-type:none; line-height:28px; color:#666;} | ||
| 187 | - | ||
| 188 | -/*Copyright | ||
| 189 | -------------------------------------------------------------------------------------------------- */ | ||
| 190 | -#footer { width:980px; height:100px; margin:0px auto; padding-top:15px; font-size:11px; color:#666; line-height:20px; border-top:1px solid #bfbfbf; clear:both;} | ||
| 191 | -#footer span { float:right;} |
| 1 | -<html> | ||
| 2 | -<head> | ||
| 3 | - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
| 4 | - <meta property="qc:admins" content="35453715257630661457637577164165323" /> | ||
| 5 | - <title>SRS</title> | ||
| 6 | - <link href="css/style.css" rel="stylesheet" type="text/css"> | ||
| 7 | - <link href="css/index_black.css" rel="stylesheet" type="text/css"> | ||
| 8 | -</head> | ||
| 9 | - | ||
| 10 | -<body> | ||
| 11 | -<script type="text/javascript" src="js/jquery.js"></script> | ||
| 12 | -<script type="text/javascript" src="conf.js"></script> | ||
| 13 | - | ||
| 14 | -<div id="banner"> | ||
| 15 | - <div id="login" style="padding-top:20px;text-align:center;"></div> | ||
| 16 | -</div> | ||
| 17 | - | ||
| 18 | -<script type="text/javascript"> | ||
| 19 | - document.title = get_system_title(); | ||
| 20 | - | ||
| 21 | - function require_login(){ | ||
| 22 | - // 应用的APPID | ||
| 23 | - var appID = get_qq_oauth_app_id(); | ||
| 24 | - // 成功授权后的回调地址 | ||
| 25 | - var redirectURI = get_qq_oauth_redirect_url(); | ||
| 26 | - // 透传的状态: check, user | ||
| 27 | - var state = "check"; | ||
| 28 | - | ||
| 29 | - var path = 'https://graph.qq.com/oauth2.0/authorize?'; | ||
| 30 | - var queryParams = [ | ||
| 31 | - 'response_type=token', | ||
| 32 | - 'client_id=' + appID, | ||
| 33 | - 'redirect_uri=' + encodeURI(redirectURI), | ||
| 34 | - 'state=' + state, | ||
| 35 | - 'scope=' + 'get_user_info', | ||
| 36 | - ]; | ||
| 37 | - | ||
| 38 | - var query = queryParams.join('&'); | ||
| 39 | - var url = path + query; | ||
| 40 | - //console.log(url); | ||
| 41 | - $("#login").empty(); | ||
| 42 | - $("#login").append("<div style='margin-bottom:40px;margin-top:30px;'>Welcome to " + get_system_title() + "!</div>"); | ||
| 43 | - $("#login").append("<a href='" + url + "'><img src='images/login.png'/></a>"); | ||
| 44 | - //window.location.href = url; | ||
| 45 | - } | ||
| 46 | - | ||
| 47 | - if(enable_auth()){ | ||
| 48 | - require_login(); | ||
| 49 | - } | ||
| 50 | - else{ | ||
| 51 | - $("#login").html("<div style='margin-bottom:20px;'>Welcome to " + get_system_title() + "!</div>"); | ||
| 52 | - } | ||
| 53 | -</script> | ||
| 54 | - | ||
| 55 | -<div id="footer"> | ||
| 56 | - <span>Copyright © 2013-2014 SRS,保留所有权利</span> | ||
| 57 | - Email: winlin@vip.126.com<br/> | ||
| 58 | - <span>京ICP备12047633号</span> | ||
| 59 | -</div> | ||
| 60 | -</body> | ||
| 61 | -</html> |
此 diff 太大无法显示。
| 1 | -<html> | ||
| 2 | -<head> | ||
| 3 | - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
| 4 | - <title>SRS</title> | ||
| 5 | - <link href="css/style.css" rel="stylesheet" type="text/css"> | ||
| 6 | - <link href="css/index_black.css" rel="stylesheet" type="text/css"> | ||
| 7 | -</head> | ||
| 8 | - | ||
| 9 | -<body> | ||
| 10 | -<script type="text/javascript" src="js/jquery.js"></script> | ||
| 11 | -<script type="text/javascript" src="conf.js"></script> | ||
| 12 | - | ||
| 13 | -<div id="banner"> | ||
| 14 | - <div id="login" style="padding-top:20px;text-align:center;"></div> | ||
| 15 | -</div> | ||
| 16 | - | ||
| 17 | -<script type="text/javascript"> | ||
| 18 | - document.title = get_system_title(); | ||
| 19 | - | ||
| 20 | - function require_login(){ | ||
| 21 | - // 应用的APPID | ||
| 22 | - var appID = get_qq_oauth_app_id(); | ||
| 23 | - // 成功授权后的回调地址 | ||
| 24 | - var redirectURI = get_qq_oauth_redirect_url(); | ||
| 25 | - // 透传的状态: check, user | ||
| 26 | - var state = "user"; | ||
| 27 | - | ||
| 28 | - var path = 'https://graph.qq.com/oauth2.0/authorize?'; | ||
| 29 | - var queryParams = [ | ||
| 30 | - 'response_type=token', | ||
| 31 | - 'client_id=' + appID, | ||
| 32 | - 'redirect_uri=' + encodeURI(redirectURI), | ||
| 33 | - 'state=' + state, | ||
| 34 | - 'scope=' + 'get_user_info', | ||
| 35 | - ]; | ||
| 36 | - | ||
| 37 | - var query = queryParams.join('&'); | ||
| 38 | - var url = path + query; | ||
| 39 | - //console.log(url); | ||
| 40 | - $("#login").empty(); | ||
| 41 | - $("#login").append("<div style='margin-bottom:40px;margin-top:30px;'>Welcome to " + get_system_title() + "!</div>"); | ||
| 42 | - $("#login").append("<a href='" + url + "'><img src='images/login.png'/></a>"); | ||
| 43 | - //window.location.href = url; | ||
| 44 | - } | ||
| 45 | - | ||
| 46 | - if(enable_auth()){ | ||
| 47 | - require_login(); | ||
| 48 | - } | ||
| 49 | - else{ | ||
| 50 | - $("#login").html("<div style='margin-bottom:20px;'>Welcome to " + get_system_title() + "!</div>"); | ||
| 51 | - } | ||
| 52 | -</script> | ||
| 53 | - | ||
| 54 | -<div id="footer"> | ||
| 55 | - <span>Copyright © 2013-2014 SRS,保留所有权利</span> | ||
| 56 | - Email: winlin@vip.126.com<br/> | ||
| 57 | - <span>京ICP备12047633号</span> | ||
| 58 | -</div> | ||
| 59 | -</body> | ||
| 60 | -</html> |
-
请 注册 或 登录 后发表评论