文档章节

THINKPHP 使用自定义标签加载微信jssdk

OLDBIN
 OLDBIN
发布于 2016/12/10 22:05
字数 696
阅读 18
收藏 1
点赞 0
评论 0

开始之前:

请自行在微信公众号平台绑定js安全域名 

PS:每月只可以修改3次!

白俊遥博客

 

1、 把WechatJsSdk.class.php 放置在 根目录ThinkPHP\Library\Vendor\Weixin\

 

weixin 文件夹没有的话手动创建, WechatJsSdk.class.php 文件在文章下面提供下载。

 

2.打开 Common\Conf\config.php文件 

 

添加以下代码:

 

1

'TAGLIB_BUILD_IN'       =>  'Cx,Common\Tag\Weixin',           //加载自定义标签

 

3、在Common文件夹新建 Tag 文件夹

 

4、Tag 文件夹新建PHP 文件 Weixin.class.php 

 

5、Weixin.class.php 代码内容:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

<?php

/**

 @Author: old-bin

 @Date:   2016-12-08 05:01:42

 @Last Modified by:   old-bin

 @Last Modified time: 2016-12-08 06:09:30

 */

namespace Common\Tag;

use Think\Template\TagLib;

 

class Weixin extends TagLib{

 

    protected $tags array(

             

            'wxjsdk'=>array('attr'=>'','close'=>0),

        );

 

 

 

        /**

    * wxjsdk部分

    */

    public function _wxjsdk(){

         

        $appId '*****'// appid

        $AppSecret 'GGGG';//AppSecret

     

         import('Vendor.Weixin.WechatJsSdk'); //引入微信jssdk class

         $jssdk new \JSSDK($appId$AppSecret);

         $signPackage $jssdk->GetSignPackage();

         

        $link=<<<php

        <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>

 

        <script type="text/javascript">

            wx.config({

            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

            appId:  '{$signPackage["appId"]}',

            timestamp:'{$signPackage["timestamp"]}',

            nonceStr:'{$signPackage["nonceStr"]}',

            signature:'{$signPackage["signature"]}',

            jsApiList: [

            'checkJsApi',

        'onMenuShareTimeline',

        'onMenuShareAppMessage',

        'onMenuShareQQ',

        'onMenuShareWeibo',

        'hideMenuItems',

        'showMenuItems',

        'hideAllNonBaseMenuItem',

        'showAllNonBaseMenuItem',

        'translateVoice',

        'startRecord',

        'stopRecord',

        'onRecordEnd',

        'playVoice',

        'pauseVoice',

        'stopVoice',

        'uploadVoice',

        'downloadVoice',

        'chooseImage',

        'previewImage',

        'uploadImage',

        'downloadImage',

        'getNetworkType',

        'openLocation',

        'getLocation',

        'hideOptionMenu',

        'showOptionMenu',

        'closeWindow',

        'scanQRCode',

        'chooseWXPay',

        'openProductSpecificView',

        'addCard',

        'chooseCard',

        'openCard'

            // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

        });

        </script>

php;

        return $link;

    }

 

     

 

}

 

6、然后你就可以随意调用啦~~

 

调用方式:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

<!-- //微信JsSdk -->

<wxjsdk/>

 

<script type="text/javascript">

     

      wx.ready(function () {

        // 分享到朋友圈

       wx.onMenuShareTimeline({

            title: '', // 分享标题

            link: '', // 分享链接

            imgUrl: '', // 分享图标

            success: function () { 

                // 用户确认分享后执行的回调函数

            },

            cancel: function () { 

                // 用户取消分享后执行的回调函数

            }

        });

 

       //分享给好友

       wx.onMenuShareAppMessage({

            title: '', // 分享标题

            desc: '', // 分享描述

            link: '', // 分享链接

            imgUrl: '', // 分享图标

            type: 'link', // 分享类型,music、video或link,不填默认为link

            dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空

            success: function () { 

                // 用户确认分享后执行的回调函数

            },

            cancel: function () { 

                // 用户取消分享后执行的回调函数

            }

        });

  });

     

    </script>

<!-- //微信JsSdk end -->

 

 

调用结果:

白俊遥博客

白俊遥博客

白俊遥博客

白俊遥博客

 

 

附件下载:
WechatJsSdk.class.php 

原文链接:

THINKPHP 使用自定义标签加载微信jssdk

