file-type

探索Go语言:压缩包子文件处理技术揭秘

ZIP文件

下载需积分: 5 | 53KB | 更新于2024-12-23 | 170 浏览量 | 0 下载量 举报 收藏
download 立即下载
在IT行业中,Go语言(又称Golang)是一种由Google开发的开源编程语言,设计简单、高效,非常适合用于编写服务器端应用程序。Go语言以其出色的并发处理能力和简洁的语法吸引了大量开发者。从资源摘要信息提供的文件名称"go-aoj-main"可以推测,该文件可能是关于Go语言基础入门、进阶课程或者特定项目教程的压缩包,用于在AOJ(Asia Online Judge)平台或类似平台上进行学习和练习。 在Go语言学习资源中,以下知识点是需要掌握的: 1. Go语言基础语法 - 基本数据类型(如整型、浮点型、布尔型、字符串) - 变量声明与初始化 - 控制结构(if语句、for循环、switch语句) - 函数定义与使用 - 错误处理(panic和recover) 2. Go语言的数据结构和算法 - 数组与切片(slices) - 映射(maps) - 字符串操作 - 排序与搜索算法 3. Go语言并发编程 - Goroutines(轻量级线程) - Channels(通道) - Select语句和超时处理 - 同步原语(如Mutex、WaitGroup) 4. Go语言包管理 - 导入系统(如何导入和使用包) - 工作区(workspace)和模块(modules) - Go的依赖管理(如go mod) 5. Go语言标准库 - fmt包(用于输入输出格式化) - os包(用于操作系统功能) - io包(用于基本的输入输出) - net包(用于网络编程) - crypto包(用于加密) 6. Go语言的Web开发 - HTTP包的使用 - 模板(templates) - Web中间件 - RESTful API开发 7. Go语言的高级特性 - 接口(interfaces) - 结构体(structs) - 指针与值类型 - 反射(reflection) 8. Go语言的测试与调试 - 单元测试(testing包) - 压力测试(testing/quick) - 性能分析(pprof) 9. Go语言的版本控制与开发工具 - Git和Go的配合使用 - IDE支持(如GoLand、VS Code) - Go的构建工具(如Makefile、Go build) 10. Go语言项目实战 - 实际项目结构与目录组织 - 日志记录与监控 - 项目部署与运维 Go语言的实战应用非常广泛,包括但不限于后端服务、分布式系统、微服务架构、云基础设施、数据处理、网络编程以及开发各种Web应用程序。学习Go语言可以帮助开发者紧跟时代潮流,抓住互联网行业的技术前沿。根据文件名称"go-aoj-main",该资源可能包含了上述内容,或者是针对特定主题如算法与数据结构的学习材料,这对于准备面试或者参与在线编程竞赛(如AOJ)的程序员来说是一个非常有价值的资源。

相关推荐

filetype

