DBshop 短信接口修改
DBshop短信接口修改,56短信插件目前适用于市场上所有的商城、CMS、手机APP、网站等,无论您的程序是那个版本,您在修改中或调到短信接口中遇到问题可以随时联系我们技术人员,微信QQ:826585910,我们将为您提供免费的技术支持,如果您对代码不懂,可以联系我们技术人员帮您免费接入调试。
接入说明
1.后台-系统管理-消息提醒设置-手机短信提醒设置,类型选择56短信网,填写56短信网账号和密码
2.后台-系统设置-验证码设置-启用注册需要验证码
3.后台-客户设置-注册与登陆 启用电话号码
4.Linux环境请设置插件文件的读写权限(777)
5.核心代码如下,路径:\dbshop\module\Email\src\Email\Service\SendPhoneSms.php
public function toSendSms($data, $user_phone, $phone_template='', $user_id = '') {
// //判断是否存在
// if(!isset($this->smsConfig['shop_phone_sms']['phone_sms_type']) or !isset($this->smsConfig['shop_phone_sms'][$phone_template])) return false;
// //判断是否开启了手机短信服务功能,如果未开启则不进行操作
// if($this->smsConfig['shop_phone_sms']['phone_sms_type'] == '' or $this->smsConfig['shop_phone_sms'][$phone_template] == '') return false;
//判断是否存在,手机是否开启了短信服务功能,如果不存在未开启则不进行操作
if (!isset($this->smsConfig['shop_phone_sms']['phone_sms_type']) or $this->smsConfig['shop_phone_sms']['phone_sms_type'] == '') return false;
$user_phone = !empty($user_phone) ? (is_array($user_phone) ? implode(',', $user_phone) : $user_phone) : '';
if ($this->smsConfig['shop_phone_sms']['phone_sms_type'] == 'ihuyi') {
if(!isset($this->smsConfig['shop_phone_sms'][$phone_template['ihuyi']]) or $this->smsConfig['shop_phone_sms'][$phone_template['ihuyi']] == '') return false;
if(!empty($this->smsConfig['shop_phone_sms']['admin_phone'])) {
if($phone_template['ihuyi'] == 'ihuyi_submit_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_submit_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
if($phone_template['ihuyi'] == 'ihuyi_payment_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_payment_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
if($phone_template['ihuyi'] == 'ihuyi_ship_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_ship_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
if($phone_template['ihuyi'] == 'ihuyi_finish_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_finish_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
if($phone_template['ihuyi'] == 'ihuyi_cancel_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_cancel_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
}
if(empty($user_phone)) return false;
$user_phone = is_array($user_phone) ? implode(',', $user_phone) : $user_phone;
$smsJson = $this->createIhuyiArray($data);
// var_dump($this->smsConfig['shop_phone_sms'][$phone_template['ihuyi']]);exit;
$tempdata = $this->smsConfig['shop_phone_sms'][$phone_template['ihuyi']];
foreach ($smsJson as $key => $value )
{
$tempdata = str_replace(trim($key), trim($value), $tempdata);
};
$content = $tempdata;
$result = array(
"1"=>"发送成功",
"-5"=>"余额不足",
"-21"=>"加签名",
"42"=>"帐号过期"
);
$url = 'http://jiekou.56dxw.com/sms/HttpInterfaceMore.aspx?username='.WSTConf("CONF.smsKey").'&userpwd='.WSTConf("CONF.smsPass").'&handtel='.$phoneNumer.'&sendtime=&smsnumber=10690&sendcontent='.$content;
$ret = file_get_contents($url);
if ($ret == 0) {
return true;
}else{
return $result[$ret];
}
}else{
if(!isset($this->smsConfig['shop_phone_sms'][$phone_template['alidayu']]) or $this->smsConfig['shop_phone_sms'][$phone_template['alidayu']] == '') return false;
if(!empty($this->smsConfig['shop_phone_sms']['admin_phone'])) {
if($phone_template['alidayu'] == 'alidayu_submit_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_submit_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
if($phone_template['alidayu'] == 'alidayu_payment_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_payment_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
if($phone_template['alidayu'] == 'alidayu_ship_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_ship_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
if($phone_template['alidayu'] == 'alidayu_finish_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_finish_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
if($phone_template['alidayu'] == 'alidayu_cancel_order_template_id' && $this->smsConfig['shop_phone_sms']['admin_cancel_order_phone_message'] == 1) $user_phone = !empty($user_phone) ? $user_phone.','.$this->smsConfig['shop_phone_sms']['admin_phone'] : $this->smsConfig['shop_phone_sms']['admin_phone'];
}
if(empty($user_phone)) return false;
$smsJson = $this->createSmsArray($data);
//$user_phone = is_array($user_phone) ? implode(',', $user_phone) : $user_phone;
include(DBSHOP_PATH . '/vendor/alibaba/dayu/TopSdk.php');
$c = new \TopClient();
$c->appkey = $this->smsConfig['shop_phone_sms']['alidayu_app_key'];
$c->secretKey = $this->smsConfig['shop_phone_sms']['alidayu_app_secret'];
$req = new \AlibabaAliqinFcSmsNumSendRequest();
$req->setExtend($user_id);
$req->setSmsType('normal');
$req->setSmsFreeSignName($this->smsConfig['shop_phone_sms']['alidayu_sign_name']);
$req->setSmsParam($smsJson);
$req->setRecNum($user_phone);
$req->setSmsTemplateCode($this->smsConfig['shop_phone_sms'][$phone_template]);
$resp = $c->execute($req);
}
}