Snavigation/js/set.js

1216 lines
36 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
作者:D.Young
主页https://yyv.me/
githubhttps://github.com/5iux/sou
日期2019-07-26
版权所有,请勿删除
========================================
由 yeetime 修改
githubhttps://github.com/yeetime/sou2
日期2019-12-13
========================================
由 imsyy 二次修改
githubhttps://github.com/imsyy/sou2
日期2022-03-10
*/
// 默认搜索引擎列表
var se_list_preinstall = {
'1': {
id: 1,
title: "百度",
url: "https://www.baidu.com/s",
name: "wd",
icon: "iconfont icon-baidu",
},
'2': {
id: 2,
title: "必应",
url: "https://cn.bing.com/search",
name: "q",
icon: "iconfont icon-bing",
},
'3': {
id: 3,
title: "谷歌",
url: "https://www.google.com/search",
name: "q",
icon: "iconfont icon-google",
},
'4': {
id: 4,
title: "搜狗",
url: "https://www.sogou.com/web",
name: "query",
icon: "iconfont icon-sougousousuo",
},
'5': {
id: 5,
title: "360",
url: "https://www.so.com/s",
name: "q",
icon: "iconfont icon-360sousuo",
},
'6': {
id: 6,
title: "微博",
url: "https://s.weibo.com/weibo",
name: "q",
icon: "iconfont icon-xinlangweibo",
},
'7': {
id: 7,
title: "知乎",
url: "https://www.zhihu.com/search",
name: "q",
icon: "iconfont icon-zhihu",
},
'8': {
id: 8,
title: "Github",
url: "https://github.com/search",
name: "q",
icon: "iconfont icon-github",
},
'9': {
id: 9,
title: "BiliBili",
url: "https://search.bilibili.com/all",
name: "keyword",
icon: "iconfont icon-bilibilidonghua",
},
'10': {
id: 10,
title: "淘宝",
url: "https://s.taobao.com/search",
name: "q",
icon: "iconfont icon-taobao",
},
'11': {
id: 11,
title: "京东",
url: "https://search.jd.com/Search",
name: "keyword",
icon: "iconfont icon-jingdong",
}
};
// 默认快捷方式
var quick_list_preinstall = {
'1': {
title: "Vercel",
url: "https://vercel.com/",
},
'2': {
title: "GitHub",
url: "https://github.com/",
},
'3': {
title: "Cloudflare",
url: "https://dash.cloudflare.com/",
},
'4': {
title: "W3school",
url: "https://www.w3school.com.cn/",
},
'5': {
title: "腾讯云",
url: "https://console.cloud.tencent.com/",
},
'6': {
title: "阿里云",
url: "https://console.aliyun.com/",
},
'7': {
title: "百度网盘",
url: "https://pan.baidu.com/",
},
'8': {
title: "阿里云盘",
url: "https://www.aliyundrive.com/drive/",
},
'9': {
title: "Office",
url: "https://www.office.com/",
},
'10': {
title: "又拍云",
url: "https://console.upyun.com/",
},
'11': {
title: "CSDN",
url: "https://www.csdn.net/",
},
'12': {
title: "哔哩哔哩",
url: "https://www.bilibili.com/",
}
};
// 获取搜索引擎列表
function getSeList() {
var se_list_local = Cookies.get('se_list');
if (se_list_local !== "{}" && se_list_local) {
return JSON.parse(se_list_local);
} else {
setSeList(se_list_preinstall);
return se_list_preinstall;
}
}
// 设置搜索引擎列表
function setSeList(se_list) {
if (se_list) {
Cookies.set('se_list', se_list, {
expires: 36500
});
return true;
}
return false;
}
// 获得默认搜索引擎
function getSeDefault() {
var se_default = Cookies.get('se_default');
return se_default ? se_default : "1";
}
//背景图片
var bg_img_preinstall = {
"type": "2", // 1:使用主题默认的背景图片 2:关闭背景图片 3:使用自定义的背景图片
"path": "", //自定义图片
};
// 获取背景图片
function getBgImg() {
var bg_img_local = Cookies.get('bg_img');
if (bg_img_local && bg_img_local !== "{}") {
return JSON.parse(bg_img_local);
} else {
setBgImg(bg_img_preinstall);
return bg_img_preinstall;
}
}
// 设置背景图片
function setBgImg(bg_img) {
if (bg_img) {
Cookies.set('bg_img', bg_img, {
expires: 36500
});
return true;
}
return false;
}
// 设置-壁纸
//$('#bg').attr('src','https://api.dujin.org/bing/1920.php')
function setBgImgInit() {
var bg_img = getBgImg();
$("input[name='wallpaper-type'][value=" + bg_img["type"] + "]").click();
if (bg_img["type"] === "5") {
$("#wallpaper-url").val(bg_img["path"]);
$("#wallpaper-button").fadeIn(100);
$("#wallpaper_url").fadeIn(100);
} else {
$("#wallpaper_url").fadeOut(300);
$("#wallpaper-button").fadeOut(300);
}
switch (bg_img["type"]) {
case "1":
var pictures = new Array();
pictures[0] = './img/background1.webp';
pictures[1] = './img/background2.webp';
pictures[2] = './img/background3.webp';
pictures[3] = './img/background4.webp';
pictures[4] = './img/background5.webp';
pictures[5] = './img/background6.webp';
pictures[6] = './img/background7.webp';
pictures[7] = './img/background8.webp';
pictures[8] = './img/background9.webp';
pictures[9] = './img/background10.webp';
var rd = Math.floor(Math.random() * 10);
$('#bg').attr('src', pictures[rd]) //随机默认壁纸
break;
case "2":
$('#bg').attr('src', 'https://api.dujin.org/bing/1920.php') //必应每日
break;
case "3":
$('#bg').attr('src', 'https://api.ixiaowai.cn/gqapi/gqapi.php') //随机风景
break;
case "4":
$('#bg').attr('src', 'https://api.ixiaowai.cn/api/api.php') //随机二次元
break;
case "5":
$('#bg').attr('src', bg_img["path"]) //自定义
break;
}
}
// 搜索框高亮
function focusWd() {
$("body").addClass("onsearch");
}
// 搜索框取消高亮
function blurWd() {
$("body").removeClass("onsearch");
//隐藏输入
$(".wd").val("");
//隐藏搜索建议
$("#keywords").hide();
}
// 搜索建议提示
function keywordReminder() {
var keyword = $(".wd").val();
if (keyword != "") {
$.ajax({
url: 'https://suggestion.baidu.com/su?wd=' + keyword,
dataType: 'jsonp',
jsonp: 'cb', //回调函数的参数名(键值)key
success: function (data) {
//获取宽度
$("#keywords").css("width", $('.sou').width());
$("#keywords").empty().show();
$.each(data.s, function (i, val) {
$('#keywords').append(`<div class="keyword" data-id="${i + 1}"><i class='iconfont icon-sousuo'></i>${val}</div>`);
});
$("#keywords").attr("data-length", data.s["length"]);
$(".keyword").click(function () {
$(".wd").val($(this).text());
$("#search-submit").click();
});
},
error: function () {
$("#keywords").empty().show();
$("#keywords").hide();
}
})
} else {
$("#keywords").empty().show();
$("#keywords").hide();
}
}
// 搜索框数据加载
function searchData() {
var se_default = getSeDefault();
var se_list = getSeList();
var defaultSe = se_list[se_default];
if (defaultSe) {
$(".search").attr("action", defaultSe["url"]);
$("#icon-se").attr("class", defaultSe["icon"]);
$(".wd").attr("name", defaultSe["name"]);
}
// 判断窗口大小,添加输入框自动完成
// var wid = $("body").width();
// if (wid < 640) {
// $(".wd").attr('autocomplete', 'off');
// } else {
// $(".wd").focus();
// focusWd();
// }
}
// 搜索引擎列表加载
function seList() {
var html = "";
var se_list = getSeList();
for (var i in se_list) {
html += `<div class='se-li' data-url='${se_list[i]["url"]}' data-name='${se_list[i]["name"]}' data-icon='${se_list[i]["icon"]}'>
<a class='se-li-text'><i id='icon-sou-list' class='${se_list[i]["icon"]}'></i><span>${se_list[i]["title"]}</span></a></div>`;
}
$(".search-engine-list").html(html);
}
// 设置-搜索引擎列表加载
function setSeInit() {
var se_default = getSeDefault();
var se_list = getSeList();
var html = "";
for (var i in se_list) {
var tr = `<div class='se_list_div'><div class='se_list_num'>${i}</div>`;
if (i === se_default) {
tr = `<div class='se_list_div'><div class='se_list_num'>
<i class='iconfont icon-home'></i></div>`;
}
tr += `<div class='se_list_name'>${se_list[i]["title"]}</div>
<div class='se_list_button'>
<button class='set_se_default' value='${i}' style='border-radius: 8px 0px 0px 8px;'>
<i class='iconfont icon-home'></i></button>
<button class='edit_se' value='${i}'>
<i class='iconfont icon-xiugai'></i></button>
<button class='delete_se' value='${i}' style='border-radius: 0px 8px 8px 0px;'>
<i class='iconfont icon-delete'></i></button></div>
</div>`;
html += tr;
}
$(".se_list_table").html(html);
}
// 获取快捷方式列表
function getQuickList() {
var quick_list_local = Cookies.get('quick_list');
if (quick_list_local !== "{}" && quick_list_local) {
return JSON.parse(quick_list_local);
} else {
setQuickList(quick_list_preinstall);
return quick_list_preinstall;
}
}
// 设置快捷方式列表
function setQuickList(quick_list) {
if (quick_list) {
Cookies.set('quick_list', quick_list, {
expires: 36500
});
return true;
}
return false;
}
// 快捷方式数据加载
function quickData() {
var html = "";
var quick_list = getQuickList();
for (var i in quick_list) {
html += `<div class="quick">
<a href="${quick_list[i]['url']}" target="_blank">${quick_list[i]['title']}</a>
</div>`;
}
$(".quick-all").html(html + `<div class="quick"><a id="set-quick"><i class="iconfont icon-tianjia-"></i></a></div>`);
}
// 设置-快捷方式加载
function setQuickInit() {
var quick_list = getQuickList();
var html = "";
for (var i in quick_list) {
tr = `
<div class='quick_list_div'>
<div class='quick_list_div_num'>${i}</div>
<div class='quick_list_div_name'>${quick_list[i]['title']}</div>
<div class='quick_list_div_button'>
<button class='edit_quick' value='${i}' style='border-radius: 8px 0px 0px 8px;'>
<i class='iconfont icon-xiugai'></i></button>
<button class='delete_quick' value='${i}' style='border-radius: 0px 8px 8px 0px;'>
<i class='iconfont icon-delete'></i></button>
</div>
</div>`;
html += tr;
}
$(".quick_list_table").html(html);
}
/**
* 下载文本为文件
* @param filename 文件名
* @param text 内容
*/
function download(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
// 打开设置
function openSet() {
$("#menu").addClass('on');
openBox();
//更改设置图标
$("#icon-menu").attr("class", "iconfont icon-home");
//隐藏书签打开设置
$(".mark").css({
"display": "none",
});
$(".set").css({
"display": "flex",
});
}
// 关闭设置
function closeSet() {
$("#menu").removeClass('on');
closeBox();
//更改设置图标
$("#icon-menu").attr("class", "iconfont icon-shezhi");
//隐藏设置
$(".set").css({
"display": "none",
});
// 刷新主页数据
seList();
quickData();
}
// 书签显示
function openBox() {
$("#content").addClass('box');
$(".mark").css({
"display": "flex",
});
//时间上移
$(".tool-all").css({
"transform": 'translateY(-160%)'
});
//背景模糊
$('#bg').css({
"transform": 'scale(1.08)',
"filter": "blur(10px)",
"transition": "ease 0.3s",
});
}
// 书签关闭
function closeBox() {
$("#content").removeClass('box');
$(".mark").css({
"display": "none",
});
//时间下移
$(".tool-all").css({
"transform": 'translateY(-120%)'
});
//背景模糊
$('#bg').css({
"transform": 'scale(1)',
"filter": "blur(0px)",
"transition": "ease 0.3s",
});
}
//显示设置搜索引擎列表
function showSe() {
$(".se_list").show();
$(".se_add_preinstall").show();
}
//隐藏设置搜索引擎列表
function hideSe() {
$(".se_list").hide();
$(".se_add_preinstall").hide();
}
//显示设置快捷方式列表
function showQuick() {
$(".quick_list").show();
$(".se_add_preinstalls").show();
}
//隐藏设置快捷方式列表
function hideQuick() {
$(".quick_list").hide();
$(".se_add_preinstalls").hide();
}
$(document).ready(function () {
// 搜索框数据加载
searchData();
// 搜索引擎列表加载
seList();
// 快捷方式数据加载
quickData();
// 壁纸数据加载
setBgImgInit();
// 点击事件
$(document).on('click', function (e) {
// 选择搜索引擎点击
if ($(".search-engine").is(":hidden") && $(".se").is(e.target) || $(".search-engine").is(":hidden") && $("#icon-se").is(e.target)) {
if ($(".se").is(e.target) || $("#icon-se").is(e.target)) {
//获取宽度
$(".search-engine").css("width", $('.sou').width() - 30);
//出现动画
$(".search-engine").slideDown(160);
}
} else {
if (!$(".search-engine").is(e.target) && $(".search-engine").has(e.target).length === 0) {
$(".search-engine").slideUp(160);
}
}
// 自动提示隐藏
if (!$(".sou").is(e.target) && $(".sou").has(e.target).length === 0) {
$("#keywords").hide();
}
});
// 时间点击
$("#time_text").click(function () {
if ($("#content").attr("class") === "box") {
closeBox();
closeSet();
blurWd();
} else {
openBox();
}
});
// 搜索引擎列表点击
$(".search-engine-list").on("click", ".se-li", function () {
var url = $(this).attr('data-url');
var name = $(this).attr('data-name');
var icon = $(this).attr('data-icon');
$(".search").attr("action", url);
$(".wd").attr("name", name);
$("#icon-se").attr("class", icon);
$(".search-engine").slideUp(160);
});
// 搜索引擎列表点击
$(".search-engine-list").on("click", ".se-li", function () {
var url = $(this).attr('data-url');
var name = $(this).attr('data-name');
var icon = $(this).attr('data-icon');
$(".search").attr("action", url);
$(".wd").attr("name", name);
$("#icon-se").attr("class", icon);
$(".search-engine").slideUp(160);
});
// 搜索框点击事件
$(document).on('click', '.sou', function () {
focusWd();
$(".search-engine").slideUp(160);
});
$(document).on('click', '.wd', function () {
focusWd();
keywordReminder();
$(".search-engine").slideUp(160);
});
// 点击其他区域关闭事件
$(document).on('click', '.close_sou', function () {
blurWd();
closeSet();
});
// 点击搜索引擎时隐藏自动提示
$(document).on('click', '.se', function () {
$('#keywords').toggle();
});
// 恢复自动提示
$(document).on('click', '.se-li', function () {
$('#keywords').show();
});
// 自动提示 (调用百度 api
$('.wd').keyup(function (event) {
var key = event.keyCode;
// 屏蔽上下键
var shieldKey = [38, 40];
if (shieldKey.includes(key)) return;
keywordReminder();
});
// 点击自动提示的搜索建议
$("#keywords").on("click", ".wd", function () {
var wd = $(this).text();
$(".wd").val(wd);
$(".search").submit();
//隐藏输入
$(".wd").val("");
$("#keywords").hide();
});
// 自动提示键盘方向键选择操作
$(".wd").keydown(function (event) { //上下键获取焦点
var key = event.keyCode;
if ($.trim($(this).val()).length === 0) return;
var id = $(".choose").attr("data-id");
if (id === undefined) id = 0;
if (key === 38) {
/*向上按钮*/
id--;
} else if (key === 40) {
/*向下按钮*/
id++;
} else {
return;
}
var length = $("#keywords").attr("data-length");
if (id > length) id = 1;
if (id < 1) id = length;
$(".keyword[data-id=" + id + "]").addClass("choose").siblings().removeClass("choose");
$(".wd").val($(".keyword[data-id=" + id + "]").text());
});
// 菜单点击
$("#menu").click(function () {
if ($(this).attr("class") === "on") {
closeSet();
} else {
openSet();
// 设置内容加载
setSeInit(); //搜索引擎设置
setQuickInit(); //快捷方式设置
}
});
// 快捷方式添加按钮点击
$("#set-quick").click(function () {
openSet();
// 设置内容加载
setSeInit(); //搜索引擎设置
setQuickInit(); //快捷方式设置
//添加快捷方式
$("#set-quick-menu").trigger('click');
$(".set_quick_list_add").trigger('click');
});
// 修改默认搜索引擎
$(".se_list_table").on("click", ".set_se_default", function () {
var name = $(this).val();
Cookies.set('se_default', name, {
expires: 36500
});
iziToast.show({
timeout: 8000,
message: '是否设置为默认搜索引擎?',
buttons: [
['<button>确认</button>', function (instance, toast) {
setSeInit();
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
iziToast.show({
message: '设置成功'
});
setTimeout(function () {
window.location.reload()
}, 1000);
}, true],
['<button>取消</button>', function (instance, toast) {
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
}]
]
});
});
// 搜索引擎添加
$(".set_se_list_add").click(function () {
$(".se_add_content input").val("");
hideSe();
$(".se_add_content").show();
});
// 搜索引擎保存
$(".se_add_save").click(function () {
var key_inhere = $(".se_add_content input[name='key_inhere']").val();
var key = $(".se_add_content input[name='key']").val();
var title = $(".se_add_content input[name='title']").val();
var url = $(".se_add_content input[name='url']").val();
var name = $(".se_add_content input[name='name']").val();
//var icon = $(".se_add_content input[name='icon']").val();
var icon = "iconfont icon-wangluo";
var num = /^\+?[1-9][0-9]*$/;
if (!num.test(key)) {
iziToast.show({
timeout: 2000,
message: '序号 ' + key + ' 不是正整数'
});
return;
}
var se_list = getSeList();
if (se_list[key]) {
iziToast.show({
timeout: 8000,
message: '搜索引擎 ' + key + ' 已有数据,是否覆盖?',
buttons: [
['<button>确认</button>', function (instance, toast) {
se_list[key] = {
title: title,
url: url,
name: name,
icon: icon,
};
setSeList(se_list);
setSeInit();
$(".se_add_content").hide();
//显示列表
showSe();
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
iziToast.show({
message: '覆盖成功'
});
}, true],
['<button>取消</button>', function (instance, toast) {
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
}]
]
});
return;
}
if (key_inhere && key !== key_inhere) {
delete se_list[key_inhere];
}
se_list[key] = {
title: title,
url: url,
name: name,
icon: icon,
};
setSeList(se_list);
setSeInit();
iziToast.show({
timeout: 2000,
message: '添加成功'
});
$(".se_add_content").hide();
showSe();
});
// 关闭表单
$(".se_add_cancel").click(function () {
$(".se_add_content").hide();
//显示列表
showSe();
});
// 搜索引擎修改
$(".se_list").on("click", ".edit_se", function () {
var se_list = getSeList();
var key = $(this).val();
$(".se_add_content input[name='key_inhere']").val(key);
$(".se_add_content input[name='key']").val(key);
$(".se_add_content input[name='title']").val(se_list[key]["title"]);
$(".se_add_content input[name='url']").val(se_list[key]["url"]);
$(".se_add_content input[name='name']").val(se_list[key]["name"]);
// $(".se_add_content input[name='icon']").val("iconfont icon-Earth");
//隐藏列表
hideSe();
$(".se_add_content").show();
});
// 搜索引擎删除
$(".se_list").on("click", ".delete_se", function () {
var se_default = getSeDefault();
var key = $(this).val();
if (key == se_default) {
iziToast.show({
message: '默认搜索引擎不可删除'
});
} else {
iziToast.show({
timeout: 8000,
message: '搜索引擎 ' + key + ' 是否删除?',
buttons: [
['<button>确认</button>', function (instance, toast) {
var se_list = getSeList();
delete se_list[key];
setSeList(se_list);
setSeInit();
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
iziToast.show({
message: '删除成功'
});
}, true],
['<button>取消</button>', function (instance, toast) {
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
}]
]
});
}
});
// 恢复预设搜索引擎
$(".set_se_list_preinstall").click(function () {
iziToast.show({
timeout: 8000,
message: '现有搜索引擎数据将被清空',
buttons: [
['<button>确认</button>', function (instance, toast) {
setSeList(se_list_preinstall);
Cookies.set('se_default', 1, {
expires: 36500
});
setSeInit();
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
iziToast.show({
message: '重置成功'
});
setTimeout(function () {
window.location.reload()
}, 1000);
}, true],
['<button>取消</button>', function (instance, toast) {
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
}]
]
});
});
// 设置-快捷方式添加
$(".set_quick_list_add").click(function () {
$(".quick_add_content input").val("");
$(".quick_add_content").show();
//隐藏列表
hideQuick();
});
// 设置-快捷方式保存
$(".quick_add_save").click(function () {
var key_inhere = $(".quick_add_content input[name='key_inhere']").val();
var key = $(".quick_add_content input[name='key']").val();
var title = $(".quick_add_content input[name='title']").val();
var url = $(".quick_add_content input[name='url']").val();
var img = $(".quick_add_content input[name='img']").val();
var num = /^\+?[1-9][0-9]*$/;
if (!num.test(key)) {
iziToast.show({
timeout: 2000,
message: '快捷方式 ' + key + ' 不是正整数'
});
return;
}
var quick_list = getQuickList();
if (quick_list[key]) {
iziToast.show({
timeout: 8000,
message: '快捷方式 " + key + " 已有数据,是否覆盖?',
buttons: [
['<button>确认</button>', function (instance, toast) {
quick_list[key] = {
title: title,
url: url,
img: img,
};
setQuickList(quick_list);
setQuickInit();
$(".quick_add_content").hide();
//显示列表
showQuick();
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
iziToast.show({
message: '覆盖成功'
});
}, true],
['<button>取消</button>', function (instance, toast) {
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
}]
]
});
return;
}
if (key_inhere && key != key_inhere) {
delete quick_list[key_inhere];
}
quick_list[key] = {
title: title,
url: url,
img: img,
};
setQuickList(quick_list);
setQuickInit();
$(".quick_add_content").hide();
iziToast.show({
timeout: 2000,
message: '添加成功'
});
//显示列表
showQuick();
});
// 设置-快捷方式关闭添加表单
$(".quick_add_cancel").click(function () {
$(".quick_add_content").hide();
//显示列表
showQuick();
});
//恢复预设快捷方式
$(".set_quick_list_preinstall").click(function () {
iziToast.show({
timeout: 8000,
message: '快捷方式数据将被清空',
buttons: [
['<button>确认</button>', function (instance, toast) {
setQuickList(quick_list_preinstall);
setQuickInit();
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
iziToast.show({
timeout: 2000,
message: '重置成功'
});
// setTimeout(function () {
// window.location.reload()
// }, 1000);
}, true],
['<button>取消</button>', function (instance, toast) {
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
}]
]
});
});
// 快捷方式修改
$(".quick_list").on("click", ".edit_quick", function () {
var quick_list = getQuickList();
var key = $(this).val();
$(".quick_add_content input[name='key_inhere']").val(key);
$(".quick_add_content input[name='key']").val(key);
$(".quick_add_content input[name='title']").val(quick_list[key]["title"]);
$(".quick_add_content input[name='url']").val(quick_list[key]["url"]);
$(".quick_add_content input[name='img']").val(quick_list[key]["img"]);
//隐藏列表
hideQuick();
$(".quick_add_content").show();
});
// 快捷方式删除
$(".quick_list").on("click", ".delete_quick", function () {
var key = $(this).val();
iziToast.show({
timeout: 8000,
message: '快捷方式 ' + key + ' 是否删除?',
buttons: [
['<button>确认</button>', function (instance, toast) {
var quick_list = getQuickList();
delete quick_list[key];
setQuickList(quick_list);
setQuickInit();
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
iziToast.show({
timeout: 2000,
message: '删除成功'
});
}, true],
['<button>取消</button>', function (instance, toast) {
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
}]
]
});
});
// 壁纸设置
$("#wallpaper").on("click", ".set-wallpaper", function () {
var type = $(this).val();
var bg_img = getBgImg();
bg_img["type"] = type;
if (type === "1") {
$('#wallpaper_text').html("显示默认壁纸,刷新页面以生效");
setBgImg(bg_img);
iziToast.show({
message: '壁纸设置成功,刷新生效',
});
}
if (type === "2") {
$('#wallpaper_text').html("显示必应每日一图,每天更新,刷新页面以生效 | API @ 缙哥哥");
setBgImg(bg_img);
iziToast.show({
message: '壁纸设置成功,刷新生效',
});
}
if (type === "3") {
$('#wallpaper_text').html("显示随机风景图,每次刷新后更换,刷新页面以生效 | API @ 小歪");
setBgImg(bg_img);
iziToast.show({
message: '壁纸设置成功,刷新生效',
});
}
if (type === "4") {
$('#wallpaper_text').html("显示随机二次元图,每次刷新后更换,刷新页面以生效 | API @ 小歪");
setBgImg(bg_img);
iziToast.show({
message: '壁纸设置成功,刷新生效',
});
}
if (type === "5") {
$('#wallpaper_text').html("自定义壁纸地址,请输入正确地址,点击保存且刷新页面以生效");
$("#wallpaper_url").fadeIn(100);
$("#wallpaper-button").fadeIn(100);
$("#wallpaper-url").val(bg_img["path"]);
} else {
$("#wallpaper_url").fadeOut(300);
$("#wallpaper-button").fadeOut(300);
}
});
// 自定义壁纸设置保存
$(".wallpaper_save").click(function () {
var url = $("#wallpaper-url").val();
var reg = /^http(s)?:\/\/(([\w-]+\.)+[\w-]|localhost)+(:[0-9]{1,5})?(\/[\w- ./?%&=]*)?$/g;
if (!reg.test(url)) {
iziToast.show({
message: '请输入正确的链接',
});
} else {
var bg_img = getBgImg();
bg_img["type"] = "5";
bg_img["path"] = url;
setBgImg(bg_img);
iziToast.show({
message: '自定义壁纸设置成功,刷新生效',
});
}
});
// 我的数据导出
$("#my_data_out").click(function () {
var cookies = Cookies.get();
var json = JSON.stringify(cookies);
download("Snavigation-back-up-" + $.now() + ".json", json);
iziToast.show({
timeout: 2000,
message: '已导出备份文件至下载目录'
});
});
// 我的数据导入 点击触发文件选择
$("#my_data_in").click(function () {
$("#my_data_file").click();
});
// 选择文件后读取文件内容
$("#my_data_file").change(function () {
var selectedFile = document.getElementById('my_data_file').files[0];
//var name = selectedFile.name;//读取选中文件的文件名
//var size = selectedFile.size;//读取选中文件的大小
//console.log("文件名:"+name+" 大小:"+size);
var reader = new FileReader(); //这是核心,读取操作就是由它完成.
reader.readAsText(selectedFile); //读取文件的内容,也可以读取文件的URL
reader.onload = function () {
//当读取完成后回调这个函数,然后此时文件的内容存储到了result中,直接操作即可
//console.log(this.result);
// json 格式校验
var mydata;
try {
mydata = JSON.parse(this.result);
} catch (e) {
iziToast.show({
timeout: 2000,
message: '数据解析异常'
});
return;
}
if (typeof mydata != 'object') {
iziToast.show({
timeout: 2000,
message: '数据格式错误'
});
return;
}
iziToast.show({
timeout: 8000,
message: '当前数据将会被覆盖!是否继续导入?',
buttons: [
['<button>确认</button>', function (instance, toast) {
for (var key in mydata) {
Cookies.set(key, mydata[key], {
expires: 36500
});
}
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
iziToast.show({
timeout: 2000,
message: '导入成功'
});
setTimeout(function () {
window.location.reload()
}, 1000);
}, true],
['<button>取消</button>', function (instance, toast) {
instance.hide({
transitionOut: 'flipOutX',
}, toast, 'buttonName');
setTimeout(function () {
window.location.reload()
}, 1000);
}]
]
});
}
});
});