├── favicon.ico ├── fileauth.txt ├── images ├── bg.jpg ├── bg2.jpg ├── bg3.jpg ├── bg4.jpg ├── bg5.jpg ├── bg6.jpg ├── bg7.jpg ├── h4_bg.png ├── off_on.png ├── doge_ico.png ├── title_bg.jpg ├── search_icon.png ├── search_icon - ╕▒▒╛.png └── uugai.com_1575203360207.png ├── static ├── logo.png ├── 360js.png ├── auto_bg.png ├── bg1-bg.jpg ├── bg2-bg.jpg ├── bg3-bg.jpg ├── bg4-bg.jpg ├── bg5-bg.jpg ├── bg6-bg.jpg ├── bg7-bg.jpg ├── chrome.png ├── diy_bg.jpg ├── favicon.png ├── h4_bg.png ├── logo_s.png ├── default-bg.png ├── logo - ╕▒▒╛.png ├── love2d │ ├── assets │ │ ├── screenshot-1.png │ │ ├── screenshot-2.png │ │ └── screenshot-3.png │ └── autoload.js ├── stlClient.js ├── WEBJIKE.svg ├── core.php ├── script.js ├── es6-promise.auto.min.js ├── style.css ├── md5.js ├── z_stat.php ├── axios-0.17.1.min.js ├── cleanslate.min.css └── layer.css ├── sethome_files ├── logo.png ├── weixin.jpg ├── 1c3b5cc6f9283427.jpg ├── 1f9cec11a5343f53.jpg ├── a3bd5fcb219dfc01.jpg ├── stlClient.js ├── core.php ├── script.js ├── style.css ├── es6-promise.auto.min.js ├── axios-0.17.1.min.js ├── cleanslate.min.css └── layer.css ├── fonts ├── fontawesome-webfont.ttf └── fontawesome-webfont.woff ├── README.md ├── 404.html ├── LICENSE ├── sethome.html └── index.html /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/favicon.ico -------------------------------------------------------------------------------- /fileauth.txt: -------------------------------------------------------------------------------- 1 | 201911300000002ynigwh74u4qa7dfn92bni82vt20cvkbw7xwhe54dyq76xttod -------------------------------------------------------------------------------- /images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/bg.jpg -------------------------------------------------------------------------------- /images/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/bg2.jpg -------------------------------------------------------------------------------- /images/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/bg3.jpg -------------------------------------------------------------------------------- /images/bg4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/bg4.jpg -------------------------------------------------------------------------------- /images/bg5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/bg5.jpg -------------------------------------------------------------------------------- /images/bg6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/bg6.jpg -------------------------------------------------------------------------------- /images/bg7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/bg7.jpg -------------------------------------------------------------------------------- /static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/logo.png -------------------------------------------------------------------------------- /images/h4_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/h4_bg.png -------------------------------------------------------------------------------- /images/off_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/off_on.png -------------------------------------------------------------------------------- /static/360js.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/360js.png -------------------------------------------------------------------------------- /static/auto_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/auto_bg.png -------------------------------------------------------------------------------- /static/bg1-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/bg1-bg.jpg -------------------------------------------------------------------------------- /static/bg2-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/bg2-bg.jpg -------------------------------------------------------------------------------- /static/bg3-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/bg3-bg.jpg -------------------------------------------------------------------------------- /static/bg4-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/bg4-bg.jpg -------------------------------------------------------------------------------- /static/bg5-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/bg5-bg.jpg -------------------------------------------------------------------------------- /static/bg6-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/bg6-bg.jpg -------------------------------------------------------------------------------- /static/bg7-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/bg7-bg.jpg -------------------------------------------------------------------------------- /static/chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/chrome.png -------------------------------------------------------------------------------- /static/diy_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/diy_bg.jpg -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/favicon.png -------------------------------------------------------------------------------- /static/h4_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/h4_bg.png -------------------------------------------------------------------------------- /static/logo_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/logo_s.png -------------------------------------------------------------------------------- /images/doge_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/doge_ico.png -------------------------------------------------------------------------------- /images/title_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/title_bg.jpg -------------------------------------------------------------------------------- /images/search_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/search_icon.png -------------------------------------------------------------------------------- /sethome_files/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/sethome_files/logo.png -------------------------------------------------------------------------------- /static/default-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/default-bg.png -------------------------------------------------------------------------------- /static/logo - ╕▒▒╛.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/logo - ╕▒▒╛.png -------------------------------------------------------------------------------- /sethome_files/weixin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/sethome_files/weixin.jpg -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /images/search_icon - ╕▒▒╛.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/search_icon - ╕▒▒╛.png -------------------------------------------------------------------------------- /images/uugai.com_1575203360207.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/images/uugai.com_1575203360207.png -------------------------------------------------------------------------------- /sethome_files/1c3b5cc6f9283427.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/sethome_files/1c3b5cc6f9283427.jpg -------------------------------------------------------------------------------- /sethome_files/1f9cec11a5343f53.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/sethome_files/1f9cec11a5343f53.jpg -------------------------------------------------------------------------------- /sethome_files/a3bd5fcb219dfc01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/sethome_files/a3bd5fcb219dfc01.jpg -------------------------------------------------------------------------------- /static/love2d/assets/screenshot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/love2d/assets/screenshot-1.png -------------------------------------------------------------------------------- /static/love2d/assets/screenshot-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/love2d/assets/screenshot-2.png -------------------------------------------------------------------------------- /static/love2d/assets/screenshot-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackrebel/xxgeek/HEAD/static/love2d/assets/screenshot-3.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](https://www.xxgeek.com/static/logo.png) 2 | 3 | # 极客导航 4 | 特性: 5 | 1. 采用jquery、css纯静态、简洁。 6 | 2. 支持自定义皮肤。 7 | 3. 集成众多常用搜索引擎。 8 | 4. 内置收录多达 80+ 优质网站, 包含工作、学习和生活常用内容。 9 | 5. 支持百度自建议搜索词。 10 | 11 | # 示例: 12 | 13 | [https://www.xxGeek.com](https://www.xxgeek.com) 14 | 15 | 16 | # 怎么用? 17 | 纯静态网页,下载zip,解压上传到虚拟主机就可以直接访问了 18 | 19 | # 速度优化 20 | 如果您托管在GitHub可以使用免费的jsDelivr来优化访问速度(拥有大陆CDN节点) 21 | 22 | # 备注 23 | 自定义内容保存在本地, 如果需要云端支持, 可自行修改index.min.js中的jquery ajax方法。 24 | 这是一个稳定的版本,可以放心使用 25 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 404 8 | 21 | 22 | 23 | 24 |

404,您请求的文件不存在!

25 | 26 | 27 | -------------------------------------------------------------------------------- /static/love2d/autoload.js: -------------------------------------------------------------------------------- 1 | // 注意:live2d_path 参数应使用绝对路径 2 | const live2d_path = "https://www.8kmm.com/live2d/";//"https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/"; 3 | //const live2d_path = "/live2d-widget/"; 4 | 5 | // 封装异步加载资源的方法 6 | function loadExternalResource(url, type) { 7 | return new Promise((resolve, reject) => { 8 | let tag; 9 | 10 | if (type === "css") { 11 | tag = document.createElement("link"); 12 | tag.rel = "stylesheet"; 13 | tag.href = url; 14 | } 15 | else if (type === "js") { 16 | tag = document.createElement("script"); 17 | tag.src = url; 18 | } 19 | if (tag) { 20 | tag.onload = () => resolve(url); 21 | tag.onerror = () => reject(url); 22 | document.head.appendChild(tag); 23 | } 24 | }); 25 | } 26 | 27 | loadExternalResource(live2d_path + "waifu.css", "css"); 28 | document.body.insertAdjacentHTML("beforeend", "
召唤小秘书
"); 29 | loadMyWaifu(); 30 | 31 | function loadMyWaifu(){ 32 | // 加载 waifu.css live2d.min.js waifu-tips.js 33 | if (screen.width >= 768) { 34 | Promise.all([ 35 | loadExternalResource("https://cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css", "css"), 36 | loadExternalResource(live2d_path + "waifu.css", "css"), 37 | loadExternalResource(live2d_path + "live2d.min.js", "js"), 38 | loadExternalResource(live2d_path + "waifu-tips.js", "js") 39 | ]).then(() => { 40 | initWidget({ 41 | waifuPath: live2d_path + "waifu-tips.json", 42 | //apiPath: "https://api.zsq.im/live2d", 43 | cdnPath: "https://cdn.jsdelivr.net/gh/fghrsh/live2d_api/" 44 | }); 45 | }); 46 | } 47 | // initWidget 第一个参数为 waifu-tips.json 的路径,第二个参数为 API 地址 48 | // API 后端可自行搭建,参考 https://github.com/fghrsh/live2d_api 49 | // 初始化看板娘会自动加载指定目录下的 waifu-tips.json 50 | } 51 | -------------------------------------------------------------------------------- /static/stlClient.js: -------------------------------------------------------------------------------- 1 | function StlClient(){}StlClient.parse=function(e){return e?JSON.parse(e):{}},StlClient.getQueryString=function(){var e,t,n="",r=window.location.href.slice(window.location.href.indexOf("?")+1).split("&");if(0===r.length)return n;for(e=0,t=r.length;e0&&(n=n.substring(0,n.length-1)),n},StlClient.errorCode=function(e){switch(e){case 400:return"Bad Request";case 401:return"Unauthorized";case 402:return"Payment Required";case 403:return"Forbidden";case 404:return"Not Found";case 405:return"Method Not Allowed";case 406:return"Not Acceptable";case 407:return"Proxy Authentication Required";case 408:return"Request Timeout";case 409:return"Conflict";case 410:return"Gone";case 411:return"Length Required";case 500:return"Internal Server Error"}return"Unknown Error"},StlClient.prototype={_getURL:function(e,t,n){return e+=/\?/.test(e)?"&":"?",_.isObject(t)&&_.indexOf(["GET","HEAD"],n)>-1&&(e+="&"+_.map(t,function(e,t){return t+"="+encodeURIComponent(e)}).join("&")),e+"&"+(new Date).getTime()},_request:function(e,t,n,r){var s=new XMLHttpRequest;s.open(e,this._getURL(t,n,e),!0),s.withCredentials=!0,r&&(s.onreadystatechange=function(){if(4===s.readyState)if(s.status<400)r(null,StlClient.parse(s.responseText),s.status);else{var e=StlClient.parse(s.responseText);r({status:s.status,message:e.message||StlClient.errorCode(s.status)},null,s.status)}}),s.dataType="json",s.setRequestHeader("Accept","application/vnd.siteserver+json; version=1"),s.setRequestHeader("Content-Type","application/json;charset=UTF-8"),n?s.send(JSON.stringify(n)):s.send()},getURL:function(e){return this._getURL(e,null,"get")},get:function(e,t,n){return this._request("GET",e,t,n)},post:function(e,t,n){return this._request("POST",e,t,n)},patch:function(e,t,n){return this._request("PATCH",e,t,n)},put:function(e,t,n){return this._request("PUT",e,t,n)},delete:function(e,t,n){return this._request("DELETE",e,t,n)}};var stlClient=new StlClient; -------------------------------------------------------------------------------- /sethome_files/stlClient.js: -------------------------------------------------------------------------------- 1 | function StlClient(){}StlClient.parse=function(e){return e?JSON.parse(e):{}},StlClient.getQueryString=function(){var e,t,n="",r=window.location.href.slice(window.location.href.indexOf("?")+1).split("&");if(0===r.length)return n;for(e=0,t=r.length;e0&&(n=n.substring(0,n.length-1)),n},StlClient.errorCode=function(e){switch(e){case 400:return"Bad Request";case 401:return"Unauthorized";case 402:return"Payment Required";case 403:return"Forbidden";case 404:return"Not Found";case 405:return"Method Not Allowed";case 406:return"Not Acceptable";case 407:return"Proxy Authentication Required";case 408:return"Request Timeout";case 409:return"Conflict";case 410:return"Gone";case 411:return"Length Required";case 500:return"Internal Server Error"}return"Unknown Error"},StlClient.prototype={_getURL:function(e,t,n){return e+=/\?/.test(e)?"&":"?",_.isObject(t)&&_.indexOf(["GET","HEAD"],n)>-1&&(e+="&"+_.map(t,function(e,t){return t+"="+encodeURIComponent(e)}).join("&")),e+"&"+(new Date).getTime()},_request:function(e,t,n,r){var s=new XMLHttpRequest;s.open(e,this._getURL(t,n,e),!0),s.withCredentials=!0,r&&(s.onreadystatechange=function(){if(4===s.readyState)if(s.status<400)r(null,StlClient.parse(s.responseText),s.status);else{var e=StlClient.parse(s.responseText);r({status:s.status,message:e.message||StlClient.errorCode(s.status)},null,s.status)}}),s.dataType="json",s.setRequestHeader("Accept","application/vnd.siteserver+json; version=1"),s.setRequestHeader("Content-Type","application/json;charset=UTF-8"),n?s.send(JSON.stringify(n)):s.send()},getURL:function(e){return this._getURL(e,null,"get")},get:function(e,t,n){return this._request("GET",e,t,n)},post:function(e,t,n){return this._request("POST",e,t,n)},patch:function(e,t,n){return this._request("PATCH",e,t,n)},put:function(e,t,n){return this._request("PUT",e,t,n)},delete:function(e,t,n){return this._request("DELETE",e,t,n)}};var stlClient=new StlClient; -------------------------------------------------------------------------------- /static/WEBJIKE.svg: -------------------------------------------------------------------------------- 1 | StarsStars194194 -------------------------------------------------------------------------------- /static/core.php: -------------------------------------------------------------------------------- 1 | !function(){var p,q,r,a=function(){var b,c,d,e,a=document.getElementsByTagName("script");for(b=0,c=a.length;c>b;b++)if(e=a[b],e.src&&(d=/^(https?:)\/\/[\w\.\-]+\.cnzz\.com\//i.exec(e.src)))return d[1];return window.location.protocol}(),b=encodeURIComponent,c="1261855216",d="",e="",f="online_v3.php",g="z13.cnzz.com",h="1",i="text",j="z",k="站长统计",l=window["_CNZZDbridge_"+c]["bobject"],m="0",n=a+"//online.cnzz.com/online/"+f,o=[];o.push("id="+c),o.push("h="+g),o.push("on="+b(e)),o.push("s="+b(d)),n+="?"+o.join("&"),"0"===m&&l["callRequest"]([a+"//cnzz.mmstat.com/9.gif?abc=1"]),h&&(""!==e?l["createScriptIcon"](n,"utf-8"):(q="z"==j?"https://www.cnzz.com/stat/website.php?web_id="+c:"https://quanjing.cnzz.com","pic"===i?(r=a+"//icon.cnzz.com/img/"+d+".gif",p=""):p=""+k+"",l["createIcon"]([p])))}();(function(){var u=function(){for(var a=document.getElementsByTagName("script"),b=0,d=a.length;bb;b++)if(e=a[b],e.src&&(d=/^(https?:)\/\/[\w\.\-]+\.cnzz\.com\//i.exec(e.src)))return d[1];return window.location.protocol}(),b=encodeURIComponent,c="1261855216",d="",e="",f="online_v3.php",g="z13.cnzz.com",h="1",i="text",j="z",k="站长统计",l=window["_CNZZDbridge_"+c]["bobject"],m="0",n=a+"//online.cnzz.com/online/"+f,o=[];o.push("id="+c),o.push("h="+g),o.push("on="+b(e)),o.push("s="+b(d)),n+="?"+o.join("&"),"0"===m&&l["callRequest"]([a+"//cnzz.mmstat.com/9.gif?abc=1"]),h&&(""!==e?l["createScriptIcon"](n,"utf-8"):(q="z"==j?"https://www.cnzz.com/stat/website.php?web_id="+c:"https://quanjing.cnzz.com","pic"===i?(r=a+"//icon.cnzz.com/img/"+d+".gif",p=""):p=""+k+"",l["createIcon"]([p])))}();(function(){var u=function(){for(var a=document.getElementsByTagName("script"),b=0,d=a.length;b { 37 | if (result) { 38 | $this.apiRegister(); 39 | } 40 | }); 41 | }, 42 | apiRegister: function () { 43 | var $this = this; 44 | axios.post($this.apiUrlRegister, this.register) 45 | .then(function (response) { 46 | $this.form = 'registerSuccess'; 47 | }) 48 | .catch(function (error) { 49 | $this.errorMessage = error.response.data.message; 50 | }); 51 | }, 52 | loginSubmit: function () { 53 | var $this = this; 54 | this.$validator.validateAll('login_form').then((result) => { 55 | if (result) { 56 | $this.apiLogin(); 57 | } 58 | }); 59 | }, 60 | apiLogin: function () { 61 | var $this = this; 62 | axios.post($this.apiUrlLogin, this.login) 63 | .then(function (response) { 64 | location.href = $this.loginRedirectUrl; 65 | }) 66 | .catch(function (error) { 67 | $this.errorMessage = error.response.data.message; 68 | }); 69 | }, 70 | logout: function () { 71 | var $this = this; 72 | axios.post($this.apiUrlLogout) 73 | .then(function (response) { 74 | location.href = $this.logoutRedirectUrl; 75 | }) 76 | .catch(function (error) { 77 | console.log(error.response.data.message); 78 | }); 79 | }, 80 | openModal: function () { 81 | this.errorMessage = ''; 82 | var $this = this; 83 | 84 | if ($('#lean_overlay').length === 0) { 85 | $("body").append($("
")); 86 | } 87 | $("#lean_overlay").click(function () { 88 | $this.closeModal(); 89 | }); 90 | $("#lean_overlay").css({ 91 | "display": "block", 92 | opacity: 0 93 | }); 94 | $("#lean_overlay").fadeTo(200, 0.5); 95 | 96 | var modal_height = $(authModalId).outerHeight(); 97 | var modal_width = $(authModalId).outerWidth(); 98 | 99 | $(authModalId).attr("style", "display: block !important; position: fixed !important;z-index: 11000 !important;left: 50% !important; margin-left: " + -(modal_width / 2) + "px !important; top: 100px !important;"); 100 | 101 | $(authModalId).fadeTo(200, 1); 102 | }, 103 | closeModal: function () { 104 | $("#lean_overlay").remove(); 105 | this.form = ''; 106 | }, 107 | openLoginModal: function () { 108 | this.form = 'login'; 109 | this.title = '用户登录'; 110 | this.openModal(); 111 | }, 112 | openSocialModal: function () { 113 | this.form = 'social'; 114 | this.title = '用户登录'; 115 | this.openModal(); 116 | }, 117 | openRegisterModal: function () { 118 | this.form = 'register'; 119 | this.title = '用户注册'; 120 | this.openModal(); 121 | } 122 | } 123 | }); -------------------------------------------------------------------------------- /sethome_files/script.js: -------------------------------------------------------------------------------- 1 | var authModalId = "#ss-auth"; 2 | 3 | axios.defaults.withCredentials = true; 4 | Vue.use(VeeValidate); 5 | var $authVue = new Vue({ 6 | el: authModalId, 7 | data: { 8 | apiUrlRegister: authData.apiUrlRegister, 9 | apiUrlLogin: authData.apiUrlLogin, 10 | apiUrlLogout: authData.apiUrlLogout, 11 | apiUrlWeixin: authData.apiUrlWeixin, 12 | apiUrlWeibo: authData.apiUrlWeibo, 13 | apiUrlQq: authData.apiUrlQq, 14 | registerSuccessMessage: authData.registerSuccessMessage, 15 | loginRedirectUrl: authData.loginRedirectUrl, 16 | logoutRedirectUrl: authData.logoutRedirectUrl, 17 | 18 | form: '', 19 | title: '', 20 | register: { 21 | userName: '', 22 | displayName: '', 23 | email: '', 24 | mobile: '', 25 | password: '' 26 | }, 27 | login: { 28 | account: '', 29 | password: '' 30 | }, 31 | errorMessage: '' 32 | }, 33 | methods: { 34 | registerSubmit: function () { 35 | var $this = this; 36 | this.$validator.validateAll('register_form').then((result) => { 37 | if (result) { 38 | $this.apiRegister(); 39 | } 40 | }); 41 | }, 42 | apiRegister: function () { 43 | var $this = this; 44 | axios.post($this.apiUrlRegister, this.register) 45 | .then(function (response) { 46 | $this.form = 'registerSuccess'; 47 | }) 48 | .catch(function (error) { 49 | $this.errorMessage = error.response.data.message; 50 | }); 51 | }, 52 | loginSubmit: function () { 53 | var $this = this; 54 | this.$validator.validateAll('login_form').then((result) => { 55 | if (result) { 56 | $this.apiLogin(); 57 | } 58 | }); 59 | }, 60 | apiLogin: function () { 61 | var $this = this; 62 | axios.post($this.apiUrlLogin, this.login) 63 | .then(function (response) { 64 | location.href = $this.loginRedirectUrl; 65 | }) 66 | .catch(function (error) { 67 | $this.errorMessage = error.response.data.message; 68 | }); 69 | }, 70 | logout: function () { 71 | var $this = this; 72 | axios.post($this.apiUrlLogout) 73 | .then(function (response) { 74 | location.href = $this.logoutRedirectUrl; 75 | }) 76 | .catch(function (error) { 77 | console.log(error.response.data.message); 78 | }); 79 | }, 80 | openModal: function () { 81 | this.errorMessage = ''; 82 | var $this = this; 83 | 84 | if ($('#lean_overlay').length === 0) { 85 | $("body").append($("
")); 86 | } 87 | $("#lean_overlay").click(function () { 88 | $this.closeModal(); 89 | }); 90 | $("#lean_overlay").css({ 91 | "display": "block", 92 | opacity: 0 93 | }); 94 | $("#lean_overlay").fadeTo(200, 0.5); 95 | 96 | var modal_height = $(authModalId).outerHeight(); 97 | var modal_width = $(authModalId).outerWidth(); 98 | 99 | $(authModalId).attr("style", "display: block !important; position: fixed !important;z-index: 11000 !important;left: 50% !important; margin-left: " + -(modal_width / 2) + "px !important; top: 100px !important;"); 100 | 101 | $(authModalId).fadeTo(200, 1); 102 | }, 103 | closeModal: function () { 104 | $("#lean_overlay").remove(); 105 | this.form = ''; 106 | }, 107 | openLoginModal: function () { 108 | this.form = 'login'; 109 | this.title = '用户登录'; 110 | this.openModal(); 111 | }, 112 | openSocialModal: function () { 113 | this.form = 'social'; 114 | this.title = '用户登录'; 115 | this.openModal(); 116 | }, 117 | openRegisterModal: function () { 118 | this.form = 'register'; 119 | this.title = '用户注册'; 120 | this.openModal(); 121 | } 122 | } 123 | }); -------------------------------------------------------------------------------- /sethome_files/style.css: -------------------------------------------------------------------------------- 1 | div.ss-auth { 2 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; 3 | font-size: 14px !important; 4 | color: #666 !important; 5 | position: absolute !important; 6 | width: 330px !important; 7 | height: auto !important; 8 | left: 45% !important; 9 | top: 60px !important; 10 | background: #FFF !important; 11 | } 12 | 13 | div.ss-auth .btn { 14 | padding: 10px 20px !important; 15 | background: #F4F4F2 !important; 16 | } 17 | 18 | div.ss-auth .btn_red { 19 | background: #ED6347 !important; 20 | color: #FFF !important; 21 | } 22 | 23 | div.ss-auth .btn:hover { 24 | background: #E4E4E2 !important; 25 | } 26 | 27 | div.ss-auth .btn_red:hover { 28 | background: #C12B05 !important; 29 | } 30 | 31 | div.ss-auth a.btn { 32 | color: #666 !important; 33 | text-align: center !important; 34 | text-decoration: none !important; 35 | } 36 | 37 | div.ss-auth a.btn_red { 38 | color: #FFF !important; 39 | } 40 | 41 | div.ss-auth .one_half { 42 | width: 50% !important; 43 | display: block !important; 44 | float: left !important; 45 | } 46 | 47 | div.ss-auth .one_half.last { 48 | width: 45% !important; 49 | margin-left: 5% !important; 50 | } 51 | 52 | div.ss-auth .popupHeader { 53 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; 54 | font-size: 16px !important; 55 | } 56 | 57 | div.ss-auth .popupHeader { 58 | background: #F4F4F2 !important; 59 | position: relative !important; 60 | padding: 10px 20px !important; 61 | border-bottom: 1px solid #DDD !important; 62 | font-weight: bold !important; 63 | } 64 | 65 | div.ss-auth .popupHeader .modal_close { 66 | background: url(images/times.png) no-repeat left center !important; 67 | position: absolute !important; 68 | right: 0 !important; 69 | top: 10px !important; 70 | padding: 10px 15px !important; 71 | cursor: pointer !important; 72 | color: #aaa !important; 73 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; 74 | font-size: 16px !important; 75 | } 76 | 77 | div.ss-auth .popupBody { 78 | padding: 20px !important; 79 | } 80 | 81 | div.ss-auth .social_login .social_box { 82 | display: block !important; 83 | clear: both !important; 84 | padding: 10px !important; 85 | margin-bottom: 10px !important; 86 | background: #F4F4F2 !important; 87 | overflow: hidden !important; 88 | } 89 | 90 | div.ss-auth .social_login .icon { 91 | display: block !important; 92 | width: 10px !important; 93 | padding-right: 10px !important; 94 | padding-left: 5px !important; 95 | margin-right: 5px !important; 96 | margin-left: 5px !important; 97 | height: 30px !important; 98 | float: left !important; 99 | color: #FFF !important; 100 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; 101 | font-size: 16px !important; 102 | text-align: center !important; 103 | } 104 | 105 | div.ss-auth .social_login .weibo { 106 | background: url(images/login_weibo.png) no-repeat left center !important; 107 | } 108 | 109 | div.ss-auth .social_login .weixin { 110 | background: url(images/login_weixin.png) no-repeat left center !important; 111 | } 112 | 113 | div.ss-auth .social_login .qq { 114 | background: url(images/login_qq.png) no-repeat left center !important; 115 | } 116 | 117 | div.ss-auth .social_login .icon_title { 118 | display: block !important; 119 | padding: 5px 0 !important; 120 | text-decoration: none !important; 121 | float: left !important; 122 | font-weight: bold !important; 123 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; 124 | font-size: 16px !important; 125 | color: #777 !important; 126 | } 127 | 128 | div.ss-auth .social_login .social_box:hover { 129 | background: #E4E4E2 !important; 130 | } 131 | 132 | div.ss-auth .centeredText { 133 | text-align: center !important; 134 | margin: 20px 0 !important; 135 | clear: both !important; 136 | overflow: hidden !important; 137 | } 138 | 139 | div.ss-auth .successText { 140 | text-align: center !important; 141 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; 142 | font-size: 1.17em !important; 143 | color: #4CAF50 !important; 144 | margin: 15px 0 25px !important; 145 | clear: both !important; 146 | overflow: hidden !important; 147 | } 148 | 149 | div.ss-auth .errorText { 150 | text-align: center !important; 151 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; 152 | font-size: 1.17em !important; 153 | color: #ED6347 !important; 154 | margin: 0 0 15px !important; 155 | clear: both !important; 156 | overflow: hidden !important; 157 | } 158 | 159 | div.ss-auth .action_btns { 160 | clear: both !important; 161 | overflow: hidden !important; 162 | } 163 | 164 | div.ss-auth .action_btns a { 165 | display: block !important; 166 | } 167 | 168 | div.ss-auth .forgot_password { 169 | display: block !important; 170 | margin: 20px 0 10px !important; 171 | clear: both !important; 172 | overflow: hidden !important; 173 | text-decoration: none !important; 174 | color: #ED6347 !important; 175 | } 176 | 177 | div.ss-auth label { 178 | display: block !important; 179 | margin-bottom: 5px !important; 180 | } 181 | 182 | div.ss-auth input[type="text"], 183 | div.ss-auth input[type="email"], 184 | div.ss-auth input[type="password"] { 185 | display: block !important; 186 | width: 90% !important; 187 | padding: 10px !important; 188 | border: 1px solid #DDD !important; 189 | color: #666 !important; 190 | } 191 | 192 | div.ss-auth input[type="checkbox"] { 193 | float: left !important; 194 | margin-right: 5px !important; 195 | } 196 | 197 | div.ss-auth input[type="checkbox"]+label { 198 | float: left !important; 199 | } 200 | 201 | div.ss-auth .checkbox { 202 | margin-bottom: 10px !important; 203 | clear: both !important; 204 | overflow: hidden !important; 205 | } 206 | 207 | div.ss-auth input.is-danger, 208 | textarea.is-danger { 209 | border-color: #ff3860 !important; 210 | } -------------------------------------------------------------------------------- /static/es6-promise.auto.min.js: -------------------------------------------------------------------------------- 1 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.ES6Promise=e()}(this,function(){"use strict";function t(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}function e(t){return"function"==typeof t}function n(t){B=t}function r(t){G=t}function o(){return function(){return process.nextTick(a)}}function i(){return"undefined"!=typeof z?function(){z(a)}:c()}function s(){var t=0,e=new J(a),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}function c(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t