vue-identifycode

1.9.0 • Public • Published

Identifycode

基于 Vue 的生成图形校验码组件

一、通过 Node 引用

npm i vue-identifycode

在 VUE 的 SPA 中的使用示例:

<template>
  <div id="main">
    <div class="item">
      <input :value="identifyCode" />
      <span class="code" @click="refreshCode">
        <IdentifyCode :identify-code="identifyCode" :content-width="100" :content-height="48"></IdentifyCode>
      </span>
    </div>
  </div>
</template>
<script>
import IdentifyCode from "vue-identifycode"; // 引入包
 
export default {
  name: "IdentifyCodeTest",
  components: { IdentifyCode },
  data() {
    return {
      identifyCode: ""
    };
  },
  mounted() {
    this.identifyCode = this.createCode();
  },
  methods: {
    createCode() {
      let code = "";
      const codeLength = 4; // 验证码的长度
      // eslint-disable-next-line no-array-constructor
      const random = new Array(2,3,4,5,6,7,8,9,"A","B","C", "D","E","F","G",
        "H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"
      ); // 随机数
      for (let i = 0; i < codeLength; i++) {
        // 循环操作
        const index = Math.floor(Math.random() * 32); // 取得随机数的索引(0~35)
        code += random[index]; // 根据索引取得随机数加到code上
      }
      return code;
    },
    refreshCode() {
      this.identifyCode = this.createCode();
    }
  }
};
</script> 
<style lang="scss" scoped>
#main {
  padding: 15px;
  .item {
    position: relative;
    input {
      width: 100%;
      height: 50px;
      padding: 0 100px 0 6px;
      border-radius: 2px;
      outline: none;
      border: 1px solid #444;
      font-size: 20px;
    }
    .code {
      position: absolute;
      right: 1px;
      top: 1px;
      display: inline-block;
    }
  }
}
</style> 

二、示例

Demo

Package Sidebar

Install

npm i vue-identifycode

Weekly Downloads

6

Version

1.9.0

License

ISC

Unpacked Size

15.9 kB

Total Files

3

Last publish

Collaborators

  • alvinliao