本源码没有后端,所有配置都是在小程序本身修改,支持流量主,默认多个广告位;本微信小程序源码新手不适用,很多都是改代码,如不使用默认解析口,更换解析需要另外配置这里源码先不放出来!
源码修改教程:
1.在根目录的pages文件夹下有个app.json 根据你自己的喜好决定更改或者不更改appid /pages/app.json
"navigateToMiniProgramAppIdList": [
"填写你的APPID"
],
接口修改教程:
1.本人没有其他视频解析的接口,只提供了某音的接口作为大家参考的例子,基于此。大家可直接在app.js内更改接口地址即可 /pages/app.js
合法域名配置:
1.登录小程序平台:“开发管理”-“开发设置”-“服务器域名”
2.把http开头的都填上安全域名(解析地址白名单)
本内容不适合小白用户观看,请以此代码思路为主,来完成如何使用合法域名或中转来达到下载视频
文件:douyindownload-miniapp\pages\video\video.js
JS轮询匹配设置:
假如解析出来的视频地址有 v1-dy v2-dy v3-dy … v9-dy 将此9条或更多加入到自己小程序合法下载域名内
// 设置匹配数组
var matchArr = ['v1-dy.', 'v2-dy.', 'v3-dy.','v4-dy.', 'v5-dy.', 'v6-dy.','v7-dy.', 'v8-dy.', 'v9-dy.'];
var flag = 0
for (const i in matchArr) {
if (res.msg.url.indexOf(matchArr[i])) {
// 执行下载逻辑
// ... 下载逻辑
flag = 1
break
}
}
if (!flag) {
// 执行解析逻辑 继续解析接口 在匹配 直到匹配完成 或 匹配10次未成功则提示 请重新解析
}
后端中间件中转:
function GetMp4File($file) {
$size = filesize($file);
header("Content-type: video/mp4");
header("Accept-Ranges: bytes");
if(isset($_SERVER['HTTP_RANGE'])){
header("HTTP/1.1 206 Partial Content");
list($name, $range) = explode("=", $_SERVER['HTTP_RANGE']);
list($begin, $end) =explode("-", $range);
if($end == 0){
$end = $size - 1;
}
}else {
$begin = 0; $end = $size - 1;
}
header("Content-Length: " . ($end - $begin + 1));
header("Content-Disposition: filename=".basename($file));
header("Content-Range: bytes ".$begin."-".$end."/".$size);
$fp = fopen($file, 'rb');
fseek($fp, $begin);
while(!feof($fp)) {
$p = min(1024, $end - $begin + 1);
$begin += $p;
echo fread($fp, $p);
}
fclose($fp);
}
GetMp4File("demo.mp4");
注:此处以php为例 大家可以根据自己的技术栈自行编写,上述操作需有一定编程基础的同学操作,完工睡觉!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END