# videostream **Repository Path**: JohnsonSmile/videostream ## Basic Information - **Project Name**: videostream - **Description**: go开发的视频流播放网站 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-02-21 - **Last Updated**: 2022-06-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # videostream #### 介绍 go开发的视频流播放网站 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### API ##### 1. 用户 - 创建(注册)用户: URL:/user Method:POST, SC: 201(created),400(bad request),500(internal server error) - 用户登录: URL: /user/{username} Method:POST, SC: 200(ok),400(bad request),500(internal server error) - 获取用户的基本信息: URL:/user/{username} Method:GET, SC: 200(ok),400(bad request)401(unauthorized),403(forbidden),500(internal server error) - 用户注销: URL:/user/{username} Method:DELETE, SC: 204(no content),400(bad request)401(unauthorized),403(forbidden),500(internal server error) ##### 2. 视频资源 - 添加视频: URL:/user/{username}/videos Method:POST, SC: 201(ok),400(bad request),500(internal server error) - 获取所有的视频: URL:/user/{username}/videos Method:GET, SC: 200(ok),400(bad request),500(internal server error) - 获取单个视频: URL:/users/{username}/video/{vid} Method:GET, SC: 200(ok),400(bad request),500(internal server error) - 删除视频: URL:/users/{username}/video/{vid} Method:DELETE, SC: 204(no content),400(bad request)401(unauthorized),403(forbidden),500(internal server error) ##### 3. 评论 - 获取所有的评论: URL:/videos/{vid}/comments Method:GET, SC: 200(ok),400(bad request),500(internal server error) - 添加评论: URL:/videos/{vid}/comments Method:POST, SC: 201(ok),400(bad request),500(internal server error) - 删除评论: URL:/videos/{vid}/comment/{commentId} Method:DELETE, SC: 204(no content),400(bad request)401(unauthorized),403(forbidden),500(internal server error) #### 数据库 ##### 1. 用户表 ```mysql CREATE TABLE IF NOT EXISTS users ( `id` INT UNSIGNED AUTO_INCREMENT, `username` VARCHAR ( 50 ) NOT NULL COMMENT '用户名', `password` VARCHAR ( 50 ) NOT NULL COMMENT '密码', PRIMARY KEY ( `id` ) USING BTREE, UNIQUE ( `username` ) ) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT '用户表'; ``` ##### 2. 视频资源表 ```mysql CREATE TABLE IF NOT EXISTS video ( `id` VARCHAR(64) NOT NULL, `author_id` INT UNSIGNED NOT NULL COMMENT '视频作者的id, 和用户id关联', `name` VARCHAR(50) NOT NULL COMMENT '视频的名称', `display_ctime` VARCHAR(50) COMMENT '创建时间', `create_time` DATETIME COMMENT '添加时间', PRIMARY KEY (`id`) ) ENGINE = INNODB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT '视频表'; ``` ##### 3. 评论表 ```mysql CREATE TABLE IF NOT EXISTS comments ( `id` VARCHAR(64) NOT NULL, `video_id` VARCHAR(64) NOT NULL COMMENT '视频id, 和视频id关联', `author_id` INT UNSIGNED NOT NULL COMMENT '用户id,和用户表关联', `content` VARCHAR(200) COMMENT '评论内容', `create_time` DATETIME COMMENT '添加时间', PRIMARY KEY (`id`) ) ENGINE = INNODB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT '评论表'; ``` ##### 4. session表 ```mysql CREATE TABLE IF NOT EXISTS sessions ( `session_id` VARCHAR(64) NOT NULL COMMENT 'sessionid', `ttl` VARCHAR(64) NOT NULL COMMENT '有效时间', `username` VARCHAR(64) NOT NULL COMMENT '用户名,和用户表用户名关联', PRIMARY KEY (`session_id`) ) ENGINE = INNODB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT 'session表'; ``` ##### 5. 视频播放记录表 ```mysql CREATE TABLE IF NOT EXISTS video_del_rec ( `video_id` VARCHAR(64) NOT NULL COMMENT '视频id', PRIMARY KEY (`video_id`) ) ENGINE = INNODB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT '视频删除表'; ```