【uni-app+uview h5】 接入阿里云滑动验证

一、uni-app 引入外部资源

 //在app.vue中引入 

<script>
    var script = document.createElement('script');
    script.src = "https://g.alicdn.com/AWSC/AWSC/awsc.js";
    document.body.appendChild(script);
    script.onload = function() {
        console.log('js onload')
    }
</script>

二、uni-app 封装滑动组件及引用

1、在component创建一个slide-verify.vue组件

<template>
	<view id="__nc">
		<view id="nc"></view>
	</view>
</template>

<script>
	export default {
		name: "slide-verify",
		data() {
			return {};
		},
		mounted() {
			this.init()
		},
		methods: {
			init() {
				const _this = this
				// 实例化nc
				AWSC.use("nc", function(state, module) {
					// 初始化
					let option = {
						appkey: "XXX",
						//使用场景标识。
						scene: "XXX",
						// 声明滑动验证需要渲染的目标ID。
						renderTo: "nc",
						width: "300",
						//前端滑动验证通过时 返回 会话ID(sessionId)、签名串(sig)、请求唯一标识(token)
						success: function(data) {
							_this.$emit('seccess', data)
						},
						// 滑动验证失败
						fail: function(failCode) {
							window.console && console.log(failCode)
						},
						// 验证码加载出现异常
						error: function(errorCode) {
							window.console && console.log(errorCode)
						}
					}
					window.nc = module.init(option);
				})


			}
		}
	}
</script>

<style>
	#__nc {
		position: relative;
		width: 300px;
		height: 60px;
		margin: o auto;
		text-align: center;
	}

	#nc {
		bottom: 0;
		left: 50%;
		transform: translate(-50%);
	}

	.nc-container #nc_1_wrapper {
		width: 100% !important;
	}

	.nc-container .nc_scale span {
		height: 35px !important;
		line-height: 35px !important;
	}
</style>

2、使用组件

import slideVerify from "../../components/slide-verify.vue";

components —— slideVerify

<slideVerify @seccess="slideYzSeccess" v-if="slideVerifyShow == false"></slideVerify>

//滑动验证成功
slideYzSeccess(data) {//会话ID(sessionId)、签名串(sig)、请求唯一标识(token)
       console.log(this.slideYzSeccessData)
},

三、u-popup 组件中初始化滑动验证,打包发布后不能滑动

1、搜索资料后得出 u-popup   使用@touchmove.stop.prevent 阻止滑动穿透 ,影响弹出层内容滑动,可以考虑直接去掉 @touchmove.stop.prevent (未试)

2、不使用u-popup组件,自定义弹窗 (问题解决)

四、另一个接入方法

将阿里云写成一个html模版,通过web-view引入,postMessage传参

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值