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
客户端对接好之后,发送请求到服务端

  1. composer下载PHP版sdk

    composer require alibabacloud/sdk
    

    下载的内容:

  2. 将安卓端传过来的内容用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. 秒懂云通信:如何使用阿里云号码认证服务(小白指南)

    简介: 手把手教你如何使用阿里云号码认证服务,超详细控制台步骤解析,快速上手! 一.如何开通阿里云号码认证服务?--登录阿里云官网--产品分类--云通信(号码认证服务) 1.登录阿里云官网,选择产品分 ...

  2. java:阿里云号码隐私服务使用

    阿里云号码隐私服务使用 产品最近的需求是,客户通过短链接点过预约之后,门店店员收到意向后联系客户进行引导,同时要对双方的号码进行隐私保护 (前提:入驻阿里云,获取阿里云访问密钥,开通号码隐私保护服务) ...

  3. 分布式电商项目二十六:使用阿里云存储的服务端签名后直传(前端联调)

    使用阿里云存储的服务端签名后直传(前端联调) 在前端显示上传的界面,可以根据人人fast-vue的结构,在src\components目录下添加upload文件夹,直接添加vue组件即可,总计三个组件 ...

  4. App接入阿里云号码认证服务 一键登录 Java后端服务部分

    下面是后台java部分,通过App端,用户确认授权后拿到的actoken来换取电话号码 Java服务端SDK <dependency><groupId>com.aliyun&l ...

  5. 对接阿里云号码认证服务H5方案

    阿里云申请号码认证服务,填写H5(H5目前是内测,需要致电阿里客服开通) 页面地址填写 h5 页面,源地址输入后端服务接口域名 后端服务对接步骤 1. h5 获取授权token DefaultProf ...

  6. 【虚拟专用网】阿里云ubuntu服务器服务端和windows11客户端搭建

    安装包和依赖 安装软件依赖 apt-get install openssl libssl-dev apt-get install lzop 安装 OpenVPN 和 Easy-RSA apt inst ...

  7. 阿里云对象存储服务OSS前后联调

    阿里云对象存储服务OSS前后联调 1.为什么要引入阿里云对象存储服务(OSS)?有什么好处? 1.1.什么是对象存储OSS 1.2.OSS工作原理 2.阿里云对象存储-普通上传方式 2.1.时序图 2 ...

  8. 阿里云边缘容器服务、申通 IoT 云边端架构入选 2021 云边协同发展阶段性领先成果

    2021 年 6 月 4 日,由中国信息通信研究院(以下简称"中国信通院")主办的 " 2021 云边协同大会 " 在北京举行.本次会议以 " 开启分 ...

  9. Springboot项目调用阿里云号码隐私保护服务【真实有用】

    1.首先去阿里云申请号码隐私保护服务,申请号码池以及专属号码,获取有效的阿里云AK. 2.导入以下两个依赖 <dependency><groupId>com.aliyun< ...

最新文章

  1. Springboot+mybatisplus搭建新闻管理系统
  2. 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.01更新)
  3. Windows10 对系统盘C 有效清理
  4. ajax php 动态,jQuery+PHP+Ajax实现动态数字统计展示功能
  5. C/C++—— #include“stdafx.h”详解
  6. 关于TensorFlow的MNIST数据集下载脚本input_data.py的坑
  7. POJ1741 Tree(点分治)
  8. 1)python,现在用过的,后面推出每日练习语法与深度挖掘应用
  9. python支持向量机 股票_小蛇学python(4)利用SVM预测股票涨跌
  10. sql server 数据库连接方式分析、详解
  11. 科研绘图必备软件简介
  12. EPLAN教程——导出CAD如何快捷配置
  13. 苹果手机六位数密码忘记了用计算机,忘记iPhone锁屏密码?三种方法帮你顺利解决!...
  14. github船舰新文件夹,为什么github显示灰色文件夹,当我创建一个新的存储库?
  15. 如何创建属于自己的域名邮箱
  16. ERC-3525 通过倒计时|SFT 是什么?有什么用?
  17. 算法设计与分析:分治思想 - 入门
  18. matlab多项式及其运算
  19. 盗图+php,PHP小偷程序的设计与实现方法详解
  20. 行人重识别(ReID)概述

热门文章

  1. win10运行python 速度慢_Win 10 使用 Python遇到奇怪的问题
  2. 电子信息类部分期刊投稿指南(转载)
  3. 程控电话交换机到底是干什么用的?
  4. 最小圆覆盖模ssss板
  5. 电机电流采集平台|电流采集
  6. ROS-写一个简单的消息发布器与订阅器(Python)(roswiki初级教程rospy部分翻译以及程序注释)
  7. 玩转代码|WordPress防止暴力破解管理员密码
  8. java与plc 西门子 通讯,进行读写操作 采用TCP 直接连接
  9. Hone C# III
  10. opencv 卡尺法 测量边缘距离