123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- <?php
- namespace app\api\controller;
- use AlibabaCloud\Client\AlibabaCloud;
- use AlibabaCloud\Client\Exception\ClientException;
- use AlibabaCloud\Client\Exception\ServerException;
- use app\common\model\StoreBanner;
- use app\common\model\UserLevel;
- use app\common\model\UserTrack;
- use think\Db;
- /**
- * @title 不需要验证token接口(商品列表等)
- * @controller Expedite
- * @package app\api\controller
- */
- class Expedite extends Base
- {
- public function initialize(){
- parent::initialize();
- parent::setUid();
- }
- /**
- * @title 获取首页轮播图
- * @desc 获取首页轮播图
- * @author qc
- * @url /api/Expedite/getBanner
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @param name:place type:int default:1 desc:展示位置1视频首页
- * @param name:num type:int default:5 desc:查询数量
- * @return name:cover type:srting default:-- desc:图片路径
- * @return name:link type:srting default:-- desc:链接
- */
- public function getBanner()
- {
- $num = input('get.num',5);
- $place = input('get.place',1);
- $list = StoreBanner::field('id,cover,link')
- ->where(['is_deleted'=>0,'place'=>$place])->limit(0,$num)
- ->order('sort desc ,id desc')->select()->toArray();
- $this->success('ok',['list'=>$list]);
- }
- /**
- * @title 获取会员等级设置
- * @desc 获取会员等级设置
- * @author qc
- * @url /api/Expedite/getUserLevelSet
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @return name:id type:int default:-- desc:等级id
- * @return name:name type:string default:-- desc:等级名称
- * @return name:logo type:string default:-- desc:图片
- * @return name:price type:array default:-- desc:价格设置【为空,,不能购买】
- * @return name:price.title type:string default:-- desc:标题
- * @return name:price.time type:string default:-- desc:时间(单位月)
- * @return name:price.price type:float default:-- desc:价格
- */
- public function getUserLevelSet()
- {
- $list = UserLevel::field('id,logo,name,price')->where("price is not null and price != ''")->select()->toArray();
- $this->success('ok',['list'=>$list]);
- }
- /**
- * @title 发送短信验证码
- * @desc 发送短信验证码
- * @author qc
- * @url /api/General/sendSms
- * @method POST
- * @tag 短信验证码
- * @param name:phone type:int require:1 default:-- desc:要获取验证码的手机号
- * @return name:code type:string default:-- desc:验证码
- */
- public function sendSms(){
- $phone = input('post.phone');
- if(empty($phone)) $this ->error('参数错误');
- $code = rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9);
- AlibabaCloud::accessKeyClient('LTAI5tEEfowhMkLu8auo6n6G', 'ch94CL3TEwNAxXNREweZl3gfk8jQ84')
- ->regionId('cn-hangzhou')->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('Dysmsapi')
- ->version('2017-05-25')
- ->action('SendSms')
- ->method('POST')
- ->host('dysmsapi.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => "cn-hangzhou",
- 'PhoneNumbers' => $phone,
- 'SignName' => "康养食品",
- 'TemplateCode' => "SMS_241155218",
- 'TemplateParam' => json_encode(array("code"=>$code)),
- ],
- ])->request();
- $result = $result->toArray();
- if($result['Code'] == "OK") {
- $sms_data = array(
- 'phone'=>$phone,
- 'code'=>$code,
- 'result'=>$result['Message']
- );
- Db::name('store_member_sms')->insert($sms_data);
- $this->success('发送成功',$code);
- }else{
- $this->error('发送失败');
- }
- } catch (ClientException $e) {
- echo $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- echo $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**
- * @title 发送邮箱验证码
- * @desc 发送邮箱验证码
- * @author qc
- * @url /api/General/emailSms
- * @method POST
- * @tag 邮箱验证码
- * @param name:email type:int require:1 default:-- desc:邮箱
- * @return name:code type:string default:-- desc:验证码
- */
- function emailSms(){
- $email = input('post.email');
- $code = rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9);
- require_once env('root_path').'/vendor/aliyunmail/aliyun-php-sdk-core/Config.php';
- //需要设置对应的region名称,如华东1(杭州)设为cn-hangzhou,新加坡Region设为ap-southeast-1,澳洲Region设为ap-southeast-2。
- $iClientProfile = \DefaultProfile::getProfile("ap-southeast-1", "LTAI5tA1MvqQFWkFRnsaqeoV", "rF6loLdOxFF8FQJtjD4TQKhBGR3WY0");
- $iClientProfile::addEndpoint("ap-southeast-1","ap-southeast-1","Dm","dm.ap-southeast-1.aliyuncs.com");
- $client = new DefaultAcsClient($iClientProfile);
- $request = new Dm\SingleSendMailRequest();
- $request->setAccountName("mmg@daydayu.com");
- $request->setFromAlias("[Seek Yeah]");
- $request->setAddressType(1);
- $request->setTagName("DayDayU");
- $request->setReplyToAddress("true");
- $request->setToAddress($email);
- $request->setSubject("[Seek Yeah]验证码");
- $html_body = '验证码:'.$code;
- $request->setHtmlBody($html_body);
- try {
- $client->getAcsResponse($request);
- $sms_data = array(
- 'phone'=>$email,
- 'code'=>$code,
- 'result'=>'OK'
- );
- Db::name('store_member_sms')->insert($sms_data);
- $this->success('发送成功');
- } catch (ClientException $e) {
- $this->error($e->getErrorMessage());
- // print_r($e->getErrorCode());
- // print_r($e->getErrorMessage());
- } catch (ServerException $e) {
- $this->error($e->getErrorMessage());
- // print_r($e->getErrorCode());
- // print_r($e->getErrorMessage());
- }
- }
- }
|