目的地-Destination
文章

如何通过公众号发送时光机/说说/碎语/心情(Typecho版)

烂笔头 · 198 条评论 · 21,052 浏览 · 27 点赞

> 鉴于这个功能相关的文章,之前都是参考了多个博主的文章,并且插件主要应用于“handsome”主题,所以有很多地方,需要修改代码,又有很多无用的代码。经常有网友会遇到各种各样的问题,无奈。。。所以我把代码全部重写了。。。直接按下面步骤即可,无需修改代码!

申请微信公众号

我这里用的微信测试公众号,申请简单,如果没有其他特殊需求,够用了。传送门:测试公众号

安装时光机

  1. 下载压缩包Times_1,传送门: [hide]链接: https://pan.baidu.com/s/1z4Kul167uzM3ikuxFVKdgA?pwd=hfpr 提取码: hfpr[/hide]

  2. 使用一个新的单独的域名(一级、二级均可,非博客)(微信公众号不支持二级目录作为接口地址),如果你的博客是https://blog.xxx.cn,那么这个域名可以是https://weixin.xxx.cn。

  3. 将Times_1解压后,上传到这个域名的根目录下。执行安装https://weixin.xxx.cn/install.php

这里看黑板!敲重点!数据库,直接填写你博客的数据库配置。别担心,不会覆盖或清空,仅仅增加了一个chrison_weixin表。当然,还是要常常做好数据备份工作。

公众号ID和公众号secret填公众号给你的信息。token请填写固定值:spDJ7DdtqJ1nnUdLnfCx。aes_key可以不填。apiKey可以去高德开发者处申请,用于后续地图的显示,选填。

iShot_2023-09-28_10.41.11.png 4. 填写完信息点击“安装”,如果没有其他提示,则安装完成。然后去微信公众号页面配置服务器接口:URL填写https://weixin.xxx.cn/server.php;Token填写固定值:spDJ7DdtqJ1nnUdLnfCx。提交后显示配置成功,则公众号与服务器已对接完成。 iShot_2023-09-28_10.41.25.png 5. 扫码关注自己的公众号,应该会显示一部分帮助信息,发送绑定关联博客。填写相关信息,点击“绑定”即可。

网址:你的博客地址。如:https://blog.xxx.cn
openid:一般会自动获取
cid:时光机/说说的页面cid(可在后台鼠标放在标题上获得)
cid密钥:时光机/说说的页面内,增加自定义参数timescode,值自行定义,以防止他人操作发布(后台设置的timescode值,要和这里的cid密钥一致)
mid:你想要发布文章的所属分类(可在后台获得)

iShot_2023-09-28_10.50.36.png

时光机与博客联动

  • 下载压缩包Times_2,传送门: [hide] 链接: https://pan.baidu.com/s/1TaGrNiEr-chWJKJwXre5vw?pwd=n43r 提取码: n43r [/hide]

  • 将解压后的文件夹times放置在博客主题目录下,即与functions.php文件同级。

  • 打开编辑functions.php文件,引入文件require_once 'times/func.php';

  • 大功告成!公众号内可测试发送。

若微信公众号内提示Call to undefined function getIp()

看不到报错代码的,请务必打开php的报错提示功能

如果自己代码中有获取IP的方法,可以自行调用。如果没有,可以在functions中添加如下代码:

//获取IP
function getIp(){
    $ip= '-';
    if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
    {
      $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
    }
    elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
    {
      $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
    }
    elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
    {
      $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
    }
    elseif (getenv("HTTP_X_FORWARDED_FOR"))
    {
      $ip = getenv("HTTP_X_FORWARDED_FOR");
    }
    elseif (getenv("HTTP_CLIENT_IP"))
    {
      $ip = getenv("HTTP_CLIENT_IP");
    }
    elseif (getenv("REMOTE_ADDR"))
    {
      $ip = getenv("REMOTE_ADDR");
    }
    else
    {
      $ip = "Unknown";
    }
    return $ip;
}

IMG_6686.jpg iShot_2023-09-28_11.05.07.png

  • Ver 1.0     1.支持单文字发布     2.支付单图片发布     3.支持图文混合发布     4.支持地图发布

  • Ver 2.0     1.支持文章图文发布     2.发送语音仅会保存文件,暂不支持发布

CONVERSATION

198 comments

Write a Comment

  1. 沐阳新疆 巴音郭楞 移动 · Windows
    回复
    看到评论区好多踩坑点,token、目录权限、非 handsome 主题适配,部署的时候得多留意这些细节。
    1. Chrison江苏省 无锡市 电信 · Mac
      回复
      回复 @沐阳嗯,是的。不过我前一阵又重新改了一版,又简化了很多,到时候再发一份处理
  2. zaxax陕西省 移动 · Windows
    回复
    我看看
    1. Chrison江苏省 无锡市 电信 · Mac
      回复
  3. liash陕西省 移动 · Mac
    回复
    佬,现在还能用吧
    1. Chrison江苏省 无锡市 电信 · Mac
      回复
      回复 @liash一直可以的哈
    2. liash陕西省 移动 · Windows
      回复
      回复 @Chrison佬,我现在使用的别的主题,按照您的教程搭建完了。现在存在的问题是给微信公众号发送绑定有反应,但是发送消息就没有反应,而且主题里面也找不到独立模板,是因为我是1.3.0的原因吗
    3. liash陕西省 西安市 电信 · Android
      回复
      回复 @Chrison佬,可以加一下联系方式帮我配置一下吗,我给您发个红包,2236612585
  4. 老王贵州省 贵阳市 联通 · Mac
    回复
    在下载研究研究。
    1. Chrison江苏省 无锡市 电信 · Mac
      回复
      回复 @老王怎么又研究这个了。
  5. 功夫茶山东省 济南市 联通 · Windows
    回复
    前来学习
    1. Chrison江苏省 南京市 电信 · iPhone
      回复
      回复 @功夫茶欢迎欢迎
  6. 大熊甘肃省 武威市 电信 · Windows
    回复
    学习一下和看看😂
    1. Chrison江苏省 无锡市 电信 · Mac
      回复
      回复 @大熊欢迎欢迎😀
  7. 光河南省 安阳市 联通 · Windows
    回复
    一直显示token验证失败,哎无语了🤬
    1. Chrison江苏省 无锡市 电信 · Mac
      回复
      回复 @光token失败,就是公众号和后台配置的不对
  8. tantan北京 联通 · Windows
    回复
    😁不知道能不能用
  9. Jdeal江苏省 无锡市 电信 · Windows
    回复
    我刚刚突然发现我的好像不好用了,擦,搬迁服务器搬的都是问题。。。。。😅
    1. Chrison江苏省 无锡市 电信 · Mac
      回复
      回复 @Jdeal出差回来了,有空改改咯😏
  10. 小熊贵州省 贵阳市 联通 · Mac
    回复
    下载试试。
    1. Chrison江苏省 无锡市 电信 · Mac
      回复
      回复 @小熊欢迎欢迎