  •  

原文链接:OLD-BIN

 

© 著作权归作者所有

共有 人打赏支持
OLDBIN
粉丝 0
博文 2
码字总数 1087
作品 0
梅州
PHP学习路线图 最全PHP自学指南

对于广大零基础的PHP自学者,往往不知道如何系统的学习PHP,导致平白浪费了很多时间。本文将为大家带来最详细的php学习路线图,同时还会附上相应的权威教程,让广大PHP自学者少走许多弯路。 ...

W3Cschool小编
04/24
0
0
用thinkphp进行微信开发的整体设计思考

用thinkphp进行微信开发的整体设计思考 http://www.2cto.com/weixin/201504/388423.html 2015-04-09 0 个评论 作者:明之暗夜 收藏 我要投稿 因为项目中很多地方都涉及到微信接口的调用 比如...

thinkyoung
2015/09/25
0
0
ThinkPHP 查询数据 select(findAll) 方法

ThinkPHP 查询数据 ThinkPHP 查询数据主要提供以下几类查询: select:普通查询,同 findAll() 方法 find:取得符合查询条件的一条记录 getBy动态查询:根据某个字段取得符合查询条件的一条记...

WangEven
2012/05/10
0
0
适合PHP新手入门上手的开发框架-thinkphp

ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想...

big_cat
2013/06/15
0
0
ThinkPHP: URL不区分大小写

ThinkPHP 要实现URL全部小写,需要修改配置:/ThinkPHP/Conf/convention.php的参数: URLCASEINSENSITIVE=true 注意如果发现不生效,请检查一下是否开启了debug模式,如果有开启,ThinkPHP默...

swingcoder
06/11
0
0
ThinkPHP: session_save_path与systemd冲突错误!

thinkphp v3.2.3 在文件./thinkphp3.2.3full/ThinkPHP/Common/functions.php中,原来的代码: 应当修改一下:系统使用了systemd,在访问时出现会话文件找不到的错误!!! 修改的目的是让php...

自由男爵
2015/03/26
0
0
新手指导Thinkphp开发指南

小编于昨日参加朋友婚礼,浑身喜气洋洋。今天给用户带来的是关于thinkphp开发指南的纯技术性的文档,本文档目的很简单: 1、 帮助开发人员掌握thinkphp入门 2、 快速利用thinkphp进行项目开发...

汤圆
2012/12/25
0
1
Thinkphp怎样修改模板标签定界符

大家都知道在thinkphp里面,我们是通过在控制器里面给模板分配变量,然后在模板里面通过标签的方式来获取变量,假设有一个变量为$name,那么我们在模板里面就应该是通过 {$name}的方式来获取...

汤圆
2012/12/21
0
0
php开发笔记-windows-linux-thinkphp开发环境搭建

文章来自我的博客:https://www.lwxshow.com/dev/php/thinkphp-configuration-environment.html 使用最新版本的3.1.3版本 php开发笔记-windows-thinkphp开发环境搭建 1.下载ThinkPHP框架 http...

卢卫湘
2013/06/09
0
0
thinkphp系统常量与自定义常量

thinkphp系统常量与自定义常量 时间 2014-03-03 13:41:14 CSDN博客 原文 http://blog.csdn.net/wuji_1/article/details/20367675 主题 ThinkPHP ----------------------------------------A......

thinkyoung
2015/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python以太坊类库web3.py概览

python通过web3.py库与以太坊交互共同入口是web3对象。web3对象提供API接口,python开发应用与以太坊进行交互如钱包创建、支付、转账等连接JSON-RPC服务器进行。 Providers提供者 Providers使...

智能合约
5分钟前
0
0
【Android学习笔记】设置App启动页

先将启动页放到项目资源中,图片一般是1080*1920的jpg。 新建一个activity,如图: 创建成功之后,打开刚刚创建的activity,来进行代码的编写: >>>阅读全文

全部原谅
7分钟前
0
0
什么是React-redux、为什么使用React-redux、怎么使用React-redux

1、什么是React-redux React-redux是用于连接React和Redux的 2、为什么使用React-redux 使用React-redux可以使redux部分代码更简洁更明了,比如组建中需要使用到的数据都在mapStateToProps方...

kimyeongnam
9分钟前
0
0
Spring核心——Stereotype组件与Bean扫描

在注解自动装载中介绍了通过注解(Annotation)自动向Bean中注入其他Bean的方法,本篇将介绍通过注解(Annotation)向容器添加Bean的方法。 Spring的核心容器提供了@Component和@Bean注解来标...

随风溜达的向日葵
9分钟前
0
0
利用世界杯,读懂 Python 装饰器

Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性, 熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic。 今天就结合最近的世界杯带大家理解下装饰器。...

猫咪编程
13分钟前
0
0
flink fold example

flink fold例子 import org.apache.flink.api.common.functions.*;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.S......

coord
14分钟前
0
0
c++ qt 组播总结

每个人都有不同的认知规律和习惯, 有的人喜欢搞一套严密的大理论, 论述起来滔滔不绝, 不管自己懂不懂, 反正读者/听者是没搞懂。 有的人喜欢从实践出发, 没看到代码, 不运行一下, 不看...

backtrackx
18分钟前
0
0
Sublime text2安装json格式化插件SublimePrettyJson[Windows]

一、下载SublimePrettyJson插件包 https://github.com/dzhibas/SublimePrettyJson 二、将下载的文件解压放到在package目录下面 C:\Users\lucky\AppData\Roaming\Sublime Text 3\Packages 每个......

lazy~
18分钟前
0
0
安装vue-cli 报4058错误

1. 4058是网络代理错误。 安装淘宝源修改一下就可以了: npm --registry https://registry.npm.taobao.org info underscore 改为cnpm执行: cnpm install --global vue-cli 安装成功: 试试版...

MrBoyce
20分钟前
0
0
CPU飙升分析

1、top -----看具体的进程 2、top -H -p pid ------该进程的线程 3、printf 0x%x 15248 ------将线程改为16进制 4、jstack 进程...

北极之北
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部