短视频矩阵系统源码打包附赠分享

矩阵系统源码主要有三种框架:Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架,提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框架,用于将数据模型、Web应用程序的用户界面和控制器逻辑分离。Hibernate框架是一个面向对象的数据库访问框架,提供了ORM(对象关系映射)机制,允许开发人员使用面向对象的方式来操作数据库。这三种框架结合使用,可以提高开发效率,降低代码复杂度,提高系统性能和稳定性。

短视频矩阵系统源码打包附赠分享_第1张图片 

video' => [
                'type'  => 1,
                'title' => '视频素材('.($material_model->getMaterialCountByVideo($da_id, 1)).')',
                'url'   => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=1",
            ],
            'image' => [
                'type'  => 3,
                'title' => '图片素材('.($material_model->getMaterialCountByVideo($da_id, 3)).')',
                'url'   => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=3",
            ],
            'audio' => [
                'type'  => 2,
                'title' => '音频素材('.($material_model->getMaterialCountByVideo($da_id, 2)).')',
                'url'   => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=2",
            ],
            'title' => [
                'type'  => 4,
                'title' => '标题素材('.($material_model->getMaterialCountByVideo($da_id, 4)).')',
                'url'   => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=4",
            ],
            'write' => [
                'type'  => 5,
                'title' => '文案素材('.($material_model->getMaterialCountByVideo($da_id, 5)).')',
                'url'   => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=5",
            ],
            /*
            'dubin' => [
                'type'  => 6,
                'title' => '配音选择',
                'url'   => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=6",
            ],
            */
            'background'    => [
                'type'  => 7,
                'title' => '背景选择('.($material_model->getMaterialCountByVideo($da_id, 7)).')',
                'url'   => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=7",
            ],
            'mixcut'    => [
                'type'  => 0,
                'title' => 'AI混剪视频('.($temp_video_count).')',
                'url'   => "/dydqtshoppc/video/videoTemplateList?dv_id={$da_id}&type=0",
            ],
        ];
        switch ($video_mode) {
            case 1 :
            case 2 :
            case 3 :
            case 4 :
                unset($type_list['image']);
                break;
            case 11 :
                unset($type_list['video']);
                $type   = $type == 1 ? 3 : $type;
                break;
            default :

                break;
        }
        $type_list_single = array_column($type_list,'title','type');
        $this->output['now_type']   = $type;
        $this->output['type_list']  = $type_list;
        $this->output['type_list_single']  = $type_list_single;

        //获取素材组合信息
        $pailie_model   = new App_Model_Douyin_MysqlVideoMaterialPailieStorage();
        $pailie_row     = $pailie_model->getRowByDvid($da_id);
        $pailie_row['dvmp_pailie_have']     = $pailie_row['dvmp_total']-$pailie_row['dvmp_used'];
        //视频混剪模式
        $this->output['pailie_row']         = $pailie_row;
        $this->output['temp_video_count']   = $temp_video_count;
        $this->output['project_mode']       = plum_parse_config('project_mixed_mode','dydqt/project')[$video_mode];
        //输出操作指引
        $index  = [
            1   => [
                'order'     => 1,
                'title'     => '视频素材',
                'desc'      => '根据混剪模式,必须上传',
                'url'       => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=1",
            ],
            2   => [
                'order'     => 2,
                'title'     => '音频素材',
                'desc'      => '背景音与文案配音,可二选一',
                'url'       => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=2",
            ],
            3   => [
                'order'     => 3,
                'title'     => '标题素材',
                'desc'      => '视频上半部分的标题,可不传',
                'url'       => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=4",
            ],
            4   => [
                'order'     => 4,
                'title'     => '文案素材',
                'desc'      => '视频下半部分的文案,可不传',
                'url'       => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=5",
            ],
        ];

        if ($video_mode == 11) {
            $index[1]   = [
                'order'     => 1,
                'title'     => '图片素材',
                'desc'      => '根据混剪模式,必须上传',
                'url'       => "/dydqtshoppc/video/materialList?dv_id={$da_id}&type=3",
            ];
        }
        $this->output['oper_index'] = $index;
    }

    /*
     * 素材管理
     */
    public function materialListAction(){
        //面包屑
        $breadcrumbs = [
            ['title' => '视频管理', 'link' => '/video/videoList'],
            ['title' => '素材管理', 'link' => '#'],
        ];
        $this->buildBreadcrumbs($breadcrumbs);

        $dv_id                  = $this->request->getIntParam('dv_id');  //活动ID
        $type                   = $this->request->getIntParam('type',0);   //素材类型
        $keyword_type           = $this->request->getStrParam('keyword_type');
        $keyword                = $this->request->getStrParam('keyword');
        $scene  = $this->request->getIntParam('scene',0);

        //获取视频信息
        $video_model    = new App_Model_Douyin_MysqlVideoStorage();
        $video_info     = $video_model->getRowByIdSid($dv_id, $this->sid);
        if(empty($video_info)){
            plum_redirect_with_msg('该视频不存在');
        }
        $mixed_video_mode   = $video_info['dv_video_mode'];
        if (in_array($mixed_video_mode, [11])) {    //智能图片组合
            $type   = in_array($type, [0,1]) ? 3 : $type;   //默认为图片素材类型
        } else {
            $type   = in_array($type, [0, 3]) ? 1 : $type;  //默认为视频素材类型
        }

        //获取素材列表
        $where = [
            ['name' => 'dvm_ds_id', 'oper' => '=', 'value' => $this->sid],
            ['name' => 'dvm_dv_id', 'oper' => '=', 'value' => $dv_id],
            ['name' => 'dvm_material_type', 'oper' => '=', 'value' => $type]
        ];
        //视频类型,区分混剪模式
        if ($type == 1) {
            $where[] = ['name' => 'dvm_video_mixed_mode', 'oper' => '=', 'value' 

你可能感兴趣的:(抖音seo优化系统,矩阵,php)