花心大萝卜 发表于 2024-10-6 22:44:27

【原创】谈谈我的本地资源管理和分享我的GUI管理项目

各位堂友们大家好!今天给各位分享一下我的本地资源管理的一些经验和方法。效果图如下

一、前言
相信堂内应该是有不少朋友是和我一样,会收集一些个人比较喜欢的资源,然后就越屯越多。
随时收集到的资源不断增多,我渐渐感觉到了些许不便之处:
      1. 如果我想寻找某一特定编号的资源,我肯定不能记得住它到底被存放在什么位置。
      2. 如果我遇到了某一特别喜欢的老师的资源整理,给出了一大串的车牌号,我不能确定到底哪些已经收集过了。
      3. 如果某一资源我曾经收集过,后来又收集了更高清晰度/无水印的相对质量更高的资源;我希望对这2个资源进行二选一,但是我需要快速比对它们  之间的各种参数的相对优劣之分还需要知道它们的位置,也很麻烦。
根据以上痛点,我产生了开发一个协助整理和统计资源的项目的念头。
     1. 根据给定的路径,收集该路径下所有符合条件的资源的相关信息。
     2. 批量的信息查找和排重
     3. 最好有图形化界面于是乎诞生了这一项目。
虽然这个项目写了有段时间了,现在再打开发现有很多不太合理的设计。确实是这样,每过一段时间再看自己的代码,给自己都整了乐了。但是这个项目全程跑在本地,没有什么资源上的限制,不存在什么效率上的大问题(毕竟本地的资源再多也多不到那里去),分享给大家使用也没什么。
二、能用这个项目做些什么?
    1. 输入你的资源路径,并使用换行符号分割以区分,构建你的本地资源仓库    2. 给资源文件名去除一些前后缀,去除一些大量重复出现的字符串。
    3. 批量的资源查询和排重
    4. 给资源添加图片 && 给资源添加你所自定义的tag并可以用来筛选, 整理你所感兴趣的资源
      4.1. 你可以上传图片并为你所喜爱的资源设定各种【自定义】的tag。


     4.2.搜索栏单个条件筛选 && 多个条件筛选 && 结合使用tag筛选(多条件筛选时使用半角符号[]括起来 并使用空格分割)


三、使用本项目的适用人群和具体使用细节
    1. 本项目对资源存在文档的目录结构有一定要求。即遵循同一资源都存放在同一文件夹内,比如一个资源有很多个视频文件,那么就都得放在同一目录下。不同资源就存放在其对应的文件夹以内。因为我个人收集的资源大多数是来自fc2的片子,经常存在同一资源有很多个分开的视频的情况。(我本来还想做fc2资源的基本信息的爬取,但是后来发现像这种资源有些时候在官网上都被删掉了,比较难处理,于是作罢。如果各位堂友有比较好的方法,欢迎讨论交流)
例如这样:

然后在录入数据到你本地的数据时,会调整一些不符合的存放方式例如下图中的TestVideo3.mp4,会为其生成一个同名的文件夹,并将该文件移入判断的条件是,如果在某一目录如 D:\VideoManager测试\ 同时存在当个的视频文件和文件夹,就会为其生成对应的文件夹。

同时这个一录入信息的逻辑是递归调用的,举个例子:图示中的testFolder1如果也存在和VideoManager同样的目录结构[既有文件夹又有视频文件]的话,也会为其执行这一操作。
输入路径->确认执行

->执行完成后

同时本项目能在录入数据时去除特定字符串的逻辑,通过设置系统环境变量即可指定待删除的字符串展示如下

经过数据录入后,去除特定字符串并为其生成对应的文件夹,效果如下

最终你会得到以下效果:


四、如何部署本项目?
      1. java环境配置 要设定系统变量,本项目推荐使用jdk17; 但实际上并没有那么严格,因为我自己就用的jdk18跑的jar包
      2. ffmpeg 要设定系统变量。你的命令行窗口能识别ffmpeg的命令就可以了。
      3. 配置你要存放图片的位置 && 等待移除的特殊字符 && 你需要识别的视频拓展名;
不过在yaml文件里是有写默认值的。如果你没有配置相关的这几条系统变量的话,就会采用下图配置-2中的设定,其中,你的默认存放图片的位置是”D:\videoImageDepository“。这一点【配置你要存放图片的位置】尤其重要,因为如果有图片需要上传都会被保存在这一路径下。在修改路径之后,记得也修改下nginx.conf中的设置,使其和你所设定的路径保持一致。

而其他2点,如果需要配置则使用如下图中的方式配置,使用半角符号的逗号【,】分割

默认配置如下:

      4. 获取本项目--地址如下
解压后得到以下内容

虽然有给出docker的数据库,但是还是推荐使用自己的数据库,我平时用的就是装在linux里的mysql。但是打包在videoManager里的默认使用的localhost:3306,使用你自己的本地的数据库(如果没改过端口号的话)或者这个docker拉取的,都是直接可以对得上的。如果有其他需求,想使用自己的非localhost的数据库,你可能得需要进入后端项目中修改后打包使用。
进入videoManager目录下

在完成了前面的环境变量配置和配置数据库之后
project-Start.bat 同时启动jar包和nginx
project-End.bat 关闭
浏览器窗口输入localhost跳转,你就可以愉快的使用了!
感谢你看到了最后,希望我的文章有帮助到你:)也欢迎大家一起交流学习
**** Hidden Message *****
页: [1]
查看完整版本: 【原创】谈谈我的本地资源管理和分享我的GUI管理项目