php专区

 首页 > php专区 > PHP应用 > 开放平台 > 微信js的引用 - 微信公众平台开发:微信公众号开

微信js的引用 - 微信公众平台开发:微信公众号开

分享到:
【字体:
导读:
         [导读] public function seach_accurate(){ import ( Class Wechat , APP_PATH ); $weObj = new WeChat (array()); $jsapiTicket =...

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×tamp=$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;
    }


分享到:
微信开发的黑魔法 - 微信公众平台开发:...
1. 内置了 zepto.js (我明天再测试下具体是否为 zepto.js,$ 和 相应的 api 是能用的)---------微信4.5以及之前的版本才是如此,这个版本基本销声匿迹了,不用关注了。2. target="_blank" 不会打开新窗口---------任何一个app的webview都没有这个功能吧?3. ifame 问题待测试---------这又什么问题?4. video 设置 z-inde...
Android微信数据导出 - 微信公众平台开发...
在Nexus 5(Android 4.4)+WeChat 5.4,和Nexus 5(Android 5.0)+Wechat 6.0上测试可用。 获取加密的sqlite3数据库EnMicroMsg.db 如果已经root过,可以下载/data/data/com.tencent.mm/MicroMsg/*/EnMicroMsg.db。 若没有root,则/data/data/com.tencent.mm下多数目录都不可读,可以使用下面的方法: 开启“开发人员选...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……