freeliver54

[转]人人店短信插件开发

本文转自:https://blog.csdn.net/mindev/article/details/75088344

人人商城是一款针对的移动端购物消费的微信商城管理系统。它不仅能为您提供专业可靠的技术支持,还能完美适配企业商用。可添加多个公众号使用,具有强大的自定义功能,让您拥有个性化商城。本人对该系统还是比较熟悉的,今天我就来分享一下,如何进行二次开发。我以替换短信接口为例,一步一步的手把手教大家开发过程。

短信接口使用的是短信宝短信平台的短信接口,小伙伴一定会问为什么使用短信宝作为案例呢?原因很简单,因为短信宝的平台极其稳定,而且短信发送速度相当快捷,验证码和订单通知在3~5秒就能收到,用户体验非常好,所以我们公司一直和短信宝保持着合作关系,小伙伴们也可以去短信宝的官网(http://www.smsbao.com)注册一个账号,还有免费的短信条数送呢。

接下来我就说一下开发步骤: 1。先打开项目/core/com/sms.php文件,添加短信宝的发送接口代码:

<?php
if (!defined(\'IN_IA\')) 
{
    exit(\'Access Denied\');
}
class Sms_EweiShopV2ComModel extends ComModel 
{
    public function send($mobile, $tplid, $data, $replace = true) 
    {
        global $_W;
        $smsset = $this->sms_set();
        $template = $this->sms_verify($tplid, $smsset);
        if (empty($template[\'status\'])) 
        {
            return $template;
        }
        $params = $this->sms_data($template[\'type\'], $data, $replace, $template);
        if ($template[\'type\'] == \'juhe\') 
        {
            $data = array(\'mobile\' => $mobile, \'tpl_id\' => $template[\'smstplid\'], \'tpl_value\' => $params, \'key\' => $smsset[\'juhe_key\']);
            $result = $this->http_post(\'http://v.juhe.cn/sms/send\', $data);
            if (empty($result) || (0 < $result[\'error_code\'])) 
            {
                return array(\'status\' => 0, \'message\' => \'短信发送失败(\' . $result[\'error_code\'] . \'):\' . $result[\'reason\']);


            }
        }

        if ($template[\'type\'] == \'smsbao\') {


            $results = array(
                    \'30\' => \'密码错误\',
                    \'40\' => \'账号不存在\',
                    \'41\' => \'余额不足\',
                    \'42\' => \'帐号过期\',
                    \'43\' => \'IP地址限制\',
                    \'50\' => \'内容含有敏感词\',
                    \'51\' => \'手机号码不正确\'
                );

            $url = \'http://api.smsbao.com/sms?u=\'.$smsset[\'smsbao_key\'].\'&p=\'.md5($smsset[\'smsbao_secret\']).\'&m=\'.$mobile.\'&c=\'.\'【\'.$smsset[\'smsbao_sign\'].\'】\'.$params;

            $res = file_get_contents($url);

            if ($res != 0) {
                return array(\'status\' => $res, \'message\' => $results[$res]);
            }

        }

        if ($template[\'type\'] == \'dayu\') 
        {
                    include_once EWEI_SHOPV2_VENDOR . \'dayu/TopSdk.php\';
                    $dayuClient = new TopClient();
                    $dayuClient->appkey = $smsset[\'dayu_key\'];
                    $dayuClient->secretKey = $smsset[\'dayu_secret\'];
                    $dayuRequest = new AlibabaAliqinFcSmsNumSendRequest();
                    $dayuRequest->setSmsType(\'normal\');
                    $dayuRequest->setSmsFreeSignName($template[\'smssign\']);
                    $dayuRequest->setSmsParam($params);
                    $dayuRequest->setRecNum(\'\' . $mobile);
                    $dayuRequest->setSmsTemplateCode($template[\'smstplid\']);
                    $dayuResult = $dayuClient->execute($dayuRequest);
                    $dayuResult = (array) $dayuResult;
                    if (empty($dayuResult) || !empty($dayuResult[\'code\'])) 
                    {
                        return array(\'status\' => 0, \'message\' => \'短信发送失败(\' . $dayuResult[\'sub_msg\'] . \'/code: \' . $dayuResult[\'code\'] . \'/sub_code: \' . $dayuResult[\'sub_code\'] . \')\');

                    }
        }



        if ($template[\'type\'] == \'emay\') 
        {
                            include_once EWEI_SHOPV2_VENDOR . \'emay/SMSUtil.php\';
                            $balance = $this->sms_num(\'emay\', $smsset);
                            if ($balance <= 0) 
                            {
                                return array(\'status\' => 0, \'message\' => \'短信发送失败(亿美软通余额不足, 当前余额\' . $balance . \')\');
                            }
                            $emayClient = new SMSUtil($smsset[\'emay_url\'], $smsset[\'emay_sn\'], $smsset[\'emay_pw\'], $smsset[\'emay_sk\'], array(\'proxyhost\' => $smsset[\'emay_phost\'], \'proxyport\' => $smsset[\'pport\'], \'proxyusername\' => $smsset[\'puser\'], \'proxypassword\' => $smsset[\'ppw\']), $smsset[\'emay_out\'], $smsset[\'emay_outresp\']);
                            $emayResult = $emayClient->send($mobile, \'【\' . $template[\'smssign\'] . \'】\' . $params);
                            if (!empty($emayResult)) 
                            {
                                return array(\'status\' => 0, \'message\' => \'短信发送失败(错误信息: \' . $emayResult . \')\');
                            }
        }



        return 

分类:

技术点:

相关文章: