Пример #1
0
 /**
  * 微信授权方法
  * @return json
  */
 public function index()
 {
     $openid = Request::input('openid');
     $code = Request::input('code');
     $scope = Request::input('scope') ?: Wx::SCOPE_BASE;
     $wxConfig = Config::get('wxconfig');
     $wxHelper = Wx::getInstance($wxConfig['appid'], $wxConfig['secret'], $scope);
     if ($openid) {
         $oauthData = $wxHelper->oauthOpenid($openid);
         if ($oauthData) {
             return Arr::camelKey($oauthData);
         }
     }
     if ($code) {
         $oauthData = $wxHelper->oauthCode($code);
         if ($oauthData) {
             return Arr::camelKey($oauthData);
         }
     }
     $url = Request::input('url');
     if (!$url) {
         Response::json(['errcode' => 4004]);
     }
     $jumpUrl = $wxHelper->getJumpUrl($url);
     return Response::json(['errcode' => 4003, 'data' => $jumpUrl]);
 }
Пример #2
0
 /**
  * 微信卡卷签名
  * @return json
  */
 public function card()
 {
     $validator = Validator::make(Request::input(), ['cardIds' => 'required|array']);
     if ($validator->fails()) {
         return Response::json($validator->errors()->first(), 400);
     }
     $cardIds = Request::input('cardIds');
     $wxConfig = Config::get('wxconfig');
     $wx = Wx::getInstance($wxConfig['appid'], $wxConfig['secret']);
     $cardList = [];
     foreach ($cardIds as $cardId) {
         $cardId = trim($cardId);
         $timestamp = time();
         $nonceStr = Str::quickRandom(32);
         $signature = $wx->getCardSignature($cardId, $timestamp, $nonceStr);
         if (!$signature) {
             return Response::json(['errcode' => 5001, 'errmsg' => '签名失败!']);
         }
         $cardConfig = ['cardId' => $cardId, 'cardExt' => json_encode(['signature' => $signature, 'timestamp' => $timestamp, 'nonce_str' => $nonceStr])];
         array_push($cardList, $cardConfig);
     }
     return Response::json(['errcode' => 0, 'data' => $cardList]);
 }