PHP 아 리 클 라 우 드 가상 번호 연결 실현(번호 프라이버시 보호)
실현 기능: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 가 아 리 클 라 우 드 가상 번 호 를 연결 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.