这是混淆方式1 #!/bin/bash clear #--------------------------------------------------------------------- # 提示作者 echo -e "\033[33m 作者BiliBili: director_mark\033[0m" echo -e "\033[33m 作者BiliBili UID: 1113918991\033[0m" #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 报时 TIME=`date +%Y%m%d%H%M%S` echo "尊敬的用户,此shell脚本执行时间是: " date +"%Y-%m-%d %H:%M:%S.%N" #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 善意提醒 echo -e "\033[31m Base64不是加密,而是一种编码方式,任何人都可以很轻松的对其进行解密,如需加密shell脚本,有条件的可以使用如AES等加密方式\033[0m" #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 检测执行环境 if [ $SHELL != /system/bin/sh ]; then echo -e "\033[33m shell脚本当前执行环境是: 拓展包\033[0m" #----- ----- ----- ----- ----- ----- else echo "──────────────────⇧执行环境检测(系统)标识⇧─────────────────" echo -e "\033[33m shell脚本当前环境检测是: 系统\033[0m" fi #----- ----- ----- ----- ----- ----- # Root检测 if [ `id -u` -ne 0 ]; then echo -e "\033[33m shell脚本当前为 非Root执行\033[0m" echo -e "\033[36m 需加密文件和保存路径建议存放到本地存储(路径合法前提下)\033[0m" #----- ----- ----- ----- ----- ----- else echo -e "\033[33m shell脚本当前为 Root执行(需加密文件和保存路径可以为任何合法路径)\033[0m" fi #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 输入需要加密的文件的绝对路径 echo -n " 请输入需要编码的文件绝对路径: " read ORIGINAL_SCRIPT_PATH #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 确保原始脚本存在 if [ ! -f "$ORIGINAL_SCRIPT_PATH" ]; then echo -e "\033[31m 文件不存在!请检查您的文件路径是否输入正确以及合法!\033[0m" exit 1 fi #--------------------------------------------------------------------- # 输入加密后的文件绝对路径 echo -n " 请输入编码后的文件绝对路径: " read ENCODED_SCRIPT_PATH #--------------------------------------------------------------------- # 提示 echo -e "\033[31m如果保存文件与原文件路径相同,那么保存后的文件会覆盖原文件\033[0m" #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 输入加密层数 echo -n " 请输入编码层数: " read NOEL_SCRIPT_NUMBER #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 读取和初始化 # 读取原始脚本内容 SCRIPT_CONTENT=$(cat "$ORIGINAL_SCRIPT_PATH") # 初始化编码内容变量 ENCODED_CONTENT="$SCRIPT_CONTENT" #--------------------------------------------------------------------- # 执行Base64编码 echo -e "\033[33m 准备对文件进行Base64编码处理...\033[0m" date +"首次编译开始时间: %Y-%m-%d %H:%M:%S.%N" for i in $(seq 1 $NOEL_SCRIPT_NUMBER); do ENCODED_CONTENT=$(echo -n "$ENCODED_CONTENT" | base64) # 进度提示信息 echo -e "\033[32m>>>已编译 $i 层(第$i层,共$NOEL_SCRIPT_NUMBER层)<<<\033[0m" date +"第 $i 层结束时间: %H:%M:%S.%N" done #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 询问用户是否需要添加可执行化 echo " 1) 为文件添加可执行化(针对shell脚本(不安全的加密方式))\n 2) 不对文件添加可执行化" echo -n " 请输入: " read YoN_SCRIPT_NUMBER #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 创建文件 if (( $YoN_SCRIPT_NUMBER == 1 )); then # 创建一个新的脚本文件并写入解码逻辑与编码后内容 echo -e "\033[36m 对编码后的文件进行可执行化\033[0m" cat > "$ENCODED_SCRIPT_PATH" <<EOF #!/bin/bash ENCODED_SCRIPT="$ENCODED_CONTENT" for i in \$(seq 1 $NOEL_SCRIPT_NUMBER); do ENCODED_SCRIPT=\$(echo -n "\$ENCODED_SCRIPT" | base64 -d) done eval "\$ENCODED_SCRIPT" EOF #----- ----- ----- ----- ----- ----- elif (( $YoN_SCRIPT_NUMBER == 2 )); then echo -e "\033[36m 不对编码后的文件进行可执行化\033[0m" cat > "$ENCODED_SCRIPT_PATH" <<EOF # $NOEL_SCRIPT_NUMBER $ENCODED_CONTENT EOF #----- ----- ----- ----- ----- ----- else echo -e "\033[36m $YoN_SCRIPT_NUMBER是非法的,自动选择2(不对编译后的文件进行可执行化)\033[0m" cat > "$ENCODED_SCRIPT_PATH" <<EOF # $NOEL_SCRIPT_NUMBER $ENCODED_CONTENT EOF fi #--------------------------------------------------------------------- # 赋予执行权限 # 为新脚本添加执行权限(Linux系统用得上,但是Android系统一般会自动添加660普通权限) chmod +x "$ENCODED_SCRIPT_PATH" #--------------------------------------------------------------------- echo "──────────────────────────────────────────────────────────" #--------------------------------------------------------------------- # 检查是否成功 if [ -f "$ENCODED_SCRIPT_PATH" ]; then echo -e "\033[32m 加密脚本已保存在: $ENCODED_SCRIPT_PATH\033[0m" TIMEz=`date +%Y-%m-%d.%H:%M:%S` #----- ----- ----- ----- ----- ----- else echo -e "\033[31m 保存失败!\033[0m" echo -e "\033[31m这可能是由于权限不足造成的,你可以尝试将需要加密的文件和保存路径进行更改(更改到可以读写的目录)\033[0m" fi #--------------------------------------------------------------------- # 创建日志 # 创建文件夹 mkdir -p /storage/emulated/0/Engineering/Base64-code/ # 创建日志 # 写入 JOURNAL_FIXED_FILE=/storage/emulated/0/Engineering/Base64-code/ TIMEz_FILE=$TIMEz.log cat > "$JOURNAL_FIXED_FILE$TIMEz_FILE" << EOF 'Base64编码'在$TIMEz时 将: $ORIGINAL_SCRIPT_PATH 进行 $NOEL_SCRIPT_NUMBER 层Base64编码 保存在: $ENCODED_SCRIPT_PATH 保存值: $YoN_SCRIPT_NUMBER (1:进行可执行化 2&其他:不进行可执行) EOF # 提示 echo -e "\033[33m尊敬的用户:\033[0m" echo -e "\033[36m 本次编码日志保存在/storage/emulated/0/Engineering/Base64-code/目录下的$TIMEz.log文件\033[0m" 这是混淆方式2 #!/bin/bash clear #--------------------------------------------------------------------- # 报时 TIME=`date +%Y%m%d%H%M%S` date +"此shell脚本执行时间: %Y-%m-%d %H:%M:%S.%N" #--------------------------------------------------------------------- # 温馨提示 echo -e "\033[31m HEX编码(16进制编码)不是加密,而是一种编码方式,任何人都可以很轻松的将编码后的文件进行解码\033[0m" #--------------------------------------------------------------------- echo_bold_red() { echo -e "\033[1m\033[31m$1\033[0m" } #--------------------------------------------------------------------- # 输入需要编码的文件路径和确保存在 echo -n " 请输入需要编码的文件路径:" read ORIGINAL_SCRIPT_PATH #----- ----- ----- ----- ----- ----- # 确保原始脚本存在 if [ ! -f "$ORIGINAL_SCRIPT_PATH" ]; then echo "原始脚本不存在: $ORIGINAL_SCRIPT_PATH" exit 1 fi #--------------------------------------------------------------------- # 输入编码后的文件保存路径 echo -n " 请输入编码后的文件的路径: " read ENCODED_SCRIPT_PATH #--------------------------------------------------------------------- # 加密层数 # 初始化ENCODED_CONTENT ENCODED_CONTENT="$SCRIPT_CONTENT" # 提示用户输入编码层数 echo -n " 编码层数: " read ENCODING_LAYERS if [ "$ENCODING_LAYERS" -le 0 ]; then echo "编码层数至少为1。" exit 1 fi #--------------------------------------------------------------------- # 歪比巴布(大脑抽风) # 读取原始脚本内容 SCRIPT_CONTENT=$(cat "$ORIGINAL_SCRIPT_PATH") # 初始化编码内容变量 ENCODED_CONTENT="$SCRIPT_CONTENT" #----- ----- ----- ----- ----- ----- # 计算原始脚本大小 ORIGINAL_SIZE=$(echo -n "$SCRIPT_CONTENT" | wc -c | awk '{print $1/1024/1024}') echo "原始脚本的大小为: ${ORIGINAL_SIZE} MB" #----- ----- ----- ----- ----- ----- # 初始化大小阈值 MAX_SIZE_1MB=1 MAX_SIZE_2MB=2 #----- ----- ----- ----- ----- ----- # 初始化ENCODED_CONTENT ENCODED_CONTENT="$SCRIPT_CONTENT" #----- ----- ----- ----- ----- ----- # 计算达到1MB和2MB的编码层数 i=0 CONTINUE_ENCODING=1 while [ "$CONTINUE_ENCODING" -lt 1 ]; do i=$(expr $i + 1) echo "尝试第 ${i} 次编码" # 编码 ENCODED_CONTENT=$(echo -n "$ENCODED_CONTENT" | xxd -p | tr -d '\n') # 计算编码后大小 ENCODED_SIZE=$(echo -n "$ENCODED_CONTENT" | wc -c | awk '{print $1/1024/1024}') echo "编码$1次后的大小为: ${ENCODED_SIZE} MB" #--------------------------------------------------------------------- # 检查大小 # 检查是否达到1MB if [ "$(echo "$ENCODED_SIZE >= $MAX_SIZE_1MB" | bc)" -eq 1 ] && [ "$MAX_SIZE_1MB" != "-1" ]; then echo_bold_red "达到1MB的编码层数为: $i" MAX_SIZE_1MB=-1 fi # 检查是否超过2MB if [ "$(echo "$ENCODED_SIZE >= $MAX_SIZE_2MB" | bc)" -eq 1 ]; then echo_bold_red "超过2MB的最小编码层数为: $i" break fi done #--------------------------------------------------------------------- # 编码 # 应用用户指定层数的十六进制编码 for i in $(seq 1 $ENCODING_LAYERS); do ENCODED_CONTENT=$(echo -n "$ENCODED_CONTENT" | xxd -p | tr -d '\n') CONTENT_SIZE=$(echo -n "$ENCODED_CONTENT" | wc -c | awk '{print $1/1024/1024}') echo "第 $i 层编码后的数据大小为: $CONTENT_SIZE MB" if [ "$(echo "$CONTENT_SIZE > 10" | bc)" -eq 1 ]; then echo "编码后的数据已超过10MB。请减少编码层数。" exit 1 fi done #--------------------------------------------------------------------- # 显示编码后大小 ENCODED_SIZE=$(echo -n "$ENCODED_CONTENT" | wc -c | awk '{print $1/1024/1024}') echo_bold_red "编码脚本最后的大小为: ${ENCODED_SIZE} MB" #--------------------------------------------------------------------- # 创建并写入文件 # 创建新脚本并写入解码逻辑与编码内容 cat > "$ENCODED_SCRIPT_PATH" <<EOF #!/bin/bash ENCODED_SCRIPT="$ENCODED_CONTENT" decode_hex() { local hex=\$1 local count=\$2 while [ \$count -gt 0 ]; do local decoded=\$(echo -n "\$hex" | xxd -r -p) hex="\$decoded" count=\$(expr \$count - 1) done echo -n "\$hex" } DECODED_SCRIPT=\$(decode_hex "\$ENCODED_SCRIPT" $ENCODING_LAYERS) eval "\$DECODED_SCRIPT" EOF #--------------------------------------------------------------------- # 为新脚本添加执行权限 chmod +x "$ENCODED_SCRIPT_PATH" #--------------------------------------------------------------------- # 确保保存成功 if [ ! -f "$ENCODED_SCRIPT_PATH" ]; then echo -e "\033[31m 保存失败!这可能是由于权限不足或保存路径不合法造成的!\033[0m" else echo -e "\033[32m 编码脚本已生成并位于路径: $ENCODED_SCRIPT_PATH\033[0m" fi 我希望结合这两个脚本,在混淆时,处理奇数层使用第二种混淆,处理偶数层使用第一种混淆,二者共同完成一次混淆任务,并且混淆后的代码可以完美运行

