视频链接:
http://localhost:8081/video?video=qingxuyuanqinggevueadmin
B站查程序员青戈带小白做毕业
【带小白做毕设】11. SpringBoot+Vue登录(含验证码)、注册功能开发_哔哩哔哩_bilibili
第一步,在src下定义一个conponents目录
第二步,定义一个ValidCode组件
第三步:把组件内容给他复制过去:
<template> <div class="ValidCode disabled-select" style="width: 100%; height: 100%" @click="refreshCode"> <span v-for="(item, index) in codeList" :key="index" :style="getStyle(item)">{{item.code}}</span> </div> </template> <script> export default { name: 'validCode', data () { return { length: 4, codeList: [] } }, mounted () { this.createdCode() }, methods: { refreshCode () { this.createdCode() }, createdCode () { let len = this.length, codeList = [], chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz0123456789', charsLen = chars.length // 生成 for (let i = 0; i < len; i++) { let rgb = [Math.round(Math.random() * 220), Math.round(Math.random() * 240), Math.round(Math.random() * 200)] codeList.push({ code: chars.charAt(Math.floor(Math.random() * charsLen)), color: `rgb(${rgb})`, padding: `${[Math.floor(Math.random() * 10)]}px`, transform: `rotate(${Math.floor(Math.random() * 90) - Math.floor(Math.random() * 90)}deg)` }) } // 指向 this.codeList = codeList // 将当前数据派发出去 this.$emit('update:value', codeList.map(item => item.code).join('')) }, getStyle (data) { return `color: ${data.color}; font-size: ${data.fontSize}; padding: ${data.padding}; transform: ${data.transform}` } } } </script> <style> .ValidCode{ display: flex; justify-content: center; align-items: center; cursor: pointer; } .ValidCode span { display: inline-block; font-size: 18px; } </style>
第四步,直接在页面绑定组件,Alt + insert键引入组件
在你需要验证码的页面绑定数据
<script> import ValidCode from "@/conponents/ValidCode"; export default { name: "LoginView", components: { ValidCode } </script>
第五步,把该放验证码的地方给他放进去<valid-code></valid-code>
<div style="flex:1;height: 36px;"> <valid-code/> </div>
这时候验证码就出现了
如何获取,绑定yige@Click事件
定义一个methods方法
验证码中绑定一个方法 @update.value="getCode",用来获取数据