网上有小伙伴对影视应用感兴趣,也想搞个自己的免费观影APP玩玩儿。前期博主开源的有uniapp版本和harmonyOS原生版本影视客户端,但是对博主开源的这个影视后台接口服务不太了解,不知道怎么用起来。这里总结介绍下该go-imove后台接口服务项目介绍及使用,分享给有需要的同学,方便打造自己完整的影视APP应用。其中uniapp版本适用于全平台(ios,android,harmonys,小程序等。)
这个项目名为 imovie 个人影视类开源小程序完整项目,是一个基于 Go(Golang)和 MongoDB 实现的影视类小程序后台接口服务。前端部分是基于 uni-app(Vue.js)开发的跨平台小程序,支持 H5、Android、iOS、HarmonyOS 等多端运行。HarmonyOS原生语言版本基于鸿蒙ArkTS和ArkUI。项目完全开源,适合学习和参考。
郑重声明:所有影视资源均来自互联网,仅限学习研究使用,严禁用于其用途。
项目简介
- 后端技术:Golang + MongoDB
- 前端技术:uni-app(Vue.js),可运行于微信小程序、H5、Android、iOS 、HarmonyOS等
- 功能丰富:涵盖首页、电影详情、搜索、分类、评价、收藏、个人中心、评分、评论、知乎日报、表单提交等
- 开箱即用 :下载后
go mod tidy
安装依赖,go run imovie.go
即可启动后端服务
uniapp观影app项目地址:https://gitee.com/yyz116/imovie
鸿蒙原生版本观影app项目地址: https://gitee.com/yyz116/hmmovie
后台服务开源地址:https://gitee.com/yyz116/go-imovie
https://github.com/yangyongzhen/go-imovie

主要功能
- 轮播图、横向滚动列表
- 电影详情、搜索、分类、评价、收藏
- 个人中心、评分、评论
- 知乎日报列表与详情
- 上拉加载、下拉刷新
- 表单提交、滑动操作等
- 知乎日报列表接口
- 知乎日报详情接口
- 网易云音乐音乐搜索接口
- 网页云音乐歌曲畅听接口
后台接口
- 轮播图接口:
/api/v1/banner
- 电影列表接口:
/api/v1/movie/list
- 电影详情接口:
/api/v1/movie/detail
- 电影搜索接口:
/api/v1/movie/search
- 电影分类接口:
/api/v1/movie/category
- 电影评价、收藏、评分、评论等接口
- 知乎日报相关接口
- 。。。。。。
如果没有部署,可以暂时使用博主自己部署好的接口。
接口地址:http://120.27.146.247:8000
接口使用举例
使用vscode的rest插件,调试接口:
bash
### 即将上映
post http://120.27.146.247:8000/api/v1/soonmovie
Content-Type:application/json
{
"start": 0,
"count": 1
}
使用curl命令行工具调试接口示例:
bash
curl -X POST http://120.27.146.247:8000/api/v1/soonmovie \
-H "Content-Type: application/json" \
-d '{
"start": 0,
"count": 1
}'

