Douyin short video matrix management system source code development and deployment (open source customization)

 1. What is short video matrix management system?

  The short video matrix management system is a one-stop service solution for enterprise account merchants and ordinary account merchants, from traffic flow to transaction conversion. It specifically includes: like, follow comments, active private messages, reply in comment area, automatic potential customer mining, matrix account marketing, automated marketing, fan management and other functions.

Through the operation of the short video matrix system, what effects can be brought to the enterprise, then the editor will also analyze for you one by one:

1. Multi-account authorization binding:

Through the system, different recommendation mechanisms of different platforms can be used to realize the unified authorization management of multiple accounts and multiple platforms. It does not require enterprises to frequently log in and log out of each platform account, which can simplify the business operation process and reduce business operating costs.

 2. Batch production of short videos

In the process of enterprises operating multiple platforms and multiple accounts, batch production of content has always been the most troublesome problem for enterprises. Then through the short video matrix system, AI technology can be used to automatically process video materials. Businesses only need to use mobile phones to shoot a few pieces of basic material, and the system can automatically match popular music, topics, etc. to automatically synthesize videos.

3. Automatic release of short videos at regular intervals

At present, many platforms that I have learned only support single-account and single-video publishing, which is relatively laborious for enterprises to operate multiple accounts. The system can set up multiple accounts, and multi-platform one-click release at regular intervals, including settings such as delivery time, delivery platform, and delivery frequency. You only need to authorize the account and set the scheduled release task without manual intervention to realize automated operation management.

 4. Automatic statistics of potential customer leads, intelligent customer service automatic reception

Through the matrix system, in addition to the appeal function, it can also realize the automatic reply of comments and private messages, which is convenient for enterprise operation and management, and also solves the problems such as the loss of potential customer leads caused by enterprises or merchants not responding in time.

Intention clue collection: as shown in the figure


 2. What capabilities does the short video matrix system incorporate? What effect can be achieved?

     To a large extent, the short video matrix system not only solves the problems of corporate operating efficiency and operating costs, but also helps companies push corporate product information and product trends, attracting users to watch, click, and reserve funds, etc., which can increase user account interaction and enhance brand image and corporate awareness.

To sum up, the editor believes that the Douyin seo short video matrix system is a short video promotion tool and operation platform that integrates a variety of research and development technologies, which can help companies reduce operating costs and improve operating efficiency.

Part of the code is shown below:

     * 新增场景
    public function addSceneAction() {
        $dv_id  = $this->request->getIntParam('dv_id');
        $name   = $this->request->getStrParam('name');
        $scene_model    = new App_Model_Douyin_MysqlVideoSceneStorage();
        $video_model    = new App_Model_Douyin_MysqlVideoStorage();
        $video_item     = $video_model->getRowByIdSid($dv_id, $this->sid);
        if (empty($video_item)) {

        $max_scene  = $scene_model->getMaxSceneByDvid($dv_id);
        $indata = [
            'dvs_dv_id' => $dv_id,
            'dvs_ds_id' => $this->sid,
            'dvs_name'  => $name,
            'dvs_duration'  => $video_item['dv_video_shot']*1000,
            'dvs_scene' => $max_scene+1,
            'dvs_create_time'   => time(),
        $ret    = $scene_model->insertValue($indata);
        if ($ret) {
            $video_model->incNumberById('dv_video_use', 1, $dv_id);
        $url    = "/dydqtshoppc/video/startProject?dv_id={$dv_id}&type=1&scene=".$indata['dvs_scene'];
        $this->displayJsonSuccess(['url' => $url], true, '添加成功');

    public function deleteSceneAction() {
        $dv_id  = $this->request->getIntParam('dv_id');
        $scene  = $this->request->getIntParam('scene', 1);
        if ($scene == 1) {
        $scene_model    = new App_Model_Douyin_MysqlVideoSceneStorage();
        $video_model    = new App_Model_Douyin_MysqlVideoStorage();

        $where  = [
            ['name' => 'dvs_ds_id', 'oper' => '=', 'value' => $this->sid],
            ['name' => 'dvs_dv_id', 'oper' => '=', 'value' => $dv_id],
            ['name' => 'dvs_scene', 'oper' => '=', 'value' => $scene]
        $ret    = $scene_model->deleteValue($where);
        if ($ret) {
            $video_model->decNumberById('dv_video_use', 1, $dv_id);
        $url    = "/dydqtshoppc/video/startProject?dv_id={$dv_id}&type=1&scene=1";
        $this->displayJsonSuccess(['url' => $url], true, '删除成功');
     * 视频缓存
    public function cacheVideoAction() {
        $breadcrumbs = [
            ['title' => 'AI视频创意', 'link' => '#'],
            ['title' => '视频仓库', 'link' => ''],

        $dv_id  = $this->request->getStrParam('dv_id');
        $video_model    = new App_Model_Douyin_MysqlVideoStorage();
        $video_info     = $video_model->getRowByIdSid($dv_id, $this->sid);
        if (empty($video_info)) {
        $this->output['video_info']     = $video_info;
        $where = [
            ['name' => 'dvtv_s_id', 'oper' => '=', 'value' => $this->sid],
            ['name' => 'dvtv_dv_id', 'oper' => '=', 'value' => $dv_id],
        $cache_model    = new App_Model_Douyin_MysqlVideoTempVideoStorage();
        $template_list  = $cache_model->getList($where,$this->index,$this->count);

        foreach ($template_list as &$item) {
            $item['score']  = 100 - min($item['dvtv_score'], 100);
            $use_platform   = empty($item['dvtv_use_platform']) ? [] : json_decode($item['dvtv_use_platform'], 1);
            $use_platform   = array_unique($use_platform);
            $item['used_count'] = count($use_platform);
            $item['used_platform']  = $use_platform;

        $template_list_all = $cache_model->getCount($where);
        $page_libs = new Libs_Pagination_Paginator($template_list_all,$this->count,'jquery',true);
        $pageHtml = $page_libs->render();

        $this->output['template_list']  = $template_list;
        $this->output['pageHtml']       = $pageHtml;
        $this->output['dv_id']          = $dv_id;
        $this->output_materail_link($dv_id, 0, $video_info);
        $collect_model  = new App_Model_Douyin_MysqlCollectShopStorage();
        $collect_info   = $collect_model->getCollectSurplusBySid($this->sid);
        $this->output['collect_info']   = $collect_info;
        $appoint_model  = new App_Model_Task_MysqlAppointTaskStorage();
        $appoint_where  = [
            ['name' => 'va_ds_id', 'oper' => '=', 'value' => $this->sid],
            ['name' => 'va_dv_id', 'oper' => '=', 'value' => $dv_id],
            #['name' => 'va_status', 'oper' => '<>', 'value' => 2],
        $appoint_sort   = ['va_status' => 'ASC'];
        $appoint_list   = $appoint_model->getList($appoint_where, 0, 1, $appoint_sort);
        $this->output['appoint_list']   = $appoint_list;
        $this->output['platform_list']  = $this->platform;
        $this->output['appoint_status'] = [
            0   => '<span style="color: #ff875c;">待执行</span>',
            1   => '<span style="color: darkgreen">执行中</span>',
            2   => '<span style="color: red">已结束</span>',
            3   => '<span style="color: #db4040;">异常中断</span>',

     * 生成预览视频


Guess you like