2018-04-16 13:25:53 zmd9999 阅读数 345
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27832 人正在学习 去看看 秦子恒
在微信公众平台|小程序中下载微信开发者工具
  1. 申请微信公众号,进入微信公众平台|小程序 首页


  1. 点击 “文档”进入微信小程序介绍的界面

  1. 在微信小程序界面的菜单中 选中“开发”,点击“小程序开发”

弹出:

  1. 选中 “工具”,点击链接字 “微信开发者工具”,



  1. 点击链接字 “微信开发者工具”,进入下载界面,根据自己电脑下载不同的版本。

  1. 选中即可下载完成。


2014-06-18 15:52:15 wkrjwlt 阅读数 17550
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27832 人正在学习 去看看 秦子恒

这个功能和微信提供的接口无关,只牵扯到微信的图文消息的另一种应用。

1、登录进入需要被关注的微信公众号,进入管理-》素材管理,新增一条单图文消息,标题为点击下方链接关注XXX,图片可以是一张白色的图片,正文可以是此微信公众号的一些简介。

2、保存后回到图文消息列表,打开刚才保存的图文消息,复制打开窗口的URL地址,这个地址就是在微信上点击以后跳转到图文消息,在图文消息第二行有一行蓝色字,点击就会弹出关注提示

2019-01-04 18:54:33 weixin_44375001 阅读数 378
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27832 人正在学习 去看看 秦子恒

需求概述

相信做微信推广的朋友一定都遇到过这种情况的,当用户在微信中点击推广连接下载apk时会没有反映的,这是因为在微信内是无法下载软件、手机APP等其他软件的,微信系统会自动屏蔽含apk包的外链。那么这个时候一般的解决方案就是跳转到手机浏览器打开推广链接,这个要怎么做呢?

下面为大家实现,在微信中点击链接直接跳转手机默认浏览器的需求。

操作步骤

大象跳转是基于微信后端接口开发的一款微信助手,使用了本插件生成的链接,用户在微信任意环境下点击链接或者扫描二维码,可以实现直接跳转手机默认浏览器并打开指定网页。

1、打开 大象跳转 网址:http://www.go51w.cn

2、准备好你的推广链接,实例如“http://t.cn/EzSfapi ”。在输入框填写你的下载链接,填写完毕后点击生成按钮。

3、点击生成之后,就会看到底部生成了自己的推广二维码和新的短链接地址。

4、至此,我们已经生成了APP推广链接的宣传二维码和链接。 我们就可以直接用微信扫描二维码在微信中分享和宣传引流了。这样我们能够极大的提高自己的APP在微信中的推广转化率。解决掉了微信中下载链接被屏蔽等问题。充分利用微信的用户群体来宣传引流。

2017-08-02 11:27:35 wang544831183 阅读数 179
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27832 人正在学习 去看看 秦子恒
1、微信介绍
    1、网址:weixin.qq.com
    2、点击公众平台,注册一个账号
    3、功能模块介绍
    4、工作原理:微信客户端<==>微信服务器<==>个人服务器
2、微信开发
    1、开发->基本配置:配置自己的服务器
    2、看手册要从百度搜索,然后点击链接(不是直接点击页面的链接)
    3、创建虚拟主机并将域名解析过去
        lnmp vhost add    创建虚拟主机,一步一步按照提示完成
        域名解析:添加一条A记录,写上对于的二级域名及服务器地址
    4、推荐工具:putty/xshell、sublime(sftp插件)
    5、数据格式
        xml:可扩展标记语言,类似于JSON
        数据:<![CDATA[数据]]>
    6、获取数据
        //PHP7+
        $data = file_get_contents('php://input');
        //PHP7-
        $data = $GLOBALS["HTTP_RAW_POST_DATA"];
    7、token
        其实就是一种非常简单的身份认证方式

<?php

include '01-MyCurl.php';

