新增动画元数据设置
移动部分页面导航
This commit is contained in:
parent
690de202ae
commit
ab49b9400b
@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class ToolsApplication {
|
||||
public static final String version="1.4.4.6";
|
||||
public static final String version="1.4.5";
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println("当前版本号:" + version);
|
||||
|
@ -0,0 +1,57 @@
|
||||
package com.yutou.tools.bangumi;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.yutou.tools.nas.UpdateIp;
|
||||
import com.yutou.tools.utils.HttpTools;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
@Controller
|
||||
public class AnimMetaController {
|
||||
@RequestMapping("/anim/meta/get.do")
|
||||
@ResponseBody
|
||||
public JSONArray getAnimMeta() {
|
||||
String ret = HttpTools.get("http://" + UpdateIp.nas_ip + ":8000/tools/anim/items.do");
|
||||
JSONArray array = new JSONArray();
|
||||
if (ret != null) {
|
||||
JSONArray metas = JSONArray.parseArray(ret);
|
||||
for (Object _meta : metas) {
|
||||
JSONObject meta = (JSONObject) _meta;
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("title", meta.getString("name"));
|
||||
item.put("id", meta.getString("root"));
|
||||
if (meta.getInteger("size") > 1) {
|
||||
JSONArray _tmp = new JSONArray();
|
||||
for (Object _path : meta.getJSONArray("path")) {
|
||||
JSONObject children = new JSONObject();
|
||||
JSONObject path = (JSONObject) _path;
|
||||
children.put("title", path.getString("name"));
|
||||
children.put("id", path.getString("path") == null ? meta.getString("root") : path.getString("path"));
|
||||
_tmp.add(children);
|
||||
item.put("children", _tmp);
|
||||
}
|
||||
}
|
||||
array.add(item);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "/anim/meta/set.do", method = RequestMethod.POST)
|
||||
public JSONObject setAnimMeta(String path, String id) {
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("path", path);
|
||||
item.put("id", id);
|
||||
String ret = HttpTools.post("http://" + UpdateIp.nas_ip + ":8000/tools/anim/set.do", HttpTools.toUrlParams(item).getBytes(StandardCharsets.UTF_8));
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("code", 0);
|
||||
json.put("msg", ret);
|
||||
return json;
|
||||
}
|
||||
}
|
@ -10,6 +10,7 @@ import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@ -109,16 +110,16 @@ public class HttpTools {
|
||||
return "/KUKU_APP(Android/#/cn.kuku.sdk/ttsdk17228/29401/A-2.9.4.01.KUSDK/868139039134314/fcddf839c8c135fa/F4:60:E2:AB:25:1A/460019406520644/+8618569400341/#/9/Redmi 6 Pro/xiaomi/1736/76fda4d6-cd6b-485f-987b-8d347b007f24/#/KUKU/Native/92972ea9651fbd2e)";
|
||||
}
|
||||
|
||||
public String toUrlParams(JSONObject json) {
|
||||
public static String toUrlParams(JSONObject json) {
|
||||
StringBuilder string = new StringBuilder();
|
||||
Set<String> keys = json.keySet();
|
||||
for (String key : keys) {
|
||||
try {
|
||||
string.append("&").append(key).append("=").append(URLEncoder.encode(json.getString(key), "UTF-8"));
|
||||
string.append("&").append(key).append("=").append(URLEncoder.encode(json.getString(key), StandardCharsets.UTF_8));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
try {
|
||||
string.append("&").append(URLEncoder.encode(key, "UTF-8")).append("=");
|
||||
string.append("&").append(URLEncoder.encode(key, StandardCharsets.UTF_8)).append("=");
|
||||
// string += "&" + key + "=";
|
||||
} catch (Exception e1) {
|
||||
string.append("&").append(key).append("=");
|
||||
|
1
web/css/my.css
Normal file
1
web/css/my.css
Normal file
@ -0,0 +1 @@
|
||||
.mybody{left: 200px;overflow:auto;}
|
64
web/html/body/nas/animMeta.html
Normal file
64
web/html/body/nas/animMeta.html
Normal file
@ -0,0 +1,64 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ch">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>动画元数据设置</title>
|
||||
<link rel="stylesheet" href="/layui/css/layui.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
<div id="header"></div>
|
||||
<div class="layui-body mybody">
|
||||
<div id="side"></div>
|
||||
<div id="animmeta"></div>
|
||||
<div id="footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/layui/layui.js"></script>
|
||||
<script src="/js/jquery-3.2.1.js"></script>
|
||||
<script>
|
||||
$('#header').load("/html/header.html");
|
||||
$('#footer').load("/html/footer.html");
|
||||
|
||||
var loadId = layer.load();
|
||||
$.get('/anim/meta/get.do', function (json) {
|
||||
layer.close(loadId)
|
||||
layui.use('tree', function () {
|
||||
var tree = layui.tree;
|
||||
tree.render({
|
||||
elem: '#animmeta',
|
||||
data: json,
|
||||
click: function (obj) {
|
||||
var url="https://bgm.tv/subject_search/"+encodeURIComponent(obj.data.title)+"?cat=2"
|
||||
layer.prompt({
|
||||
title: "设置元数据:"+'<a href='+url+' target="_blank">查询</a>',
|
||||
value: ''
|
||||
}, function (value, index, elem) {
|
||||
loadId=layer.load()
|
||||
$.post('/anim/meta/set.do',{path:obj.data.id,id:value},function(data){
|
||||
layer.close(loadId);
|
||||
layer.msg("设置成功")
|
||||
layer.close(index);
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
#icon {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.body {
|
||||
bottom: 0;
|
||||
}
|
||||
</style>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="ch">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
@ -22,7 +22,7 @@
|
||||
<script>
|
||||
$.get("/login/check.do", function (data) {
|
||||
let json = JSON.parse(data);
|
||||
if (json.code != 0) {
|
||||
if (json.code !== 0) {
|
||||
window.location.href = "/"
|
||||
}
|
||||
})
|
||||
|
@ -11,7 +11,7 @@
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
<div id="header"></div>
|
||||
|
||||
<div class="layui-body" style="left: 200px;overflow:auto;">
|
||||
<div class="layui-body mybody">
|
||||
<!-- <div id="side"></div>-->
|
||||
|
||||
<div style="margin-left: 2%; margin-top: 2%;">
|
||||
|
@ -6,6 +6,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="/layui/css/layui.css">
|
||||
<link rel="stylesheet" href="/css/my.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -26,6 +27,10 @@
|
||||
<dd><a href="/html/body/tools/clash.html">管理Clash</a></dd>
|
||||
<dd><a href="/html/body/tools/password.html">密码管理器</a></dd>
|
||||
<dd><a href="javascript:;" id="open_pc">远程开机</a></dd>
|
||||
<dd><a href="/html/body/nas/cctv.html">监控</a></dd>
|
||||
<dd><a href="/html/body/nas/animrss.html">动画RSS</a></dd>
|
||||
<dd><a href="/html/body/nas/animMeta.html">动画元数据设置</a></dd>
|
||||
<dd><a href="/html/body/nas/oss.html">OSS备份设置</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item">
|
||||
@ -35,9 +40,6 @@
|
||||
<dd><a href="http://bt.yutou233.cn" target="_blank">BT下载</a></dd>
|
||||
<dd><a href="http://jellyfin.yutou233.cn:7800/" target="_blank">jellyfin</a></dd>
|
||||
<dd><a href="/html/body/nas/music.html">NAS音乐播放器</a></dd>
|
||||
<dd><a href="/html/body/nas/cctv.html">监控</a></dd>
|
||||
<dd><a href="/html/body/nas/animrss.html">动画RSS</a></dd>
|
||||
<dd><a href="/html/body/nas/oss.html">OSS备份设置</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item" id='icon'>
|
||||
|
Loading…
Reference in New Issue
Block a user