要在video_detail
方法中获取的详情数据里加上“追风影视:”的前缀,可以通过修改vod_json
方法或直接在video_detail
方法中对视频标题进行处理。以下是两种实现方式:
方式 1:在vod_json
方法中添加前缀
在vod_json
方法中处理视频标题时,直接添加前缀:
private function vod_json($v)
{
if ($v == null) {
return $v;
}
// 添加前缀
$v['vod_name'] = '追风影视:' . $v['vod_name'];
// 其他处理逻辑
$v['vod_time_add'] = date('Y-m-d H:i:s', $v['vod_time_add']);
$v['vod_content'] = strip_tags($v['vod_content']);
// 处理图片URL等逻辑
if (substr($v["vod_pic"], 0, 4) == "mac:") {
$v["vod_pic"] = str_replace('mac:', 'http:', $v["vod_pic"]);
} elseif (substr($v["vod_pic"], 0, 2) == "//") {
$v["vod_pic"] = str_replace('//', 'http://', $v["vod_pic"]);
} elseif (!empty($v["vod_pic"]) && substr($v["vod_pic"], 0, 4) != "http" && substr($v["vod_pic"], 0, 2) != "//") {
$v["vod_pic"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic"];
}
// 其他逻辑...
return $v;
}
方式 2:在video_detail方法中添加前缀
在video_detail方法中获取视频详情后,直接对标题进行处理:
public function video_detail()
{
if (empty($this->_param['id'])) {
$json = $this->json_encode_extra(['code' => 2, 'msg' => '参数验证失败'], "video_detail");
echo $json;
exit;
}
$html = '';
$where = [];
if (!empty($this->_param['id'])) {
$where['vod_id'] = ['eq', $this->_param['id']];
}
if (empty($this->_param['id'])) {
$where['vod_id'] = ['eq', 1];
}
$order = 'vod_time desc';
$field = '*';
$res = Db::name('Vod')->field($field)->where($where)->find();
if (empty($res)) {
$json = $this->json_encode_extra(['code' => 404, 'msg' => '抱歉,该视频已下架'], "video_detail");
echo $json;
exit;
}
$detail = $this->vod_json($res);
// 添加前缀
$detail['vod_name'] = '追风影视:' . $detail['vod_name'];
// 其他逻辑...
$detail["trysee"] = config("maccms")["user"]["trysee"];
if ($detail["permission"] != "vip") {
// 广告逻辑...
}
if ($detail["unlock"]) {
$response = ['code' => 1024, 'msg' => '权限不足', 'data' => $detail];
$html = $this->json_encode_extra($response, "video_detail");
echo $html;
exit;
}
$response = ['code' => 1, 'msg' => '视频详情', 'data' => $detail];
$html = $this->json_encode_extra($response, "video_detail");
echo $html;
exit;
}
两种方式的区别
方式 1:在vod_json
方法中添加前缀,所有调用vod_json
方法的地方都会自动加上前缀。如果需要全局生效,可以选择这种方式。
方式 2:在video_detail
方法中添加前缀,只对视频详情接口生效。如果只需要在详情接口中加前缀,可以选择这种方式。
测试
修改代码后,访问视频详情接口,查看返回的vod_name
字段是否正确地加上了“追风影视:”前缀。
例如,原始返回的vod_name
是“哪吒2”,修改后返回的vod_name应该是“追风影视:哪吒2”。
注意事项
如果视频标题本身已经包含前缀,可能会导致重复添加。可以在添加前缀前检查是否已包含“追风影视:”。
如果其他接口(如搜索、推荐等)也需要加前缀,建议使用方式 1,确保全局一致性。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容