【原创】基于phpGrace+uniApp开发之:5.登录界面增加图片验证码
//绘制验证码
public function vcode(){ //绘制验证码
/*
* verifyCode 参数
* 1、图片宽度
* 2、图片高度
* 3、字符总数
* 4、包含数字的数量
* 5、字体【可省参数 默认:AMBROSIA.ttf,如需更换请将字体文件部署到 phpGrace/fonts 文件夹下】
*/
$vcode = new phpGrace\tools\verifyCode(88, 32, 4, 1);
/*
* 可修改属性
$vcode->bgcolor = array(255, 0, 0); //验证码背景颜色
$vcode->codeColor = array(0, 255, 0); //验证码文本颜色
$vcode->fontSize = 30; //验证码文字大小
$vcode->noise = false; //是否绘制干扰字符
$vcode->noiseNumber = 10; //干扰字符数量
$vcode->sessionName = 'yourname'; //保存验证码的 session 名称
*/
//绘制验证码
$vcode->draw();
}
<view >
<text >验证码:</text>
<input type="text" v-model="yzm" placeholder="请输入验证码"/>
<img v-bind:src="yzmimg" @tap="changeVcode" /><br />
</view>
网站的源程序是基于HTML的,代码如下:
<form action="" method="post">
验证码 : <br />
<input type="text" name="yzm" /><img src="/index/vcode" onclick="changeVcode(this);" /><br />
<input type="submit" id="" value="提交" />
</form>
在Vue中要注意的事数值的绑定,用“yzm”绑定输入的验证码,用yzmimg绑定图片的连接地址。
data() {
return {
yzm: '',
yzmimg:this.apiServer+'index/vcode/',
}
},
methods:
methods: {
changeVcode(){
this.yzmimg =this.apiServer+'index/vcode/' + Math.random();
},
function checkYZM(){
//在验证时,需要加入session_start开启session,否则拿不到session值!!!
session_start(); //必须要加该语句,phpgrace的说明中没写,导致验证失败。
//提交比对
if(PG_POST){
//比对验证码
if($_POST['yzm'] != getSession('pgVcode')){
exit(jsonCode('vcodeerror', '验证码错误!'));
}
// else{
// exit(jsonCode('ok', '验证码正确!'));
// }
}
};
success:res=>{
var info = res.data;
//首先进行验证码的验证
if(info.status=='vcodeerror'){
uni.showToast({
title:'验证码错误,请重试!',
icon:'none',
})
return;
}
}
【原创】基于phpGrace+uniApp开发之:5.登录界面增加图片验证码的更多相关文章
- 以java实现的一个简单登录界面(带验证码)
本文参考于:https://blog.csdn.net/wyf2017/article/details/78831744 https://blog.csdn.net/MengKun822/articl ...
- django项目登录中使用图片验证码
应用下创建untils文件夹放置封装图片验证码的函数 创建validCode.py文件定义验证码规则 import random def get_random_color(): return (ran ...
- laraval开发之QQ登录及QQ报错
1.composer安装依赖 2.在config/app.php中注册providers并添加Socialite门面 3.在app/Providers/EventServiceProcider.php ...
- android开发之-Android 开发之4.0界面设计原则-整理
设计原则: 一.让人着迷: 1.给人惊喜:使用漂亮的界面.精心的动画.适时的音乐. 2.真实的对象比按钮和菜单更有趣 这句话的意思是:使用描述描述性的图标作为快捷方式,界面美观 当然这个快捷方 ...
- 安卓开发之cache 的使用(图片查看器案例)
package com.lidaochen.test; import android.graphics.Bitmap; import android.graphics.BitmapFactory; i ...
- Django登录(含随机生成图片验证码)注册实例
登录,生成随机图片验证码 一.登录 - 随机生成图片验证码 1.随机生成验证码 Python随机生成图片验证码,需要使用PIL模块,安装方式如下: pip3 install pillow 1)创建图片 ...
- 解决Iframe session过期,登录界面无法全页刷新
在登录界面增加如下js代码: <script language=”JavaScript”> if (window != top) top.location.href = location. ...
- 基于xmpp openfire smack开发之Android客户端开发[3]
在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前 ...
- 基于msm8909高通平台Android驱动开发之hello程序
本文转载自:http://www.itwendao.com/article/detail/227839.html Android驱动开发之Hello实例: 驱动部分 modified: ker ...
随机推荐
- 解决Java线程池任务执行完毕后线程回收问题
转载请注明出处:http://www.cnblogs.com/pengineer/p/5011965.html 对于经常使用第三方框架进行web开发的程序员来说,Java线程池理所 ...
- Centos 修改当前路径显示为全路径
1.修改显示全路径: vim /etc/bashrc 找到[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\ ...
- 什么情况下会出现undefined
1.函数定义形参不传值,2.预解释,只声明不定义时输出变量3.对象取属性值,属性值不存在
- 流畅的Python (Fluent Python) —— 第二部分01
2.1 内置序列类型概览 Python 标准库用 C 实现了丰富的序列类型,列举如下. 容器序列 list. tuple 和 collections.deque 这些序列能存放不同类型的数据. 扁平序 ...
- JavaEE高级-Spring Data学习笔记
Spring Data概述 - Spring Data : Spring 的一个子项目.用于简化数据库访问,支持NoSQL 和 关系数据存储.其主要目标是使数据库的访问变得方便快捷. - Spring ...
- 010-流程控制 while 与 until 语句
流程控制 while 与 until 语句 while循环是不定循环,也称作条件循环,只要条件成立,循环就一直继续.与for的固定循环不同 until只要条件不成立,循环就一直继续 #!/bin/ba ...
- GNU ARM eclipse 安装--Linux 版本
官方网站:https://gnu-mcu-eclipse.github.io/ 1. 工具链安装 1.1 xpm 安装 安装 nodejs: sudo apt-get install nodejs s ...
- 给虚拟机CentOS7扩容(lvm方式)
虚拟机中centos7原有容量不够了,需要进行扩容. 可以使用图形工具gparted来进行操作,安装和使用可自行百度.但需要注意的是,这篇文章提到:一定要用parted中的mkfs命令格式化分区,用系 ...
- 前端之CSS:属性操作1
css之操作属性 1.文本 1.文本颜色:color 颜色属性被用来设置文字的颜色. 颜色是通过CSS最经常的指定: 十六进制值 - 如: #FF0000 一个RGB值 - 如: RGB(255,0, ...
- 与Swing的初见
---------------------------参考菜鸟教程的swing课程学习-------------------- Swing 是一个为Java设计的GUI工具包. Swing是JAVA基 ...