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

diy学做衣服网站英语seo

diy学做衣服网站,英语seo,淘宝有做网站吗,南通房产网效果图#xff1a;使用canvas组件对随机的数字字母添加插画背景、干扰线、干扰点 1、在components文件夹下新建securityCode.vue文件#xff0c;代码#xff1a; templatecanvas ids-canvas :widthcontentWidth :heightcontentH…效果图使用canvas组件对随机的数字字母添加插画背景、干扰线、干扰点 1、在components文件夹下新建securityCode.vue文件代码 templatecanvas ids-canvas :widthcontentWidth :heightcontentHeight/canvas /template scriptexport default {name: securityCode,props: {identifyCode: {type: String,default: ,},fontSizeMin: {type: Number,default: 22,},fontSizeMax: {type: Number,default: 40,},backgroundColorMin: {type: Number,default: 180,},backgroundColorMax: {type: Number,default: 240,},colorMin: {type: Number,default: 50,},colorMax: {type: Number,default: 160,},lineColorMin: {type: Number,default: 40,},lineColorMax: {type: Number,default: 180,},dotColorMin: {type: Number,default: 0,},dotColorMax: {type: Number,default: 255,},contentWidth: {type: Number,default: 120,},contentHeight: {type: Number,default: 40,},},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);let ctx canvas.getContext(2d);ctx.textBaseline bottom;// 绘制背景ctx.fillStyle this.randomColor(this.backgroundColorMin,this.backgroundColorMax);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(this.colorMin, this.colorMax);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(-45, 45);// 修改坐标原点和旋转角度ctx.translate(x, y);ctx.rotate((deg * Math.PI) / 330);ctx.fillText(txt, 0, 0);// 恢复坐标原点和旋转角度ctx.rotate((-deg * Math.PI) / 330);ctx.translate(-x, -y);},drawLine(ctx) {// 绘制干扰线for (let i 0; i 3; i) {ctx.strokeStyle this.randomColor(this.lineColorMin,this.lineColorMax);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 80; 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();},}; /script2、在登录页面引入并注册使用组件 el-form-item proppass label验证码 classrow label-width150pxdiv classrow space-between stylewidth: 315px;el-input typetext stylewidth: 190px; v-modelinputCode autocompleteoff/el-inputdiv clickrefreshCode() styleline-height: 0;!--验证码组件--SecurityCode :identifyCodeidentifyCode/SecurityCode/div/div /el-form-item el-form-item stylepadding-left: 55px;el-button typeprimary clicksubmitForm() iconel-icon-s-customspan stylefont-size: 15px;letter-spacing: 10px;登录/span/el-button /el-form-itemscript//导入组件import SecurityCode from /components/securityCode;export default {components: {//注册SecurityCode},data() {identifyCode: ,//随机组合字符串inputCode: , //text框输入的验证码},mounted() {this.refreshCode();},methods: {//初始化验证码refreshCode() {this.inputCode this.identifyCode ; //输入框置空this.makeCode(4); //验证码长度为4},//随机切换验证码makeCode(length) {let code ;for (let i 0; i length; i) {const r Math.floor(Math.random() * 36);if (r 10) {code r;} else {code String.fromCharCode(r - 10 65);}}this.identifyCode codelocalStorage.setItem(code, code);console.log(this.identifyCode);},submitForm(formName) {const code this.inputCode.toLowerCase();const originalCode localStorage.getItem(code).toLowerCase();if (!code) {this.$message.error(请输入验证码);return} else if (code ! originalCode) {this.$message.error(验证码输入错误);this.refreshCode()return}// this.$api.Login({// userName: this.ruleForm.user,// password: this.ruleForm.pass,// systemCode: null,// }).then((data) {// })},}} /script
http://www.pierceye.com/news/454947/

相关文章:

  • 网站建设找什么公司微网站建设流程
  • 如何制作数据库网站哔哩哔哩推广平台
  • 免费建立手机网站网站建设下载模板之后怎么修改
  • wordpress 网站暂停做社区生意的网站
  • 渭南做网站的公司商业网站后缀名
  • 凡科建站电话邙山网站建设
  • 哪些网站可以做ppi小程序源码什么意思
  • 做公司网站都需要哪些东西产品画册设计公司
  • 网页优化与网站优西安开发网站建设
  • 大连建设监察执法网站免费icp备案服务码
  • 潮州做网站京东网站建设步骤
  • 遂宁模板建站公司懂福溶州做戒网站
  • 百度网站下拉排名农村电商平台发展现状
  • 移动端网站开发与网页开发区别wordpress首页文章显示
  • 有什么网站是layui做的wordpress 微信咨询菜单
  • 湖南网站seo营销x cache wordpress
  • 网站建设太金手指六六十八知名网站建设推荐
  • WordPress找不到站点做好评做销量的网站
  • 网站建设项目经历东莞市官网网站建设企业
  • FileZilla做网站程序开发的难点
  • 网站开发前端制作网站flsh怎么做
  • 建设网站需申请什么手续如何申请公司名称注册
  • 中山网站制无锡公司建立网站
  • 优化推广网站网站建设的岗位职责
  • 网站建设制作设计优化兰州如何用织梦建网站
  • wordpress 网站禁用全屏代码百度怎么建设网站
  • 强军网网站建设北京各大网站推广服务公司
  • 西安优秀的集团门户网站建设公司网站建设中 优秀账户的标准
  • 网站建设的对比分析移动设备网站开发注意点
  • 在word上怎么做网站链接网站开发试题