HarmonyOS 影视应用APP开发--配套的后台服务go-imovie项目介绍及使用

网上有小伙伴对影视应用感兴趣,也想搞个自己的免费观影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,支持多端部署
  • 学习友好:代码结构清晰,适合前后端开发者学习参考
  • 开源共享:作者提供了详细的文档和接口说明,方便二次开发

运行方式

  1. 安装 Go 和 MongoDB 环境(MongoDB安装)
  2. 下载项目,执行 go mod tidy 安装依赖
  3. 运行 go run imovie.go 启动后端服务
  4. 前端可在 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

相关推荐
Lu Yao_28 分钟前
用golang实现二叉搜索树(BST)
开发语言·数据结构·golang
周胡杰1 小时前
组件导航 (Navigation)+flutter项目搭建-混合开发+分栏
数码相机·flutter·华为·电脑·harmonyos·鸿蒙
数字芯片实验室3 小时前
华为麒麟和小米玄戒的竞争,是一场马拉松,不是冲刺
华为
朱友斌3 小时前
【Golang笔记01】Golang基础语法规则
笔记·学习·golang·go语言·golang笔记
小陈从不熬夜4 小时前
HarmonyOS AVPlayer 音频播放器
华为·音视频·鸿蒙
梁下轻语的秋缘8 小时前
HarmonyOS:重构万物互联时代的操作系统范式
华为·重构·harmonyos
lpfasd1238 小时前
Flutter与Kotlin Multiplatform(KMP)深度对比及鸿蒙生态适配解析
flutter·kotlin·harmonyos
交叉编译之王 hahaha9 小时前
OpenHarmony 5.1.0 Release目录结构详细解析(3级目录)
arm开发·华为·harmonyos
交叉编译之王 hahaha9 小时前
RK3568-鸿蒙5.1与原生固件-扇区对比分析
华为·harmonyos