dede织梦系统接入熊掌号推送api,完整详细教程

时间:2023-12-19 17:47:56

第一步:
    根据熊掌号要求完成校验页面,官方文档很详细,照着弄就行了
第二步:
开始后台改造

1.进入后台文件夹dede(自己实际的文件夹),然后进入templets目录,打开body_index.htm

 大概104行左右,加入入口链接(content_listxzh.php):<div class="icoitem" style="background:url(images/manage1.gif) 10px 3px no-repeat;"><a href="content_listxzh.php">熊掌号管理</a></div>

具体样子:

  1. <div id='quickmenu'>
  2. <?php
  3. $dtp = new DedeTagparse();
  4. $dtp->SetNameSpace('menu','<','>');
  5. $dtp->LoadTemplet($myIcoFile);
  6. if(is_array($dtp->CTags)){
  7. foreach($dtp->CTags as $ctag){
  8. $title = $ctag->GetAtt('title');
  9. $ico = $ctag->GetAtt('ico');
  10. $link = $ctag->GetAtt('link');
  11. echo "<div class='icoitem' style='background:url($ico) 10px 3px no-repeat;'><a href='{$link}'>{$title}</a></div>\r\n";
  12. }
  13. }
  14. ?>
  15. <div class="icoitem" style="background:url(images/manage1.gif) 10px 3px no-repeat;"><a href="content_listxzh.php">熊掌号管理</a></div>
  16. </div>

dede织梦系统接入熊掌号推送api,完整详细教程

然后刷新后台看看

dede织梦系统接入熊掌号推送api,完整详细教程

2.返回上一级目录,dede下面,复制一份content_list.php,改为content_listxzh.php(和入口链接一致),

然后打开该文件,在232行左右,修改模板指向文件,content_list.htm改为content_listxzh.htm

  1. //模板
  2. if(empty($s_tmplets)) $s_tmplets = 'templets/content_listxzh.htm';
  3. $dlist->SetTemplate(DEDEADMIN.'/'.$s_tmplets);

dede织梦系统接入熊掌号推送api,完整详细教程

3.再次进入templets文件夹,复制content_list.htm,改为content_listxzh.htm,编辑文件,103行左右加入代码:

          <a href="javascript:xzh(0)" class="coolbg"> 百度熊账号更新 </a>

dede织梦系统接入熊掌号推送api,完整详细教程

保存,然后进入后台查看是否显示出来
dede织梦系统接入熊掌号推送api,完整详细教程

4.进入dede目录下,js文件夹里面,打开list.js,在最后或者中间加入代码:

  1. function xzh(aid){
  2. var qstr=getCheckboxItem();
  3. if(aid==0) aid = getOneItem();
  4. location="archives_do.php?qstr="+qstr+"&aid="+aid+"&dopost=xzh";
  5. }

在87行左右;插入代码:

new ContextItem("熊账号更新",function(){ xzh(aid); }),
    new ContextItem("熊账号更新",function(){ xzh(aid); }),

dede织梦系统接入熊掌号推送api,完整详细教程

5.进入dede目录下,打开archives_do.php 在267行左右加入推送代码:

  1. /*--------------------------
  2. //熊掌号更新
  3. function xzh() { }
  4. ---------------------------*/
  5. else if($dopost=="xzh")
  6. {
  7. CheckPurview('a_Check,a_AccCheck,sys_ArcBatch');
  8. require_once(DEDEADMIN."/inc/inc_archives_functions.php");
  9. if( !empty($aid) && empty($qstr) ) $qstr = $aid;
  10. if($qstr=='')
  11. {
  12. ShowMsg("参数无效!",$ENV_GOBACK_URL);
  13. exit();
  14. }
  15. $arcids = preg_replace("#[^0-9,]#", '', preg_replace("#`#", ',', $qstr));
  16. $query = "Select arc.id,arc.title,arc.shorttitle,arc.typeid,arc.ismake,arc.senddate,arc.arcrank,arc.money,arc.filename,arc.litpic,
  17. t.typedir,t.typename,t.namerule,t.namerule2,t.ispart,t.moresite,t.siteurl,t.sitepath,t.isdefault,t.defaultname
  18. from `#@__archives` arc left join #@__arctype t on arc.typeid=t.id
  19. WHERE arc.id in($arcids) ";
  20. $dsql->SetQuery($query);
  21. $dsql->Execute();
  22. $data=array();
  23. while($row = $dsql->GetArray())
  24. {
  25. $preRow=$row;
  26. $data[]=GetFileUrl($preRow['id'],$preRow['typeid'],'',$preRow['title'],
  27. $preRow['ismake'],0,$preRow['namerule'],$preRow['typedir'],$preRow['money'],$preRow['filename'],
  28. $preRow['moresite'],$preRow['siteurl'],$preRow['sitepath']);
  29. }
  30. $urls=$data;
  31. $api = 'http://data.zz.baidu.com/urls?appid=你的熊掌号id&token=bGtk3lFYrn6XQJBY&type=batch';
  32. $ch = curl_init();
  33. $options = array(
  34. CURLOPT_URL => $api,
  35. CURLOPT_POST => true,
  36. CURLOPT_RETURNTRANSFER => true,
  37. CURLOPT_POSTFIELDS => implode("\n", $urls),
  38. CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
  39. );
  40. curl_setopt_array($ch, $options);
  41. $result = curl_exec($ch);
  42. echo $result;
  43. ShowMsg($result,$ENV_GOBACK_URL);
  44. exit();
  45. }

注意填写自己的熊掌号id

dede织梦系统接入熊掌号推送api,完整详细教程

最后测试一下结果:显示成功success

dede织梦系统接入熊掌号推送api,完整详细教程

dede织梦系统接入熊掌号推送api,完整详细教程

,以上就是所有过程,我自己写的api接口,其他接口也可以按照这个思路来写,,你也可以按照这个自己定义一个原创内容推送接口,主要是接口地址正确,对应的自定义文件链接正确,一般都没多大问题,未经允许,请勿私自转载