sliderDialog.vue 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <uni-popup ref="sliderPopup" :animation="false" :is-mask-click="false"
  3. mask-background-color="rgba(255, 255, 255, 0.6);">
  4. <view class="slider-check-dialog">
  5. <view class="slider-check-content">
  6. <text>请通过滑块验证</text>
  7. <view id="yzm-slider"></view>
  8. <view @click="sliderClose">关闭</view>
  9. </view>
  10. </view>
  11. </uni-popup>
  12. </template>
  13. <script setup>
  14. import {ref,reactive} from "vue"
  15. const sliderPopup = ref(null); // 索引
  16. let sliderObj = reactive({
  17. sessionId:'',
  18. sig:'',
  19. token:'',
  20. })
  21. const getAWSC = () => {
  22. AWSC.use("nc", function (state, module) {
  23. // 初始化
  24. window.nc = module.init({
  25. // 应用类型标识。它和使用场景标识(scene字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在阿里云验证码控制台的配置管理页签找到对应的appkey字段值,请务必正确填写。
  26. appkey: "FFFF0N00000000007EC0",
  27. //使用场景标识。它和应用类型标识(appkey字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在阿里云验证码控制台的配置管理页签找到对应的scene值,请务必正确填写。
  28. scene: "nc_message_h5",
  29. // 声明滑动验证需要渲染的目标ID。
  30. renderTo: "yzm-slider",
  31. //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将会话ID(sessionId)、签名串(sig)、请求唯一标识(token)字段记录下来,随业务请求一同发送至您的服务端调用验签。
  32. success: function (item) {
  33. console.log(item,'item')
  34. // sliderObj.sessionId = item.sessionId
  35. // sliderObj.sig = item.sig
  36. // sliderObj.token = item.token
  37. // Object.assign(sliderObj,item)
  38. // console.log(sliderObj)
  39. },
  40. // 滑动验证失败时触发该回调参数。
  41. fail: function (failCode) {
  42. window.console && console.log('失败:'+failCode)
  43. },
  44. // 验证码加载出现异常时触发该回调参数。
  45. error: function (errorCode) {
  46. window.console && console.log('异常:'+ errorCode)
  47. }
  48. });
  49. })
  50. }
  51. // 打开弹窗
  52. function sliderShow() {
  53. getAWSC();
  54. sliderPopup.value.open();
  55. }
  56. // 关闭弹窗
  57. function sliderClose() {
  58. sliderPopup.value.close();
  59. }
  60. defineExpose({
  61. sliderShow
  62. })
  63. </script>
  64. <style>
  65. </style>