赞片CMSAPP开发

域名注册
域名注册 正式会员超兽战士 👑年卡会员
发布于 2026-10-07 07:28 ·2 浏览 ·0 回复

照着做完,你能拿到一个能连上赞片CMS接口、能刷列表、能播放的 App 最小可运行版本,并知道每一步卡住时该查哪里。

第一步:确认后台接口能用

这一步要拿到一个能返回 JSON 的接口地址,拿不到后面全白搭。登录赞片CMS后台(一般是 http://你的域名/admin.php),进入「系统」→「采集接口」或「接口设置」,页面里会直接显示本站的 API 地址,形如 http://你的域名/api.php/provide/vod/。

把这段地址拼上参数,直接丢进浏览器:

http://你的域名/api.php/provide/vod/?ac=list&pg=1

返回 {"code":1,"msg":"数据列表","page":1,"list":[...]} 就说明通了。取详情用 ?ac=detail&ids=视频ID,按分类取列表在 ac=list 后加 &t=分类ID。

注意:返回 code:0 或提示无权限,多半是接口没开或用户组没放行,去「用户」→「用户组」里把「采集接口」权限勾上,再回来看。

第二步:起一个最小工程

这一步要得到一个能跑在手机上的空壳 App。用 HBuilderX 3.99 以上版本:菜单「文件」→「新建」→「项目」→ 左侧选「uni-app」→「默认模板」,项目名写 ZanApp,创建后先点「运行」→「运行到手机或模拟器」验证模板能跑起来。

如果你更熟 Flutter,flutter create zanapp 也一样,本文以 uni-app 为例,因为它把 Android/iOS 的播放器和打包都省了一半活。

第三步:封装请求层

这一步要把接口调用集中到一个文件,后面改域名只改一处。在项目根目录新建 common/api.js:

const BASE = 'http://你的域名/api.php/provide/vod/';
export function vodList(params = {}) {
  const q = Object.entries({ ac: 'list', pg: 1, ...params })
    .map(([k, v]) => `${k}=${encodeURIComponent(v)}`).join('&');
  return uni.request({ url: `${BASE}?${q}`, method: 'GET' })
    .then(res => res.data);
}

列表接口返回的 list 里,vod_id、vod_name、vod_pic 是你要的三个字段;class 字段是分类数组,直接拿去做顶部导航。

第四步:渲染列表和详情页

这一步要看到真实数据出现在屏幕上。在 pages/index/index.vue 里用 onLoad 调 vodList(),把结果塞进 data.list,模板用 <scroll-view> 包 <view v-for>,封面图直接绑 vod_pic。

详情页新建 pages/detail/detail.vue,用 ?ac=detail&ids= 取回单个视频,注意 vod_play_url 是这种格式:

第01集$http://xx.com/1.m3u8#第02集$http://xx.com/2.m3u8

先按 # 拆集数,再按 $ 拆标题和地址,这是最容易写错的一步。

注意:vod_pic 和播放地址常带防盗链,图片不显示一般是 Referer 被拦。App 端默认不带 Referer,需要在后台把域名加进白名单,或在请求头里补上。

第五步:接播放器

这一步要能点一下就播。uni-app 里最省事的做法是直接用 <video> 组件,把 src 绑成上一步拆出来的 m3u8 地址,autoplay 设 false,加一个 <cover-view> 盖住当封面的点击层。Android 底层会走系统播放器,iOS 走 AVPlayer,普通 m3u8 都能播。

注意:如果站点用的是自研加密或鉴权播放,光换 src 播不出来,得在后台「播放器设置」里开标准 HLS 输出,再调。

第六步:打包

这一步要出安装包。HBuilderX 菜单「发行」→「原生App-云打包」,Android 选「使用 DCloud 老版证书」就能出 apk;iOS 必须先有苹果开发者账号(99 美元/年),上传描述文件和推送证书后才打得出来。

注意:接口是 http 明文的,Android 9 以上默认禁止,要在 manifest.json 的「App常用其它设置」里勾选「允许 http 明文传输」,否则线上包一片白屏。

小结

  • 先验证 api.php/provide/vod/?ac=list 返回 JSON,再动手写代码。
  • ac=list 拿列表和分类,ac=detail&ids= 拿详情,vod_play_url 按 # 和 $ 两级拆分。
  • 请求层单独封装,域名只改一处。
  • 图片和播放失败先查 Referer 防盗链,再查播放器格式。
  • 打包前记得开 http 明文传输,iOS 要提前准备开发者账号。
版权声明:本文来自 GJ论坛《赞片CMSAPP开发》
原文链接:https://www.gj0.com/thread-154.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~