基於java的微信小程式的實現(一)專案介紹
阿新 • • 發佈:2018-11-30
一,專案介紹
- 佐倉短視訊是一個以java為後臺編寫的短視訊類的微信小程式專案
- 使用者可以實現登入,註冊,視訊檢視,視訊上傳,個人資訊檢視,頭像上傳等功能
二,技術選型和效果預覽
本專案後端採用spring boot +spring data jpa的技術實現
採用Ffmpeg技術對音訊和視訊進行處理
使用redis資料庫實現單點登入和許可權驗證功能
使用swagger2技術使介面開發更加簡潔清楚
使用postman對介面進行測試
資料庫採用mysql資料庫
使用內網穿透技術提供測試環境
三,資料庫表的設計
該專案一共分為8張表
1.背景音樂表
DROP TABLE IF EXISTS `bgm`;
CREATE TABLE `bgm` (
`id` varchar(64) NOT NULL,
`author` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`path` varchar(255) NOT NULL COMMENT '播放地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2.使用者評論表
DROP TABLE IF EXISTS `comments`; CREATE TABLE `comments` ( `id` varchar(20) NOT NULL, `father_comment_id` varchar(20) DEFAULT NULL, `to_user_id` varchar(20) DEFAULT NULL, `video_id` varchar(20) NOT NULL COMMENT '視訊id', `from_user_id` varchar(20) NOT NULL COMMENT '留言者,評論的使用者id', `comment` text NOT NULL COMMENT '評論內容', `create_time` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='評論表';
3.熱搜詞表
DROP TABLE IF EXISTS `hot`;
CREATE TABLE `hot` (
`id` varchar(64) NOT NULL,
`content` varchar(128) DEFAULT NULL COMMENT '搜尋的內容',
`num` int(11) NOT NULL COMMENT '搜尋的次數',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='視訊搜尋的記錄表';
4.使用者表
DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` varchar(64) NOT NULL, `username` varchar(20) NOT NULL COMMENT '使用者名稱', `password` varchar(64) NOT NULL COMMENT '密碼', `face_image` varchar(255) DEFAULT NULL COMMENT '我的頭像,如果沒有預設給一張', `nickname` varchar(20) NOT NULL COMMENT '暱稱', `fans_counts` int(11) DEFAULT '0' COMMENT '我的粉絲數量', `follow_counts` int(11) DEFAULT '0' COMMENT '我關注的人總數', `receive_like_counts` int(11) DEFAULT '0' COMMENT '我接受到的讚美/收藏 的數量', PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`), UNIQUE KEY `username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
5.使用者粉絲關係表
DROP TABLE IF EXISTS `users_fans`;
CREATE TABLE `users_fans` (
`id` varchar(64) NOT NULL,
`user_id` varchar(64) NOT NULL COMMENT '使用者',
`fan_id` varchar(64) NOT NULL COMMENT '粉絲',
PRIMARY KEY (`id`),
UNIQUE KEY `user_id` (`user_id`,`fan_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='使用者粉絲關聯關係表';
6.使用者點贊視訊表
DROP TABLE IF EXISTS `users_like_videos`;
CREATE TABLE `users_like_videos` (
`id` varchar(64) NOT NULL,
`user_id` varchar(64) NOT NULL COMMENT '使用者',
`video_id` varchar(64) NOT NULL COMMENT '視訊',
PRIMARY KEY (`id`),
UNIQUE KEY `user_video_rel` (`user_id`,`video_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='使用者喜歡的/贊過的視訊';
7.視訊資訊表
DROP TABLE IF EXISTS `videos`;
CREATE TABLE `videos` (
`id` varchar(64) NOT NULL,
`user_id` varchar(64) NOT NULL COMMENT '釋出者id',
`audio_id` varchar(64) DEFAULT NULL COMMENT '使用者使用音訊的資訊',
`video_desc` varchar(128) DEFAULT NULL COMMENT '視訊描述',
`video_path` varchar(255) NOT NULL COMMENT '視訊存放的路徑',
`video_seconds` float(6,2) DEFAULT NULL COMMENT '視訊秒數',
`video_width` int(6) DEFAULT NULL COMMENT '視訊寬度',
`video_height` int(6) DEFAULT NULL COMMENT '視訊高度',
`cover_path` varchar(255) DEFAULT NULL COMMENT '視訊封面圖',
`like_counts` bigint(20) NOT NULL DEFAULT '0' COMMENT '喜歡/讚美的數量',
`status` int(1) NOT NULL COMMENT '視訊狀態:\r\n1、釋出成功\r\n2、禁止播放,管理員操作',
`create_time` datetime NOT NULL COMMENT '建立時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='視訊資訊表';
8.使用者舉報表
DROP TABLE IF EXISTS `users_report`;
CREATE TABLE `users_report` (
`id` varchar(64) NOT NULL,
`deal_user_id` varchar(64) NOT NULL COMMENT '被舉報使用者id',
`deal_video_id` varchar(64) NOT NULL,
`title` varchar(128) NOT NULL COMMENT '型別標題,讓使用者選擇,詳情見 列舉',
`content` varchar(255) DEFAULT NULL COMMENT '內容',
`userid` varchar(64) NOT NULL COMMENT '舉報人的id',
`create_date` datetime NOT NULL COMMENT '舉報時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='舉報使用者表';
專案的原始碼地址:https://github.com/LexBBQ/myVideo