vue 集成阿里云滑动验证
//index.html 引入 <script type="text/javascript" charset="utf-8" src="https://g.alicdn.com/sd/ncpc/nc.js?t=2015052012"></script>
<template>
<div>
<!--No-Captcha渲染的位置,其中 class 中必须包含 nc-container-->
<div
id="slide"
class="nc-container"
/>
</div>
</template>
<script type="text/javascript" charset="utf-8" src="https://g.alicdn.com/sd/ncpc/nc.js?t=2015052012"></script>
<script>
export default {
data() {
return {
nc:'' // noCaptcha实例的值
}
},
mounted() {
// 初始化方法
this.init()
},
methods: {
init() {
const self = this
// 生成的随机token
const nc_token = [
'FFFF0N00000000009699', // appkey(自己填写)
new Date().getTime(),
Math.random()
].join(':')
// 参数
const NC_Opt = {
// id的值
renderTo: '#slide',// 声明滑动验证需要渲染的目标元素ID
appkey: 'FFFF0N00000000009699', // appkey(自己填写)
scene: 'nc_login', // 场景值(当前pc登陆) 滑动验证码的主键,请勿将该字段定义为固定值。确保每个用户每次打开页面时,其token值都是不同的。系统默认的格式为:”您的appkey”+”时间戳”+”随机数”。
token: nc_token, // token
customWidth: '100%', // 滑动条的宽度
trans: { key1: 'code0' }, // //业务键字段,可为空。为便于线上问题的排查,建议您按照线上问题定位文档中推荐的方法配置该字段值。
elementID: ['usernameID'],
is_Opt: 0,
language: 'cn', // 中文
isEnabled: true,// 是否启用。一般情况,保持默认值(true)即可
timeout: 3000,// 内部网络请求的超时时间。一般情况建议保持默认值(3000ms)。
times: 5,// 允许服务器超时重复次数,默认5次。超过重复次数后将触发报错。
callback: function(data) {
// 前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将请求标识(token)、会话ID(sessionid)、签名串(sig)字段记录下来,随业务请求一同发送至您的服务端调用验签。
// 在这里可以拿到返回的数据
const param = {
token: nc_token,
sessionId: data.csessionid,
sig: data.sig,
scene: 'nc_login'
}
// 传给父组件 这里我是封装的组件 把值传出去了 然后请求接口
self.$emit('handleSlideAly', param)
}
}
this.nc = new noCaptcha(NC_Opt)
// 用于自定义文案。详细配置方法请参见自定义文案与多语言文档。
this.nc.upLang('cn', {
_startTEXT: '请按住滑块,拖动到最右边',
_yesTEXT: '验证通过',
_error300:
'哎呀,出错了,点击<a href="javascript:__nc.reset()">刷新</a>再来一次',
_errorNetwork:
'网络不给力,请<a href="javascript:__nc.reset()">点击刷新</a>'
})
},
// 重置方法 api
reset(){
this.nc.reset()
}
}
}
</script>
<style lang="less" scoped>
/deep/.nc-container .nc_scale {
height: 42px;
}
/deep/.nc-container .nc_scale span {
line-height: 42px;
height: 42px;
}
</style>
参考链接:
滑动验证-功能概述:https://help.aliyun.com/document_detail/121893.html?spm=5176.2020520162.0.0.4c4c5fb0Yh1s6S
前端接入代码集成:https://help.aliyun.com/document_detail/121963.html?spm=5176.2020520162.0.0.4c4c5fb0Yh1s6S
一辈子很短,努力的做好两件事就好;第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

浙公网安备 33010602011771号