filetype

这是上面的数据库/* Navicat Premium Data Transfer Source Server : Mysql Source Server Type : MySQL Source Server Version : 50729 Source Host : localhost:3306 Source Schema : home_health Target Server Type : MySQL Target Server Version : 50729 File Encoding : 65001 Date: 20/05/2025 12:56:18 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for comment -- ---------------------------- DROP TABLE IF EXISTS `comment`; CREATE TABLE `comment` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL, `post_id` bigint(20) NOT NULL, `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) USING BTREE, INDEX `user_id`(`user_id`) USING BTREE, INDEX `post_id`(`post_id`) USING BTREE, CONSTRAINT `comment_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT `comment_ibfk_2` FOREIGN KEY (`post_id`) REFERENCES `post` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of comment -- ---------------------------- -- ---------------------------- -- Table structure for employee -- ---------------------------- DROP TABLE IF EXISTS `employee`; CREATE TABLE `employee` ( `emp_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '员工ID', `emp_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '员工姓名', `emp_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '员工地址', `emp_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '员工电话', `emp_salary` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '员工工资', `score` decimal(3, 1) NULL DEFAULT 0.0 COMMENT '评分', `complaints` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '投诉内容', `emp_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '员工类型', `emp_date` date NULL DEFAULT NULL COMMENT '入职时间', PRIMARY KEY (`emp_id`) USING BTREE, INDEX `idx_emp_name`(`emp_name`) USING BTREE, INDEX `idx_emp_type`(`emp_type`) USING BTREE, INDEX `idx_emp_date`(`emp_date`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of employee -- ---------------------------- -- ---------------------------- -- Table structure for family -- ---------------------------- DROP TABLE IF EXISTS `family`; CREATE TABLE `family` ( `fid` int(11) NOT NULL AUTO_INCREMENT, `relationship` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, `gender` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, `age` int(11) NOT NULL, `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, `medical` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, PRIMARY KEY (`fid`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of family -- ---------------------------- INSERT INTO `family` VALUES (1, '父子', '解决', '男', 18, '广西', '18897790686', '无', NULL); -- ---------------------------- -- Table structure for health -- ---------------------------- DROP TABLE IF EXISTS `health`; CREATE TABLE `health` ( `fid` int(11) NOT NULL COMMENT '关联的家庭成员 ID', `height` double NULL DEFAULT NULL COMMENT '身高', `weight` double NULL DEFAULT NULL COMMENT '体重', `BP` double NULL DEFAULT NULL COMMENT '血压', `HR` double NULL DEFAULT NULL COMMENT '心率', `SpO2` double NULL DEFAULT NULL COMMENT '血氧', `step` int(11) NULL DEFAULT NULL COMMENT '步数', PRIMARY KEY (`fid`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '健康数据信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of health -- ---------------------------- -- ---------------------------- -- Table structure for iot_device -- ---------------------------- DROP TABLE IF EXISTS `iot_device`; CREATE TABLE `iot_device` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `device_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `device_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `user_id` bigint(20) NULL DEFAULT NULL, `last_data_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE, CONSTRAINT `iot_device_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of iot_device -- ---------------------------- -- ---------------------------- -- Table structure for news -- ---------------------------- DROP TABLE IF EXISTS `news`; CREATE TABLE `news` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '新闻ID', `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '新闻标题', `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '新闻内容', `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_created_at`(`created_at`) USING BTREE COMMENT '按创建时间索引' ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '新闻信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of news -- ---------------------------- -- ---------------------------- -- Table structure for operation_log -- ---------------------------- DROP TABLE IF EXISTS `operation_log`; CREATE TABLE `operation_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL, `operation` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `operation_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `device` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE, CONSTRAINT `operation_log_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of operation_log -- ---------------------------- -- ---------------------------- -- Table structure for order -- ---------------------------- DROP TABLE IF EXISTS `order`; CREATE TABLE `order` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单 ID', `user_id` bigint(20) NOT NULL COMMENT '关联的用户 ID', `product_id` bigint(20) NOT NULL COMMENT '关联的商品 ID', `quantity` int(11) NOT NULL COMMENT '商品数量', `total_price` double NOT NULL COMMENT '订单总价', PRIMARY KEY (`id`) USING BTREE, INDEX `user_id`(`user_id`) USING BTREE, INDEX `product_id`(`product_id`) USING BTREE, CONSTRAINT `order_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT `order_ibfk_2` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of order -- ---------------------------- -- ---------------------------- -- Table structure for post -- ---------------------------- DROP TABLE IF EXISTS `post`; CREATE TABLE `post` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '帖子ID', `user_id` bigint(20) NOT NULL COMMENT '发布用户ID', `rating` decimal(3, 2) NULL DEFAULT 0.00 COMMENT '动态评分', `rating_count` int(11) NULL DEFAULT 0 COMMENT '评分次数', `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '帖子内容', `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '帖子标题', `section` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布板块', `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE, INDEX `idx_created_at`(`created_at`) USING BTREE, INDEX `idx_section`(`section`) USING BTREE, CONSTRAINT `post_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '帖子信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of post -- ---------------------------- -- ---------------------------- -- Table structure for product -- ---------------------------- DROP TABLE IF EXISTS `product`; CREATE TABLE `product` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商品 ID', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商品名称', `price` double NOT NULL COMMENT '商品价格', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '商品描述', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商品信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of product -- ---------------------------- -- ---------------------------- -- Table structure for tb_posture_record -- ---------------------------- DROP TABLE IF EXISTS `tb_posture_record`; CREATE TABLE `tb_posture_record` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户ID', `evaluation_result` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '体态评估结果', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE COMMENT '用户ID索引' ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '体态评估记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of tb_posture_record -- ---------------------------- -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名(登录账户)', `salt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码盐值', `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录密码', `real_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真实姓名', `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号', `user_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户类型(normal/vip/enterprise)', `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(normal/disabled/pending)', `role` int(11) NULL DEFAULT NULL COMMENT '权限级别', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间', `last_login_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后登录IP', `last_login_device` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后登录设备', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_username`(`username`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES (1, 'mmm', '111', '123456', '庞帅', '18897790686', '普通用户', '1', 1, '2025-05-20 12:07:57', '2025-05-22 12:08:05', '广西', '电脑'); SET FOREIGN_KEY_CHECKS = 1;

filetype

DROP TABLE IF EXISTS `class_info`; CREATE TABLE `class_info` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '班级名称', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '班级信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of class_info 班级数据 -- ---------------------------- INSERT INTO `class_info` VALUES (1, '2020级6班'); INSERT INTO `class_info` VALUES (6, '2020级5班'); -- ---------------------------- -- Table structure for course_info 课目信息 -- ---------------------------- DROP TABLE IF EXISTS `course_info`; CREATE TABLE `course_info` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(52) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '课程名字', `term_id` bigint NOT NULL COMMENT '学期id', `teacher_id` bigint NOT NULL COMMENT '老师id', `pass_line` tinyint NOT NULL COMMENT '及格线', `great_line` tinyint NOT NULL COMMENT '优秀线', PRIMARY KEY (`id`) USING BTREE, INDEX `老师id`(`teacher_id`) USING BTREE, INDEX `学期id`(`term_id`) USING BTREE, CONSTRAINT `学期id` FOREIGN KEY (`term_id`) REFERENCES `term_info` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `老师id` FOREIGN KEY (`teacher_id`) REFERENCES `teacher_info` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '课程信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of course_info 课目数据 -- ---------------------------- INSERT INTO `course_info` VALUES (1, '微积分', 4, 4, 60, 70); INSERT INTO `course_info` VALUES (2, '线性代数', 3, 4, 65, 78); -- ---------------------------- -- Table structure for student_info 学生信息 -- ---------------------------- DROP TABLE IF EXISTS `student_info`; CREATE TABLE `student_info` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名', `class_id` bigint NOT NULL COMMENT '班级id', `login_name` varchar(108) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '登录名', `password` varchar(108) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码', PRIMARY KEY (`id`) USING BTREE, INDEX `班级id`(`class_id`) USING BTREE, CONSTRAINT `班级id` FOREIGN KEY (`class_id`) REFERENCES `class_info` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '学生信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of student_info 学生数据 -- ---------------------------- INSERT INTO `student_info` VALUES (1, '李明', 1, 'liming', 'liming'); INSERT INTO `student_info` VALUES (2, '王五', 1, 'wangwu', 'wangwu'); -- ---------------------------- -- Table structure for student_to_course 学生课程关联表 -- ---------------------------- DROP TABLE IF EXISTS `student_to_course`; CREATE TABLE `student_to_course` ( `id` bigint NOT NULL AUTO_INCREMENT, `course_id` bigint NOT NULL COMMENT '课程id', `student_id` bigint NOT NULL COMMENT '学生id', `grade` double(8, 2) NOT NULL COMMENT '成绩', PRIMARY KEY (`id`) USING BTREE, INDEX `学生id`(`student_id`) USING BTREE, INDEX `课程id`(`course_id`) USING BTREE, CONSTRAINT `学生id` FOREIGN KEY (`student_id`) REFERENCES `student_info` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `课程id` FOREIGN KEY (`course_id`) REFERENCES `course_info` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '学生成绩关联表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of student_to_course 关联表数据 -- ---------------------------- INSERT INTO `student_to_course` VALUES (1, 1, 1, 70.00); INSERT INTO `student_to_course` VALUES (2, 2, 2, 89.00); INSERT INTO `student_to_course` VALUES (3, 2, 1, 70.00); INSERT INTO `student_to_course` VALUES (5, 1, 2, 98.00); -- ---------------------------- -- Table structure for teacher_info 教师信息 -- ---------------------------- DROP TABLE IF EXISTS `teacher_info`; CREATE TABLE `teacher_info` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名', `login_name` varchar(108) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '登录名', `password` varchar(108) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '教师信息表\r\n' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of teacher_info 教师数据 -- ---------------------------- INSERT INTO `teacher_info` VALUES (4, '李老师', 'lls', 'lls'); -- ---------------------------- -- Table structure for term_info 学期信息 -- ---------------------------- DROP TABLE IF EXISTS `term_info`; CREATE TABLE `term_info` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '学期名称', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '学期信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of term_info 学期数据 -- ---------------------------- INSERT INTO `term_info` VALUES (1, '2020年上半学年'); INSERT INTO `term_info` VALUES (2, '2020年下半学年'); INSERT INTO `term_info` VALUES (3, '2021年上半学年'); INSERT INTO `term_info` VALUES (4, '2021年下半学年'); SET FOREIGN_KEY_CHECKS = 1;