首页 > 编程语言 >云上的甜蜜早安:腾讯云云函数助力PHP打造女友专属每日推送

云上的甜蜜早安:腾讯云云函数助力PHP打造女友专属每日推送

时间:2023-09-11 17:55:05浏览次数:36  
标签:PHP tianqi 早安 token https curl 云上 data array

用腾讯云的云函数做一个微信公众号早安,每天定时发送早安给你的女朋友!

1.首先我们登录腾讯云,在搜索栏搜索云函数,或直接用这个链接进入curl.qcloud.com/Td0IkpmD

2.进入云函数,点击立即体验

3.这里我们选择 按照步骤选择 php

4.再就是配置页面,这里我们只需要配置两个地方,也就是代码和定时器,将下面的代码修改一下,放在代码区域

4.1 这块要穿插一下,微信公众号的配置教程,首页如果你没有认证服务号的话,你可以用测试号,也就是代码开头的链接,进入后,会是下面的界面

4.2 打开后先别着急复制,先刷新一下页面,因appsecret可能会变,刷新一下获取最新的appsecret。
4.3 然后下滑这个测试平台,在下面找到二维码,让你的女朋友关注,这里你就可以获取她的 openid
4.4 然后将下面的模版消息模板 复制一下,直接创建模版消息,或者你自己更改一下文字,都可以的

现在温度:{{keyword3.DATA}}
温馨提示:{{keyword4.DATA}}
我们已经恋爱了:{{keyword5.DATA}}
距离小宝生日还有:{{keyword6.DATA}}

4.5 创建了模版消息,你就获得了模板ID

4.6 将这平台的数据,根据下面的代码进行一一对应。

// 欢迎关注抖音

//需要微信公众号,如果没有微信公众号可以用测试号https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

$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-09-25');
$end = time();
$diff_days = ($birthdaystart - $end);
$birthday = (int)($diff_days/86400);
$birthday = str_replace("-", "", $birthday);


$tianqiurl = 'http://t.weather.sojson.com/api/weather/city/101200101'; // 城市编码修改为自己所在城市的
# 城市编码数据可以百度一下
$tianqiapi = https_request($tianqiurl);
$tianqi = json_decode($tianqiapi, true);


// 温馨提示
$wxts = '多喝水'; //可以留空 也可以写上一句

$touser = 'oorj36BiQwUZVjLQjPQMz_gHDxfE';  //这个填你女朋友的openid
$data = array(
    'touser' => $touser,
    'template_id' => "ThgzhwSdxjWRMUsFidQWd5vohoEHvY7lyNUsIi--jGM", //改成自己的模板id,在微信后台模板消息里查看
    'data' => array(
        'keyword1' => array(
            'value' => $tianqi['cityInfo']['city'],
            'color' => "#000"
        ),
        'keyword2' => array(
            'value' => $tianqi['data']['forecast']['0']['type'].' 明日: '.$tianqi['data']['forecast']['1']['type'],
            'color' => "#000"
        ),
        'keyword3' => array(
            'value' =>  $tianqi['data']['forecast']['0']['low'].'-'.$tianqi['data']['forecast']['0']['high'],
            'color' => "#000"
        ),
        'keyword4' => array(
            'value' => $wxts,
            'color' => "#FF00FF"
        ),
        'keyword5' => array(
            'value' => $love.'天',
            'color' => "#FF1493"
        ),
        'keyword6' => array(
            'value' => $birthday.'天',
            'color' => "#C71585"
        ),
    )
);

// 下面这些就不需要动了————————————————————————————————————————————————————————————————————————————————————————————
$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;
}

  1. 将上面的代码放置到代码区域

  1. 然后在下面的触发器这里,根据你女朋友的起床时间自己设定,我设定的是每天七点半

7.两块地方都设置了后,点击下面的完成,然后你女朋友的微信就会收到你为她做的专属早安提醒!

标签:PHP,tianqi,早安,token,https,curl,云上,data,array
From: https://www.cnblogs.com/ypyz/p/17694118.html

