# Film Server
## 简介
- server 是本项目的后端项目
- 主要用于提供前端项目需要的 API数据接口, 以及数据搜集和更新
- 实现思路 :
- 使用 gocolly 获取公开的影视资源,
- 将请求数据通过程序处理整合成统一格式后使用redis进行暂存
- 使用 mysql 存储收录的影片的检索信息, 用于影片检索, 分类
- 使用 gin 作为web服务, 提供相应api接口
- 项目依赖
```go
# gin web服务框架, 用于处理与前端工程的交互
github.com/gin-gonic/gin v1.9.0
# gocolly go语言爬虫框架, 用于搜集公共影视资源
github.com/gocolly/colly/v2 v2.1.0
# go-redis redis交互程序
github.com/redis/go-redis/v9 v9.0.2
# gorm 用于处理与mysql数据库的交互
gorm.io/gorm v1.24.6
gorm.io/driver/mysql v1.4.7
```
## 项目结构
> 项目主要目录结构
- config 用于存放项目中使用的配置信息和静态常量
- controller 请求处理控制器
- logic 请求处理逻辑实现
- model 数据模型结构体以及与数据库交互
- plugin 项目所需的插件工具集合
- common 公共依赖
- db 数据库配置信息
- spider gocolly配置, 执行逻辑, 数据前置处理等
```text
server
├─ config
│ └─ DataConfig.go
├─ controller
│ ├─ IndexController.go
│ └─ SpiderController.go
├─ logic
│ └─ IndexLogic.go
├─ model
│ ├─ Categories.go
│ ├─ LZJson.go
│ ├─ Movies.go
│ └─ Search.go
├─ plugin
│ ├─ common
│ │ ├─ JsonUtils.go
│ │ ├─ ProcessCategory.go
│ │ └─ ProcessMovies.go
│ ├─ db
│ │ ├─ mysql.go
│ │ └─ redis.go
│ └─ spider
│ ├─ Spider.go
│ ├─ SpiderCron.go
│ └─ SpiderRequest.go
├─ router
│ └─ router.go
├─ go.mod
├─ go.sum
├─ main.go
└─ README.md
```
## 启动方式
### 本地运行
1. 修改 /server/plugin/db 目录下的 mysql.go 和 redis.go 中的连接地址和用户名密码
2. 在 server 目录下执行 `go run main.go`
## 数据库信息简介
#### 1.Mysql
> 连接信息(以docker compose部署为例) :
```yaml
mysql:
ip: 部署的服务器IP
port: 3610
username: root
password: root
database: FilmSite
```
> 数据库结构
- 数据库: FilmSite
- 数据表 search
> search 表 (用于记录影片的相关检索信息, 主要用于影片的 搜索, 分类, 排序 等)
| 字段名称 | 类型 | 字段释义 |
| ------------ | -------- | ---------------------- |
| id | bigint | 自增主键 |
| created_at | datetime | 记录创建时间 |
| updated_at | datetime | 记录更新时间 |
| deleted_at | datetime | 逻辑删除字段 |
| mid | bigint | 影片ID |
| cid | bigint | 二级分类ID |
| pid | bigint | 一级分类ID |
| name | varchar | 影片名称 |
| sub_title | varchar | 子标题(影片别名) |
| c_name | varchar | 分类名称 |
| class_tag | varchar | 剧情标签 |
| area | varchar | 地区 |
| language | varchar | 语言 |
| year | bigint | 上映年份 |
| initial | varchar | 首字母 |
| score | double | 豆瓣评分 |
| update_stamp | bigint | 影片更新时间戳 |
| hits | bigint | 热度(播放次数) |
| state | varchar | 状态(正片) |
| remarks | varchar | 更新状态(完结 \| xx集) |
| release_data | bigint | 上映时间戳 |
#### 2.Redis
> 连接信息(以docker compose部署为例) :
```yaml
## 部署时默认使用如下信息
redis:
ip: 部署的服务器IP
port: 3620
password: root
DB: 0 ##使用的redis数据库为0号库
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
GoFilm在线影视源码.7z (98个子文件)
GoFilm在线影视源码
GoFilm-main
client
components.d.ts 1KB
tsconfig.node.json 184B
auto-imports.d.ts 125B
src
style.css 2KB
main.ts 370B
App.vue 604B
assets
image
404.png 1.03MB
play.png 2.1MB
css
classify.css 2KB
film.css 2KB
pagination.css 1KB
utils
cookie.ts 1KB
request.ts 2KB
components
Footer.vue 445B
Header.vue 10KB
FilmList.vue 5KB
RelateList.vue 640B
Util.vue 3KB
Loading
Loading.vue 2KB
index.ts 618B
router
router.ts 1KB
vite-env.d.ts 38B
views
IndexHome.vue 2KB
index
Play.vue 12KB
FilmClassifySearch.vue 5KB
FilmClassify.vue 3KB
Home.vue 5KB
FilmDetails.vue 10KB
SearchFilm.vue 9KB
error
Error404.vue 2KB
package.json 730B
public
favicon.ico 1KB
vite.config.ts 1KB
index.html 750B
.gitignore 253B
tsconfig.json 489B
README.md 4KB
README.txt 2KB
帮助.txt 797B
404.html 36KB
film
data
nginx
html
assets
404-b813c94a.png 1.03MB
index-e57331be.css 388KB
index-b4ec3039.js 1.44MB
play-bb9c8990.png 2.1MB
favicon.ico 1KB
index.html 838B
nginx.conf 651B
redis
redis.conf 111B
docker-compose.yml 2KB
Dockerfile 242B
server
go.mod 2KB
go.sum 19KB
controller
SpiderController.go 1KB
IndexController.go 6KB
plugin
spider
SpiderCron.go 916B
SpiderRequest.go 3KB
Spider.go 9KB
common
dp
ProcessMovies.go 5KB
ProcessCategory.go 1KB
param
SimpleParam.go 900B
db
redis.go 677B
mysql.go 1KB
model
Movies.go 11KB
Search.go 22KB
ResponseJson.go 3KB
Categories.go 1KB
RequestParams.go 160B
router
router.go 2KB
logic
SpiderLogic.go 1KB
IndexLogic.go 7KB
README.md 4KB
config
DataConfig.go 2KB
main.go 856B
README.md 4KB
免费赠送三年会员.jpg 11KB
server
go.mod 2KB
go.sum 19KB
controller
SpiderController.go 1KB
IndexController.go 6KB
plugin
spider
SpiderCron.go 916B
Spider.go 9KB
common
dp
ProcessMovies.go 5KB
ProcessCategory.go 1KB
param
SimpleParam.go 900B
util
Request.go 3KB
FileDownload.go 816B
db
redis.go 677B
mysql.go 1KB
model
Movies.go 11KB
Search.go 22KB
ResponseJson.go 3KB
Categories.go 1KB
RequestParams.go 160B
router
router.go 2KB
logic
SpiderLogic.go 1KB
IndexLogic.go 7KB
config
DataConfig.go 3KB
main.go 912B
共 98 条
- 1
资源评论
行动之上
- 粉丝: 2276
- 资源: 931
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 19 工资发放明细表-可视化图表.xlsx
- 27 员工工资表(图表分析).xlsx
- 23 财务报告工资数据图表模板.xlsx
- 22 财务报告工资数据图表模板.xlsx
- 24 工资表-年度薪资可视化图表.xlsx
- 26 财务分析部门工资支出图表.xlsx
- Python爬虫技术详解:从基础到实战.zip
- 25 工资费用支出表-可视化图表.xlsx
- 30公司各部门工资支出数据图表1.xlsx
- 29 员工月度工资支出数据图表.xlsx
- 28 工资表(自动计算,图表显示).xlsx
- 31 财务分析工资年度开支图表.xlsx
- 33 年度工资预算表(可视化看板).xlsx
- 32 公司年度工资成本数据图表.xlsx
- 34 年度工资汇总-数据可视化看板.xlsx
- 36 财务报表新年度部门工资预算表.xlsx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功