mirror of https://github.com/helloxz/onenav.git
24 changed files with 225 additions and 29 deletions
@ -1,4 +1,5 @@ |
|||||||
RewriteEngine On |
RewriteEngine On |
||||||
RewriteRule '^click\/(.*)$' /index.php?c=click&id=$1 [L] |
RewriteRule '^click\/(.*)$' /index.php?c=click&id=$1 [L] |
||||||
RewriteRule '^api\/(.*)?(.*)$' /index.php?c=api&method=$1&$2 [L] |
RewriteRule '^api\/(.*)?(.*)$' /index.php?c=api&method=$1&$2 [L] |
||||||
RewriteRule login /index.php?c=login [NC,L] |
RewriteRule login /index.php?c=login [NC,L] |
||||||
|
RewriteRule .*.(db3|rar|gz|json)$ - [F] |
File diff suppressed because one or more lines are too long
@ -0,0 +1,2 @@ |
|||||||
|
/*! layer mobile-v2.0.0 Web 通用弹出层组件 MIT License */ |
||||||
|
;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window); |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 11 KiB |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 701 B |
After Width: | Height: | Size: 1.7 KiB |
@ -0,0 +1,28 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html lang="zh-cn" xmlns="http://www.w3.org/1999/xhtml"> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8" /> |
||||||
|
<title>403 error</title> |
||||||
|
<meta name="author" content="xiaoz" /> |
||||||
|
<meta name="keywords" content="" /> |
||||||
|
<meta name="description" content="" /> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||||
|
<link rel="stylesheet" href="https://lib.sinaapp.com/js/bootstrap/4.3.1/css/bootstrap.min.css" type="" media=""/> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div class="container" style = "margin-top:2em;"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-sm-6 offset-sm-3"> |
||||||
|
<div class="xcdn-title"> |
||||||
|
<svg t="1587806027367" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1138" width="6rem" height="6rem"><path d="M132.8 837.824c-8.533333 15.04-8.234667 15.509333 10.24 15.509333h737.92c18.453333 0 18.752-0.512 10.24-15.509333L519.722667 181.824c-8.405333-14.869333-7.04-14.869333-15.445334 0L132.8 837.802667zM593.962667 139.733333L965.461333 795.733333c41.002667 72.469333-1.258667 142.933333-84.501333 142.933334H143.04c-83.306667 0-125.461333-70.506667-84.48-142.890667l371.477333-656c41.088-72.597333 122.88-72.576 163.946667 0zM512 789.333333a42.666667 42.666667 0 1 0 0-85.333333 42.666667 42.666667 0 0 0 0 85.333333z m-42.666667-384v213.333334a42.666667 42.666667 0 1 0 85.333334 0V405.333333a42.666667 42.666667 0 1 0-85.333334 0z" p-id="1139" fill="#d81e06"></path></svg><h1>403 error</h1> |
||||||
|
</div> |
||||||
|
<div class="xcdn-content"> |
||||||
|
<?php echo $msg; ?> |
||||||
|
</div> |
||||||
|
<hr> |
||||||
|
<div class="xcdn-footer">Powered by <a href="https://www.xiaoz.me/" title = "小z博客" rel = "nofollow" target = "_blank">xiaoz</a></div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,82 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
||||||
|
<title>OneNav后台管理</title> |
||||||
|
<link rel='stylesheet' href='https://libs.xiaoz.top/layui/v2.5.4/css/layui.css'> |
||||||
|
<link rel='stylesheet' href='templates/admin/static/style.css'> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div> |
||||||
|
<!-- 内容主体区域 --> |
||||||
|
<div class="layui-row" style = "margin-top:18px;"> |
||||||
|
<div class="layui-container"> |
||||||
|
<div class="layui-col-lg6 layui-col-md-offset3"> |
||||||
|
<form class="layui-form"> |
||||||
|
<div class="layui-form-item"> |
||||||
|
<label class="layui-form-label">URL</label> |
||||||
|
<div class="layui-input-block"> |
||||||
|
<input type="url" id = "url" name="url" required lay-verify="required|url" placeholder="请输入有效链接" autocomplete="off" class="layui-input"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="layui-form-item"> |
||||||
|
<label class="layui-form-label">链接名称</label> |
||||||
|
<div class="layui-input-block"> |
||||||
|
<input type="text" id = "title" name="title" required lay-verify="required" placeholder="请输入链接名称" autocomplete="off" class="layui-input"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="layui-form-item"> |
||||||
|
<label class="layui-form-label">所属分类</label> |
||||||
|
<div class="layui-input-block"> |
||||||
|
<select name="fid" lay-verify="required" lay-search> |
||||||
|
<option value=""></option> |
||||||
|
<?php foreach ($categorys as $category) { |
||||||
|
# code... |
||||||
|
?> |
||||||
|
<option value="<?php echo $category['id'] ?>"><?php echo $category['name']; ?></option> |
||||||
|
<?php } ?> |
||||||
|
</select> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="layui-form-item"> |
||||||
|
<label class="layui-form-label">权重</label> |
||||||
|
<div class="layui-input-block"> |
||||||
|
<input type="number" name="weight" min = "0" max = "999" value = "0" required lay-verify="required|number" placeholder="权重越高,排名越靠前,范围为0-999" autocomplete="off" class="layui-input"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
<div class="layui-form-item"> |
||||||
|
<label class="layui-form-label">是否私有</label> |
||||||
|
<div class="layui-input-block"> |
||||||
|
<input type="checkbox" name="property" value = "1" lay-skin="switch" lay-text="是|否"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="layui-form-item layui-form-text"> |
||||||
|
<label class="layui-form-label">描述</label> |
||||||
|
<div class="layui-input-block"> |
||||||
|
<textarea name="description" id = "description" placeholder="请输入内容" class="layui-textarea"></textarea> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="layui-form-item"> |
||||||
|
<div class="layui-input-block"> |
||||||
|
<button class="layui-btn" lay-submit lay-filter="add_link">添加</button> |
||||||
|
<!-- <button class="layui-btn" lay-submit lay-filter="get_link_info">识别</button> --> |
||||||
|
<a href="javascript:;" class="layui-btn" onclick="get_link_info()">识别</a> |
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<!-- 内容主题区域END --> |
||||||
|
</div> |
||||||
|
|
||||||
|
<script src = 'https://libs.xiaoz.top/jquery/2.2.4/jquery.min.js'></script> |
||||||
|
<script src = 'https://libs.xiaoz.top/layui/v2.5.4/layui.js'></script> |
||||||
|
<script src="templates/admin/static/embed.js"></script> |
||||||
|
|
||||||
|
</body> |
||||||
|
</html> |
Loading…
Reference in new issue