微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架

因为工作的需要,这一两年对微信公众号和小程序,项目制作的比较多。所以我才打算写一篇全面的制作教程,当然了,最好的教程是微信工作平台的文档。我这里只是讲述一下我的工作中的制作流程。所有相关文章的源码,我托管在我自己的github上面,欢迎关注:地址点击打开链接。接下来开始我们的教程。这一节我们讲述素材上传。

1.上传临时素材:

当在对用户进行消息回复或者进行消息的推送时基本上都需要使用到素材。微信将素材进行类型的划分例如、图片、语言、视频、图文。同时也对素材进行了临时跟永久的区分。临时素材只能保持三天。永久素材可以长期保存但是有使用的上限

微信文档如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第1张图片

代码如下:

namespace app\home\controller;
use think\ Controller;
require_once( 'function.php');
class File extends Controller{
public $accessToken = "";
public function __construct()
{
parent :: __construct();
$this ->accessToken = get_access_token();
}
public function lsupload()
{
$url = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=" . $this ->accessToken . "&type=image";
$file = dirname( THINK_PATH) . '/1.jpg';
$data = array(
"media" =>new \CurlFile($file)
);
$res = http_curl($url,$data, 'post');
dump($res);
}


}

上述并没有继承公共控制器,是为了不走网页授权:

结果如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第2张图片

2.上传视频素材:

代码如下:

public function addVideo()
{
    $url = 'https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=' . $this ->accessToken . '&type=video';
    $file = dirname( THINK_PATH) . '/1.mp4';

$data = array(
'media' =>new \CurlFile($file),
'description' => '{"title":"高清大片","introduction":"PHP与Java对比"}'
);
$res = http_curl($url,$data, 'post');
dump($res);
}

结果如下:


3.上传永久素材:

大家可以看看微信开发者文档的

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第3张图片

上传的方式都是大同小异的。我们可以把上传的永久素材返回的地址保存在数据库,这样就可以频繁使用了。


4.消息群发:

4.1创建标签:

文档如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第4张图片

代码如下:

// 创建标签
public function createTag()
{
    $url = 'https://api.weixin.qq.com/cgi-bin/tags/create?access_token=' . $this ->accessToken;
    $data = '{"tag" : {"name" : "中国好声音"}}';
    $res = http_curl($url,$data, 'post');
     dump($res);
}

结果如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第5张图片

4.2查看已有标签

文档如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第6张图片

代码如下:

// 查看已有标签
public function getTag()
{
    $url = 'https://api.weixin.qq.com/cgi-bin/tags/get?access_token=' . $this ->accessToken;
    $res = http_curl($url);
     dump($res);
}

结果如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第7张图片

4.3批量为用户设置标签:

文档如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第8张图片

代码如下:

//设置标签
public function setTag()
{
    $url = 'https://api.weixin.qq.com/cgi-bin/tags/members/batchtagging?access_token=' . $this ->accessToken;
    $data = '{"openid_list" : ["oOnXGwpc7_8My4YLpDkTnbSFdrak","oOnXGwsELMp54MG3Vl0abY4aLluk" ], "tagid" : 100 }';
    $res = http_curl($url,$data, 'post');
     dump($res);
}
使用上述创建的标签id和关注者的openid

结果如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第9张图片

4.4按照标签给用户群发消息:

微信模板:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第10张图片

代码如下:

// 按照标签给用户群发消息
public function send()
{
    $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=' . $this ->accessToken;
     // 根据要发送的消息的类型判断拼接不同的json格式数据
    $data = '{
         "filter":{
         "is_to_all":false,
         "tag_id":100
         },
         "text":{
         "content":"根据要发送的消息的类型判断拼接不同的json格式数据"
         },
         "msgtype":"text"
        }';
        $res = http_curl($url,$data, 'post');
     dump($res);
}

结果如下:

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第11张图片

微信公众号开发完整教程(五) PHP7.0版本,TP5.0框架_第12张图片

微信公众号的开发,对微信开发者文档的阅读是最主要的。目前暂时先写到这里,后续慢慢在分享一些不错的制作案例.........

你可能感兴趣的:(微信公众号和小程序)