## 接口情況
作者:ncgis
時間:20150416
作用:驗證填寫電話是否注冊
提交方法:GET
提交參數:mobile
所在文件:passport
接口地址:http://test.lingsq.com/index.php/api?method=lingsqapi.api.passport.sendRegSms&mobile=[mobile]
正式接口:http://www.lingsq.com/index.php/api?method=lingsqapi.api.passport.sendRegSms&mobile=[mobile]
返回數據樣式:
~~~
{"errNo":"1","errMsg":"ok"} 發送成功
{"errNo":"20002","errMsg":"手機號碼輸入有誤"} 手機號碼輸入有誤
{"errNo":"30002","errMsg":"手機號碼已注冊"} 手機號碼已注冊
{"errNo":"30003","errMsg":"手機短信已下發,從新發送需等兩分鐘"}手機短信已下發,從新發送需等兩分鐘
{"errNo":"30004","errMsg":"短信發送失敗,請重新獲取驗證碼"} 短信發送失敗,請重新獲取驗證碼
~~~
## 接口實現代碼
~~~
//發送短信函數
public function sendRegSms()
{
$mobile=$_GET["mobile"];
return $this->sendSms($mobile,__FUNCTION__,"sendappmobilecode","userRegister");
}
~~~
//其中依賴base中的函數
~~~
/**
* @作者 ncgis
* @時間 20150417
* @作用 用于發短信
* @參數
* $mobile 手機號碼
* $fuc 當前函數名 使用__FUNCTION__傳值
* $cls 對應的短信模版的actions中的名稱
* $sendcodetype 短信類型
*
* */
public function sendSms($mobile,$fuc,$cls,$sendcodetype)
{
$objmember=app::get('b2c')->model('members');
$objaccount=app::get('b2c')->model('member_account');
if(empty($mobile))
{
$back["errNo"]=20005;
$back["errMsg"]=$this->errMsg($back["errNo"]);
return $back;
}
if(!preg_match("/^13[0-9]{1}[0-9]{8}$|170[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}|14[0-9]{1}[0-9]{8}$/", $mobile))
{
$back["errNo"]=20002;
$back["errMsg"]=$this->errMsg($back["errNo"]);
return $back;
}
if($sendcodetype=="userRegister")
{
if($objmember->is_exists_mobile($mobile))
{
$back["errNo"]=30002;
$back["errMsg"]=$this->errMsg($back["errNo"]);
return $back;
}
}
//驗證是否是惡意請求驗證碼
$request_time = time();
$isSpite = app::get('b2c')->model('message_log')->isSpiteRequest($request_time,$mobile,$msg);
if($isSpite != 'ok')
{
if($isSpite == 'spite')
{
$message_log = app::get('b2c')->model('message_log')->saveMessageLog($fuc,$request_time,$mobile,base_request::get_remote_addr(),'spite','sms');//惡意請求 記錄日志
}
$back["errNo"]=30003;
$back["errMsg"]=$this->errMsg($back["errNo"]);
return $back;
}
$random = $this->randCode();
$_SESSION['MOBILE_CODE'] = $random;
$data['contact']['phone']['mobile'] = $mobile;
$data['mobile_code'] = $random;
$data['sendmobilecodetype'] = $sendcodetype;
$data['disabled_time'] = 2;
$message_log = app::get('b2c')->model('message_log')->saveMessageLog($fuc,$request_time,$mobile,base_request::get_remote_addr(),'ok','sms');//正常請求 記錄日志
$tmp_rs = $objaccount->fireEvent($cls, $data);
if($tmp_rs)
{
$back["errNo"]=1;
$back["errMsg"]=$this->errMsg($back["errNo"]);
return $back;
exit;
}
else
{
$back["errNo"]=30004;
$back["errMsg"]=$this->errMsg($back["errNo"]);
return $back;
exit;
}
}
~~~
另外實現此功能需要修改其他文件配合后使用,調用api文件不需要顧及 但是后臺布置這需要考慮工作如以下
## 1、修改代碼
文件路徑
app\b2c\model\member\messenger.php
### 在actions方法中添加
~~~
'account-sendappmobilecode'=> array(
'label' => app::get('b2c')->_('手機客戶端短信驗證碼'),
'level' => 9,
'varmap' => app::get('b2c')->_('用戶名') . ' <{$uname}> ' . app::get('b2c')->_('手機驗證碼') . ' <{$mobile_code}>',
'isIndex'=>0//前后臺控制發送的表示0為后臺1為前臺
),
~~~
登陸后臺找到【控制面板】=》【郵件短信設置】=》【手機客戶端短信驗證碼】

添加你要發送的模版
- 手機是否使用驗證接口
- 返回碼所代表的含義
- 發送手機驗證碼接口
- 用戶注冊接口
- 獲取商品所有分類
- 獲取商品列表
- 用戶登陸接口
- 獲取商品詳細信息
- 獲取產品圖文詳情
- 獲取商品評論列表
- 獲取推薦商品
- 獲取找回密碼短信
- 重置密碼
- 獲取每日特惠商品
- 獲取輪播圖
- 用戶中心首頁
- 獲取用戶收藏商品
- 刪除用戶收藏商品
- 獲取所有訂單(所有訂單、代付款訂單、待收貨訂單、退換貨訂單)
- 加入購物車
- 獲取購物車商品
- 刪除購物車商品
- 購物車商品移入收藏夾
- 添加收貨地址
- 獲取用戶收貨地址
- 添加用戶收藏
- 提交訂單
- 填寫訂單
- 退出登錄
- 確認支付成功(正在驗證支付狀態)
- 驗證自動登陸
- 獲取訂單詳情
- 設置默認收貨地址
- 刪除收貨地址
- 修改收貨地址