1554天 咸鱼也有梦想

重要的人越来越少,剩下的人也越来越重要 ​​

修改苹果cms二次更新优先级

发布于 12小时前 / 2 次围观 / 0 条评论 / 教程 / 咸鱼

修改苹果cms连载、备注、完结的二次更新逻辑,这些二次更新内容都以播放器qq、qiyi、youku、mgtv为准,在没有这几个播放器的情况下,再以其他播放器为准,一旦视频数据播放器中加入了以上播放链接,就以以上播放链接为准。

打开文件/common/model/Collect.php,把下方开始和结束的部分代码插入到文件第765行,插入完成可以对比以下上下文

 

                    elseif($param['opt'] == 1){
                        $des = lang('model/collect/not_check_update');
                    }
                    else {
                        unset($v['vod_time_add']);
                        // ================== 开始:自定义高优先级保护逻辑 ==================
                        // 1. 定义权威播放器(白名单)
                        $priority_players = ['qq', 'qiyi', 'youku', 'mgtv']; 
                        
                        // 2. 检查数据库现有数据中,是否包含权威播放器
                        $db_has_priority = false;
                        if (!empty($info['vod_play_from'])) {
                            $db_current_plays = explode('$$$', $info['vod_play_from']);
                            foreach ($db_current_plays as $p) {
                                if (in_array($p, $priority_players)) {
                                    $db_has_priority = true;
                                    break;
                                }
                            }
                        }

                        // 3. 检查当前正在采集的数据,是否属于权威播放器
                        $incoming_is_priority = false;
                        if (!empty($v['vod_play_from'])) {
                            $incoming_plays = explode('$$$', $v['vod_play_from']);
                            foreach ($incoming_plays as $p) {
                                if (in_array($p, $priority_players)) {
                                    $incoming_is_priority = true;
                                    break;
                                }
                            }
                        }

                        // 4. 执行保护逻辑:
                        // 如果数据库里已有权威播放器,且当前采集进来的不是权威来源
                        // 强制将新数据的 连载数、备注、完结状态 设为与数据库一致
                        // 这样后续的代码对比时会发现两者相等,从而跳过更新
                        if ($db_has_priority && !$incoming_is_priority) {
                            $v['vod_serial'] = $info['vod_serial'];   // 连载数保持原样
                            $v['vod_remarks'] = $info['vod_remarks']; // 备注保持原样
                            $v['vod_isend'] = $info['vod_isend'];     // 完结状态保持原样
                            // $v['vod_total'] = $info['vod_total'];  // [可选] 总集数保持原样
                        }
                        // ================== 结束:自定义高优先级保护逻辑 ==================
                        $update = [];
                        $ec=false;