2. 初始化组件

    1. 2)安装请求和加密依赖
    2. npm install axios crypto-js -S

    基础示例

    1. <template>
    2. <Verify
    3. @success="'success'" //验证成功的回调函数
    4. :mode="'pop'" //调用的模式
    5. :captchaType="'blockPuzzle'" //调用的类型 点选或者滑动
    6. :imgSize="{ width: '330px', height: '155px' }" //图片的大小对象
    7. ref="verify"
    8. ></Verify>
    9. //mode="pop"模式
    10. </template>
    11. ****注: mode为"pop"时,使用组件需要给组件添加ref值,并且手动调用show方法 例: this.$refs.verify.show()****
    12. ****注: mode为"fixed"时,无需添加ref值,无需调用show()方法****
    13. <script>
    14. //引入组件
    15. import Verify from "./../../components/verifition/Verify";
    16. export default {
    17. components: {
    18. Verify
    19. }
    20. methods:{
    21. success(params){
    22. // params 返回的二次验证参数, 和登录参数一起回传给登录接口,方便后台进行二次验证
    23. },
    24. useVerify(){
    25. this.$refs.verify.show()
    26. }
    27. }
    28. }
    29. </script>

    4. 验证码参数

    5.2 获取验证码接口详情

    接口地址:http://*:*/captcha/get

    请求参数:
    1. {
    2. "captchaType": "blockPuzzle" //验证码类型 clickWord
    3. }
    响应参数:
    1. {
    2. "repCode": "0000",
    3. "originalImageBase64": "底图base64",
    4. "point": { //默认不返回的,校验的就是该坐标信息,允许误差范围
    5. "x": 205,
    6. "y": 5
    7. "jigsawImageBase64": "滑块图base64",
    8. "token": "71dd26999e314f9abb0c635336976635", //一次校验唯一标识
    9. "result": false,
    10. "opAdmin": false
    11. },
    12. "success": true,
    13. "error": false
    14. }

    请求接口:http://*:*/captcha/check

    请求参数:
    1. {
    2. "captchaType": "blockPuzzle",
    3. "pointJson": "QxIVdlJoWUi04iM+65hTow==", //aes加密坐标信息
    4. "token": "71dd26999e314f9abb0c635336976635" //get请求返回的token
    5. }
    响应参数:
    1. {
    2. "repCode": "0000",
    3. "repData": {
    4. "captchaType": "blockPuzzle",
    5. "token": "71dd26999e314f9abb0c635336976635",
    6. "result": true,
    7. "opAdmin": false
    8. },
    9. "success": true,
    10. "error": false