微信js的引用

public function seach_accurate(){
        import ( ‘Class.Wechat‘, APP_PATH );
        $weObj = new WeChat (array());

        $jsapiTicket = $weObj->getJsApiTicket();
        $protocol = (!empty($_SERVER[‘HTTPS‘]) && $_SERVER[‘HTTPS‘] !== ‘off‘ || $_SERVER[‘SERVER_PORT‘] == 443) ? "https://" : "http://";
        $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        $timestamp = time();
        $nonceStr = $weObj->generateNonceStr();
        // 这里参数的顺序要按照 key 值 ASCII 码升序排序
        $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";
        $signature = sha1($string);
        $signPackage = array(
          "appId"     => C(‘appid‘),
          "nonceStr"  => $nonceStr,
          "timestamp" => $timestamp,
          "signature" => $signature,
          "rawString" => $string
        );
        $this->signPackage=$signPackage;
        $this->display();
    }

以下是获取签名新增的一个函数

/**
     * 获取 ticket
     *
     */
    public function getJsApiTicket(){
        if (!$this->access_token && !$this->checkAuth()) return false;
        $appid=$this->appid;
        $tickname=‘jsapi_ticket‘.$appid;
        if($rs=S($tickname)){
            return $rs;
        }
        $result = $this->http_get(self::API_URL_PREFIX.self::TICKET_GET.‘access_token=‘.$this->access_token.‘&type=jsapi‘);
        if ($result)
        {
            $json = json_decode($result,true);
            if (!$json || !empty($json[‘errcode‘])) {
                $this->errCode = $json[‘errcode‘];
                $this->errMsg = $json[‘errmsg‘];
                return false;
            }
            $expire = $json[‘expires_in‘] ? intval($json[‘expires_in‘])-100 : 3600;
            S($tickname,$json[‘ticket‘],$expire);
            return $json[‘ticket‘];
        }
        return false;
    }
时间: 2024-10-07 06:33:31

微信js的引用的相关文章

微信js sdk分享开发摘记java版

绑定域名和引入js的就不说了 废话不说直接上代码 1 public void share(HttpServletRequest request) throws Exception { 2 3 StringBuffer homeUrl = request.getRequestURL(); 4 String queryString =request.getQueryString(); 5 if(StringUtils.isNotBlank(queryString)){ 6 homeUrl.appen

微信JS SDK配置授权,实现分享接口

微信开放的JS-SDK面向网页开发者提供了基于微信内的网页开发工具包,最直接的好处就是我们可以使用微信分享.扫一扫.卡券.支付等微信特有的能力.7月份的时候,因为这个分享的证书获取问题深深的栽了一坑,后面看到"config:ok"的时候真的算是石头落地,瞬间感觉世界很美好.. 这篇文章是微信开发的很多前置条件,包括了服务端基于JAVA的获取和缓存全局的access_token,获取和缓存全局的jsapi_ticket,以及前端配置授权组件封装,调用分享组件封装. 配置授权思路:首先根据

js的引用顺序

注意:Bootstrap中的JS插件依赖于JQuery,因此JQuery要在Bootstrap之前引用!!! 把JS文件引用放入body的最下面,是为了使js在网页全部加载完后才起作用,比如你的js里面有个alert,如果放在头部会因为弹出窗口等待用户确认而导致整个页面加载受影响.所以,通常做法,样式表通常放在head里而最先加载完毕,而js在body后.

如何在js里引用php变量

如何在js里面引用php的变量 php代码------------------------------------------- js代码------------------------------------------- cheche1984 | 浏览 16259 次  2013-01-15 17:04 2013-01-17 17:47 最佳答案 在js中可以使用<?php ?>来输出你需要引用的变量.例如在你的第一个红色区域替换为 <?php echo $a; ?>在你的第二

微信JS接口

微信JS接口 http://www.cnblogs.com/txw1958/p/weixin-js.html http://www.aspku.com/kaifa/javascript/46574.html http://www.cnblogs.com/txw1958/p/weixin-js-sdk-demo.html 微信官网开发使用说明文档 http://mp.weixin.qq.com/wiki/7/2d301d4b757dedc333b9a9854b457b47.html

微信JS SDK使用权限签名算法

jsapi_ticket 生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据.正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取.由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket . 参考以下文档获取access_token(有效期7200秒,开发者必须在自己的

实战微信JS SDK开发:贺卡制作与播放(1)

前段时间忙于CanTK 2.0的开发,所以博客一直没有更新.CanTK 2.0主要增强了游戏和富媒体的开发,现在编码和测试基本完成了,等文档完成了再正式发布,里面有不少激动人心的功能,等发布时再一一细说吧. 最近同事用CanTK开发了一个基于微信的贺卡制作APP,我虽然没有参与开发,但是提供CanTK和GameBuilder的技术支持,觉得有些东西比较有意思,写几篇博客和大家分享吧.这个贺卡APP完全开源,有需要的朋友可以随意修改和发布. CanTK(Canvas ToolKit)是一个开源的游

微信js sdk上传多张图片

微信js sdk上传多张图片,微信上传多张图片 该案例已tp3.2商城为例 直接上代码: php代码: public function ind(){ $appid="11111111111111111111"; $secret="11111111111111111111"; $token = S('access_token'); if (!$token) { $res = file_get_contents("https://api.weixin.qq.c

微信js获得签名signature

服务器端: 1 获取微信js accessToken 备注:access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token. 开发者需要进行妥善保存.access_token的存储至少要保留512个字符空间. access_token的有效期目前为2个小时,需定时刷新, 重复获取将导致上次获取的access_token失效. 目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值. 中控服务器需要根据这个有效时间提前去