123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- namespace App\Http\Controllers\WapBrowser\Subscribe;
- use Illuminate\Http\Request;
- use App\Http\Controllers\WapBrowser\BaseController;
- use GuzzleHttp\Client;
- use App\Modules\OfficialAccount\Services\OfficialAccountService;
- use App\Modules\SendOrder\Services\SendOrderService;
- use Cookie;
- use Log;
- use Hashids;
- class SubscribeController extends BaseController
- {
- protected function getRcodeInfo($appid,$bid,$cid)
- {
- if($bid && $cid){
- $scene_id = sprintf('outer:%s_%s',$bid,$cid);
- }else{
- $scene_id = 1;
- }
- $param_need = [
- 'gzh_app_id' => $appid,
- 'scene_id' => $scene_id,
- 'timestamp' => time(),
- ];
- $param_need['sign'] = $this->getSign($param_need);
- $client = new Client(['timeout' => 3.0,]);
- try {
- Log::info('WapBrowsergetRcodeInfo get qrcode url is:' . 'https://zsyauth.aizhuishu.com/api/get_qrcode_url?' . http_build_query($param_need));
- $qrcode_url_res = $client->request('get', 'https://zsyauth.aizhuishu.com/api/get_qrcode_url?' . http_build_query($param_need))->getBody()->getContents();
- if ($qrcode_url_res) {
- $qrcode_url = json_decode($qrcode_url_res, true);
- if ($qrcode_url['code'] == 1) {
- //保存强关时的bid
- if (isset($qrcode_url['data']) && !empty($qrcode_url['data'])) {
- return $qrcode_url['data'];
- }
- }
- }
- } catch (\Exception $e) {
- }
- return false;
- }
- /**
- * 获取公众号信息
- * @param $distribution_channel_id
- */
- protected function getOfficialAccount()
- {
- $distribution_channel_id = $this->distribution_channel_id;
- $res = OfficialAccountService::canUseOfficialAccountByChannelId(compact('distribution_channel_id'));
- Log::info($res);
- if (isset($res->nickname) && !empty($res->nickname)) {
- Cookie::queue('force_subscribe_name', $res->nickname, env('U_COOKIE_EXPIRE'));
- }
- return $res;
- }
- public function subscribeView(Request $request){
- $title = '扫一扫';
- $send_order_id = Cookie::get('send_order_id');
- $bid = $request->get('bid');
- $cid = $request->get('cid');
- $url = '';
- if($send_order_id){
- $h5_scheme = env('H5_SCHEME', 'https');
- if($bid && $cid){
- $bid = Hashids::encode($bid);
- $redirect_path = urlencode(sprintf('/reader?bid=%s&cid=%s',$bid,$cid));
- $url = $h5_scheme . '://' . str_replace('bsite','site',_domain()). '/yun/'.$send_order_id.'?redirect_path='.$redirect_path;
- }else{
- $url = $h5_scheme . '://' . str_replace('bsite','site',_domain()). '/yun/'.$send_order_id;
- }
- $img = '';
- return view('wap-browser.subscribe',compact('title','img','url'));
- }
- $appid = $this->getOfficialAccount();
- $bid = $request->get('bid');
- $cid = $request->get('cid');
- Log::info("this->distribution_channel_id:".$this->distribution_channel_id);
- $img = '';
- if($appid && $appid->appid){
- $img = $this->getRcodeInfo($appid->appid,$bid,$cid);
- }
- return view('wap-browser.subscribe',compact('title','img','url'));
- }
- private function getRcodeInfoV2(){
- }
- }
|