From 666883c7b912c8f1ca5f864f0cc81d7ec9784ebc Mon Sep 17 00:00:00 2001 From: zhangmeng <1334717033@qq.com> Date: Thu, 23 Feb 2023 17:34:07 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B42=E6=9C=8823=E6=97=A516:47:25=20?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 44 +++++++++++++++++++++ src/main/resources/static/redame/img.png | Bin 0 -> 60732 bytes src/main/resources/static/redame/img_1.png | Bin 0 -> 428895 bytes src/main/resources/static/redame/img_2.png | Bin 0 -> 63930 bytes src/main/resources/static/redame/img_3.png | Bin 0 -> 65411 bytes src/main/resources/static/redame/img_4.png | Bin 0 -> 67251 bytes 6 files changed, 44 insertions(+) create mode 100644 README.md create mode 100644 src/main/resources/static/redame/img.png create mode 100644 src/main/resources/static/redame/img_1.png create mode 100644 src/main/resources/static/redame/img_2.png create mode 100644 src/main/resources/static/redame/img_3.png create mode 100644 src/main/resources/static/redame/img_4.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..2aa9879 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ + +### 1. 加密 + +![](./src/main/resources/static/redame/img.png) + +### 2. 影音工具 + +**特此说明** + +> 影音播放,视频播放 部分代码借鉴B站 Aimls老师的音乐播放代码 https://space.bilibili.com/5096022?spm_id_from=333.337.search-card.all.click
+> 及开源组件 RXControls 作者:B站博主LeeWyatt https://space.bilibili.com/397562730/?spm_id_from=333.999.0.0 + +> 视频解析接口来源于网络,如有侵权,请联系删除!!! + +![](./src/main/resources/static/redame/img_1.png) + +### 3. 常用小工具 + +> 用到开源组件 Hutool 官网: https://hutool.cn/ + +![](./src/main/resources/static/redame/img_3.png) + +### 4. 编解码工具 + +> 编解码工具也是对开源组件 Hutool 简单封装展示 + +![](./src/main/resources/static/redame/img_2.png) + +### 5. sql 工具 + +![](./src/main/resources/static/redame/img_4.png) + +> 部分代码借鉴 开源项目: boot-security gitee 地址: https://gitee.com/zhang.w/boot-security + + +|项目名称|地址| +|------|-------| +|Hutool|https://hutool.cn/docs/#/| +|rxcontrols|https://gitee.com/leewyatt/rxcontrols| +|boot-security|https://gitee.com/zhang.w/boot-security| + +**声明** + +> 本项目纯属个人兴趣开发,仅供学习使用,切勿商用!如发生商用的一切后果自行承担! 十分感谢这些开源项目于组件! diff --git a/src/main/resources/static/redame/img.png b/src/main/resources/static/redame/img.png new file mode 100644 index 0000000000000000000000000000000000000000..36b1e2e2a506b125bc2445c125d08341e4109070 GIT binary patch literal 60732 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

n;JFd#x3)c_9Y&syjB*^Rhn`vPuLd6EyYn7 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