null

暂无访客记录

详情
评论
问答
赞助

问题原因

DiscuzQ 324更新 手机端使用了新增加的V2接口,V2接口没有返回视频的鉴权地址。

解决方法

找到 app\\Api\\Controller\\Threads 下

ListThreadsV2Controller.php

找到

use Discuz\\Base\\DzqController;

下面加上

use Discuz\\Contracts\\Setting\\SettingsRepository;
use Carbon\\Carbon;
use Illuminate\\Support\\Str;

找到

public function main()

上面加上

    protected $settings;

    public function __construct(SettingsRepository $settings)
    {
        $this->settings = $settings;
    }

找到

$data[\'extension\'] = [
                    Thread::EXT_VIDEO => ThreadVideo::instance()->getThreadVideo($thread[\'id\'])
                ];

下面加上

$urlKey = $this->settings->get(\'qcloud_vod_url_key\', \'qcloud\');
                $urlExpire = (int) $this->settings->get(\'qcloud_vod_url_expire\', \'qcloud\');
                if ($urlKey && $urlExpire && $data[\'extension\'][\'video\'][\'mediaUrl\']) {
                    $currentTime = Carbon::now()->timestamp;
                    $dir = Str::beforeLast(parse_url($data[\'extension\'][\'video\'][\'mediaUrl\'])[\'path\'], \'/\') . \'/\';
                    $t = dechex($currentTime+$urlExpire);
                    $us = Str::random(10);
                    $sign = md5($urlKey . $dir . $t . $us);
                    $data[\'extension\'][\'video\'][\'mediaUrl\'] = $data[\'extension\'][\'video\'][\'mediaUrl\'] . \'?t=\' . $t . \'&us=\'. $us . \'&sign=\'.$sign;
                }

ResourceThreadV2Controller.php

找到

use Discuz\\Base\\DzqController;

下面加上

use Discuz\\Contracts\\Setting\\SettingsRepository;
use Carbon\\Carbon;
use Illuminate\\Support\\Str;

找到

public $relation = [
        \'rewardedUsers\' => Order::ORDER_TYPE_REWARD,            //打赏的人
        \'paidUsers\' => Order::ORDER_TYPE_THREAD,                //付费用户
        \'onlookers\' => Order::ORDER_TYPE_ONLOOKER                 //围观用户
    ];

下面加

protected $settings;

找到

UserFollowRepository $userFollow

后面加上

,SettingsRepository $settings

找到

$data[\'images\'] = [];

下面加上

$urlKey = $this->settings->get(\'qcloud_vod_url_key\', \'qcloud\');
$urlExpire = (int) $this->settings->get(\'qcloud_vod_url_expire\', \'qcloud\');

找到

$data[\'threadVideo\'] = $thread->threadVideo ?? [];

下面加上

                if ($urlKey && $urlExpire && $data[\'threadVideo\'][\'mediaUrl\']) {
                    $currentTime = Carbon::now()->timestamp;
                    $dir = Str::beforeLast(parse_url($data[\'threadVideo\'][\'mediaUrl\'])[\'path\'], \'/\') . \'/\';
                    $t = dechex($currentTime+$urlExpire);
                    $us = Str::random(10);
                    $sign = md5($urlKey . $dir . $t . $us);
                    $data[\'threadVideo\'][\'mediaUrl\'] = $data[\'threadVideo\'][\'mediaUrl\'] . \'?t=\' . $t . \'&us=\'. $us . \'&sign=\'.$sign;
                }

找到

$data[\'threadAudio\'] = $thread->threadAudio ?? [];

下面加上

if ($urlKey && $urlExpire && $data[\'threadAudio\'][\'mediaUrl\']) {
                    $currentTime = Carbon::now()->timestamp;
                    $dir = Str::beforeLast(parse_url($data[\'threadAudio\'][\'mediaUrl\'])[\'path\'], \'/\') . \'/\';
                    $t = dechex($currentTime+$urlExpire);
                    $us = Str::random(10);
                    $sign = md5($urlKey . $dir . $t . $us);
                    $data[\'threadAudio\'][\'mediaUrl\'] = $data[\'threadAudio\'][\'mediaUrl\'] . \'?t=\' . $t . \'&us=\'. $us . \'&sign=\'.$sign;
                }

搞定 修改代码 注意缩进

附上修改的文件

温馨提示:本文最后更新于2022/10/19 22:43:10。若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享

您可以通过搜索或浏览分类列表来找到您期望下载的资源。随后点击资源介绍页右侧的下载链接按钮,依据提示信息进行操作即可。

大部分资源可积分免费下载,为了维持网站的运行小部分资源须付费才能下载。

本站提供的下载资源均为网络搜集,仅供个人学习和交流使用。对于版权问题,请用户自行判断并承担相应责任。

随着时间的推移,维持网站的运行需要支出高昂的服务器和带宽费用。为了能继续坚持免费做下去,如果觉得文章对您有用,希望您能动动发财的小手免费赞助狐狸,给狐狸加油打气!激励狐狸库继续创作下去!谢谢!

在互联网的浩瀚海洋中,我们的网站就像一座明亮的灯塔,为无数用户照亮前行的道路。它承载着知识的传递、梦想的交流,以及大家共同的回忆与期待。然而,运营和维护这样一个网站需要投入大量的心血与资金。

现在,您只需通过支付宝扫码领红包,就能轻松成为我们的赞助人。这不仅是一次简单的支持,更是您与网站共同成长的见证。操作简单,打开支付宝,扫描专属二维码,您的每一份心意都将化作网站发展的动力。

您的赞助,能让网站不断升级,提供更优质的服务,给大家带来更好的体验。让我们携手共进,让这座灯塔绽放更耀眼的光芒,照亮更多人的网络世界 。

下面是免费赞助的方法和流程

  1. 下面图一是本站的支付宝每日领红包二维码,使用支付宝扫描二维码后会自动显示红包金额,有任意小额金额红包。
  2. 点击“去使用”,再扫描第三张图的二维码进行付款即可。
  3. 上面扫到多少红包就输入多少金额,红包会自动抵扣金额,所以不需要额外费用。
  4. 如需赞助自定义金额请到【赞助狐狸】页面进行赞助。
  5. 这个扫码红包是每天都可以领的哦,支持同账号重复,每天花一分钟时间即可免费支持本站!
扫码红包 红包图 扫码支付
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容