|
|
|
<!-- 主题设置 -->
|
|
|
|
<?php require_once(dirname(__DIR__).'/header.php'); ?>
|
|
|
|
<?php include_once(dirname(__DIR__).'/left.php'); ?>
|
|
|
|
<div class="layui-body">
|
|
|
|
<!-- 内容主体区域 -->
|
|
|
|
<div class="layui-row content-body place-holder" id = "layer-photos">
|
|
|
|
<!-- 说明提示框 -->
|
|
|
|
<div class="layui-col-lg12">
|
|
|
|
<div class="setting-msg">
|
|
|
|
<p>1. 主题更换及设置说明,请参考:<a href="https://dwz.ovh/yoyaf" target = "_blank" title = "主题更换及设置说明">https://dwz.ovh/yoyaf</a></p>
|
|
|
|
<p>2. 主题本身不收取费用,但为了分摊服务器存储和带宽成本,主题下载和更新需要订阅用户才能使用,敬请谅解!订阅地址:<a href="https://dwz.ovh/69h9q" rel="nofollow" target="_blank" title="购买订阅服务">https://dwz.ovh/69h9q</a></p>
|
|
|
|
<p>3. 部分主题来自其它开源项目,OneNav仅做适配,主题版权归原作者所有</p>
|
|
|
|
<p>4. 主题提交请联系QQ:446199062</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- 说明提示框END -->
|
|
|
|
<div class="layui-col-lg12">
|
|
|
|
<div class="layui-row layui-col-space24">
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 主题列表new -->
|
|
|
|
<?php foreach ($themes as $key => $theme) {
|
|
|
|
//var_dump($theme['info']->name);
|
|
|
|
?>
|
|
|
|
<div class="layui-col-md3">
|
|
|
|
<div class="layui-card custom-card">
|
|
|
|
<div class="layui-card-header">
|
|
|
|
<?php echo $key; ?> - <?php echo $theme['info']->version ?>
|
|
|
|
<?php if( $current_them == $key ) { ?>
|
|
|
|
<span style = "color:#ff5722;">(使用中)</span>
|
|
|
|
<?php } ?>
|
|
|
|
</div>
|
|
|
|
<div class="layui-card-body">
|
|
|
|
<!-- 主题图片 -->
|
|
|
|
<div class = "screenshot"><p><img layer-src="<?php echo $theme['info']->screenshot; ?>" src="<?php echo $theme['info']->screenshot; ?>" alt=""></p></div>
|
|
|
|
<!-- 主题图片END -->
|
|
|
|
<hr>
|
|
|
|
<div class = "thme-btns">
|
|
|
|
<div class="layui-btn-group">
|
|
|
|
<button type="button" class="layui-btn layui-btn-sm" onclick = "set_theme('<?php echo $key; ?>')">使用</button>
|
|
|
|
<button type="button" class="layui-btn layui-btn-sm" onclick = "theme_detail('<?php echo $key; ?>')">详情</button>
|
|
|
|
<button type="button" class="layui-btn layui-btn-sm" onclick = "theme_config('<?php echo $key; ?>')">参数设置</button>
|
|
|
|
<button type="button" class="layui-btn layui-btn-sm" onclick = "update_theme('<?php echo $key; ?>','<?php echo $theme['info']->version; ?>')">更新</button>
|
|
|
|
<a class="layui-btn layui-btn-sm" target = "_blank" href="/index.php?theme=<?php echo $key; ?>">预览</a>
|
|
|
|
<button type="button" class="layui-btn layui-btn-sm layui-btn-danger" onclick = "delete_theme('<?php echo $key; ?>')">删除</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<?php } ?>
|
|
|
|
<!-- 主题列表new END -->
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
<!-- 在线主题 -->
|
|
|
|
<div class="layui-col-lg12">
|
|
|
|
<h2 style = "padding-bottom:16px;padding-top:8px;">在线主题:</h2>
|
|
|
|
<div class="layui-row layui-col-space24">
|
|
|
|
<?php foreach ($theme_list as $key => $theme) {
|
|
|
|
//var_dump($theme['info']->name);
|
|
|
|
?>
|
|
|
|
<!-- 在线主题列表 -->
|
|
|
|
|
|
|
|
<div class="layui-col-md3">
|
|
|
|
<div class="layui-card custom-card">
|
|
|
|
<div class="layui-card-header">
|
|
|
|
<?php echo $key; ?> - <?php echo $theme->version ?>
|
|
|
|
</div>
|
|
|
|
<div class="layui-card-body">
|
|
|
|
<!-- 主题图片 -->
|
|
|
|
<div class = "screenshot">
|
|
|
|
<p><img layer-src="<?php echo $theme->screenshot; ?>" src="<?php echo $theme->screenshot; ?>" alt=""></p>
|
|
|
|
</div>
|
|
|
|
<!-- 主题图片END -->
|
|
|
|
<hr>
|
|
|
|
<div class = "thme-btns">
|
|
|
|
<div class="layui-btn-group">
|
|
|
|
<button type="button" class="layui-btn layui-btn-sm" onclick = "down_theme('<?php echo $key; ?>','download')">下载</button>
|
|
|
|
<a class="layui-btn layui-btn-sm" title = "查看<?php echo $key; ?>演示" target = "_blank" href="https://nav.rss.ink/index.php?theme=<?php echo $key; ?>">查看演示</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- 主题列表END -->
|
|
|
|
<?php } ?>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- 在线主题END -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<?php include_once(dirname(__DIR__).'/footer.php'); ?>
|
|
|
|
<script>
|
|
|
|
layui.use('layer', function(){
|
|
|
|
var layer = layui.layer;
|
|
|
|
});
|
|
|
|
function theme_detail(name){
|
|
|
|
layer.open({
|
|
|
|
title: name,
|
|
|
|
type:2,
|
|
|
|
area: ['60%', '59%'],
|
|
|
|
content:'/index.php?c=admin&page=setting/theme_detail&name=' + name
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function theme_detail_online(name){
|
|
|
|
layer.open({
|
|
|
|
title: name,
|
|
|
|
type:2,
|
|
|
|
area: ['60%', '59%'],
|
|
|
|
content:'/index.php?c=admin&page=setting/theme_detail&name=' + name
|
|
|
|
});
|
|
|
|
}
|
|
|
|
//主题参数设置
|
|
|
|
function theme_config(name){
|
|
|
|
layer.open({
|
|
|
|
title: "设置主题【" + name + "】参数:",
|
|
|
|
type:2,
|
|
|
|
area: ['620px', '560px'],
|
|
|
|
content:'/index.php?c=admin&page=setting/theme_config&name=' + name
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function set_theme(name) {
|
|
|
|
$.post("/index.php?c=api&method=set_theme",{key:"theme",value:name},function(data,status){
|
|
|
|
if( data.code == 0 ) {
|
|
|
|
layer.msg(data.data, {icon: 1});
|
|
|
|
setTimeout(() => {
|
|
|
|
location.reload();
|
|
|
|
}, 2000);
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
layer.msg(data.err_msg, {icon: 5});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function down_theme(name,type) {
|
|
|
|
//请求订阅接口,并获取key、value
|
|
|
|
var index = layer.load(1);
|
|
|
|
// $.ajax({
|
|
|
|
// 'url': '/index.php?c=api&method=check_subscribe',
|
|
|
|
// 'type': 'GET',
|
|
|
|
// 'async': false,
|
|
|
|
// success:function(result) {
|
|
|
|
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
$.get("/index.php?c=api&method=check_subscribe",function(result,status){
|
|
|
|
if( result.code == 200 ) {
|
|
|
|
var key = result.data.key;
|
|
|
|
var value = result.data.value;
|
|
|
|
//继续下载主题
|
|
|
|
$.get("/index.php?c=api&method=down_theme",{name:name,key:key,value:value,type:type},function(data,status){
|
|
|
|
//如果下载成功
|
|
|
|
if( data.code == 200 ) {
|
|
|
|
layer.closeAll('loading');
|
|
|
|
layer.msg(data.msg, {icon: 1});
|
|
|
|
//重载当前页面
|
|
|
|
setTimeout(() => {
|
|
|
|
window.location.reload();
|
|
|
|
}, 2000);
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
layer.closeAll('loading');
|
|
|
|
layer.msg(data.msg, {icon: 5});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
layer.closeAll('loading');
|
|
|
|
layer.msg(result.msg, {icon: 5});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
//更新主题
|
|
|
|
function update_theme(name,version){
|
|
|
|
//获取远程主题最新版本号
|
|
|
|
var index = layer.load(1);
|
|
|
|
var infourl = "https://onenav.xiaoz.top/themes/" + name + "/info.json";
|
|
|
|
$.ajax({
|
|
|
|
type:"HEAD",
|
|
|
|
async:true,
|
|
|
|
url:infourl,
|
|
|
|
statusCode: {
|
|
|
|
200: function() {
|
|
|
|
$.get("https://onenav.xiaoz.top/themes/" + name + "/info.json",function(data,status){
|
|
|
|
let new_version = data.version;
|
|
|
|
if ( version >= new_version ) {
|
|
|
|
layer.closeAll('loading');
|
|
|
|
layer.msg('已经是最新版本,无需更新!', {icon: 5});
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
down_theme(name,'update');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
403:function() {
|
|
|
|
layer.closeAll('loading');
|
|
|
|
layer.msg('更新失败,权限不足!', {icon: 5});
|
|
|
|
},
|
|
|
|
404:function() {
|
|
|
|
layer.closeAll('loading');
|
|
|
|
layer.msg('更新失败,远程服务器上不存在此主题!', {icon: 5});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//遍历所有主题,检查是否有更新
|
|
|
|
function check_update(){
|
|
|
|
//请求远程主题列表
|
|
|
|
$.get("https://onenav.xiaoz.top/v1/theme_list.php",function(data,status){
|
|
|
|
let result = data.data;
|
|
|
|
//console.log(result.5iux);
|
|
|
|
for (const obj in result) {
|
|
|
|
//获取主题名称
|
|
|
|
let value = $("#" + obj).text();
|
|
|
|
//如果获取到的数据为空
|
|
|
|
if( value == '' ) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
//console.log(obj);
|
|
|
|
//获取最新版本
|
|
|
|
let latest_version = result[obj].version;
|
|
|
|
//获取当前版本
|
|
|
|
let current_version = value.split(' - ')[1];
|
|
|
|
//如果存在最新版本
|
|
|
|
if( latest_version > current_version ) {
|
|
|
|
console.log("#" + obj + ".renewable");
|
|
|
|
$("#" + obj + " .renewable").append(`(可更新至${latest_version})`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
check_update();
|
|
|
|
|
|
|
|
|
|
|
|
layer.photos({
|
|
|
|
photos: '#layer-photos'
|
|
|
|
,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
|
|
|
|
});
|
|
|
|
</script>
|