目录结构如下
1、Jssdk 类
2、其他控制器简单调用 jssdk
3、JSSDK 源码
<?php
namespace org\wechat;
class Jssdk {
private $appId;
private $appSecret;
private $url;
public function __construct($appId, $appSecret,$url='') {
$this->appId = $appId;
$this->appSecret = $appSecret;
// $this->url = $url;
}
public function getSignPackage() {
$jsapiTicket = $this->getJsApiTicket();
// 注意 URL 一定要動態獲取,不能 hardcode.
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = "$protocol$_SERVER[SERVER_NAME]$_SERVER[REQUEST_URI]";
// $url = $this->url;
$timestamp = time();
$nonceStr = $this->createNonceStr();
// 這里參數的順序要按照 key 值 ASCII 碼升序排序
$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&time