- <?php
- namespace V3\Controller;
- use Think\Controller;
- use V3\Param\Param;
- use V3\Status\Status;
- use V3\Status\Success;
- /**
- * 公共接口
- * Class PublicController
- * @package Home\Controller
- * @date 2015-11-24
- */
- class PublicController extends BaseController {
- /**
- * 获取验证码
- */
- public function verifyCode(){
- //获取session_id
- $session_id = MD5(uniqid());
- $param = array();
- $param['vcode_url'] = C( 'API_HOST' ) . '/public/vcode?session_id='.$session_id;
- $param['unique_id'] = $session_id;
- //返回成功
- $this->success($param);
- }
- /**
- * 验证图片验证码
- */
- public function checkVerifyCode(){
- //获取 用户验证码 值
- if( empty( $this->_data['image_code'] ) ) {
- $this->failure( Param::VCODE_IS_NULL , Param::VCODE_IS_NULL_MSG);
- }else{
- $image_code = $this->_data['image_code'];
- }
- //获取 验证码标识 值
- $unique_id = $this->_data['unique_id'];
- //页面显示验证码部分
- $Verify = new \Think\Verify();
- $flag = $Verify->check($image_code, $unique_id);
- if($flag === true){
- $this->success( array() );
- }else{
- $this->failure( Status::VERIFY_CODE_FAILED , Status::VERIFY_CODE_FAILED_MSG );
- }
- }
- /**
- * 显示图片验证码
- */
- public function vcode(){
- //获取session_id值
- $session_id = $this -> _data['session_id'];
- $preg = "/^[a-zA-Z0-9-,]+$/";
- if(preg_match($preg,$session_id)===false||preg_match($preg,$session_id)==0){
- $this->fail();
- }
- //验证码配置参数
- $config = array(
- 'codeSet' => '0123456789', // 验证码字符集合
- 'useNoise' => false, // 是否添加杂点
- 'fontSize' => 10, // 验证码字体大小(px)
- 'imageH' => 31, // 验证码图片高度
- 'imageW' => 86, // 验证码图片宽度
- 'length' => 5, // 验证码位数
- );
- //页面显示验证码部分
- $Verify = new \Think\Verify($config);
- if(empty($session_id)){
- $Verify->entry( );
- }else{
- $Verify->entry($session_id);
- }
- }
- /**
- * 测试H5与APP交互
- */
- public function h5test(){
- $this -> display('/Public/H5');
- }
- }
API服务端实现图片验证码
最新推荐文章于 2022-08-13 14:42:17 发布