前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信自动给女友发送早安天气打卡

微信自动给女友发送早安天气打卡

作者头像
岳泽以
发布2022-10-26 17:22:34
8850
发布2022-10-26 17:22:34
举报
文章被收录于专栏:岳泽以博客岳泽以博客

断更许久,深感愧疚,闲来无事看见gitee的一个好玩的项目《模仿抖音上的给女朋友发送天气的小程序》,三分钟配置完毕,女友已经收到了我的早安问候,虽然已经傍晚了。

实现原理:通过计划任务访问PHP文件自动调用微信公众平台的模板消息。

相关的PHP文件放到文末,必须注册的俩个API接口:

天气APIhttp://www.tianqiapi.com/

情话APIwww.alapi.cn

操作步骤

首先打开下面链接进入微信公众平台,点击扫码登录获取测试账号:

https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login )

然后获取相关appID和appsecret填到PHP文件中

翻到下面,新增测试模板

模板内容:

代码语言:javascript
复制
{{first.DATA}}
今天天气:{{keyword1.DATA}}
今天温度:{{keyword2.DATA}}
我们已经恋爱了:{{keyword3.DATA}}
距离小宝生日还有:{{keyword4.DATA}}
{{remark.DATA}}

保存之后,将模板ID复制到PHP代码里面

然后让女朋友关注测试公众号,获取到微信号填到PHP代码里

最后将PHP文件上传到服务器,添加计划任务定时运行即可,宝塔添加方式如下:

PHP代码

在服务器新建PHP文件,粘贴代码即可

代码语言:javascript
复制
<?php

$appId = '1'; //对应自己的appId
$appSecret = '2'; //对应自己的appSecret
$wxgzhurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appId . "&secret=" . $appSecret;
$access_token_Arr = https_request($wxgzhurl);
$access_token = json_decode($access_token_Arr, true);
$ACCESS_TOKEN = $access_token['access_token']; //ACCESS_TOKEN


// 什么时候恋爱的(格式别错)
$lovestart = strtotime('2022-08-01');
$end = time();
$love = ceil(($end - $lovestart) / 86400);

// 下一个生日是哪一天(格式别错)
$birthdaystart = strtotime('2023-01-25');
$end = time();
$diff_days = ($birthdaystart - $end);
$birthday = (int)($diff_days/86400);
$birthday = str_replace("-", "", $birthday);


$tianqiurl = 'https://www.yiketianqi.com/free/day?appid=95943915&appsecret=5KNSKu9y&unescape=1&city=武汉'; //修改为自己的
$tianqiapi = https_request($tianqiurl);
$tianqi = json_decode($tianqiapi, true);

$qinghuaqiurl = 'https://v2.alapi.cn/api/qinghua?token=BFlSa9Ny7qTZHwYk'; //修改为自己的
$qinghuaapi = https_request($qinghuaqiurl);
$qinghua = json_decode($qinghuaapi, true);


// 你自己的一句话
$yjh = ''; //可以留空 也可以写上一句

$touser = 'oOBhas1F-h6rP9DxsTZGCP7xgjeQ';  //这个填你女朋友的openid
$data = array(
    'touser' => $touser,
    'template_id' => "ujSRYGrQep4A8o0JCyW4pdy5cZ0YXrT6QXwMZC5tAf11111111110", //改成自己的模板id,在微信后台模板消息里查看
    'data' => array(
        'first' => array(
            'value' => "$yjh",
            'color' => "#000"
        ),
        'keyword1' => array(
            'value' => $tianqi['wea'],
            'color' => "#000"
        ),
        'keyword2' => array(
            'value' => $tianqi['tem_day'],
            'color' => "#000"
        ),
        'keyword3' => array(
            'value' => $love . '天',
            'color' => "#000"
        ),
        'keyword4' => array(
            'value' => $birthday . '天',
            'color' => "#000"
        ),
        'remark' => array(
            'value' => $qinghua['data']['content'],
            'color' => "#f00"
        ),
    )
);

// 下面这些就不需要动了————————————————————————————————————————————————————————————————————————————————————————————
$json_data = json_encode($data);
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $ACCESS_TOKEN;
$res = https_request($url, urldecode($json_data));
$res = json_decode($res, true);

if ($res['errcode'] == 0 && $res['errcode'] == "ok") {
    echo "发送成功!<br/>";
}else {
        echo "发送失败!请检查代码!!!<br/>";
}
function https_request($url, $data = null)
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (!empty($data)) {
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}

注意:必须修改PHP代码内的相关信息,修改完后,访问 域名路径/文件名运行一次,如果返回发送成功再添加计划任务。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022 年 08 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作步骤
  • PHP代码
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档