mirror of https://github.com/helloxz/onenav.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							248 lines
						
					
					
						
							9.6 KiB
						
					
					
				
			
		
		
	
	
							248 lines
						
					
					
						
							9.6 KiB
						
					
					
				| <!-- 主题设置 --> | |
| <?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>
 |