PHPYun人才招聘系统V4.2版短信插件开发( 阿里云短信API )

发布时间:2018-06-08 编辑:小张个人博客 查看次数:4934

PHP云人才管理系统,专业的人才招聘网站系统开源程序,采用 PHP 和 MySQL 数据库构建的高效的人才与企业求职招招聘系统源码。基于 PHPYun 人才招聘系统 4.2 正式版二次开发短信接口,把系统自带的短信接口换成阿里云提供的短信验证码 API 服务。

产品概述
短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码、短信通知等。 完美支撑双 11 期间2亿用户,发送 6 亿短信。三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达 99% 。

阿里云短信验证API 优势
快速稳定
快速直达,链接用户仅需 3 秒;三网合一专属通道;专线机房,支持大容量、高并发;99% 到达率;与工信部携号转网平台实时互联;电信级运维保障,实时监控自动切换。
高并发处理
支持多个生产者和消费者并发访问同一个队列,无需特殊设置即可自由调整并发度,并能确保某条消息在取出之后的特定时间段内,无法被其他消费者获得。
消息堆积处理
通过队列对用户任务请求压力实现削峰填谷,进而降低系统峰值压力。
易开发管理
无需自行搭建消息服务,免运维提供多种语言 SDK,包括 JAVA、PYTHON、NET、Node.js 任您选择。

SDK 及 DEMO 下载

下载好了,将完整的 PHP SDK 引用到您的项目中去。注意 PHP 目前仅支持 5.5 以上版本。其他版本可以参照接口协议自行拼接http请求调用。接下来我们来修改 app/public/common.php 文件完成短信接口替换!

 require_once "/sendSms.php";

function sendSMS($uid,$pwd,$key,$mobile,$content,$time='',$mid='',$info=array()){
    $data_msg["uid"]=$info['uid'];
    $data_msg["name"]=$info['name'];
    $data_msg["cuid"]=$info['cuid'];
    if($info['cname']){
        $data_msg["cname"]=$info['cname'];
    }else{
        $data_msg["cname"]="系统";
    }
    $data_msg["moblie"]=$mobile;
    $data_msg["ctime"]=time();
    $data_msg["content"]=$content;
    $Senddata = array(
        'accessKeyId'=>$uid,  // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
        'accessKeySecret'=>$key,
        'SignName'=>iconv('GBK','UTF-8//IGNORE',strtolower($pwd)), // 字符转码, fixme 必填: 短信签名
        'PhoneNumbers'=>$mobile,  // fixme 必填: 短信接收号码
        'TemplateCode'=>$content,  // fixme 必填: 短信模板Code
        'Code' => $info['code'] ?  $info['code'] :  $info['sendcode'],   // 验证码
        'time'=>$time,
        'mid'=>$mid
        );

     $re = aliSendSms($Senddata);
     print_r($re);die;
 
}

设置短信API 参数( sendSms.php

<?php
/*
 * 此文件用于验证短信服务API接口,供开发时参考
 * 执行验证前请确保文件为utf-8编码,并替换相应参数为您自己的信息,并取消相关调用的注释
 * 建议验证前先执行Test.php验证PHP环境
*/
require_once "SignatureHelper.php";

//  发送短信
function aliSendSms($data) {
    $params = array ();

    // *** 需用户填写部分 ***
    // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
    $accessKeyId =$data['accessKeyId'];
    $accessKeySecret =$data['accessKeySecret'];

    // fixme 必填: 短信接收号码
    $params["PhoneNumbers"] = $data['PhoneNumbers'];

    // fixme 必填: 短信签名,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
    $params["SignName"] = $data['SignName'];
 
    // fixme 必填: 短信模板Code,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
    $params["TemplateCode"] = $data['TemplateCode'];
   
      // 生成随机 4 位数字 使用系统函数执行效率会高许多
     // $code  =  str_pad(mt_rand(0, pow(10, 4) - 1), 4, '0', STR_PAD_LEFT); 
     //  session_start();
    //  $_SESSION['moblie_code'] = $code;

    // fixme 可选: 设置模板参数, 假如模板中存在变量需要替换则为必填项
    $params['TemplateParam'] = array(
            'code' => $data['Code'];
     );

    // fixme 可选: 设置发送短信流水号
    $params['OutId'] = "12345";

    // fixme 可选: 上行短信扩展码, 扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段
    $params['SmsUpExtendCode'] = "1234567";


    // *** 需用户填写部分结束, 以下代码若无必要无需更改 ***
    if(!empty($params["TemplateParam"]) && is_array($params["TemplateParam"])) {
        $params["TemplateParam"] = json_encode($params["TemplateParam"], JSON_UNESCAPED_UNICODE);
    }

    // 初始化SignatureHelper实例用于设置参数,签名以及发送请求
    $helper = new SignatureHelper();

    // 此处可能会抛出异常,注意catch
    $content = $helper->request(
        $accessKeyId,
        $accessKeySecret,
        "dysmsapi.aliyuncs.com",
        array_merge($params, array(
            "RegionId" => "cn-hangzhou",
            "Action" => "SendSms",
            "Version" => "2017-05-25",
        ))
    );
  return  $content;
   
}

测试结果:

stdClass Object
(
    [Message] => OK   
    [RequestId] => 8A702C89-F554-4B9B-8AF4-80FF5003BD44  
    [BizId] => 511414627755113049^0    
    [Code] => OK   
)

注释:

Message:状态码的描述
RequestId:请求 ID
BizId:发送回执 ID ,可根据该 ID 查询具体的发送状态
Code:状态码 - 返回 OK 代表请求成功,其他错误码详见错误码列表

阿里云短信内容规范:

禁止发送涉及:色情、赌博、毒品、党政、维权、众筹、慈善募捐、宗教、迷信、股票、移民、面试招聘、博彩、贷款、催款、信用卡提额、投资理财、中奖、抽奖、一元夺宝、一元秒杀、A货、整形、烟酒、交友、暴力、恐吓、皮草、返利、代开发票、代理注册、代办证件、加群、加QQ或者加微信、贩卖个人信息、运营商策反、流量营销等信息的短信

营销推广短信除上述禁止内容外,另不支持:保险、房地产、教育、培训、游戏、美容、医疗、会所、酒吧、足浴、助考、商标注册、装修、建材、家私、会展、车展、房展等信息的短信。



出处:小张个人博客

网址:http://blog.023xs.cn/

您的支持是对博主最大的鼓励,感谢您的认真阅读。欢迎转载,但请保留该声明。

顶部

Copyright © 小张个人博客 All Rights Reserved 渝ICP备15006773号-1

联系方式:[email protected] | 本站文章仅供学习和参考

渝公网安备 50024102500267号