精华内容
下载资源
问答
  • // 关注/取消关注事件消息 // 微信公众账号关注与取消关注事件消息 // define("TOKEN", "zhouqi"); $wechatObj = new wechatCallbackapiTest(); if (!isset($_GET['echostr'])) { $wechatObj->responseMsg(); }...
    <?php
    //
    // 关注/取消关注事件消息
    // 微信公众账号关注与取消关注事件消息
    //
    
    define("TOKEN", "zhouqi");
    
    $wechatObj = new wechatCallbackapiTest();
    if (!isset($_GET['echostr'])) {
        $wechatObj->responseMsg();
    }else{
        $wechatObj->valid();
    }
    
    class wechatCallbackapiTest
    {
        public function valid()
        {
            $echoStr = $_GET["echostr"];
            if($this->checkSignature()){
                echo $echoStr;
                exit;
            }
        }
    
        private function checkSignature()
        {
            $signature = $_GET["signature"];
            $timestamp = $_GET["timestamp"];
            $nonce = $_GET["nonce"];
            $token = TOKEN;
            $tmpArr = array($token, $timestamp, $nonce);
            sort($tmpArr);
            $tmpStr = implode($tmpArr);
            $tmpStr = sha1($tmpStr);
    
            if($tmpStr == $signature){
                return true;
            }else{
                return false;
            }
        }
    
        public function responseMsg()
        {
            $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
            if (!empty($postStr)){
                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $RX_TYPE = trim($postObj->MsgType);
    
                switch ($RX_TYPE)
                {
                    case "event":
                        $result = $this->receiveEvent($postObj);
                        break;
                }
                echo $result;
            }else {
                echo "";
                exit;
            }
        }
    
        private function receiveEvent($object)
        {
            $content = "";
            switch ($object->Event)
            {
                case "subscribe":   //关注事件
                    $content = "欢迎关注周起,么么哒(づ ̄ 3 ̄)づ";
                    break;
                case "unsubscribe": //取消关注事件
                    $content = "";
                    break;
            }
            $result = $this->transmitText($object, $content);
            return $result;
        }
    
        private function transmitText($object, $content)
        {
            $textTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[%s]]></Content>
    </xml>";
            $result = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content);
            return $result;
        }
    }
    ?>
    展开全文
  • vue实现关注与取消关注的按钮

    千次阅读 2019-08-30 15:33:07
    先上效果图: ...关注后: 鼠标悬浮: template部分: <template> <div> <button @click="favor" class="my_button" :style="{backgroundColor:bg_color, color: ft_color,}" ...

    先上效果图:
    关注前:
    在这里插入图片描述
    关注后:
    在这里插入图片描述
    鼠标悬浮:
    在这里插入图片描述
    template部分:

    <template>
        <div>
          <button   @click="favor"
                   class="my_button" :style="{backgroundColor:bg_color, color: ft_color,}"
                   @mouseenter="change()" @mouseleave="goback()">
            {{content}}
          </button>
        </div>
    </template>
    

    script部分:

    <script>
        export default {
            name: "zan",
            data () {
                return{
                    liked:false,
                    content:'+关注',
                    bg_color:"#fef0f0",
                    ft_color:"#f56c6c",
                }
            },
            methods:{
                favor (e) {
                    this.liked=!this.liked;
                    if(this.liked){
                        this.content="已关注";
                        this.bg_color="#f56c6c";
                        this.ft_color="#fef0f0";
                    }
    
                    else{
                        this.content="+关注"
                        this.bg_color="#fef0f0";
                        this.ft_color="#f56c6c";
    
                    }
                },
                change(){
                    this.bg_color="#ff9999";
                    this.ft_color="#fef0f0";
                },
                goback(){
                    if(this.liked){
                        this.bg_color="#f56c6c";
                        this.ft_color="#fef0f0";
                    }
                    else{
                        this.bg_color="#fef0f0";
                        this.ft_color="#f56c6c";
                    }
                }
            }
        }
    </script>
    

    style部分:

    <style >
    
      button{
        outline:none;
      }
    
      .my_button{
        color: #f56c6c;
        background: #fef0f0;
        border: #fbc4c4 solid;
        border-radius: 20px;
        padding: 12px 23px;
        text-align: center;
        font-size: 16px;
        -webkit-transform: scale(0.7);
      }
    
    </style>
    

    分析:
    1.总的来说,就是一个class(my_button),三个绑定事件(favor,change,goback),四个全局变量(liked, content,bg_color,ft_color)。主要分析3个绑定事件是如何修改4个全局变量的。

    2.my_button用于设定关注按钮的初始样式,参考的是el-button,没什么可分析的。

    3.liked变量,记录是否关注,取假表示未关注,取真表示已关注;content变量记录按钮的内容;bg_color按钮背景色,ft_color字体颜色。

    4.favor函数:绑定click事件,鼠标点击后修改liked的值,即修改是否点赞的状态;如果liked取真,则修改content为已关注,修改bg_color为#fef0f0,修改ft_color为#f56c6c;如果liked取假,修改bg_color为#f56c6c,修改ft_color为#fef0f0,修改content为+关注

    展开全文
  • 抖音sdk接口API调用-关注与取消关注抖音号 /** * @author wechat:happybabby110 * @blog http://www.wlkankan.cn * 关注抖音号 */ @Async public void handleMsg(ChannelHandlerContext ctx,TransportMessage vo...

    抖音sdk接口API调用-关注与取消关注抖音号

    /**
     * @author wechat:happybabby110
     * @blog http://www.wlkankan.cn
     * 关注抖音号
     */
    @Async
    public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
        try {
            log.debug(contentJsonStr);
            FollowTaskMessage.Builder bd = FollowTaskMessage.newBuilder();
            JsonFormat.parser().merge(contentJsonStr, bd);
            FollowTaskMessage req = bd.build();
            //将消息转发送给手机客户端
            asyncTaskService.msgSend2Phone(ctx, req.getImUid(), EnumMsgType.FollowTask, vo, req);
        } catch (Exception e) {
            e.printStackTrace();
            MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
        }
    }
    
    /**
     * 取消关注抖音号
     * @author wechat:happybabby110
     * @blog http://www.wlkankan.cn
     */
    @Async
    public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
        try {
            log.debug(contentJsonStr);
            UnFollowTaskMessage.Builder bd = UnFollowTaskMessage.newBuilder();
            JsonFormat.parser().merge(contentJsonStr, bd);
            UnFollowTaskMessage req = bd.build();
            //将消息转发送给手机客户端
            asyncTaskService.msgSend2Phone(ctx, req.getImUid(), EnumMsgType.UnFollowTask, vo, req);
        } catch (Exception e) {
            e.printStackTrace();
            MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
        }
    }
    展开全文
  • 目录  1. 使用.net 操作 微信公众平台 —— 接入  2....  3.... 3.1 使用.net 操作 微信公众平台 —— 接收用户操作 —— 详细... 3.1.1 使用.net 操作 微信公众平台 —— 接收用户操作 —— 关注/取消关注 公众...

    目录

      1. 使用.net 操作 微信公众平台 —— 接入

      2. 使用.net 操作 微信公众平台 —— 生成微信菜单

      3. 使用.net 操作 微信公众平台 —— 接收并回复用户消息

        3.1 使用.net 操作 微信公众平台 —— 接收用户操作 —— 详细解析

            3.1.1 使用.net 操作 微信公众平台 —— 接收用户操作 —— 关注/取消关注 公众号

            3.1.2 使用.net 操作 微信公众平台 —— 接收用户操作 —— 接收用户发送的消息

        3.2 使用.net 操作 微信公众平台 —— 回复用户消息

            3.2.1 使用.net 操作 微信公众平台 —— 回复用户消息 —— 回复文本消息

            3.2.2 使用.net 操作 微信公众平台 —— 回复用户消息 —— 回复图片消息

            3.2.3 使用.net 操作 微信公众平台 —— 回复用户消息 —— 回复图文消息

      4. 使用.net 操作 微信公众平台 —— 第三方登录​​​​​​​


    关注公众号

    1. 接收到的xml

    <xml>
      <ToUserName><![CDATA[gh_8f9d464d2……]]></ToUserName>
      <FromUserName><![CDATA[ouHTz1LfufLC5Idj5nUWh4CD8……]]></FromUserName>
      <CreateTime>1540008097</CreateTime>
      <MsgType><![CDATA[event]]></MsgType>
      <Event><![CDATA[subscribe]]></Event>
    </xml>
    参数 解释
    ToUserName 开发者微信号
    FromUserName 发送方帐号(操作者的openId)
    CreateTime 消息创建时间 (整型)
    MsgType 类型(event:事件)
    Event 事件名称(subscribe:关注公众号)

    2. 代码

    /// <summary>
    /// 消息类型适配器
    /// </summary>
    /// <param name=""></param>
    private void ResponseMsg(ExmlMsg xmlMsg)
    {
        string messageType = xmlMsg.MsgType;//获取收到的消息类型。文本(text),图片(image),语音等。
    
        try
        {
            switch (messageType)
            {
                case "event":
                    // 关注公众号
                    if (!string.IsNullOrEmpty(xmlMsg.EventName) && xmlMsg.EventName.Trim() == "subscribe")
                    {
                        // 关注公众号 操作
                    }
                    break;
                default:
                    break;
            }
        }
        catch (Exception)
        {
        }
    }

    取消关注公众号

    1. 接收到的xml

    <xml>
      <ToUserName><![CDATA[gh_8f9d464d2……]]></ToUserName>
      <FromUserName><![CDATA[ouHTz1LfufLC5Idj5nUWh4CD8……]]></FromUserName>
      <CreateTime>1540008088</CreateTime>
      <MsgType><![CDATA[event]]></MsgType>
      <Event><![CDATA[unsubscribe]]></Event>
    </xml>
    参数 解释
    ToUserName 开发者微信号
    FromUserName 发送方帐号(操作者的openId)
    CreateTime 消息创建时间 (整型)
    MsgType 类型(event:事件)
    Event 事件名称(unsubscribe:取消关注公众号)

    2. 代码

    /// <summary>
    /// 消息类型适配器
    /// </summary>
    /// <param name=""></param>
    private void ResponseMsg(ExmlMsg xmlMsg)
    {
        string messageType = xmlMsg.MsgType;//获取收到的消息类型。文本(text),图片(image),语音等。
    
        try
        {
            switch (messageType)
            {
                case "event":
                    // 取消关注公众号
                    if (!string.IsNullOrEmpty(xmlMsg.EventName) && xmlMsg.EventName.Trim() == "unsubscribe")
                    {
                        // 取消关注公众号 操作
                    }
                    break;
                default:
                    break;
            }
        }
        catch (Exception)
        {
        }
    }

     

    展开全文
  • 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL。 微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。 假如服务器无法保证在五秒内处理并回复,可以直接回复空串,...
  • 10万+IT人都在关注,史上最全面的微信公众号开发系列教程:基于Springboot开发公众号关注/取消关注事件 前言: 关于监听公众号用户关注和取消关注的消息事件,微信官方文档给出的参考内容寥寥无几,具体如何配置...
  • ajax实现关注/取消关注

    千次阅读 2017-03-05 13:03:12
    具体查看: 前台 后台
  • 微信 关注/取消关注事件

    千次阅读 2016-10-13 08:39:13
    $contentStr = "感谢您关注【微卖】"."\n"."我们为您提供全国各地的生活指南,做最好的外卖微信平台。"."\n"."目前平台功能如下:"."\n"."【1】 查天气,如输入:本地天气"."\n"."【2】 查公交,如输入:本地公交...
  • Bilibili批量取消关注

    千次阅读 2020-11-25 18:35:38
    电脑浏览器打开个人关注页面 按F12打开 开发者工具 的控制台 输入以下命令并运行 可以把当前页的关注全部取消 $(".fans-action .be-...if(element.textContent == "\n 取消关注\n "){ element.click() } }) ...
  • 微信是一款聊天工具软件,现在很流行。但有时,我们会想要取消关注一些人的微信,那么具体如何取消关注呢?下面就一步步告诉大家如何取消关注。 工具/原料 一款智能手机
  • <ToUserName><![CDATA[toUser]]> <FromUserName><![CDATA[FromUser]]> <CreateTime>123456789 ... //这里做取消关注后的处理 } } catch (Exception e) { e.printStackTrace(); } return null; }
  • 微信开发三之关注/取消关注事件

    千次阅读 2017-01-23 22:37:57
    1、关注事件 $msgType = $postObj->MsgType; switch ($msgType){ case "event": $e=$postObj->Event; switch ($e){ case "subscribe": $contentStr = "欢迎关注关注事件"; ...
  • java 微信接入 关注和取消关注

    千次阅读 2017-03-04 15:31:01
    //接受微信的推送(关注和取消关注等) try { //解析微信返回的xml Map, String> map = parseXml(request); //测试查看返回的消息 System.out.println(map.size()); for (String key : map....
  • 关注/取消关注事件 扫描带参数二维码事件 阅读本文之前请先认真阅读微信公众号技术文档之接受事件推送 需注意的是:验证消息的确来自微信服务器和接收事件时微信服务器都会发送请求到填写的服务器地址URL上,也就是...
  • '已关注' : '关注' } } < / button > < / view > data : { title : [ { user_id : "0" , likes : "1" } , { user_id : "1" , likes : "1" } , { user_id : "2" , likes :...
  • 怎样取消关注别人的csdn博客

    千次阅读 2018-04-11 20:22:38
    今天不小心点错 关注了一个人的博客 可是怎么取消关注呢找了半天 终于找到解决办法0x01: 来到个人主页 (地址就是https://blog.csdn.net/用户名) 接着将鼠标指针移动到头像上边 选择账号设置 来到下图界面0x02: ...
  • 前端时间在看Android各个客户端上比较出色...首先让我们看知乎的关注按钮点击效果,关注按钮点击会有一层遮挡,从你点击的位置慢慢扩散开来,然后变成被点击状态,感觉非常赞。这篇文章从以下几个方面讨论这个效果。
  • 1、关注/取消关注 2、菜单点击 事件类型介绍: 在微信中有事件请求是消息请求中的一种。请求类型为:event 而event事件类型又分多种事件类型,具体分 关注:subscribe 取消关注:unsubscribe 自定义菜单点击...
  • 批量取消关注和删除微博

    千次阅读 2020-02-07 23:01:23
    批量取消关注:https://blog.csdn.net/xcb425/article/details/90464629 /* 点击批量管理 */ $(".btn_link.S_txt1").click(); /* 勾选全部 */ $$('.member_li').forEach(l => l.click()); /* 点击取消关注 */ $...
  • 如何在新浪微博中批量取消关注

    万次阅读 2016-09-04 23:46:53
    一、背景如果不想看这烦人的背景介绍,直接跳到最后看”解决步骤“(sorry,不会页内跳转,求教)。本篇文章在《Android网络编程TCP、UDP(一)》开始不久就写好了。...在“关注”的“未分组”中发现了
  • 取消关注事件是指用户不再关注公众号, 这里微信也会发送事件消息到你填写的网址上。 这样你就可以进行相应的业务处理, 比如把用户的状态设置为不关注, 但是这里你不能再给这个用户...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 110,721
精华内容 44,288
关键字:

关注后取消关注