当前位置: 首页 > news >正文

抖音SEO矩阵系统源码开发(一)

抖音seo矩阵营销系统/抖音SEO矩阵号管理系统/抖音霸屏源码开发搭建,抖音官方团队大力推广抖音SEO生态,我们应如何布局开发抖音SEO矩阵系统,来达到账号排名优化的效果,很显然,账号关键词起到了很关键的作用。首先,产品的开发依托于官方正规权限,涉及的权限接口有30+,内附完整版开发文档及功能使用场景。

如:抖音账号授权功能

使用场景

需要用户授权后,才能调用相应的权限接口。例如:视频权限、用户权限等。

背景信息

网站应用抖音登录是基于 OAuth2.0 协议标准构建的授权登录系统,让抖音用户可以使用抖音账号身份安全登录第三方应用或网站,在抖音用户授权登录第三方网站应用后,第三方可以获取到用户的接口调用凭证(access_token),通过 access_token 可以进行抖音开放平台授权关系接口调用,从而实现获取抖音用户基本开放信息和帮助用户实现基础开放功能等。目前提供扫码登录和手机号验证码授权登录两种方式。整体流程为:

  1. 第三方发起抖音授权登录请求,抖音用户允许授权第三方应用后,抖音会重定向到第三方网站,并且带上授权临时票据 code 参数。
  2. 通过 code,ClientKey 和 ClientSecret 作为参数,调用 API 换取 access_token。
  3. 通过 access_token 进行接口调用,获取用户基本数据或帮助用户实现基本操作。

 那如何创建多账号矩阵系统?通过创建多个账号,授权系统,通过账号间互相引入,设置同名关键词账号,标题设置,视频内容关键词,行业热词等信息设置,形成矩阵联盟,打造统一风格的视频矩阵系统。那抖音矩阵管理系统应该如何开发呢?

小编也展示出了部分开发代码示例

详细代码可【昵称账号】进行咨询

class App_Controller_Dydqtshoppc_VideoController extends App_Controller_Dydqtshoppc_InitController {
    const VIDEO_PLAY_POSTER = "/public/dydqt/img/video-zw.png";
    //支持的视频平台
    private $platform = [
        'dou_yin'     => '抖音',
        'kuai_shou'   => '快手',
        'bai_jia_hao' => '好看视频',
        'xiao_hong_shu'=> '小红书',
        'xi_gua'    => '西瓜',
        'tou_tiao'  => '头条',
        'bili_bili' => '哔哩哔哩',
    ];
    /*
     * AI视频创意工作台
     */
    public function indexAction() {
        //面包屑
        $breadcrumbs = [
            ['title' => 'AI视频创意', 'link' => '#zhyy'],
            ['title' => '工作台', 'link' => '/video/index'],
        ];
        $this->buildBreadcrumbs($breadcrumbs);
        //视频数量统计
        $collect_model  = new App_Model_Douyin_MysqlCollectShopStorage();
        $collect_data   = $collect_model->getCollectSurplusBySid($this->sid);
        //视频创意统计
        $video_model    = new App_Model_Douyin_MysqlVideoStorage();
        $vt_where       = [
            ['name' => 'dv_s_id', 'oper' => '=', 'value' => $this->sid]
        ];
        $video_total    = $video_model->getCount($vt_where);
        //素材数量统计
        $attachment_model   = new App_Model_Douyin_MysqlShopAttachmentStorage();
        $attachment_count   = $attachment_model->getTotalByGroup($this->sid);
        $count_data = [
            'image_count'   => 0,
            'image_size'    => '0B',
            'audio_count'   => 0,
            'audio_size'    => '0B',
            'video_count'   => 0,
            'video_size'    => '0B',
        ];
        foreach ($attachment_count as $count) {
            switch ($count['dsa_type']) {
                case 1 :
                    $count_data['image_count']  = $count['total'];
                    $count_data['image_size']   = plum_compute_byte($count['size']);
                    break;
                case 2 :
                    $count_data['audio_count']  = $count['total'];
                    $count_data['audio_size']   = plum_compute_byte($count['size']);
                    break;
                case 3 :
                    $count_data['video_count']  = $count['total'];
                    $count_data['video_size']   = plum_compute_byte($count['size']);
                    break;
            }
        }
        $count_data['video_remain'] = $collect_data['cs_surplus'];
        $count_data['video_create'] = $collect_data['cs_rest_num'];
        $count_data['video_release']= $collect_data['cs_scan_count'];
        $count_data['video_download']   = $collect_data['cs_download_num'];
        $count_data['video_total']  = $video_total;
        $this->output['count_data'] = $count_data;
        if ($this->front_module == 'eui') {
            $this->displaySmarty('dspui/video/index.html');
        } else {
            $this->displaySmarty('dydqtshoppc/video/index.tpl');
        }
    }
    public function itemListAction() {
        //面包屑
        $breadcrumbs = [
            ['title' => 'AI视频创意', 'link' => '#'],
            ['title' => '创意工程', 'link' => '#'],
        ];
        $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;
        }
 

 

http://www.lryc.cn/news/68381.html

相关文章:

  • Mysql实现对某一字段排序并将排名写入另一字段
  • vector容器 [上]
  • React Native技术探究:开发高质量的跨平台移动应用的秘诀
  • C语言函数大全-- w 开头的函数(2)
  • kafka启动创建topic报错:zookeeper is not a recognized option
  • 11个超好用的SVG编辑工具
  • 低代码平台:10分钟从入门到原理
  • 【JavaScript】如何获取客户端IP地址?
  • 数据科学中使用的17 种相似性和相异性度量之欧氏距离
  • 朋友去华为面试,轻松拿到30K的Offer,羡慕了......
  • MySQL入门第五课:数据更新
  • ALSA子系统(十八)------指纹解锁动画提示声卡顿问题解析
  • [230513] TPO72 | 2022年托福阅读真题第1/36篇 | 10:45
  • 操作符详解
  • 【MATLAB图像处理实用案例详解(16)】——利用概念神经网络实现手写体数字识别
  • 数据库管理-第六十九期 另一种累(20230422)
  • Cesium入门之六:Cesium加载影像图层(ArcGIS、Bing、Mapbox、高德地图、腾讯地图、天地图等各类影像图)
  • Redis系列--redis持久化
  • 在外Windows远程连接MongoDB数据库【无公网IP】
  • 学网络安全怎么挖漏洞?怎么渗透?
  • KL散度和交叉熵的对比介绍
  • 浪涌保护器:保护电子设备免受雷击侵害
  • js绘制的红心
  • 十、Feign客户端
  • 登录appuploader
  • 都别吹牛逼了,2个英语指令简单评测便知ChatGPT、博弈Ai、文心一言、通义千问、讯飞星火真实水平
  • 使用Spring Boot快速搭建项目:减少配置,提升开发效率
  • (2)数码管
  • 赫夫曼树和赫夫曼编码详解
  • unity UGUI系统梳理 -交互组件