diff --git a/src/views/Tools.vue b/src/views/Tools.vue
index 1ca6849..b0f9d49 100644
--- a/src/views/Tools.vue
+++ b/src/views/Tools.vue
@@ -1,6 +1,25 @@
+
+
+
+
+
+
+
+
+
@@ -9,17 +28,143 @@ export default {
name: 'Tools',
data() {
return {
- utils: this.$root.utils
+ utils: this.$root.utils,
+ detail: {
+ show: false,
+ title: ''
+ },
+ toolList: {
+ 'calcDownloadTime': {
+ title: '计算下载用时',
+ desc: '根据设定的文件大小和下载速度简单计算大约下载完成所需的时间'
+ },
+ 'genLinks': {
+ title: '生成批量下载链接',
+ desc: '根据设置,生成有一定规律的用于批量下载的链接'
+ },
+ 'genRandomStr': {
+ title: '生成随机字符串',
+ desc: '生成随机组合的字符串,可用于密码'
+ },
+ 'newWindow': {
+ title: '新窗口(小窗)中打开'
+ },
+ 'runjs': {
+ title: '执行 JavaScript'
+ },
+ 'simpleCalc': {
+ title: '简易计算'
+ },
+ 'timestampConvert': {
+ title: 'Unix 时间戳转换',
+ desc: 'Unix 时间戳转时间 / 时间转 Unix 时间戳'
+ },
+ }
};
},
+ methods: {
+ // 打开工具
+ openDetail(toolName) {
+ // 当前工具信息
+ var info = this.toolList[toolName];
+
+ // 若不存在
+ if (info === undefined) {
+ console.log('[打开工具] 不存在该工具:' + toolName);
+ return;
+ }
+
+ // 更新页面标题
+ this.utils.changeTitle(info.title);
+ // 更新 drawer 标题
+ this.detail.title = info.title;
+ // 路由跳转
+ this.$router.push({
+ name: 'ToolsDetail',
+ query: {
+ name: toolName,
+ title: info.title
+ }
+ });
+ // 显示 drawer
+ this.detail.show = true;
+ },
+ // 关闭工具
+ closeDetail(done) {
+ this.$confirm('是否关闭?').then(() => {
+ // 关闭 drawer
+ done();
+ // 路由跳转
+ this.$router.push({
+ name: 'Tools'
+ });
+ // 更新页面标题
+ this.utils.changeTitle('小工具');
+ }).catch(() => { });
+ }
+ },
beforeRouteEnter(to, from, next) {
next(vm => {
- vm.utils.changeTitle('小工具');
+ // 判断进入的路由
+ if (vm.$route.name == 'ToolsDetail') {
+ // 进入:工具内容页面
+ vm.openDetail(vm.$route.query.name);
+ } else {
+ // 进入:工具列表页面
+ vm.utils.changeTitle('小工具');
+ }
});
}
}