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

相关推荐
前端之虎陈随易11 小时前
基于Go重写的TypeScript 7可以用了
开发语言·golang·typescript
春卷同学13 小时前
Electron for鸿蒙PC开发的骰子游戏应用
游戏·electron·harmonyos
春卷同学13 小时前
Electron for 鸿蒙pc开发的二十一点游戏
游戏·electron·harmonyos
不老刘14 小时前
react native for OpenHarmony iconfont 图标不显示问题
react native·harmonyos·iconfont
是Dream呀14 小时前
华为CANN 8.0深度评测:CANN在边缘AI场景的落地实践
人工智能·华为
汉堡黄•᷄ࡇ•᷅14 小时前
鸿蒙开发: 案例集合List:ListItem侧滑(删除、收藏)
harmonyos·鸿蒙·鸿蒙系统
乾元14 小时前
多厂商配置对齐器:AI 如何在 Cisco / Huawei / Juniper 间做语义映射
运维·开发语言·网络·人工智能·网络协议·华为·智能路由器
春卷同学14 小时前
拼图游戏 - Electron for 鸿蒙PC项目实战案例
javascript·electron·harmonyos
未来之窗软件服务14 小时前
操作系统应用(三十六)golang语言ER实体图开发—东方仙盟筑基期
后端·golang·mermaid·仙盟创梦ide·东方仙盟·操作系统应用
styshoo15 小时前
Go语言垃圾回收机制详解
golang·gc·垃圾收集