微信jssdk配置

获取微信jsapi_ticket票据

public function getJsApiTicket(){
    if($_SESSION['jsapi_ticket_expire_time']>time() && $_SESSION['jsapi_ticket']){
        $jsapi_ticket = $_SESSION['jsapi_ticket'];
    }else{
        $access_token = $this->get_access_token();
        $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=$access_token&type=jsapi";
        $res=$this->http_curl($url);
        $jsapi_ticket = $res['ticket'];
        $_SESSION['jsapi_ticket'] = $jsapi_ticket;
        $_SESSION['jsapi_ticket_expire_time'] = time()+7000;
    }
    return $jsapi_ticket;
}


获取随机码生成$noncestr

public function getRandCode($num=16){
    $array= array(
        'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
        'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
        '0','1','2','3','4','5','6','7','8','9'
    );
    $tmpstr = '';
    $max = count($array);
    for($i=1;$i<=$num;$i++){
        $key = rand(0,$max-1);
        $tmpstr .= $array[$key];
    }
    return $tmpstr;
}


生成jssdk配置项返回给前台

public function getWxConfig_(){
    $url= I('url');
    $jsapi_ticket = $this->getJsApiTicket();
    $appid = C('AppId');
    $timestamp = time();
    $noncestr = $this->getRandCode();
    $signature = "jsapi_ticket=$jsapi_ticket&noncestr=$noncestr&timestamp=$timestamp&url=$url";
    $signature = sha1($signature);
    $array = array(
        "appId"=>$appid,
        "timestamp"=>$timestamp,
        "nonceStr"=>$noncestr,
        "signature"=>$signature,
        "jsapi_ticket"=>$jsapi_ticket,
        "timestamp"=>$timestamp,
        "url"=>$url
    );
    $this->ajaxReturn($array);
}

完事儿。

评论  表情