PHP对接阿里云虚拟号的实现(号码隐私保护)
2021-04-15 04:05
731 查看
博主使用的fastadmin 封装框架
实现功能:AXN隐私号绑定、解绑;
场景:为店铺手机号开通虚拟号,用户联系店铺展示虚拟号码;
官方开放文档地址:https://help.aliyun.com/document_detail/59655.html?spm=a2c4g.11174283.6.661.b8365d50CKM5Ma
效果如下:
参考官网开放文档,下载SDK;解压得到 aliyun-dypls-php-sdk 文件夹;
将解压的文件夹内的 api_sdk 文件夹与 api_demo 文件夹内的 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对接阿里云虚拟号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:相关文章推荐
- 12306 被质疑过度获取用户隐私;直播答题外挂横行;阿里云辟谣称绝不做虚拟货币 | 一周业界事
- 阿里云sls日志服务的简单监控 php实现
- win7资源管理器屏蔽掉历史记录实现保护隐私
- php实现身份证号码检查类
- 网站访问速度提升200%以上,阿里云虚拟主机支持PHP最新版本
- php 阿里云短信服务及阿里大鱼实现短信验证码的发送
- PHP socket实现和Java端readFully对接
- PHP实现一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定
- php token命令的简单实现,可用于网站平台的对接
- 身份证号码算法实现php
- SpringBoot实现阿里云短信接口对接
- PHP实现一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定
- 巧用PHP的header函数实现apache的虚拟主机技术
- PHP本地实现虚拟域名访问:Apache虚拟主机配置
- php实现阿里云API短信验证发送代码
- 阿里云存储OSS对接PHP之Star.hou
- JAVA+PHP+阿里云组件纯手工实现POP、SMTP、IMAP开发邮件服务器(二)
- 基于机器学习的SNS隐私保护策略推荐向导的设计与实现
- Asp.Net Core Identity 隐私数据保护的实现
- Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置