コード例 #1
0
ファイル: Yunpian.php プロジェクト: hachi-zzq/dajiayao
 public static function sendSmsCode($mobile, $code)
 {
     $send_url = "http://yunpian.com/v1/sms/send.json";
     $apikey = Config::get('app.yunpian.apikey');
     $tpl = Config::get('app.yunpian.tpl');
     $smsText = sprintf($tpl, $code);
     $postData = "apikey={$apikey}&mobile={$mobile}&text={$smsText}";
     Tool::getCurl($send_url, 60, 'post', $postData);
     return true;
 }
コード例 #2
0
ファイル: WebAuth.php プロジェクト: hachi-zzq/dajiayao
 /**
  * @对外接口,获取用户信息
  * @param null
  * @return mixed
  */
 public static function getUserInfo($accessToken, $openid, $lang = "zh_CN")
 {
     $api = sprintf(self::GET_USER_INFO_API, $accessToken, $openid, $lang);
     $ret = Tool::getCurl($api, 30);
     if ($ret->httpCode !== 200 or $ret->error or $ret->errno) {
         throw new \Exception("curl get user info error");
     }
     $ret = $ret->content;
     $userinfo = \Cache::get($openid);
     if (!$userinfo) {
         \Cache::put($openid, $ret, 60 * 24);
     }
     return \Cache::get($openid);
 }
コード例 #3
0
 public function location()
 {
     $inputData = $this->inputData->only('longitude', 'latitude');
     $validator = Validator::make($inputData, ['longitude' => 'required', 'latitude' => 'required']);
     if ($validator->fails()) {
         return RestHelp::parametersIllegal($validator->messages()->first());
     }
     $baiduMapApi = Config::get('baidumap.api.inverse_address');
     $ret = Tool::getCurl(sprintf($baiduMapApi, $inputData['longitude'], $inputData['latitude']));
     if ($ret->httpCode != 200 or $ret->errno != 0) {
         return RestHelp::encodeResult(23002, "location fails");
     }
     $baiduRet = json_decode($ret->content);
     $formattedAddress = $baiduRet->result->formatted_address;
     $spec = $baiduRet->result->sematic_description;
     $province = $baiduRet->result->addressComponent->province;
     $trimProvince = ['省'];
     $province = $this->strTrim($province, $trimProvince);
     $province = Address::where("address", 'like', "%{$province}%")->first();
     if (!$province) {
         return RestHelp::encodeResult(23003, "can not location province");
     }
     $city = $baiduRet->result->addressComponent->city;
     $trimCity = ['市'];
     $city = $this->strTrim($city, $trimCity);
     $city = Address::where("address", 'like', "%{$city}%")->where('parent_id', $province->id)->first();
     if (!$city) {
         return RestHelp::encodeResult(23003, "can not location city");
     }
     $district = $baiduRet->result->addressComponent->district;
     $trimDistrict = ['区', '县', '镇'];
     $district = $this->strTrim($district, $trimDistrict);
     $district = Address::where("address", 'like', "%{$district}%")->first();
     if (!$district) {
         return RestHelp::encodeResult(23003, "can not location district");
     }
     $arrRet = array();
     $arrRet['province']['id'] = $province->id;
     $arrRet['province']['name'] = $province->address;
     $arrRet['city']['id'] = $city->id;
     $arrRet['city']['name'] = $city->address;
     $arrRet['county']['id'] = $district->id;
     $arrRet['county']['name'] = $district->address;
     $arrRet['formatted'] = $formattedAddress;
     $arrRet['specific'] = $spec;
     return RestHelp::success($arrRet);
 }
コード例 #4
0
ファイル: BaseController.php プロジェクト: hachi-zzq/dajiayao
 /**
  * 获得微信jsapi的配置信息
  * @return stdClass
  */
 public function getJsapiConfig()
 {
     $mq = new MQ();
     $jsapiTicket = $mq->getWeixinJsapiTicketByName('buyer');
     $url = \Request::fullUrl();
     $noncestr = Tool::getRandChar(16);
     $timestamp = time();
     $weixinClient = new WeixinClient();
     $signature = $weixinClient->getSignature($jsapiTicket, $url, $noncestr, $timestamp);
     $config = new \stdClass();
     $config->jsapiTicket = $jsapiTicket;
     $config->url = $url;
     $config->noncestr = $noncestr;
     $config->timestamp = $timestamp;
     $config->signature = $signature;
     $config->appid = \Config::get('weixin.buyer.appid');
     return $config;
 }