Short video matrix system software source code---technical deployment and creation

There are three main frameworks for matrix system source code: Spring, Struts and Hibernate. The Spring framework is a full-stack Java application development framework that provides IOC container, AOP, transaction management and other functions. The Struts framework is a Web application framework with an MVC architecture, which is used to separate the data model, user interface and controller logic of the Web application. The Hibernate framework is an object-oriented database access framework that provides an ORM (Object Relational Mapping) mechanism, allowing developers to operate the database in an object-oriented manner. The combined use of these three frameworks can improve development efficiency, reduce code complexity, and improve system performance and stability.

         Introduction to third-party platform technology development:

The Douyin open platform provides two open modes based on platform rules and developer demands: capability openness and industry openness.

In terms of capability opening, the platform provides relevant capabilities for operating Douyin accounts and Toutiao accounts, including but not limited to publishing videos and obtaining video data, user data and various list information; it also provides guarantees around Douyin mini programs. Basic capabilities such as payment, customer service management, and message subscription, as well as operational capabilities such as short video/live broadcast room mounting mini-programs, traffic owners, and advertisers.
In terms of industry opening, the platform provides multi-industry solutions such as in-store catering, air-win travel, and general knowledge based on exploring industry pain points and solving practical problems to enhance the operating income and industry competitiveness of brands and merchants.
What can be done on the platform?
Developers are the main targets of Douyin’s open platform services. Developers are divided into self-operated developers (such as brands, merchants, etc.) and comprehensive platform developers (such as comprehensive platforms, agent operation platforms, etc.) , different roles can find suitable business development directions here.

Self-operated developers
Self-operated developers refer to those who have their own self-operated business or have many franchisees. Such characters can start their own business on the Douyin open platform.

Self-operated developers can create Douyin mini programs on the Douyin open platform, sell or promote their own goods and services around the Douyin mini programs, and use the mini programs to attract traffic through live broadcast rooms, short videos and other methods, thereby having Opportunity to get over 10 million exposures.
Self-operated developers can build their own websites or mobile applications, integrate or use the open capabilities provided by the platform in their own business scenarios, and assist in developing various businesses.
Comprehensive platform developer
Comprehensive operation platform

A comprehensive operation platform refers to having its own comprehensive operation platform, with many merchants or stores gathered under the platform. This type of role can not only conduct business on Douyin's open platform, but also bring more traffic and revenue to its merchants and stores.

Comprehensive platforms can create Douyin mini programs on the Douyin open platform, and sell or promote the products and services of its merchants around the Douyin mini programs. They can also attract traffic through live broadcast rooms, short videos and other methods, thereby having the opportunity to obtain Over 10 million exposure opportunities.
Comprehensive platforms can also not be based on Douyin mini-programs, but directly use other open capabilities provided by the platform to assist in data analysis and business operations.
 Short video matrix software source code: source code sharing

