魔搜短视频解析小程序的搭建QA日常解答

魔搜短视频解析小程序日常解答

本人在github开源的“魔搜短视频解析小程”序有幸得到各位的支持,就此本文章将常见的问题都给说明,如有未能答到的,可以在文章下方联系本人微信反馈。开源地址https://github.com/ithere/douyindownload-miniapp

小程序如何申请

基础问题不做回答,小白玩家请自行搜索如何申请小程序

小程序如何搭建

基础问题不做回答,如有疑问请直接某度搜索如何搭建小程序.这里只给大家指出appid 各位填写自己申请的即可

代码内修改appid处

在根目录的pages文件夹下有个app.json 根据你自己的喜好决定更改或者不更改appid
/pages/app.json

  "navigateToMiniProgramAppIdList": [
    "填写你的APPID"
  ],

魔搜短视频解析小程序的搭建QA日常解答_第1张图片

更换解析接口

本人没有其他视频解析的接口,只提供了某音的接口作为大家参考的例子,基于此。大家可直接在app.js内更改接口地址即可
/pages/app.js

  globalData: {
    userInfo: null,
    default: 'https://v.ataobao.vip/api/'
  }

魔搜短视频解析小程序的搭建QA日常解答_第2张图片

魔搜短视频解析小程序的搭建QA日常解答_第3张图片

如何设置合法域名

请前往小程序后台,开发设置内填写合法域名,如不确定是在哪个类型填写就直接4个类型都填上api解析地址,需要注意:前缀不同代表不同的地址,请注意区分

本地开发请在编辑器里勾选不校验域名信息

魔搜短视频解析小程序的搭建QA日常解答_第4张图片

通过以上各项配置你已经可以在电脑开发者工具内成功解析并下载视频,到此基本的小程序就可以在自己手机上扫码调试使用了。

进阶版设置下载域名

本条内容不适合小白观看,此类以代码思路为主,讲解如何投机使用合法域名或中转来达到下载。

(1) JS轮询匹配设置

魔搜短视频解析小程序的搭建QA日常解答_第5张图片

// 比如解析出来的视频地址有 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次未成功则提示 请重新解析
}

(2) 后端中间件中转

此处以php为例 大家可以根据自己的技术栈自行编写

魔搜短视频解析小程序的搭建QA日常解答_第6张图片

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");

注意,文中的“编写/修改”需有一定编程基础的童鞋操作。

总结

以上方法可以解决出现的90%的问题 剩下的可以通过重启解决,如还不能解决可以考虑换个电脑.~

推荐阅读

  • 好像还没有

欢迎关注我的公众号“魔搜索”,原创技术/资源/活动文章先行推送。

你可能感兴趣的:(微信开发,小程序,编程语言)