<?php // +---------------------------------------------------------------------- // | Think.Admin // +---------------------------------------------------------------------- // | 版权所有 2016~2017 广州楚才信息科技有限公司 [ http://www.cuci.cc ] // +---------------------------------------------------------------------- // | 官方网站: http://think.ctolog.com // +---------------------------------------------------------------------- // | 开源协议 ( https://mit-license.org ) // +---------------------------------------------------------------------- // | github开源项目:https://github.com/zoujingli/Think.Admin // +---------------------------------------------------------------------- namespace library; use think\Db; use think\Log; /** * 助通短信接口(旧版API) * * @package library * @author Anyon <zoujingli@qq.com> * @date 2016/11/15 10:01 */ class Sms { /** * 接口URI地址 * @var string */ protected $uri = 'http://www.ztsms.cn:8800/sendSms.do'; /** * 短信内容 * @var string */ protected $content; /** * 发送短信 * @param string $mobile * @return bool */ public function send($mobile) { $data = $this->createPack($mobile, $this->content); $result = Http::get($this->uri, $data); $data['status'] = $result; $data['create_by'] = get_user_id(); Db::table('system_sms_history')->insert($data); list($status, $msg) = explode(',', "{$result},-1"); if ($status === '1') { return TRUE; } Log::error("给[{$mobile}]短信发送失败,{$msg}"); return FALSE; } /** * 内容模板数据解析 * @param string $tpl 短信模板内容 * @param array $data 短信模板值 * @return $this */ public function render($tpl, $data) { $content = !sysconf($tpl) ? $tpl : sysconf($tpl); foreach ($data as $key => $value) { $content = str_replace("{{$key}}", $value, $content); } $this->content = $content; return $this; } /** * 创建短信接口数据 * @param string $mobile * @param string $content * @return array */ protected function createPack($mobile, $content) { $data = array(); $data['username'] = sysconf('sms_username'); $data['password'] = md5(sysconf('sms_password')); $data['mobile'] = $mobile; $data['content'] = $content; $data['productid'] = sysconf('sms_product'); return $data; } }