PHP 아 리 클 라 우 드 가상 번호 연결 실현(번호 프라이버시 보호)

블 로 거들 이 사용 하 는 fastadmin 패키지 프레임 워 크
실현 기능:AXN 프라이버시 번호 바 인 딩,해제;
장면:가게 핸드폰 번호 에 가상 번 호 를 개통 하고 사용자 가 가게 에 연락 하여 가상 번 호 를 보 여 준다.
공식 오픈 문서 주소:https://help.aliyun.com/document_detail/59655.html?spm=a2c4g.11174283.6.661.b8365d50CKM5Ma
효 과 는 다음 과 같 습 니 다:

홈 페이지 오픈 문 서 를 참고 하여 SDK 다운로드 하기;압축 을 풀 고 aliyun-dypls-php-sdk 폴 더 를 가 져 옵 니 다.
압축 해제 폴 더 에 있 는 apisdk 폴 더 와 apidemo 폴 더 에 있 는 PlsDemo.php 를 프로젝트 vendor 디 렉 터 리 에 복사 합 니 다.필 자 는 yinsi 폴 더 에 두 었 습 니 다.

그 다음 에 PlsDemo.php 파일 을 열 고 getAcsClient 방법 에 대응 하 는 AccessKeyId,AccessKeySecret 를 수정 합 니 다.

아니면 PlsDemo.php 파일 로 바 인 딩 된 번호 풀 을 수정 합 니까?

아니면 PlsDemo.php 파일,묶 을 때의 번호 풀 이 를 수정 합 니까?

마지막 으로 사용자 목록 컨트롤 러 에 다음 코드 를 추가 합 니 다.

/**
   *   
   */
  public function edit($ids = null)
  {
    $row = $this->model->get($ids);
    if (!$row) {
      $this->error(__('No Results were found'));
    }
    $adminIds = $this->getDataLimitAdminIds();
    if (is_array($adminIds)) {
      if (!in_array($row[$this->dataLimitField], $adminIds)) {
        $this->error(__('You have no permission'));
      }
    }
    if ($this->request->isPost()) {
      $params = $this->request->post("row/a");
      if ($params) {
//        print_r($params);exit;
        //     
        if ($params['privacydata'] == '2'){
          vendor("yinsi.PlsDemo");
          $response = \PlsDemo::bindAxn($params['mobile']) ;
          if ($response->Code == 'OK'){
            $params['privacy_tel'] = $response->SecretBindDTO->SecretNo;
            $params['subsid'] = $response->SecretBindDTO->SubsId;
          }else{
            $this->error($response->Message);
          }
        }else{
          vendor("yinsi.PlsDemo");
          $response = \PlsDemo::unbindSubscription($params['subsid'],$params['privacy_tel']) ;
          if ($response->Code == 'OK'){
            $params['privacy_tel'] = '';
            $params['subsid'] = '';
          }
        };
 
        $params = $this->preExcludeFields($params);
        $result = false;
        Db::startTrans();
        try {
          //        
          if ($this->modelValidate) {
            $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
            $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate;
            $row->validateFailException(true)->validate($validate);
          }
          $result = $row->allowField(true)->save($params);
          Db::commit();
        } catch (ValidateException $e) {
          Db::rollback();
          $this->error($e->getMessage());
        } catch (PDOException $e) {
          Db::rollback();
          $this->error($e->getMessage());
        } catch (Exception $e) {
          Db::rollback();
          $this->error($e->getMessage());
        }
        if ($result !== false) {
          $this->success();
        } else {
          $this->error(__('No rows were updated'));
        }
      }
      $this->error(__('Parameter %s can not be empty', ''));
    }
    $this->view->assign("row", $row);
    return $this->view->fetch();
  }
원 초적 인 수정 방법 과 는 다음 과 같은 인터페이스 설명 을 구별 합 니 다.

배경 관리 가 필요 없 는 펜팔 은 다음 코드 를 사용 합 니 다.
간단하게 인 터 페 이 스 를 통 해 가상 번 호 를 연결 하고 해제 합 니 다. 

  //      
  public function yinsi(){
    $type = $this->request->request('type');//1  2  
    $mobile = $this->request->request('mobile');//        
    vendor("yinsi.PlsDemo");
    $response = \PlsDemo::bindAxn($mobile) ;
    print_r($response);exit;//        
  }
  //      
  public function Unbundling(){
    $subsid = $this->request->request('subsid');//        subsId;
    $secretNo = $this->request->request('secretNo');//        secretNo;
    vendor("yinsi.PlsDemo");
    $response = \PlsDemo::unbindSubscription($subsid,$secretNo) ;
    print_r($response);exit;//        
  }
PHP 가 아 리 클 라 우 드 가상 번 호 를 연결 하 는 실현(번호 프라이버시 보호)에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 PHP 가 아 리 클 라 우 드 가상 번 호 를 연결 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기