Exemple #1
0
 /**
  * 构造方法
  */
 public function __construct(Wechat $wechat)
 {
     $config = array('appId' => $wechat->getAppid(), 'nonceStr' => Util::randomString(), 'timestamp' => time());
     $signGenerator = new SignGenerator(array('jsapi_ticket' => $wechat->getTicket(), 'noncestr' => $config['nonceStr'], 'timestamp' => $config['timestamp'], 'url' => Util::currentUrl()));
     $signGenerator->setHashType('sha1');
     $signGenerator->setUpper(false);
     $config['signature'] = $signGenerator->getResult();
     $this->config = $config;
 }
Exemple #2
0
 public static function getJssdk(Wechat $wechat, $apis, $debug = false, $asArray = false)
 {
     try {
         $ticket = $wechat->getTicket('jsapi');
     } catch (TicketException $e) {
         exit($e->getMessage());
     }
     $bag = new Bag();
     $bag->set('jsapi_ticket', $ticket);
     $bag->set('timestamp', time());
     $bag->set('noncestr', Util::randomString());
     $bag->set('url', Util::currentUrl());
     $signGenerator = new SignGenerator($bag);
     $signGenerator->setUpper(false);
     $signGenerator->setHashType('sha1');
     $config = array('appId' => $wechat->getAppid(), 'nonceStr' => $bag->get('noncestr'), 'timestamp' => $bag->get('timestamp'), 'signature' => $signGenerator->getResult(), 'jsApiList' => $apis);
     if ($debug) {
         $config['debug'] = true;
     }
     return $asArray ? $config : JSON::encode($config);
 }