// 貼上jssdk一段代碼
public function getSignPackage() { $jsapiTicket = $this->getJsApiTicket(); $url = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $timestamp = time(); $nonceStr = $this->createNonceStr(); // 這里參數的順序要按照 key 值 ASCII 碼升序排序 $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url"; $signature = sha1($string); $signPackage = array( "jsapiTicket" => $jsapiTicket, "appId" => $this->appId, "nonceStr" => $nonceStr, "timestamp" => $timestamp, "url" => $url, "signature" => $signature, "rawString" => $string ); return $signPackage; }
1.微信公眾號菜單鏈接配置的http,生成簽名用的https協議導致簽名錯誤。【解決辦法:統一協議】