define('TOKEN_CACHE','token.txt');
define('APPID', 'wx9b88259ade3109e5');
define('APPSECRET', 'cc23be7a0e34fcca1d4df9f9d5726f9e');

$wx = new Wechat();

//身份认证只需一次即可
//$wx->valid();

//自动回复消息
$wx->responseMsg();

//$wx->getToken(APPID,APPSECRET);

//$wx->erjiMenu();

class Wechat
{
    public function erjiMenu()
    {
        $data['button'] = [];
        $data['button'][] = [
                                'name'    =>    '资源',
                                'sub_button'    => [
                                    [
                                        'type'    =>    'click',
                                        'name'    =>     '亚洲',
                                        'key'    =>    'yazhou'
                                    ],
                                    [
                                        'type'    =>    'click',
                                        'name'    =>     '日韩',
                                        'key'    =>    'rihan'
                                    ],
                                    [
                                        'type'    =>    'click',
                                        'name'    =>     '欧美',
                                        'key'    =>    'oumei'
                                    ]
                                ]
                            ];
        $data['button'][] = [
                                'type'     =>    'view',
                                'name'    =>    '百度一下',
                                'url'    =>    'https://www.baidu.com'
                            ];
        $data['button'][] = [
                                'type'     =>    'scancode_push',
                                'name'    =>    '扫一扫',
                                'key'    =>    'scan'
                            ];
        $jsonData = json_encode($data,JSON_UNESCAPED_UNICODE);
        $token = $this->getToken(APPID,APPSECRET);
        $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$token;
        $result = MyCurl::post($url,$jsonData);
        echo $result;
    }

    public function easyMenu()
    {
        $data['button'] = [];
        $data['button'][] = [
                                'type'     =>    'click',
                                'name'    =>    '资源',
                                'key'    =>    '亚洲'
                            ];
        $data['button'][] = [
                                'type'     =>    'view',
                                'name'    =>    '百度一下',
                                'url'    =>    'https://www.baidu.com'
                            ];
        $data['button'][] = [
                                'type'     =>    'scancode_push',
                                'name'    =>    '扫一扫',
                                'key'    =>    'scan'
                            ];
        $jsonData = json_encode($data,JSON_UNESCAPED_UNICODE);
        $token = $this->getToken(APPID,APPSECRET);
        $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$token;
        $result = MyCurl::post($url,$jsonData);
        echo $result;       
    }

    //当维护多个公众号时需要区分是哪一个
    protected function getToken($id,$secret)
    {
        //判断是否已经缓存
        if (file_exists(TOKEN_CACHE)) {
            $jsonData = file_get_contents(TOKEN_CACHE);
            $data = json_decode($jsonData,true);
            //判断是否过期
            if (filectime(TOKEN_CACHE)+ $data['expires_in']> time()) {
                return $data['access_token'];
            }
            unlink(TOKEN_CACHE);
        }
        $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$id.'&secret='.$secret;
        $data = MyCurl::get($url);
        file_put_contents(TOKEN_CACHE, $data);
        $data = json_decode($data,true);

        return $data['access_token'];
    }

    public function responseMsg()
    {
        //获取数据
        if (PHP_VERSION >= 7) {
            $data = file_get_contents('php://input');
        } else {
            $data = $GLOBALS["HTTP_RAW_POST_DATA"];
        }
        //保存数据,用于测试
        //file_put_contents('test.txt', $data);
        //解析XML数据
        $xml = simplexml_load_string($data);
        $msg = '<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[text]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                </xml>';

        if ($xml->MsgType == 'event') {
            if ($xml->Event == 'CLICK') {
                switch ($xml->EventKey) {
                    case 'yazhou':
                        $content = 'www.yazhou.com';
                        break;
                    case 'rihan':
                        $content = 'www.rihan.com';
                        break;
                    case 'oumei':
                        $content = 'www.oumei.com';
                        break;
                    default:
                        $content = 'www.baidu.com';
                        break;
                }
            }
        } else if ($xml->MsgType == 'text') {
            if (mb_stristr($xml->Content,'坤哥')) {
                $content = '一路走好@_@...';
            } else if (mb_stristr($xml->Content,'浩哥')) {
                $content = '帅是困扰哥多年的问题';
            } else if (mb_stristr($xml->Content,'马哥')) {
                $content = '胖是一种生活态度';
            } else {
                $content = '哥们,你好无聊啊!';
            }
        } else {
            $content = '兄弟,平台不稳定,正在测试,请勿乱点';
        }
        $msg = sprintf($msg,$xml->FromUserName,$xml->ToUserName,time(),$content);
        echo $msg;
    }