相关文章

  • 基于PHP vue2+element+ laravel8+ mysql开发的不良事件管理系统源码
    技术架构:PHP vue2+element+laravel8+mysql5.7+vscode不良事件上报系统通过“事前的人员知识培训管理和制度落地促进”、“事中的事件上报和跟进处理”、以及“事后的原因分析和工作持续优化”,结合预存上百套已正在使用的模板,帮助医院从对护理事件、药品事件、医疗器械事件、......
  • 【心得】TP6,使用phpspreadsheet库进行EXCEL的数据导入导出
    在日常开发中,我们会遇到大批量的数据导出以及导入,之前的PHP旧库现在已经停更了,如下提示:composerrequirephpoffice/phpexcelPackagephpoffice/phpexcelisabandoned,youshouldavoidusingit.Usephpoffice/phpspreadsheetinstead.phpoffice/phpexcel包已废弃,应避免......
  • linux服务器上的nginx服务、mysql服务和docker里面的php服务配合使用
    之前有个老项目是nginx1.22.0+mysql5.7+php5.6的环境在跑,也就是常说的lnmp环境。但是最近出了一个新的需求,这台服务器上要跑一个php7.3的项目,mysql5.7还可以用,nginx1.22.0也可以用,主要是php的环境要升级到7.3,那么方案应该怎么实施呢,大概有下面几个思路:1、再独立安装一个php7.3的......
  • 【黄啊码】nginx如何设置php运行的
    禁止访问PHP脚本可以通过Nginx服务器配置中的多种方式来实现。以下是其中的一些常见方法,您可以根据实际需求选择合适的方式:1 禁用PHP解析:在Nginx配置中,确保PHP脚本无法被解析,从而禁止PHP执行。location ~ \.php$ {   deny all;}2 限制访问路径:限制只允许......
  • 【黄啊码】PHP如何防止重复提交
    防抖(Debounce)是一种防止重复提交的策略,它通过延迟一定时间来合并连续的操作,以确保只执行一次。以下是几种防抖的实现方法以及对应的代码示例:1.前端JavaScript实现:在前端使用JavaScript实现防抖,可以利用 setTimeout 函数来延迟执行提交操作。function debounce(func, dela......
  • phpcms v9标签合集
    phpcmsv9模板制作常用代码集合1.截取调用标题长度{str_cut($r[title],36,'')}2.格式化时间调用格式化时间2011-05-0611:22:33{date('Y-m-dH:i:s',$r[inputtime])}3.多栏目调用&多推荐位调用调用需求:文章范围为596061三个栏目,并且推送到了27和28两个推荐位;从第三条开始......
  • 基于webman的CMS,企业官网通用PHP后台管理系统
    2023年9月11日10:47:00仓库地址:https://gitee.com/open-php/zx-webman-website还有laravel+scui的版本目前还未开源,电商laravel版本差不多,后续在移植webman算是比较标准的php+vue的项目CMS,企业官网通用PHP后台管理系统Englishdoc框架介绍WebmanSCUI后端开发组件php8.......
  • PHP是一种广泛应用于Web开发的编程语言
    PHP是一种广泛应用于Web开发的编程语言,它具有众多强大的特性和灵活的语法。在本文中,我们将深入探讨PHP的一些具体案例和例子,以帮助您更好地理解并应用它在实际项目中的强大功能。首先,让我们来看一个简单的实例,介绍PHP的核心概念之一:变量。在思密达梦三国PHP中,您可以使用$符号来......
  • 就archlinux系统中apache 无法启动php的原因
    原文连接背景,在archlinux里面想使用apache作为服务器启动php服务,根据ArchWiki 的配置,并不成功检验原因:sudosystemctlstatushttpd结果:systemctlstatusapachesystemd[1]:StartedApacheWebServerhttpd[1444]:httpd:Syntaxerroronline542of/etc/httpd......
  • php实现文件上传下载功能
    文件的上传与下载是项目中必不可少的模块,也是php最基础的模块之一,大多数php框架中都封装了关于上传和下载的功能,不过对于原生的上传下载还是需要了解一下的。基本思路是通过form表单post方式实现文件上传,通过流输出的方式实现文件下载。以下分别讲述实现的具体细节。一、文件的上......