laravel 阿里云短信发送
示例
一、安装
安装:composer require mrgoon/aliyun-sms dev-master
二、打开config/app.php,添加配置代码
1、‘providers’ 配置组下添加
Mrgoon\Aliyunsms\AliyunsmsServiceProvider::class,
2、‘aliases’ 配置组下添加
'Aliyunsms'=>Mrgoon\Aliyunsms\ServiceProvider::class,
三、运行composer
composer dump-autoload
四、运行php artisan
php artisan vendor:publish` ` --provider="Mrgoon\Aliyunsms\AliyunsmsServiceProvider"
五、修改config/aliyunsms.php

开始调用
<?php
namespace App\Http\Controllers;
use Mrgoon\Aliyunsms\Facades\Aliyunsms;class SendController
{public function send(){$PhoneNumber = "170****8000"; //手机号$SignName = "模板签名"; //模板签名$TemplateCode= "模板code"; //模板CODE$TemplateParam = ["code" => rand(100000,999999),"product" => "dsd"];$send = Aliyunsms::sendSms(strval($PhoneNumber), $SignName, $TemplateCode, $TemplateParam);if ($send->Code == 'OK') {//发送成功后//存入数据库或者redisdump("Success");} else {dump("failed");}}/*验证填写的验证码和给该手机发送的验证码是否匹配*/public function verify(Request $req){//第一步:接收到手机号+验证码$mobile = $req->input('mobile');$captcha =$req->input('captcha');// 检查验证码(可从数据库或者redis中获取,仅供参考)$redisCaptcha = json_decode(Redis::get($mobile), true);$now = time();if ($redisCaptcha['expire'] < $now) {Redis::del($mobile);return response()->json(['status' => 204, 'error' => '验证码过期']);}if ($redisCaptcha['captcha'] != $captcha) {return response()->json(['status' => 201, 'error' => '验证码错误']);}return response()->json(['status'=>200, 'error'=>'输入的验证码和发送的验证码一致']);}}
相关文章:
laravel 阿里云短信发送
示例 一、安装 安装:composer require mrgoon/aliyun-sms dev-master 二、打开config/app.php,添加配置代码 1、‘providers’ 配置组下添加 Mrgoon\Aliyunsms\AliyunsmsServiceProvider::class, 2、‘aliases’ 配置组下添加 Aliyunsms>Mrgoon…...
算法----LRU缓存机制
题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返…...
基于springboot+vue的旅游系统(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...
什么是堆栈和队列?如何实现它们?
堆栈(Stack)和队列(Queue)是两种常见的线性数据结构,用于组织和管理数据。它们分别具有不同的特点和用途。本文将详细解释堆栈和队列的概念、特点以及如何实现它们。 堆栈(Stack) 什么是堆栈&…...
编译器自动生成的构造函数
背景 作为一个C小白,最近在看深度解析对象模型的时候,发现一个很久以来的认知错误:编译器会为没有定义构造函数的class生成一个默认构造函数。其实这个观点是错误的,编译器只会在四种情况下生成。 相关知识 一定要明确一个事情…...
SpringSecurity - 认证与授权、自定义失败处理、跨域问题、认证成功/失败处理器
SpringSecurity 文章目录 SpringSecurity一、 简介二、快速入门2.1 maven坐标2.2 访问请求 三、认证与授权3.1 认证3.1.1 登录检验流程3.1.2 SpringSecurity 完整流程3.1.3 认证流程详解3.1.4 校验3.1.5 要解决的问题3.1.6 准备工作3.1.7 实现3.1.7.1 数据库校验用户3.1.7.1.1 …...
自定义映射resultMap
自定义映射resultMap 自定义映射resultMap 自定义映射resultMapresultMap处理字段和属性的映射关系字段名和属性名不一致的情况,如何处理映射关系?1、为查询的字段设置别名,和属性名保持一致2、核心配置文件(mybatis-config.xml)中设置一个全局配置3、使…...
Android修行手册 - Android Studio去掉方法参数提示、变量类型提示、方法引用Usage提示
点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…...
【车载开发系列】ECU Application Software程序刷新步骤
【车载开发系列】ECU Application Software程序刷新步骤 ECU Application Software程序刷新步骤 【车载开发系列】ECU Application Software程序刷新步骤一. Boot Software(引导软件)1)boot manager(启动管理器)2&…...
inject和provide的使用
官网介绍用法 V2.2.0 新增的方法 类型 provide:Object | () > Object inject:Array<string> | { [key: string]: string | Symbol | Object }介绍 这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖ÿ…...
2023年中国研究生数学建模竞赛D题
一、背景介绍 2021年9月22日,中共中央国务院正式发布《关于完整准确全面贯彻新发展理念做好碳达峰碳中和工作的意见》(以下简称《意见》),明确了中国双碳行动的顶层设计。 我国是世界上最大的发展中国家,为实现中华民…...
Unity制作曲线进度条
unity制作曲线进度条 大家好,我是阿赵。 在使用Unity引擎做进度条的时候,有时会遇到一个问题,如果进度条不是简单的横向、纵向或者圆形,而是任意的不规则形状,那该怎么办呢?比如这样的: 一…...
面试:C++ 11 智能指针
查询内存泄露方法 啥是内存泄露 内存泄露在维基百科中的解释如下: 在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误&…...
设计模式——3. 抽象工厂模式
1. 说明 抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种创建一组相关或依赖对象的方式,而无需指定它们的具体类。抽象工厂模式是工厂模式的扩展,它关注于创建一组相关的对象家族,而不仅仅是一个单一的对象。 抽象工厂模式通常涉及以下几个角…...
vscode 无法使用 compilerPath“D:.../bin/arm-none-eabi-g++.exe”解析配置。
最近在使用vscode搭建ODrive STM32开发环境,依次安装了以下内容: 1.Python3: 用于运行工程构建脚本 2.ST-Link/V2 Drivers: STLink/v2编程器的驱动 3.Visual Studio Code: 轻量级但功能强大的源代码编辑器 …...
Vue.js入门模板语法[上] 及Vue.js实现购物车---详细讲解
前言 前面我们学习了Vue的基础入门,接下来我们学习有关Vue的模板语法,学习Vue语法能提高我们的前端开发效率 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML &a…...
windows下gvim的配置
一、vim配置文件 "查看自己的vimrc所在的目录 "在命令模式下 :echo $MYVIMRC"打开自己的vimrc文件 "在命令模式下 :e $MYVIMRC 二、排版 "查看自己当前的字体及大小 "在命令模式下 :set guifont?"设置默认的字体为仿宋_GB2312ÿ…...
基于复旦微的FMQL45T900全国产化ARM开发开发套件(核心板+底板)
TES745D是我司自主研制的一款基于上海复旦微电子FMQL45T900的全国产化ARM核心板(模块)。该核心板将复旦微的FMQL45T900(与XILINX的XC7Z045-2FFG900I兼容)的最小系统集成在了一个87*117mm的核心板上,可以作为一个核心模…...
Leetcode Top100(23)环形链表
给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索…...
线性代数基础-行列式
一、行列式之前的概念 1.全排列: 把n个不同的元素排成一列,称为n个元素的全排列,简称排列 (实际上就是我们所说的排列组合,符号是A,arrange) 2.标准序列: 前一项均小于后一项的序列…...
3步解决多显示器DPI调节难题:让你的显示效果精准一致的显示优化方案
3步解决多显示器DPI调节难题:让你的显示效果精准一致的显示优化方案 【免费下载链接】SetDPI 项目地址: https://gitcode.com/gh_mirrors/se/SetDPI 在现代办公环境中,多显示器配置已成为提升工作效率的标准选择,但随之而来的DPI缩放…...
基于MATLAB Robotics Toolbox的机械臂轨迹规划仿真与数据可视化分析
基于MATLAB Robotics Toolbox的机械臂轨迹规划仿真与数据可视化分析 摘要 机械臂轨迹规划是机器人学研究的核心问题之一,直接影响工业机器人的作业精度、运动平稳性和工作效率。本文以六自由度PUMA560型机械臂为研究对象,利用Peter Corke开发的Robotics Toolbox for MATLAB…...
Passbolt健康检查系统:10个关键步骤确保你的密码管理器正常运行
Passbolt健康检查系统:10个关键步骤确保你的密码管理器正常运行 【免费下载链接】passbolt_api Passbolt Community Edition (CE) API. The JSON API for the open source password manager for teams! 项目地址: https://gitcode.com/gh_mirrors/pa/passbolt_api…...
AI for Science新引擎:一文读懂符号计算的核心原理与实战指南
AI for Science新引擎:一文读懂符号计算的核心原理与实战指南 引言 在人工智能(AI)与科学研究(Science)深度融合的浪潮中,符号计算正从幕后走向台前,成为解决科学发现、工程优化等复杂问题的关…...
降低OpenClaw Token消耗的三大实战策略,省钱后随便花,再也不用担心不够了
让AI“跑得更快、花得更少”:OpenClaw降本增效的终极实战手册 想象一下,你雇佣了一位才华横溢、但收费高昂的顶尖顾问。每次咨询,你都不厌其烦地把过去一整年的会议记录、所有项目文档、甚至茶水间的闲聊纪要都一股脑儿塞给他,然…...
IwrQk实战指南:跨平台Iwara视频社区客户端从安装到精通
IwrQk实战指南:跨平台Iwara视频社区客户端从安装到精通 【免费下载链接】iwrqk Unofficial Iwara Flutter Client 项目地址: https://gitcode.com/gh_mirrors/iw/iwrqk IwrQk是一款基于Flutter开发的跨平台Iwara视频社区客户端,专为技术爱好者和普…...
如何快速获取B站直播推流码:摆脱直播姬限制的终极指南
如何快速获取B站直播推流码:摆脱直播姬限制的终极指南 【免费下载链接】bilibili_live_stream_code 用于在准备直播时获取第三方推流码,以便可以绕开哔哩哔哩直播姬,直接在如OBS等软件中进行直播,软件同时提供定义直播分区和标题功…...
本地化AI字幕解决方案:Qwen3-ForcedAligner支持多格式音频
本地化AI字幕解决方案:Qwen3-ForcedAligner支持多格式音频 1. 引言:本地化字幕生成的新选择 在视频内容创作和多媒体处理领域,字幕生成一直是个耗时费力的工作。传统手动添加字幕不仅效率低下,时间轴对齐的精度也难以保证。Qwen…...
BilibiliDown新手入门指南:如何轻松下载B站视频资源
BilibiliDown新手入门指南:如何轻松下载B站视频资源 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/…...
Windows 11硬件限制终极解决方案:MediaCreationTool.bat完整部署指南
Windows 11硬件限制终极解决方案:MediaCreationTool.bat完整部署指南 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool…...
