ecshop提供的短信接口是哪个文件

ecshop提供的短信接口是哪个文件,第1张

ecshop短信发送功能分析

ecshop短信发送功能属于ecshop的一大亮点。我们在对ecshop二次开发的过程中。常常会对ecshop的短信接口进行处理。甚至是修改ecshop 短信发送核心库文件.那么ecshop短信发送功能的的具体原理和处理机制是什么呢。我们腊丛册将结合ecshop后台和前台代码。来谈谈ecshop 短信发送功能轮宏.

  我们进入ecshop后台。系统设置里面。有个短信设置,可以设置商郑简户的手机号码.以及发送短信的控制流程。这个设置信息记录在ecshop数据库shop_config表中。里面的字段分别为.sms_shop_mobile,sms_order_placed,sms_order_payed,sms_order_shipped.三个参数分别表示下单,付款和发货时候是否发送短信息给客户。

  ecshop短信系统,主要分布在上面说的几个状态中。我们不可能意义的列举该功能。我们将结合购物车中的代码flow.php来谈谈.

首先在下单的done动作中。我们将看到以下代码.

if ($_CFG['sms_order_placed'] == '1' &&$_CFG['sms_shop_mobile'] != '')

{

include_once('includes/cls_sms.php')

$sms = new sms()

$msg = $order['pay_status'] == PS_UNPAYED ?

$_LANG['order_placed_sms'] : $_LANG['order_placed_sms'] . '[' . $_LANG['sms_paid'] . ']'

$sms->send($_CFG['sms_shop_mobile'], sprintf($msg, $order['consignee'], $order['tel']), 0)

}

这里代码告诉我们.通过获取$_CFG中的配置信息来判断,是否给客户发信息。然后通过调用includes/cls_sms.php这个短信api接口来发送短信.首先声明了一个$sms对象.这个对象有个方法send()方法.

 以下是ecshop短信系统send()函数的函数说明。

/**

* 发送短消息

*

* @access public

* @param string $phone 要发送到哪些个手机号码,多个号码用半角逗号隔开

* @param string $msg发送的消息内容

* @param string $send_date 定时发送时间

* @return boolean 发送成功返回true,失败返回false。

*/

function send($phone, $msg, $send_date = '', $send_num = 1)

所有的ecshop调用短信息发送的地方。都是通过这个方法来实现的。我们当然可以结合ecshop的一些使用需求.

标题上加了Ecshop,其实也只是个噱头,增加搜索量而已,本文写的内容并不局限于Ecshop上。API接口,通咐乱常是供移动APP端调用的,制作api的前提是必须对业务逻辑和代码逻辑十分熟悉了,不然可能会事倍功半,甚至是中途夭折。

首先制作的语言仍旧是PHP,API的返回数据用的是JSON,没有用XML,为什么要用JSON而不用XML,这个问题,懂的人自然懂。先来创建JSON的model。

// 描述:内部使用API JSON类

// 名称:json

// 作者:tiandi

// 版本:0.0.1

// 生成时间:2015.4.23

// 修订时间:2015.4.23

class json {

// status : string : 状态码

// msg : string : 说明

// content: array : 内容

var $status

var $msg

var $content

function json(){

}

function set_status($status) {

$this->status = $status

}

function set_msg($msg) {

$this->msg = $msg

}

function set_content($content) {

$this->content = $content

}

function create_json() {

$arr = array()

$arr['api_status'] = $this->status

$arr['api_msg'] = $this->msg

if($arr['api_status'] == '0') {

array_unshift($this->content,$arr)

echo urldecode(json_encode($this->content))

}

else

{

echo urldecode(json_encode($arr))

}

}

function check_env($request){

//check appid

if(!isset($request['appid'])) {

$this->set_status("99")

$this->set_msg("Need appid.")

echo $this->create_json()

exit

}

elseif(!$this->compare($request['appid'],MY_APPID)) {

$this->set_status("98")

$this->set_msg("Appid is invalid.")

echo $this->create_json()

exit

}

//check timestamp

elseif(!isset($request['timestamp'])) {

$this->set_status("97")

$this->set_msg("Need timestamp.")

echo $this->create_json()

exit

}

//check sign

elseif(!isset($request['sign'])) {

$this->set_status("96")

$this->set_msg("Need sign.")

echo $this->create_json()

exit

}

elseif(!$this->compare($request['sign'],$this->饥碧create_sign($request))) {

$this->set_status("95")

$this->set_msg("Sign is invalid.")

echo $this->create_json()

exit

}

}

function compare($str1,$str2) {

if($str1 == "'".$str2."'" || $str1 == $str2 || "'".$str1."'" == $str2)

return true

else

return false

}

/************************** 生成签名 ***************************/

function create_sign($request) {

//签名方法衡肢档

}

然后用下面方法生成json接口数据,$arr为数据库查询返回的数组。

$json->set_status("0")

$json->set_msg("success")

$json->set_content($arr)

$json->create_json()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12201395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存