winlin

add srs community

  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 +function enable_auth(){
  2 + return true;
  3 +}
  4 +function get_system_title(){
  5 + return 'SRS';
  6 +}
  7 +function get_qq_oauth_app_id(){
  8 + return 'xxxxxx';
  9 +}
  10 +function get_qq_oauth_redirect_url(){
  11 + return 'http://xxxxxx/callback.html';
  12 +}
  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>
  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>
  1 +<!DOCTYPE html>
  2 +<html>
  3 +<head>
  4 +<title>SRS</title>
  5 +</head>
  6 +<body>
  7 +<h1>Welcome to <a href="http://182.92.80.26:8085/srs/releases/index.html">SRS</a>!</h1>
  8 +</body>
  9 +</html>