微信挪车(weliam_shiftcar)是一款基于微信展示、营销推广和互动成交的产品体系软件,通过“微信挪车”,可以很方便的查询违章信息,和通知车主挪车。
今天我就来分享一下,如何进行二次开发,我以替换短信接口为例,一步步的教大家如何开发,我们做演示的是我们短信宝短信群发平台,我们短信宝短信群发平台发送速度快,非常稳定,注册就送测试短信,推荐大家使用。
进行接口替换我们首先要替换后台的显示文件,因为需要修改的文件太多,小编这里就不写了,我会在下面附上代码连接,大家可以点击下载进行查看 http://www.smsbao.com/download/微信挪车-html.zip
后台的显示文件修改完成,我们来修改违章通知短信的代码文件,在项目/core/class/api.class.php文件,将如下代码进行覆盖:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 
						22 
						23 
						24 
						25 
						26 
						27 
						28 
						29 
						30 
						31 
						32 
						33 
						34 
						35 
						36 
						37 
						38 
						39 
						40 
						41 
						42 
						43 
						44 
						45 
						46 
						47 
						48 
						49 
						50 
						51 
						52 
						53 
						54 
						55 
						56 
						57 
						58 
						59 
						60 
						61 
						62 
						63 
						64 
						65 
						66 
						67 
						68 
						69 
						70 
						71 
						72 
						73 
						74 
						75 
						76 
						77 
						78 
						79 
						80 
						81 
						82 
						83 
						84 
						85 
						86 
						87 
						88 
						89 
						90 
						91 
						92 
						93 
						94 
						95 
						96 
						97 
						98 
						99 
						100 
						101 
						102 
						103 
						104 
						105 
						106 
						107 
						108 
						109 
						110 
						111 
						112 
						113 
						114 
						115 
						116 
						117 
						118 
						119 
						120 
						121 
						122 
						123 
						124 
						125 
						126 
						127 
						128 
						129 
						130 
						131 
						132 
						133 
						134 
						135 
						136 
						137 
						138 
						139 
						140 
						141 
						142 
						143 
						144 
						145 
						146 
						147 
						148 
						149 
						150 
						151 
						152 
						153 
						154 
						155 
						156 
						157 
						158 
						159 
						160 
						161 
						162 
						163 
						164 
						165 
						166 
						167 
						168 
						169 
						170 
						171 
						172 
						173 
						174 
						175 
						176 
						177 
						178 
						179 
						180 
						181 
						182 
						183 
						184 
						185 
						186 
						187 
						188 
						189 
						190 
						191 
						192 
						193 
						194 
						195 
						196 
						197 
						198 
						199 
						200 
						201 
						202 
						203 
						204 
						205 
						206 
						207 
						208 
						209 
						210 
						211 
						212 
						213 
						214 
						215 
						216 
						217 
						218 
						219 
						220 
						221 | <?phpclassapi{    //违章提醒发送短信    staticfunctionsend_sys_sms($carmember, $controller, $message, $data)    {        global$_W;        $getlistFrames= 'get_'. $controller. '_param';        $param= self::$getlistFrames($carmember, $data);        if($param['type']=='smsbao'){            $uid= $_W['wlsetting']['api']['smsbao_id'];            $pass= $_W['wlsetting']['api']['smsbao_secret'];            $sign= $_W['wlsetting']['api']['smsbao_sign'];            $url= 'http://api.smsbao.com/sms?u='.$uid.'&p='.md5($pass).'&m='.$carmember['mobile'].'&c=【'.$sign.'】'.$param['data']['sms_tpl_value'];            $result= file_get_contents($url);              if($result== 0) {                echo$result;                self::create_apirecord(-1, '', $carmember['id'], $carmember['mobile'], 2, $message);                returnarray(                    "result"=> 1                );            } else{                echo$result;                die(json_encode(array(                    "result"=> 2,                    "msg"=> $res['sub_msg']                )));            }        }elseif($param['type'] == 'ytx') {            include_once(WL_CORE . "class/CCPRestSDK.class.php");            $accountSid= $_W['wlsetting']['api']['yun_accountsid'];            $accountToken= $_W['wlsetting']['api']['yun_authtoken'];            $appId= $_W['wlsetting']['api']['yun_appid'];            $serverIP= 'app.cloopen.com';            $serverPort= '8883';            $softVersion= '2013-12-26';            $rest= newREST($serverIP, $serverPort, $softVersion);            $rest->setAccount($accountSid, $accountToken);            $rest->setAppId($appId);            $result= $rest->sendTemplateSMS($carmember['mobile'], array_values($param['data']), $param['code']);            if($result== NULL) {                die(json_encode(array(                    "result"=> 2,                    "msg"=> '短信通知发送失败'                )));            }            if($result->statusCode != 0) {                die(json_encode(array(                    "result"=> 2,                    "msg"=> $result->statusCode . $result->statusMsg                )));            } else{                self::create_apirecord(-1, '', $carmember['id'], $carmember['mobile'], 2, $message);                returnarray(                    "result"=> 1                );            }        } else{            $title= !empty($_W['wlsetting']['api']['dy_qm']) ? $_W['wlsetting']['api']['dy_qm'] : $_W['wlsetting']['base']['name'];            m('topclient')->appkey    = $_W['wlsetting']['api']['dx_appid'];            m('topclient')->secretKey = $_W['wlsetting']['api']['dx_secretkey'];            m('smsnum')->setSmsType("normal");            m('smsnum')->setSmsFreeSignName($title);            m('smsnum')->setSmsParam(json_encode($param['data']));            m('smsnum')->setRecNum($carmember['mobile']);            m('smsnum')->setSmsTemplateCode($param['code']);            $resp= m('topclient')->execute(m('smsnum'), '6100e23657fb0b2d0c78568e55a3031134be9a3a5d4b3a365753805');            $res= object_array($resp);            if($res['result']['success'] == 1) {                self::create_apirecord(-1, '', $carmember['id'], $carmember['mobile'], 2, $message);                returnarray(                    "result"=> 1                );            } else{                die(json_encode(array(                    "result"=> 2,                    "msg"=> $res['sub_msg']                )));            }        }    }    //违章提醒发送语音    staticfunctionsend_yy_sms($carmember, $controller, $message, $data)    {        global$_W;        $getlistFrames= 'get_'. $controller. '_param';        $param= self::$getlistFrames($carmember, $data, 2);        m('topclient')->appkey    = $_W['wlsetting']['api']['dx_appid'];        m('topclient')->secretKey = $_W['wlsetting']['api']['dx_secretkey'];        m('singlecall')->setCalledNum($carmember['mobile']);        m('singlecall')->setCalledShowNum($_W['wlsetting']['api']['dy_yynum']);        m('singlecall')->setTtsParam(json_encode($param['data']));        m('singlecall')->setTtsCode($param['code']);        $resp= m('topclient')->execute(m('singlecall'), "6100e23657fb0b2d0c78568e55a3031134be9a3a5d4b3a365753805");        $res= object_array($resp);        if($res['result']['success'] == 1) {            self::create_apirecord(-1, '', $carmember['id'], $carmember['mobile'], 3, $message);            returnarray(                "result"=> 1            );        } else{            die(json_encode(array(                "result"=> 2,                "msg"=> $res['sub_msg']            )));        }    }    staticfunctioncreate_apirecord($sendmid, $sendmobile= '', $takemid, $takemobile, $type, $remark)    {        global$_W;        $data= array(            'uniacid'=> $_W['uniacid'],            'sendmid'=> $sendmid,            'sendmobile'=> $sendmobile,            'takemid'=> $takemid,            'takemobile'=> $takemobile,            'type'=> $type,            'remark'=> $remark,            'createtime'=> time()        );        pdo_insert('weliam_shiftcar_apirecord', $data);    }    staticfunctionget_pecc_param($carmember, $pecc, $type= 1)    {        global$_W;        if($type== 1) {            $sms_tpl= pdo_get('weliam_shiftcar_smstpl', array(                'id'=> $_W['wlsetting']['pecc']['dx_tz']            ), array(                'smstplid',                'data',                'type'            ));        } else{            $sms_tpl= pdo_get('weliam_shiftcar_smstpl', array(                'id'=> $_W['wlsetting']['pecc']['yy_tz']            ), array(                'smstplid',                'data',                'type'            ));        }        $data= unserialize($sms_tpl['data']);        $datas= array(            array(                'name'=> '违章时间',                'value'=> date("Y-m-d H:i:s", $pecc['acttime'])            ),            array(                'name'=> '违章地点',                'value'=> $pecc['address']            ),            array(                'name'=> '违章内容',                'value'=> $pecc['info']            ),            array(                'name'=> '扣分',                'value'=> $pecc['fen']            ),            array(                'name'=> '罚款',                'value'=> $pecc['money']            ),            array(                'name'=> '车主手机号',                'value'=> $carmember['mobile']            ),            array(                'name'=> '车主昵称',                'value'=> $carmember['nickname']            ),            array(                'name'=> '车牌',                'value'=> $pecc['hphm']            ),            array(                'name'=> '系统版权',                'value'=> $_W['wlsetting']['base']['copyright']            ),            array(                'name'=> '系统名称',                'value'=> $_W['wlsetting']['base']['name']            )        );        if($sms_tpl['type']=='smsbao'){            //如果是短信宝,直接替换模板中的变量            $param['sms_tpl_value'] = self::replaceTemplate($sms_tpl['smstplid'], $datas);        }else{            foreach($dataas$d) {                $param[$d['data_temp']] = self::replaceTemplate($d['data_shop'], $datas);            }        }        returnarray(            'data'=> $param,            'code'=> $sms_tpl['smstplid'],            'type'=> $sms_tpl['type']        );    }    staticfunctionreplaceTemplate($str, $datas= array())    {        foreach($datasas$d) {            $str= str_replace('【'. $d['name'] . '】', $d['value'], $str);        }        return$str;    }}?> | 
接下来修改项目/core/class/model_pecc.class.php文件,这个是查询违章行为的文件,我们修改里面的查询方法,小编使用的是极速查询所以就修改jusu_save方法,修改代码如下:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 
						22 
						23 
						24 
						25 
						26 
						27 
						28 
						29 
						30 
						31 
						32 
						33 
						34 
						35 
						36 
						37 
						38 
						39 
						40 
						41 
						42 
						43 
						44 
						45 
						46 
						47 
						48 
						49 
						50 
						51 
						52 
						53 
						54 
						55 
						56 
						57 
						58 
						59 
						60 
						61 
						62 
						63 
						64 
						65 
						66 
						67 
						68 
						69 
						70 
						71 | staticfunctionjusu_save($jsonarr, $member, $status= 1)    {        global$_W;        if($jsonarr['status'] == 0) {            $result= $jsonarr['result'];            if(is_array($result)) {                foreach($result['list'] as$key=> $value) {                    $p_time= strtotime($value['time']);                    $re_id= pdo_getcolumn('weliam_shiftcar_peccrecord', array(                        'mid'=> $member['id'],                        'uniacid'=> $_W['uniacid'],                        'acttime'=> $p_time                    ), 'id');                    if(empty($re_id)) {                        $data= array(                            'mid'=> $member['id'],                            'uniacid'=> $_W['uniacid'],                            'hphm'=> $member['plate1'] . $member['plate2'] . $member['plate_number'],                            'acttime'=> $p_time,                            'status'=> 0,                            'address'=> $value['address'],                            'code'=> $value['legalnum'],                            'info'=> $value['content'],                            'fen'=> $value['score'],                            'money'=> $value['price'],                            'content'=> serialize($value),                            'createtime'=> time()                        );                        if(pdo_insert('weliam_shiftcar_peccrecord', $data)) {                            $pe_id= pdo_insertid();                            if($status== 2) {                                pdo_insert('weliam_shiftcar_waitmessage', array(                                    'uniacid'=> $_W['uniacid'],                                    'type'=> 1,                                    'str'=> $pe_id                                ));                            }                        }                    }                }                pdo_update('weliam_shiftcar_member', array(                    'tasktime'=> time()                ), array(                    'id'=> $member['id']                ));                return1;            }            pdo_update('weliam_shiftcar_member', array(                'tasktime'=> time()            ), array(                'id'=> $member['id']            ));            return2;        } else{            pdo_insert('weliam_shiftcar_error', array(                'uniacid'=> $_W['uniacid'],                'type'=> 2,                'data'=> serialize($jsonarr),                'createtime'=> time()            ));            pdo_update('weliam_shiftcar_member', array(                'tasktime'=> time()            ), array(                'id'=> $member['id']            ));            returnarray(                'status'=> 3,                'msg'=> $jsonarr['msg']            );        }    } | 
违章短信修改完成后,我们修改通知短信和身份验证短信的发送代码,项目/core/model/api.mod.php文件,修改send_authmsg方法和send_smsnotice方法,修改代码如下:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 
						22 
						23 
						24 
						25 
						26 
						27 
						28 
						29 
						30 
						31 
						32 
						33 
						34 
						35 
						36 
						37 
						38 
						39 
						40 
						41 
						42 
						43 
						44 
						45 
						46 
						47 
						48 
						49 
						50 
						51 
						52 
						53 
						54 
						55 
						56 
						57 
						58 
						59 
						60 
						61 
						62 
						63 
						64 
						65 
						66 
						67 
						68 
						69 
						70 
						71 
						72 
						73 
						74 
						75 
						76 
						77 
						78 
						79 
						80 
						81 
						82 
						83 
						84 
						85 
						86 
						87 
						88 
						89 
						90 
						91 
						92 
						93 
						94 
						95 
						96 
						97 
						98 
						99 
						100 
						101 
						102 
						103 
						104 
						105 
						106 
						107 
						108 
						109 
						110 
						111 
						112 
						113 
						114 
						115 
						116 
						117 
						118 
						119 
						120 
						121 
						122 
						123 
						124 
						125 
						126 
						127 
						128 
						129 
						130 
						131 
						132 
						133 
						134 
						135 
						136 
						137 
						138 
						139 
						140 
						141 
						142 
						143 
						144 
						145 
						146 
						147 
						148 
						149 
						150 
						151 
						152 
						153 
						154 
						155 
						156 
						157 
						158 
						159 
						160 
						161 
						162 
						163 
						164 
						165 
						166 
						167 
						168 
						169 
						170 
						171 
						172 
						173 
						174 
						175 
						176 
						177 
						178 
						179 
						180 
						181 
						182 
						183 
						184 
						185 
						186 
						187 
						188 
						189 
						190 
						191 
						192 
						193 
						194 
						195 
						196 
						197 
						198 
						199 
						200 
						201 
						202 
						203 
						204 
						205 
						206 
						207 
						208 
						209 
						210 
						211 
						212 
						213 
						214 
						215 
						216 
						217 
						218 
						219 
						220 
						221 
						222 
						223 
						224 
						225 
						226 
						227 
						228 
						229 
						230 
						231 
						232 
						233 
						234 
						235 
						236 
						237 
						238 
						239 
						240 
						241 
						242 
						243 
						244 
						245 
						246 
						247 
						248 
						249 
						250 
						251 
						252 
						253 
						254 
						255 
						256 
						257 
						258 
						259 
						260 
						261 
						262 
						263 
						264 
						265 
						266 
						267 
						268 
						269 | functionsend_authmsg($mobile){    global$_W;    $code= rand(1000, 9999);    $title= !empty($_W['wlsetting']['base']['name']) ? $_W['wlsetting']['base']['name'] : '微信挪车';    if($_W['wlsetting']['api']['jtatus'] == 1){        $qm= !empty($_W['wlsetting']['api']['dy_qm']) ? $_W['wlsetting']['api']['dy_qm'] : '身份验证';        m('topclient')->appkey = $_W['wlsetting']['api']['dx_appid'];        m('topclient')->secretKey = $_W['wlsetting']['api']['dx_secretkey'];        m('smsnum')->setExtend($code);        m('smsnum')->setSmsType("normal");        m('smsnum')->setSmsFreeSignName($qm);        if($_W['wlsetting']['sms']['status'] == 2 && !empty($_W['wlsetting']['sms']['dy_sf'])){            $sms_tpl= pdo_get('weliam_shiftcar_smstpl',array('id'=> $_W['wlsetting']['sms']['dy_sf']),array('smstplid','data'));            $data= unserialize($sms_tpl['data']);            $datas= array(                array('name'=> '验证码', 'value'=> $code),                array('name'=> '系统版权', 'value'=> $_W['wlsetting']['base']['copyright']),                array('name'=> '系统名称', 'value'=> $title)            );            foreach($dataas$d) {                $param[$d['data_temp']] = replaceTemplate($d['data_shop'], $datas);            }            m('smsnum')->setSmsParam(json_encode($param));            m('smsnum')->setSmsTemplateCode($sms_tpl['smstplid']);        }else{            m('smsnum')->setSmsParam('{"code":"'.$code.'","product":"'.$title.'"}');            m('smsnum')->setSmsTemplateCode($_W['wlsetting']['api']['dy_sf']);        }        m('smsnum')->setRecNum($mobile);        $resp= m('topclient')->execute(m('smsnum'),'6100e23657fb0b2d0c78568e55a3031134be9a3a5d4b3a365753805');        $res= object_array($resp);        if($res['result']['success'] == 1){            //生成发送记录            create_apirecord(-1,'',$_W['mid'],$mobile,1,'阿里大于身份验证');            $cookie= array();            $cookie['mobile'] = $mobile;            $cookie['code'] = $code;            $session= base64_encode(json_encode($cookie));            isetcookie('__auth_session', $session, 600, true);            die(json_encode(array("result"=> 1)));         }else{            die(json_encode(array("result"=> 2)));        }    }elseif($_W['wlsetting']['api']['jtatus'] == 2){        include_once(WL_CORE . "class/CCPRestSDK.class.php");        $accountSid= $_W['wlsetting']['api']['yun_accountsid'];        $accountToken= $_W['wlsetting']['api']['yun_authtoken'];        $appId= $_W['wlsetting']['api']['yun_appid'];        $serverIP='app.cloopen.com';        $serverPort='8883';        $softVersion='2013-12-26';        $rest= newREST($serverIP,$serverPort,$softVersion);        $rest->setAccount($accountSid,$accountToken);        $rest->setAppId($appId);        if($_W['wlsetting']['sms']['status'] == 2 && !empty($_W['wlsetting']['sms']['dy_sf'])){            $sms_tpl= pdo_get('weliam_shiftcar_smstpl',array('id'=> $_W['wlsetting']['sms']['dy_sf']),array('smstplid','data'));            $data= unserialize($sms_tpl['data']);            $datas= array(                array('name'=> '验证码', 'value'=> $code),                array('name'=> '系统版权', 'value'=> $_W['wlsetting']['base']['copyright']),                array('name'=> '系统名称', 'value'=> $title)            );            foreach($dataas$d) {                $param[] = replaceTemplate($d['data_shop'], $datas);            }            $result= $rest->sendTemplateSMS($mobile,$param,$sms_tpl['smstplid']);        }else{            $result= $rest->sendTemplateSMS($mobile,array($code),$_W['wlsetting']['api']['yun_sf']);        }        if($result== NULL ) {            die(json_encode(array("result"=> 2)));        }        if($result->statusCode!=0) {            die(json_encode(array("result"=> 2)));        }else{            create_apirecord(-1,'',$_W['mid'],$mobile,1,'云通讯身份验证');            $cookie= array();            $cookie['mobile'] = $mobile;            $cookie['code'] = $code;            $session= base64_encode(json_encode($cookie));            isetcookie('__auth_session', $session, 600, true);            die(json_encode(array("result"=> 1)));        }    }elseif($_W['wlsetting']['api']['jtatus'] == 3){         $uid= $_W['wlsetting']['api']['smsbao_id'];         $pass= $_W['wlsetting']['api']['smsbao_secret'];         $sign= $_W['wlsetting']['api']['smsbao_sign'];         $datas= array(                '【验证码】'=>$code,                '【系统版权】'=> $_W['wlsetting']['base']['copyright'],                '【系统名称】'=> $title            );        if($_W['wlsetting']['sms']['status'] == 2 && !empty($_W['wlsetting']['sms']['dy_sf'])){            $sms_tpl= pdo_get('weliam_shiftcar_smstpl',array('id'=> $_W['wlsetting']['sms']['dy_sf']),array('smstplid'));            $data= $sms_tpl['smstplid'];                $key= array_keys($datas);                $value= array_values($datas);                $content= str_replace($key, $value, $data);                $url= 'http://api.smsbao.com/sms?u='.$uid.'&p='.md5($pass).'&m='.$mobile.'&c=【'.$sign.'】'.$content;                $ret= file_get_contents($url);        }else{            $data= $_W['wlsetting']['api']['smsbao_tz'];            $key= array_keys($datas);            $value= array_values($datas);            $content= str_replace($key, $value, $data);            $url= 'http://api.smsbao.com/sms?u='.$uid.'&p='.md5($pass).'&m='.$mobile.'&c=【'.$sign.'】'.$content;            $ret= file_get_contents($url);        }        if($ret== 0) {            create_apirecord(-1,'',$_W['mid'],$mobile,1,'短信宝身份验证');            $cookie= array();            $cookie['mobile'] = $mobile;            $cookie['code'] = $code;            $session= base64_encode(json_encode($cookie));            isetcookie('__auth_session', $session, 600, true);            die(json_encode(array("result"=> 1)));        }else{             die(json_encode(array("result"=> 2)));        }    }}functionsend_smsnotice($mobile,$calltel,$carmember){    global$_W,$_GPC;    $title= !empty($_W['wlsetting']['api']['dy_qm']) ? $_W['wlsetting']['api']['dy_qm'] : $_W['wlsetting']['base']['name'];    if($_W['wlsetting']['api']['jtatus'] == 1){        m('topclient')->appkey = $_W['wlsetting']['api']['dx_appid'];        m('topclient')->secretKey = $_W['wlsetting']['api']['dx_secretkey'];        m('smsnum')->setSmsType("normal");        m('smsnum')->setSmsFreeSignName($title);        if($_W['wlsetting']['sms']['status'] == 2 && !empty($_W['wlsetting']['sms']['dy_dx'])){            $sms_tpl= pdo_get('weliam_shiftcar_smstpl',array('id'=> $_W['wlsetting']['sms']['dy_dx']),array('smstplid','data'));            $data= unserialize($sms_tpl['data']);            $datas= array(                array('name'=> '挪车人手机号', 'value'=> $calltel),                array('name'=> '挪车人昵称', 'value'=> $_W['wlmember']['nickname']),                array('name'=> '车主手机号', 'value'=> $mobile),                array('name'=> '车主昵称', 'value'=> $carmember['nickname']),                array('name'=> '车牌', 'value'=> $carmember['plate1'].$carmember['plate2'].$carmember['plate_number']),                array('name'=> '当前位置', 'value'=> trim($_GPC['nowlocation'])),                array('name'=> '系统版权', 'value'=> $_W['wlsetting']['base']['copyright']),                array('name'=> '系统名称', 'value'=> $title)            );            foreach($dataas$d) {                $param[$d['data_temp']] = replaceTemplate($d['data_shop'], $datas);            }            m('smsnum')->setSmsParam(json_encode($param));            m('smsnum')->setSmsTemplateCode($sms_tpl['smstplid']);        }else{            m('smsnum')->setSmsParam('{"name":"'.$title.'","tel":"'.$calltel.'"}');            m('smsnum')->setSmsTemplateCode($_W['wlsetting']['api']['dy_dx']);        }        m('smsnum')->setRecNum($mobile);        $resp= m('topclient')->execute(m('smsnum'),'6100e23657fb0b2d0c78568e55a3031134be9a3a5d4b3a365753805');        $res= object_array($resp);        if($res['result']['success'] == 1){            create_apirecord($_W['mid'],$calltel,$carmember['id'],$mobile,2,'阿里大于短信通知');            returnarray("result"=> 1);            }else{            die(json_encode(array("result"=> 2,"msg"=> $res['sub_msg'])));        }    }elseif($_W['wlsetting']['api']['jtatus'] == 2){        include_once(WL_CORE . "class/CCPRestSDK.class.php");        $accountSid= $_W['wlsetting']['api']['yun_accountsid'];        $accountToken= $_W['wlsetting']['api']['yun_authtoken'];        $appId= $_W['wlsetting']['api']['yun_appid'];        $serverIP='app.cloopen.com';        $serverPort='8883';        $softVersion='2013-12-26';        $rest= newREST($serverIP,$serverPort,$softVersion);        $rest->setAccount($accountSid,$accountToken);        $rest->setAppId($appId);        if($_W['wlsetting']['sms']['status'] == 2 && !empty($_W['wlsetting']['sms']['dy_dx'])){            $sms_tpl= pdo_get('weliam_shiftcar_smstpl',array('id'=> $_W['wlsetting']['sms']['dy_dx']),array('smstplid','data'));            $data= unserialize($sms_tpl['data']);            $datas= array(                array('name'=> '挪车人手机号', 'value'=> $calltel),                array('name'=> '挪车人昵称', 'value'=> $_W['wlmember']['nickname']),                array('name'=> '车主手机号', 'value'=> $mobile),                array('name'=> '车主昵称', 'value'=> $carmember['nickname']),                array('name'=> '车牌', 'value'=> $carmember['plate1'].$carmember['plate2'].$carmember['plate_number']),                array('name'=> '当前位置', 'value'=> trim($_GPC['nowlocation'])),                array('name'=> '系统版权', 'value'=> $_W['wlsetting']['base']['copyright']),                array('name'=> '系统名称', 'value'=> $title)            );            foreach($dataas$d) {                $param[] = replaceTemplate($d['data_shop'], $datas);            }            die(json_encode(array("result"=> 2,"msg"=> $param[1])));            $result= $rest->sendTemplateSMS($mobile,$param,$sms_tpl['smstplid']);        }else{            $result= $rest->sendTemplateSMS($mobile,array($calltel),$_W['wlsetting']['api']['yun_dx']);        }        if($result== NULL ) {            die(json_encode(array("result"=> 2,"msg"=> '短信通知发送失败')));        }        if($result->statusCode!=0) {            die(json_encode(array("result"=> 2,"msg"=> $result->statusCode.$result->statusMsg)));        }else{            create_apirecord($_W['mid'],$calltel,$carmember['id'],$mobile,2,'云通讯短信通知');            returnarray("result"=> 1);        }    }elseif($_W['wlsetting']['api']['jtatus'] == 3){         $uid= $_W['wlsetting']['api']['smsbao_id'];         $pass= $_W['wlsetting']['api']['smsbao_secret'];         $sign= $_W['wlsetting']['api']['smsbao_sign'];             $datas= array(                '【挪车人手机号】'=>$calltel,                '【挪车人昵称】'=> $_W['wlmember']['nickname'],                '【车主手机号】'=> $mobile,                '【车主昵称】'=> $carmember['nickname'],                '【车牌】'=> $carmember['plate1'].$carmember['plate2'].$carmember['plate_number'],                '【当前位置】'=> trim($_GPC['nowlocation']),                '【系统版本】'=> $_W['wlsetting']['base']['copyright'],                '【系统名称】'=> $title            );            if($_W['wlsetting']['sms']['status'] == 2 && !empty($_W['wlsetting']['sms']['dy_dx'])){            $sms_tpl= pdo_get('weliam_shiftcar_smstpl',array('id'=> $_W['wlsetting']['sms']['dy_dx']),array('smstplid'));            $data= $sms_tpl['smstplid'];                $key= array_keys($datas);                $value= array_values($datas);                $content= str_replace($key, $value, $data);                $url= 'http://api.smsbao.com/sms?u='.$uid.'&p='.md5($pass).'&m='.$mobile.'&c=【'.$sign.'】'.$content;                $ret= file_get_contents($url);        }else{            $data= $_W['wlsetting']['api']['smsbao_dxtz'];            $key= array_keys($datas);            $value= array_values($datas);            $content= str_replace($key, $value, $data);            $url= 'http://api.smsbao.com/sms?u='.$uid.'&p='.md5($pass).'&m='.$mobile.'&c=【'.$sign.'】'.$content;            $ret= file_get_contents($url);        }        if($ret== 0) {            create_apirecord(-1,'',$_W['mid'],$mobile,1,'短信宝身份验证');            $cookie= array();            $cookie['mobile'] = $mobile;            $cookie['code'] = $code;            $session= base64_encode(json_encode($cookie));            isetcookie('__auth_session', $session, 600, true);            die(json_encode(array("result"=> 1)));        }else{             die(json_encode(array("result"=> 2)));        }    }} | 
接下来我们要修改,接口配置文件,项目/web/controller/setting/setting.ctrl.php文件,修改94~135行,修改代码如下:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 
						22 
						23 
						24 
						25 
						26 
						27 
						28 
						29 
						30 
						31 
						32 
						33 
						34 
						35 
						36 
						37 
						38 
						39 
						40 
						41 
						42 | if($op== 'api') {    $settings= wlsetting_read('api');    if(checksubmit('submit')) {        $base= array(            'jtatus'=>intval($_GPC['jtatus']),            'ytatus'=>intval($_GPC['ytatus']),            'btatus'=>intval($_GPC['btatus']),            'dx_appid'=> $_GPC['dx_appid'],            'dx_secretkey'=> $_GPC['dx_secretkey'],            'dy_sf'=> $_GPC['dy_sf'],            'dy_dx'=> $_GPC['dy_dx'],            'dy_yy'=> $_GPC['dy_yy'],            'dy_yynum'=> $_GPC['dy_yynum'],            'dy_qm'=> $_GPC['dy_qm'],            'smsbao_id'=> $_GPC['smsbao_id'],            'smsbao_secret'=> $_GPC['smsbao_secret'],            'smsbao_sign'=> $_GPC['smsbao_sign'],            'smsbao_tz'=> $_GPC['smsbao_tz'],            'smsbao_dxtz'=> $_GPC['smsbao_dxtz'],            'yun_accountsid'=> $_GPC['yun_accountsid'],            'yun_authtoken'=> $_GPC['yun_authtoken'],            'yun_appid'=> $_GPC['yun_appid'],            'yun_sf'=> $_GPC['yun_sf'],            'yun_dx'=> $_GPC['yun_dx'],            'yun_hm'=> $_GPC['yun_hm'],            'SubAccountSid'=> $_GPC['SubAccountSid'],            'SubAccountToken'=> $_GPC['SubAccountToken'],            'VoIPAccount'=> $_GPC['VoIPAccount'],            'VoIPPassword'=> $_GPC['VoIPPassword'],            '253yun_accountsid'=> $_GPC['253yun_accountsid'],            '253yun_authtoken'=> $_GPC['253yun_authtoken'],            '253yun_appid'=> $_GPC['253yun_appid'],            '253yun_yywb'=> $_GPC['253yun_yywb'],            '253yun_shownum'=> $_GPC['253yun_shownum'],            '253yun_fromSerNum'=> $_GPC['253yun_fromSerNum'],            '253yun_toSerNum'=> $_GPC['253yun_toSerNum'],        );        wlsetting_save($base, 'api');        message('更新设置成功!', web_url('setting/setting/api'));    }    includewl_template('setting/api');} | 
由于数据库中的一些字段满足不了我们的模版内容所以我们需要修改一下数据库,在与addons文件夹的同级目录建立两个文件分别为smsbaos_install.php和smsbao_install.sql文件,代码非别为:
smsbao_install.php文件
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 
						22 
						23 
						24 
						25 
						26 
						27 
						28 
						29 
						30 
						31 
						32 
						33 
						34 
						35 
						36 
						37 
						38 
						39 
						40 
						41 
						42 
						43 
						44 
						45 
						46 
						47 
						48 
						49 
						50 
						51 
						52 
						53 
						54 | <?phpdefine('IN_SYS', true);require'./framework/bootstrap.inc.php';require'./data/config.php';    if($config['db']['master']['host']) {        $mysql_server_name= $config['db']['master']['host'];        $mysql_username= $config['db']['master']['username'];        $mysql_password= $config['db']['master']['password'];        $mysql_database= $config['db']['master']['database'];        $mysql_tablepre= $config['db']['master']['tablepre'];    }else{        $mysql_server_name= $config['db']['host'];        $mysql_username= $config['db']['username'];        $mysql_password= $config['db']['password'];        $mysql_database= $config['db']['database'];        $mysql_tablepre= $config['db']['tablepre'];    }    $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) ordie("error connecting") ;    mysql_query("set names 'utf8'");    mysql_select_db($mysql_database);    $newsql= sreadfile("smsbaos_install.sql");    if($mysql_tablepre!= 'ims_') {        $newsql= str_replace('ims_', $mysql_tablepre, $newsql);    }    $sqls= explode(";", $newsql);    foreach($sqlsas$sql) {        $sql= trim($sql);        if(empty($sql)) {            continue;        }        if(!$query=mysql_query($sql)) {            echo"执行sql语句成功 ".mysql_error();            exit();        }    }    echo"<h4>短信宝短信插件安装成功,请删除此文件。</h4>";    functionsreadfile($filename) {        $content= '';        if(function_exists('file_get_contents')) {            @$content= file_get_contents($filename);        } else{            if(@$fp= fopen($filename, 'r')) {                @$content= fread($fp, filesize($filename));                @fclose($fp);            }        }        return$content;    }?> | 
smsbaos_install.sql文件
| 
						1 | altertable`ims_weliam_shiftcar_smstpl` modifycolumn`smstplid` varchar(255); | 

报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,并且免审核了,短信内容3~5秒就可送达。
最新更新
电商类
CMS类
微信类