    public function valid()
    {
        if ($this->checkSignature()) {
            $echostr = $_GET['echostr'];
            echo $echostr;
        }
        exit;
    }

    protected function checkSignature()
    {
        //获取GET参数
        $signature = $_GET['signature'];
        $timestamp = $_GET['timestamp'];
        $nonce = $_GET['nonce'];
        $token = 'JerryCoding';
        //校验有效性
        $arr = [$nonce,$timestamp,$token];
        sort($arr, SORT_STRING);
        //拼接成字符串
        $str = join($arr);
        //sha1加密
        $str = sha1($str);
        //判断有效性
        if ($str == $signature) {
            return true;
        }
        return false;
    }
}


    8、CURL
        说明:是一套模拟URL请求的工具,简单理解为PHP版本的AJAX
        使用:
            curl_init:初始化CURL会话
            curl_setopt:设置会话参数
            curl_exec:执行本次会话
            curl_close:关闭会话

<?php

class MyCurl
{
    public static function get($url)
    {
        //初始化会话
        $ch = curl_init();

        //设置会话参数
        //设置URL
        curl_setopt($ch, CURLOPT_URL, $url);
        //是否返回原生数据,true:返回数据,false:直接输出
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        //是否显示请求头信息
        curl_setopt($ch, CURLOPT_HEADER, true);
        //主机认证:CURLOPT_SSL_VERIFYHOST
        //身份认证:CURLOPT_SSL_VERIFYPEER
        //是否是POST请求:CURLOPT_POST
        //执行会话
        $result = curl_exec($ch);
        //关闭会话
        curl_close($ch);
        return $result;
    }

    public static function post($url,$data)
    {
        //初始化会话
        $ch = curl_init();

        //设置会话参数
        //设置URL
        curl_setopt($ch, CURLOPT_URL, $url);
        //是否返回原生数据,true:返回数据,false:直接输出
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        //是否显示请求头信息
        curl_setopt($ch, CURLOPT_HEADER, true);
        //主机认证:
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        //身份认证
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        //是否是POST请求
        curl_setopt($ch, CURLOPT_POST, true);
        //设置POST请求数据
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

        //执行会话
        $result = curl_exec($ch);
        //关闭会话
        curl_close($ch);

        return $result;
    }
}




2016-01-06 18:27:15 ILV_XJ 阅读数 1340
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27832 人正在学习 去看看 秦子恒

今天做了一个微信公众号的开发,要求点击其中一个菜单的时候切换到另一个菜单页面,在第二个菜单页面中有四个div包含的<a>标签超链接,点击每一个菜单选项的时候,弹出的内容是在后台配置的页面,配置页面如下:

 

现在要求:点击其中一个菜单列表的时候,跳转的是第三方的网址。

开始我想的是在jsp页面取得每一个选项的id,然后根据id去判断,来做到这样的功能。

最后我得到了一个特别简单的办法:直接在配置的页面使用JavaScript完成超链接的跳转

<script language="javascript"> 
 window.location.href=document.getElementById("id命名随你").href;
</script>
此处的id就是<a id="id命名随你"></a>
注意:在此处<a></a>之间不要添加任何字段,否则功能将不完善。
以上心得,希望能帮助到需要的人...

 

 

 

没有更多推荐了,返回首页