所有的接口定义如下:
cpp
service imovie-api {
@doc (
summary: "imovie api"
)
@handler TestHandler
get /test/:name (Request) returns (Response)
@handler SwiperHandler
get /api/v1/swiperdata returns (SwiperResp)
// 1.热门影视
@handler HotMovieHandler
post /api/v1/hotmovie (HotMovieReq) returns (HotMovieResp)
// 2.最新上映
@handler NewMovieHandler
post /api/v1/newmovie (NewMovieReq) returns (NewMovieResp)
// 3.即将上映
@handler SoonMovieHandler
post /api/v1/soonmovie (SoonMovieReq) returns (SoonMovieResp)
// 4.本周口碑
@handler WeekMovieHandler
post /api/v1/weekmovie (WeekMovieReq) returns (WeekMovieResp)
// 5.电影详情
@handler DetailMovieHandler
post /api/v1/detailmovie (DetailMovieReq) returns (DetailMovieResp)
// 6.电影搜索
@handler SearchMovieHandler
post /api/v1/searchmovie (SearchMovieReq) returns (SearchMovieResp)
// 7.北美票房榜
@handler UsMovieHandler
post /api/v1/usmovie (UsMovieReq) returns (UsMovieResp)
// 8.电影短评(评论)
@handler CommentMovieHandler
post /api/v1/commentmovie (CommentReq) returns (CommentResp)
// 9.电影影评 (长文章)
@handler ReviewsMovieHandler
post /api/v1/reviewsmovie (ReviewsReq) returns (ReviewsResp)
// 10.top250影视
@handler TopMovieHandler
post /api/v1/topmovie (TopMovieReq) returns (TopMovieResp)
// 11.知乎日报 news
@handler ZhihuNewsHandler
get /api/v1/zhihunews/:date (ZhihuNewsReq) returns (ZhihuNewsResp)
// 12.知乎日报 详情
@handler ZhiDetailHandler
get /api/v1/zhihudetail/:id (ZhiDetailReq) returns (ZhiDetailResp)
// 13.影视剧照
@handler PhotoMovieHandler
post /api/v1/photomovie (PhotoMovieReq) returns (PhotoMovieResp)
// 14.电影票房
@handler PiaoMovieHandler
get /api/v1/piaomovie returns (PiaoMovieResp)
// 15.影视资源提交
@handler SourceMovieHandler
post /api/v1/sourcemovie (SourceMovieReq) returns (SourceMovieResp)
// 16.影视播放资源获取
@handler MvSourceHandler
get /api/v1/mvsource/:sid (MvSourceReq) returns (MvSourceResp)
// 17.留言反馈提交
@handler FeedBackHandler
post /api/v1/feedback (FeedBackReq) returns (FeedBackResp)
// 18.检查更新
@handler UpdateCheckHandler
get /api/v1/updatecheck (UpdateReq) returns (UpdateResp)
// 19.近期热门剧集
@handler HotTvHandler
post /api/v1/tvhot (HotTvReq) returns (HotTvResp)
// 20.电视直播资源
@handler TvLivesHandler
post /api/v1/tvlives (TvLivesReq) returns (TvLivesResp)
// 21.根据名字生成电影合集
@handler CreateMvMenuHandler
post /api/v1/createmvmenu (CreateMvMenuReq) returns (CreateMvMenuResp)
// 22.获取电影合集
@handler GetMvMenusHandler
get /api/v1/getmvmenus (GetMvMenusReq) returns (GetMvMenusResp)
// 23.音乐资源获取
@handler MusicsHandler
post /api/v1/musicmenus (MusicsReq) returns (MusicsResp)
// 24.音乐搜索
@handler MusicSearchHandler
post /api/v1/musicsearch (MusicSearchReq) returns (MusicSearchResp)
// 25.音乐歌词搜索
@handler MusicLrcSearchHandler
get /api/v1/musicsearchlrc (LrcSearchReq) returns (LrcSearchResp)
// 26.创建音乐歌单
@handler CreateSongMenuHandler
post /api/v1/createsongmenu (CreateSongMenuReq) returns (CreateSongMenuResp)
// 27.获取音乐歌单
@handler GetSongMenuHandler
get /api/v1/getsongmenu (GetSongMenuReq) returns (GetSongMenuResp)
}
接口使用
bash
### 正在热映电影
post http://120.27.146.247:8000/api/v1/hotmovie
Content-Type:application/json
{
"start": 0,
"count": 1,
"city": "郑州"
}
### 首页电影海报轮播图
### Swiper request /api/v1/swiperdata
get http://120.27.146.247:8000/api/v1/swiperdata
### 即将上映电影
post http://120.27.146.247:8000/api/v1/soonmovie
Content-Type:application/json
{
"start": 0,
"count": 1
}
### 最新上映
post http://120.27.146.247:8000/api/v1/newmovie
Content-Type:application/json
{
"start": 0,
"count": 1
}
### 周榜 电影
post http://120.27.146.247:8000/api/v1/weekmovie
Content-Type:application/json
{
"start": 0,
"count": 1
}
### 北美票房榜
post http://120.27.146.247:8000/api/v1/usmovie
Content-Type:application/json
{
"start": 0,
"count": 1
}
### 近期热门剧集
post http://120.27.146.247:8000/api/v1/tvhot
Content-Type:application/json
{
"start": 0,
"count": 10
}
### 电视直播
post http://120.27.146.247:8000/api/v1/tvlives
Content-Type:application/json
{
"start": 0,
"count": 10
}
### 电影详情
post http://120.27.146.247:8000/api/v1/detailmovie
Content-Type:application/json
{
"id": "1292052"
}
### 电影短评
post http://120.27.146.247:8000/api/v1/commentmovie
Content-Type:application/json
{
"id": "1292052",
"start": 0,
"count": 2
}
### 电影剧照
post http://120.27.146.247:8000/api/v1/photomovie
Content-Type:application/json
{
"id": "1292052",
"start": 0,
"count": 2
}
### top250 movie request /api/v1/topmovie
post http://120.27.146.247:8000/api/v1/topmovie
Content-Type:application/json
{
"start": 0,
"count": 2
}
### 电影票房信息
get http://120.27.146.247:8000/api/v1/piaomovie
### 知乎日报
get http://120.27.146.247:8000/api/v1/zhihunews/20240720
### 知乎日报 详情
get http://120.27.146.247:8000/api/v1/zhihudetail/9773231
项目结构
├─api // 后台接口
├─common // 公共组件
├─components // 业务组件
├─doc // 项目文档
├─mock // mock数据
├─pages // 页面(首页、详情、搜索、分类、个人中心等)
├─static // 静态资源
├─uni_modules // uni-app插件
└─utils // 工具类
特色亮点
- 接口丰富:支持电影、图书、音乐、知乎日报等多种数据源
- 跨平台:前端基于 uni-app,支持多端部署
- 学习友好:代码结构清晰,适合前后端开发者学习参考
- 开源共享:作者提供了详细的文档和接口说明,方便二次开发
运行方式
- 安装 Go 和 MongoDB 环境(MongoDB安装)
- 下载项目,执行
go mod tidy
安装依赖 - 运行
go run imovie.go
启动后端服务 - 前端可在 HBuilder X 运行或打包
MongoDB安装:可以使用宝塔直接安装。
或者参考:《linux下的MongoDB手动安装部署详解》https://blog.csdn.net/yyz_1987/article/details/144989629?spm=1001.2014.3001.5502
相关资源
如果你想开发自己的影视类小程序或学习 Go+MongoDB+uni-app 的全栈开发,这个项目是非常好的参考。
关于作者 :csdn猫哥 转载请注明出处: blog.csdn.net/qq8864。