ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
使用内置接口将使用程序自带的解析接口,不过支持的平台很少,后面陆续更新 使用第三方接口需要到后端代码中修改,其文件路径是 source/application/api/controller/Apis.php文件 ![](https://img.kancloud.cn/18/00/1800025cae09bede28bb61fcf2af928e_1920x902.png) 填写接口后请自行解析接口返回的信息,并用以下格式返回给小程序 ![](https://img.kancloud.cn/69/e1/69e11fbcf4b572a284fa99f9a595354c_931x470.png) ![](https://img.kancloud.cn/72/9e/729eb62770f487aa3c2d8f8d7e59a3ed_950x594.png) ``` return [ "code" => 200, // 200表示解析成功 -1 表示失败 "data" => [ "title" => "这里是分享文案", "cover" => "这里是封面图片链接", "images" => [], // 这里是图集的数组 "video" => "这里是视频链接", ], "msg" => "解析成功" ]; ``` ## 【下面提供一个案例模板】 比如我对接一个接口,然后请求返回的格式是下图这样的 ![](https://img.kancloud.cn/4c/44/4c4490291978ea0a35459feb27212580_1330x373.png) 只要将data里面的数据取出来再存放就可以了,可看下面的下面的代码样例 ``` public function analysis($videoUrl) { try { $url = "https://解析接口/Analyse?url=" . $videoUrl; $s = file_get_contents($url); $s = json_decode($s, true); // 这个接口返回的状态码code 200表示解析成功 if ($s['code'] == '200') { // 直接取返回数据中的data值再赋值给s,相当于s就是data $s = $s['data']; $reData = [ "title" => $s['title'], // 将分享文案存入 reData "cover" => $s['cover'], // 将封面链接存入 "video" => $this->getUrl302($s['url']), // 将data中的视频链接存入,某些视频链接需要302跳转拿到真实链接才可以在小程序下载 ]; // 如果你的解析接口可以解析图集,可再修改下面的代码 // 如果这个接口返回的type 等于image则表示正在解析图集链接返回的数据 // if ($s['type'] == 'image') { // 存入图集 // $reData['images'] = $s['pics']; // } else { // 拿到真实链接并存入视频链接 // $reData['video'] = $this->getUrl302($s['url']); // } // 这里返回新的格式过去就可以了 return [ "code" => 200, "data" => $reData, // reData 就是上面设置存入的数据 "msg" => "解析成功" ]; } else { return [ "code" => -1, "data" => null, "msg" => $s['message'] ]; } } catch (\Exception $e) { return [ "code" => -1, "data" => null, "msg" => "解析失败,出错了" ]; } } ``` <br><br> ## 【上面那些看不懂的话再提供一个案例模板】 ~~~ public function analysis($videoUrl) { $data = [ // 解析接口 'url' => 'http://apis.xiaofanmo.site/home/api?uid=这里填写UID&key=这里填写KEY&url=' . $videoUrl, // 接口返回提示信息 'msg' => 'msg', // 文案 'title' => 'desc', // 封面 'cover' => 'cover', // 图集 'images' => 'pics', // 视频 'video' => 'playAddr', ]; try { $url = $data['url']; $s = file_get_contents($url); $s = json_decode($s, true); $whole = $s; // 这个接口返回的状态码code 0001表示解析成功 if ($s['code'] == '0001') { // 判断解析返回接口的数据是否在 data 里面 if (!empty($s['data'])) { $s = $s['data']; } // 定义新的数据格式 $reData = [ "title" => $s[$data['title']], // 将分享文案存入 reData "cover" => $s[$data['cover']] // 将封面链接存入 ]; // 判断当前是否在解析视频 if (empty($s[$data['images']]) || $s[$data['images']] == "" || $s[$data['images']] == null) { // 拿到真实链接并存入视频链接 $reData['video'] = $this->getUrl302($s[$data['video']]); } else { // 存入图集 $reData['images'] = $s[$data['images']]; } // 这里返回新的格式过去就可以了 return [ "code" => 200, "data" => $reData, // reData 就是上面设置存入的数据 "msg" => "解析成功" ]; } else { return [ "code" => -1, "data" => null, "msg" => $whole[$data['msg']] ]; } } catch (\Exception $e) { return [ "code" => -1, "data" => null, "msg" => "解析失败,出错了" ]; } } ~~~ ``