当前位置: 首页 > news >正文

视频网站备案好设计购物网站

视频网站备案,好设计购物网站,查网站域名备案查询,WordPress博客互相采集最近做的项目#xff0c;不需要后端接口#xff0c;只需要前端验证#xff0c;如图 初始页面 获取验证码 验证码的文件#xff0c;直接复制就行 templatediv classs-canvascanvasids-canvas:widthcontentWidth:…最近做的项目不需要后端接口只需要前端验证如图 初始页面 获取验证码 验证码的文件直接复制就行 templatediv classs-canvascanvasids-canvas:widthcontentWidth:heightcontentHeight/canvas/div/templatescriptexport default {name: SIdentify,props: {identifyCode: {// 默认注册码type: String,default: 1234,},fontSizeMin: {// 字体最小值type: Number,default: 25,},fontSizeMax: {// 字体最大值type: Number,default: 35,},backgroundColorMin: {// 验证码图片背景色最小值type: Number,default: 200,},backgroundColorMax: {// 验证码图片背景色最大值type: Number,default: 220,},dotColorMin: {// 背景干扰点最小值type: Number,default: 60,},dotColorMax: {// 背景干扰点最大值type: Number,default: 120,},contentWidth: {// 容器宽度type: Number,default: 90,},contentHeight: {// 容器高度type: Number,default: 38,},},methods: {// 生成一个随机数randomNum(min, max) {return Math.floor(Math.random() * (max - min) min);},// 生成一个随机的颜色randomColor(min, max) {let r this.randomNum(min, max);let g this.randomNum(min, max);let b this.randomNum(min, max);return rgb( r , g , b );},//画图drawPic() {let canvas document.getElementById(s-canvas);//创建一个2D对象作为上下文。let ctx canvas.getContext(2d);ctx.textBaseline bottom;// 绘制背景ctx.fillStyle #e6ecfd;ctx.fillRect(0, 0, this.contentWidth, this.contentHeight);// 绘制文字for (let i 0; i this.identifyCode.length; i) {this.drawText(ctx, this.identifyCode[i], i);}this.drawLine(ctx);this.drawDot(ctx);},//在画布上显示数据drawText(ctx, txt, i) {ctx.fillStyle this.randomColor(50, 160); // 随机生成字体颜色ctx.font this.randomNum(this.fontSizeMin, this.fontSizeMax) px SimHei; // 随机生成字体大小let x (i 1) * (this.contentWidth / (this.identifyCode.length 1));let y this.randomNum(this.fontSizeMax, this.contentHeight - 5);var deg this.randomNum(-30, 30);// 修改坐标原点和旋转角度ctx.translate(x, y);ctx.rotate((deg * Math.PI) / 180);ctx.fillText(txt, 0, 0);// 恢复坐标原点和旋转角度ctx.rotate((-deg * Math.PI) / 180);ctx.translate(-x, -y);},// 绘制干扰线drawLine(ctx) {for (let i 0; i 4; i) {ctx.strokeStyle this.randomColor(100, 200);ctx.beginPath();ctx.moveTo(this.randomNum(0, this.contentWidth),this.randomNum(0, this.contentHeight));ctx.lineTo(this.randomNum(0, this.contentWidth),this.randomNum(0, this.contentHeight));ctx.stroke();}},// 绘制干扰点drawDot(ctx) {for (let i 0; i 30; i) {ctx.fillStyle this.randomColor(0, 255);ctx.beginPath();ctx.arc(this.randomNum(0, this.contentWidth),this.randomNum(0, this.contentHeight),1,0,2 * Math.PI);ctx.fill();}},},watch: {identifyCode() {this.drawPic();},},mounted() {this.drawPic();},};/script 登录页面运用验证码 div styleposition: relative;margin: 20px 0;el-input stylewidth: 100px;margin-right: 10px; v-modelcode placeholder验证码 /el-input//组件 dentify v-ifidentifyCode :identifyCodeidentifyCode stylewidth: 100px;height: 4 0px;display: inline-block;position: absolute;top: 0px;/dentifyel-button v-ifidentifyCode clickrefreshCode stylemargin-left: 100px;color: #c4c4c4;换一换/el-buttonel-button v-else clickrefreshCode stylecolor: #c4c4c4;获取验证码/el-button /div el-button clickSubmit classbuton登录 /el-button import dentify from /components/dentify.vue; export default {components: {dentify,},data() {return {code:,identifyCodes: 1234567890abcdefjhijklinopqrsduvwxyz, //随机串内容,从这里随机抽几个显示验证码identifyCode: , //验证码图片内容timer: null, //设置计时器count:,};},methods: { //判断验证码并提交async Submit() {console.log(this.count,count)if(this.identifyCode ){this.$message({message: 获取验证码,type: warning});}else if(this.count 0){this.$message.error(验证码失效);}else if(this.code ){this.$message.error(验证码不能为空);}else if(this.identifyCode this.code){await GET_LOGIN(this.form).then((res) {console.log(res, ress);if (res.code 200) {this.$message({message: 登陆成功,type: success,});} else {this.$message.error(res.msg);}});}else{this.$message.error(验证码错误);}},// 重置验证码并倒计时refreshCode() {this.identifyCode ;this.count this.makeCode(this.identifyCodes, 4);let TIME_COUNT 60;if (!this.timer) {this.count TIME_COUNT;this.timer setInterval(() {if (this.count 0 this.count TIME_COUNT) { this.count--;} else {clearInterval(this.timer);this.timer null;}}, 1000);}},//获取验证码的值makeCode(o, l) {for (let i 0; i l; i) {//通过循环获取字符串内随机几位this.identifyCode this.identifyCodes[this.randomNum(0, this.identifyCodes.length)];}},//随机数字用于当角标拿字符串的值randomNum(min, max) {return Math.floor(Math.random() * (max - min) min);},}}
http://www.zqtcl.cn/news/183333/

相关文章:

  • 做公众号首图网站上海短期网站建设培训
  • 网站开发最好佛山优化网站排名
  • 服务器搭建网站打不开网站建设信息平台
  • 宽屏蓝色企业网站源码如何编辑网站标题
  • 免费搭建手机网站广告公司怎么取名
  • 网站抓取超时错误c 高性能网站开发
  • 营销导向企业网站策划wordpress 不显示菜单
  • 特效视频网站用.net做视频网站的案例
  • 网站建设实用的网站视屏网站的审核是怎么做的
  • 网站模板之家免费下载福州网红餐厅
  • 西安网站设计与建设第三方检测机构
  • 手机网站推广法建设网站明细报价表
  • 一级a做爰片免费网站录像好商网的网站可以做中英文切换吗
  • 视频网站闪图怎么做网件路由器管理地址
  • 一个完整的网站建设网站模板去哪要
  • 烤漆 东莞网站建设水果香精东莞网站建设技术支持
  • 国家重大项目建设库网站北京网站开发外包公司
  • 建设免费网站制作二维码的软件app
  • 网站突然没收录了网站建设和运营的成本是多少钱
  • 家政公司网站模板wordpress防cc代码
  • 福田附近做网站公司网站反向链接
  • 南阳网站关键词哪做网站便宜
  • 往网站上做新东西需要什么智库网站建设
  • 网站建站系统程序做网站代理商好赚吗
  • 哪些网站是做食品dedecms转wordpress
  • 广东华迪工程建设监理公司网站网站的优化从哪里进行
  • 国产做的视频网站优秀网站首页
  • 做国际黄金看什么网站网络营销品牌推广公司
  • 手机自助建站平台手机网站开发设计报价单
  • 网站建设标书范本注册了一个域名怎么做网站