sliderDialog.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <view class="slider-check-dialog">
  3. <view class="slider-check-content">
  4. <view class="slider-check-title" :class="{ 'slider-tip-red': isSlider}">请通过滑块验证</view>
  5. <view class="slider-check-tip">请滑动下方滑块,完成验证。</view>
  6. <view id="yzm-slider"></view>
  7. <text @click="AWSC.emitData" class="slider-check-btn" :class="{ 'btn-click': isSlider}">确认</text>
  8. </view>
  9. </view>
  10. </template>
  11. <script>
  12. export default {
  13. mounted() {
  14. },
  15. data() {
  16. return {
  17. sliderObj: {
  18. sessionId: '',
  19. sig: '',
  20. token: '',
  21. },
  22. isSlider:false,
  23. }
  24. },
  25. methods: {
  26. receiveRenderData(data) {
  27. this.$emit('emitFun', data)
  28. },
  29. sliderShow() {
  30. this.$refs.sliderPopup.open()
  31. },
  32. sliderClose() {
  33. this.$refs.sliderPopup.close()
  34. }
  35. }
  36. }
  37. </script>
  38. <script module="AWSC" lang="renderjs">
  39. export default {
  40. mounted() {
  41. const script = document.createElement('script');
  42. script.src = 'https://g.alicdn.com/AWSC/AWSC/awsc.js';
  43. document.body.appendChild(script);
  44. script.onload = () => {
  45. this.init()
  46. }
  47. },
  48. data() {
  49. return {
  50. sessionId: '',
  51. sig: '',
  52. token: '',
  53. }
  54. },
  55. methods: {
  56. init() {
  57. let that =this
  58. AWSC.use("nc", function(state, module) {
  59. nc = module.init({
  60. // 应用类型标识。它和使用场景标识(scene字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在阿里云验证码控制台的配置管理页签找到对应的appkey字段值,请务必正确填写。
  61. appkey: "FFFF0N00000000007EC0",
  62. //使用场景标识。它和应用类型标识(appkey字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在阿里云验证码控制台的配置管理页签找到对应的scene值,请务必正确填写。
  63. scene: "nc_message_h5",
  64. // 声明滑动验证需要渲染的目标ID。
  65. renderTo: "yzm-slider",
  66. //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将会话ID(sessionId)、签名串(sig)、请求唯一标识(token)字段记录下来,随业务请求一同发送至您的服务端调用验签。
  67. success: function(data) {
  68. that.getData(data)
  69. },
  70. // 滑动验证失败时触发该回调参数。
  71. fail: function(failCode) {
  72. console.log('失败:' + failCode)
  73. },
  74. // 验证码加载出现异常时触发该回调参数。
  75. error: function(errorCode) {
  76. console.log('异常:' + errorCode)
  77. }
  78. });
  79. })
  80. },
  81. getData(data){
  82. console.log(data)
  83. this.sessionId =data.sessionId
  84. this.sig =data.sig
  85. this.token =data.token
  86. AWSC.emitData;
  87. },
  88. emitData(e, ownerInstance) {
  89. if(this.sessionId){
  90. ownerInstance.callMethod('receiveRenderData', {
  91. sessionId: this.sessionId,
  92. sig: this.sig,
  93. token: this.token
  94. })
  95. }else{
  96. this.isSlider = true;
  97. }
  98. }
  99. }
  100. }
  101. </script>