阿里云号码认证服务服务端PHP版
TP5.1写的api
官方接入说明:https://github.com/aliyun/openapi-sdk-php/blob/master/README-zh-CN.md?spm=a2c4g.11186623.2.13.267a16e4QkHp9N&file=README-zh-CN.md
客户端对接好之后,发送请求到服务端
composer
下载PHP版sdkcomposer require alibabacloud/sdk
下载的内容:
- 将安卓端传过来的内容用sdk换算成手机号码返回
//引入sdk
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;class User extends Comment
{/** 注册/登录*/public function login(){// 获取手机token$token = input('get.token');$token = trim($token);// 判断登录token是否有效if (!$token) {//如果token为空就返回$res = ['state' => 100,'msg' => 'token不能为空,请重试'];return json_encode($res);} else {//调用getPhone方法并且将token传给getPhone$res = $this->getPhone($token);//如果返回的状态为1说明是注册过的用户if ($res['state'] == 1) {$phone = $res['phone'];//传入手机号码调用hasUser方法$data = $this->hasUser($phone);//返回给安卓端登录状态return json_encode($data);} else {//如果没有注册过就返回注册状态return json_encode($res);}}}/** 根据token换取手机号码*/public function getPhone($token){AlibabaCloud::accessKeyClient(Config::get('xianqi.phone_access_key'), Config::get('xianqi.phone_access_secret'))->regionId('cn-hangzhou')->asDefaultClient();try {$result = AlibabaCloud::rpc()->product('Dypnsapi')->scheme('https')// https | http->version('2017-05-25')->action('GetMobile')->method('POST')->host('dypnsapi.aliyuncs.com')->options(['query' => ['RegionId' => "cn-hangzhou",'AccessToken' => $token],])->request();// 将返回的结果转化为数组$result = $result->toArray();//判断当前数组不为空if (isset($result['GetMobileResultDTO']['Mobile'])) {// token不为空返回手机号码$phone = $result['GetMobileResultDTO']['Mobile'];$res = ['state' => 1,'phone' => $phone];return $res;} else {//如果token为空$res = ['state' => 0,'msg' => 'token无效'];return $res;}} catch (ClientException $e) {//有异常就抛出异常// 客户端错误$res = ['state' => 101,'msg' => '注册失败'];return $res;} catch (ServerException $e) {// 服务端错误$res = ['state' => 101,'msg' => '注册失败'];return $res;}}/** 查询数据库中是否有该用户,存在则登录,不存在则注册*/public function hasUser($phone){$data = Db::table('sh_member')->where('phone', $phone)->select();// 判断该用户是注册用户还是登录用户if (empty($data)) {//如果当前用是注册用户就将内容存进数据库Db::table('sh_member')->data(['phone' => $phone])->insert();// 返回注册信息$res = ['state' => 1,'msg' => '注册成功','data' => ['phone' => $phone,'register' => true]];return $res;} else {// 如果是登录用户则将返回查询结果$phone = $data[0]['phone'];$isbuy = $data[0]['isbuy'];// 返回登录信息$res = ['state' => 1,'msg' => '登录成功','data' => ['phone' => $phone,'register' => false]];return $res;}}
阿里云号码认证服务服务端PHP版相关推荐
- 秒懂云通信:如何使用阿里云号码认证服务(小白指南)
简介: 手把手教你如何使用阿里云号码认证服务,超详细控制台步骤解析,快速上手! 一.如何开通阿里云号码认证服务?--登录阿里云官网--产品分类--云通信(号码认证服务) 1.登录阿里云官网,选择产品分 ...
- java:阿里云号码隐私服务使用
阿里云号码隐私服务使用 产品最近的需求是,客户通过短链接点过预约之后,门店店员收到意向后联系客户进行引导,同时要对双方的号码进行隐私保护 (前提:入驻阿里云,获取阿里云访问密钥,开通号码隐私保护服务) ...
- 分布式电商项目二十六:使用阿里云存储的服务端签名后直传(前端联调)
使用阿里云存储的服务端签名后直传(前端联调) 在前端显示上传的界面,可以根据人人fast-vue的结构,在src\components目录下添加upload文件夹,直接添加vue组件即可,总计三个组件 ...
- App接入阿里云号码认证服务 一键登录 Java后端服务部分
下面是后台java部分,通过App端,用户确认授权后拿到的actoken来换取电话号码 Java服务端SDK <dependency><groupId>com.aliyun&l ...
- 对接阿里云号码认证服务H5方案
阿里云申请号码认证服务,填写H5(H5目前是内测,需要致电阿里客服开通) 页面地址填写 h5 页面,源地址输入后端服务接口域名 后端服务对接步骤 1. h5 获取授权token DefaultProf ...
- 【虚拟专用网】阿里云ubuntu服务器服务端和windows11客户端搭建
安装包和依赖 安装软件依赖 apt-get install openssl libssl-dev apt-get install lzop 安装 OpenVPN 和 Easy-RSA apt inst ...
- 阿里云对象存储服务OSS前后联调
阿里云对象存储服务OSS前后联调 1.为什么要引入阿里云对象存储服务(OSS)?有什么好处? 1.1.什么是对象存储OSS 1.2.OSS工作原理 2.阿里云对象存储-普通上传方式 2.1.时序图 2 ...
- 阿里云边缘容器服务、申通 IoT 云边端架构入选 2021 云边协同发展阶段性领先成果
2021 年 6 月 4 日,由中国信息通信研究院(以下简称"中国信通院")主办的 " 2021 云边协同大会 " 在北京举行.本次会议以 " 开启分 ...
- Springboot项目调用阿里云号码隐私保护服务【真实有用】
1.首先去阿里云申请号码隐私保护服务,申请号码池以及专属号码,获取有效的阿里云AK. 2.导入以下两个依赖 <dependency><groupId>com.aliyun< ...
最新文章
- Springboot+mybatisplus搭建新闻管理系统
- 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.01更新)
- Windows10 对系统盘C 有效清理
- ajax php 动态,jQuery+PHP+Ajax实现动态数字统计展示功能
- C/C++—— #include“stdafx.h”详解
- 关于TensorFlow的MNIST数据集下载脚本input_data.py的坑
- POJ1741 Tree(点分治)
- 1)python,现在用过的,后面推出每日练习语法与深度挖掘应用
- python支持向量机 股票_小蛇学python(4)利用SVM预测股票涨跌
- sql server 数据库连接方式分析、详解
- 科研绘图必备软件简介
- EPLAN教程——导出CAD如何快捷配置
- 苹果手机六位数密码忘记了用计算机,忘记iPhone锁屏密码?三种方法帮你顺利解决!...
- github船舰新文件夹,为什么github显示灰色文件夹,当我创建一个新的存储库?
- 如何创建属于自己的域名邮箱
- ERC-3525 通过倒计时|SFT 是什么?有什么用?
- 算法设计与分析:分治思想 - 入门
- matlab多项式及其运算
- 盗图+php,PHP小偷程序的设计与实现方法详解
- 行人重识别(ReID)概述