$this->buildBreadcrumbs($breadcrumbs);

        $mode   = $this->request->getIntParam('mode', 0);
        $this->output['mode']   = $mode;
        $time_range     = $this->request->getStrParam('time_range');
        $keyword_type   = $this->request->getStrParam('keyword_type');
        $keyword        = $this->request->getStrParam('keyword');

        $where = [
            ['name' => 'dv_s_id', 'oper' => '=', 'value' => $this->sid]
        ];
        if(!empty($time_range)){
            $add_time_range_arr = explode('~',$time_range);

            $where[]    = ['name' => 'dv_create_time', 'oper' => '>=', 'value' => strtotime($add_time_range_arr[0])];
            $where[]    = ['name' => 'dv_create_time', 'oper' => '<', 'value' => strtotime($add_time_range_arr[1]) + 86400];
        }
        if(!empty($keyword_type)){
            $where[]    = ['name' => $keyword_type, 'oper' => 'like', 'value' => "%{$keyword}%"];
        }
        if ($mode > 0) {
            $where[]    = ['name' => 'dv_video_mode', 'oper' => '=', 'value' => $mode];
        }

        $sort = ['dv_create_time' => 'DESC'];
        //获取视频列表
        $Video_model = new App_Model_Douyin_MysqlVideoStorage();
        $video_list = $Video_model->getList($where,$this->index,$this->count,$sort);
        $temp_video_model   = new App_Model_Douyin_MysqlVideoTempVideoStorage($this->sid);
        $pailie_video_model = new App_Model_Douyin_MysqlVideoMaterialPailieStorage();
        foreach ($video_list as &$item) {
            $item['cache_num']  = $temp_video_model->getTempVideoCountByItem($item['dv_id']);
            $item['pailie']     = $pailie_video_model->getRowByDvid($item['dv_id']);

            $progerss   = 40;
            if ($item['video_num'] > 0 || $item['image_num'] > 0) {
                $progerss += 10;
            }
            if ($item['audio_num'] > 0 || $item['write_num'] > 0) {
                $progerss += 10;
            }
            if ($item['pailie']['dvmp_is_zuhe']) {
                $progerss += 20;
            }
            if ($item['cache_num'] > 0) {
                $progerss += 20;
            }

            $item['progress']   = $progerss;
        }

        //计算分页
        $active_list_all = $Video_model->getCount($where);
        $page_libs = new Libs_Pagination_Paginator($active_list_all,$this->count,'jquery',true);
        $pageHtml = $page_libs->render();

        $this->output['time_range']     = $time_range;
        $this->output['keyword_type']   = $keyword_type;
        $this->output['keyword']        = $keyword;
        $this->output['video_list']     = $video_list;
        $this->output['pageHtml']       = $pageHtml;

        $this->output['progress_line'] = [
            20 => ['color' => 'red', 'tip' => 'Creation of creative project completed'],
            40 => ['color' => 'red ', 'tip' => 'Selecting mixed cutting mode has been completed'],
            50 => ['color' => 'orange', 'tip' => 'Adding audio and video material has not been completed'],
            60 => [' color' => 'orange', 'tip' => 'Adding audio and video materials has been completed'],
            70 => ['color' => 'blue', 'tip' => 'Video mixing and editing has been completed'] ,
            80 => ['color' => 'blue', 'tip' => 'Video mixing and editing combination completed'], 90 => ['
            color' => 'green','tip' => 'Video caching has been completed'],
            100 => ['color' => 'green', 'tip' => 'All steps of the project have been completed'], ];
        $
        this->output_mode_link();
        $this->displaySmarty('dydqtshoppc/video/item-list.tpl');
    }
    /*
     *Clip mode link
     */
    private function output_mode_link() {         $video_mixed_mode = plum_parse_config('project_mixed_mode', 'dydqt/project');         array_unshift($video_mixed_mode, [             'title' => 'All',             'mode' => 0,             'desc' => '',         ]);





        foreach ($video_mixed_mode as &$item) {             $item['link'] = "/dydqtshoppc/video/itemList?mode=".$item['mode'];         }         $this->output['video_mixed_mode'] = $video_mixed_mode;     }     /**      * Video list      */     public function videoListAction() {         //Breadcrumbs         $breadcrumbs = [             ['title' => 'Account operation', 'link' => '#zhyy'],             [' title' => 'Short video management', 'link' => '/video/videoList'],         ];         $this->buildBreadcrumbs($breadcrumbs);













        $add_time_range = $this->request->getStrParam('add_time_range');
        $keyword_type   = $this->request->getStrParam('keyword_type');
        $keyword        = $this->request->getStrParam('keyword');

        $where = [
            ['name' => 'dv_s_id', 'oper' => '=', 'value' => $this->sid]
        ];
        if(!empty($add_time_range)){
            $add_time_range_arr = explode('~',$add_time_range);

            $where[] = ['name' => 'dv_create_time', 'oper' => '>=', 'value' => strtotime($add_time_range_arr[0])];
            $where[] = ['name' => 'dv_create_time', 'oper' => '<', 'value' => strtotime($add_time_range_arr[1]) + 86400];
        }
        if(!empty($keyword_type)){
            $where[] = ['name' => $keyword_type, 'oper' => 'like', 'value' => "%{$keyword}%"];
        }

        $sort = ['dv_create_time' => 'DESC'];
        //获取视频列表
        $Video_model = new App_Model_Douyin_MysqlVideoStorage();
        $video_list = $Video_model->getList($where,$this->index,$this->count,$sort);
        $material_model = new App_Model_Douyin_MysqlVideoMaterialStorage($this->sid);
        $temp_video_model   = new App_Model_Douyin_MysqlVideoTempVideoStorage($this->sid);
        $pailie_video_model = new App_Model_Douyin_MysqlVideoMaterialPailieStorage();
        foreach ($video_list as &$item) {
            $item['video_num']  = $material_model->getMaterialCountByVideo($item['dv_id'], 1);
            $item['audio_num']  = $material_model->getMaterialCountByVideo($item['dv_id'], 2);
            $item['image_num']  = $material_model->getMaterialCountByVideo($item['dv_id'], 3);
            $item['title_num']  = $material_model->getMaterialCountByVideo($item['dv_id'], 4);
            $item['write_num']  = $material_model->getMaterialCountByVideo($item['dv_id'], 5);
            $item['cache_num']  = $temp_video_model->getTempVideoCountByItem($item['dv_id']);
            $item['pailie']     = $pailie_video_model->getRowByDvid($item['dv_id']);

            $progerss   = 40;
            if ($item['video_num'] > 0 || $item['image_num'] > 0) {
                $progerss += 10;
            }
            if ($item['audio_num'] > 0 || $item['write_num'] > 0) {
                $progerss += 10;
            }
            if ($item['pailie']['dvmp_is_zuhe']) {
                $progerss += 20;
            }
            if ($item['cache_num'] > 0) {
                $progerss += 20;
            }

            $item['progress']   = $progerss;
        }

 

Supongo que te gusta

Origin blog.csdn.net/xiaosaina/article/details/130988200
Recomendado
Clasificación