You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
25 KiB
1 lines
25 KiB
{"version":3,"sources":["webpack:///C:/Users/18634/Desktop/项目/mianxueyoupin/components/wanl-captcha/wanl-captcha.vue?c60e","webpack:///C:/Users/18634/Desktop/项目/mianxueyoupin/components/wanl-captcha/wanl-captcha.vue?32ee","webpack:///C:/Users/18634/Desktop/项目/mianxueyoupin/components/wanl-captcha/wanl-captcha.vue?85dc","webpack:///C:/Users/18634/Desktop/项目/mianxueyoupin/components/wanl-captcha/wanl-captcha.vue?5a30","uni-app:///components/wanl-captcha/wanl-captcha.vue","webpack:///C:/Users/18634/Desktop/项目/mianxueyoupin/components/wanl-captcha/wanl-captcha.vue?09a3","webpack:///C:/Users/18634/Desktop/项目/mianxueyoupin/components/wanl-captcha/wanl-captcha.vue?1e9b"],"names":["data","title","show","captchaSrc","isDrag","dragStartTime","dragUseTime","mouseTrackList","sliderItemInitX","sliderItemLeftMax","sliderItemLeft","captchaSrcLoading","pageLoading","dragLoading","captchaError","append","computed","imageTransform","dragIcon","methods","init","pmsSuccess","pmsError","setTimeout","console","close","dragStart","that","dragMove","dragEnd","getCaptchaSrc","uni","url","method","withCredentials","complete","checkCaptcha","header","rotationAngle","keyO","keyA","keyD","hash","md5Key","addMouseTrack","length","r","t","getRect","query","boundingClientRect","resolve","exec"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqI;AACrI;AACgE;AACL;AACsC;;;AAGjG;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,kFAAM;AACR,EAAE,mGAAM;AACR,EAAE,4GAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,uGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAsmB,CAAgB,goBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACqD1nB;AACA;AAAA,eACA;EACAA;IACA;MACAC;MACAC;MAAA;MACAC;MAAA;;MAEAC;MAAA;MACAC;MAAA;MACAC;MAAA;MACAC;MAAA;;MAEAC;MAAA;MACAC;MAAA;MACAC;MAEAC;MAAA;MACAC;MAAA;MACAC;MAAA;MACAC;MAAA;MACAC;IACA;EACA;;EACAC;IACA;AACA;AACA;IACAC;MACA;MACA;IACA;IACA;AACA;AACA;IACAC;MACA;MACA;MACA;MACA;MACA;IACA;EACA;EACAC;IACA;AACA;AACA;IACAC;MAAA;MACA;QACAC;QACAC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;UACA;UACAC;YACA;cACA;gBACA;gBACA;kBACA;kBACA;kBACA;kBACA;gBACA;kBACAC;gBACA;cACA;gBACAA;cACA;YACA;UACA;QACA;UACA;QACA;MACA;IACA;IACA;AACA;AACA;IACAC;MACA;MACAH;IACA;IACA;AACA;AACA;IACAI;MACA;MACA;MACA;MACA;MACAC;MACAA;MACAA;MACAA;IACA;IACA;AACA;AACA;IACAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACAD;MACAA;IACA;IACA;AACA;AACA;IACAE;MACA;MACA;MACA;MACA;MACAF;MACAA;MACAA;MACAA;MACAA;IACA;IACA;AACA;AACA;IACAG;MAAA;MACA;MACA;MACA;MACA;MACAC;QACAC;QACAC;QACAC;QACAC;UACA;UACA;YACA;YACA;YACA;YACA;YACA;YACA;;YAEAJ;YACAA;UAGA;YACA;YACAR;cAAA;cACA;YACA;UACA;QACA;MACA;IACA;IACA;AACA;AACA;IACAa;MAAA;MACAL;QACAC;QACAC;QACAC;QAEAG;UACA;QACA;QAEArC;UACAe;UACAuB;UAAA;UACA/B;UAAA;UACAD;UAAA;UACAD;UAAA;UACAkC;UACAC;UACAC;UACAC;UACAC;QACA;QACAR;UACA;YACA;YACA;YACAd;UACA;YACA;YACA;YACA;YACAE;cACA;cACA;gBACA;cACA;gBACA;kBACA;gBACA;kBACA;kBACA;gBACA;cACA;YACA;UACA;QACA;MACA;IACA;IACA;AACA;AACA;IACAqB;MACA,wGACAC;MACA;MACA;QACA;UACAC;UAAA;UACAC;QACA;MACA;IACA;IACAC;MAAA;MACA;QACA;QACA;;QAEAC;QAKAA,8CACAC;UACA;YACAC;UACA;UACA;YACAA;UACA;QACA,GACAC;MACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACrTA;AAAA;AAAA;AAAA;AAAyqC,CAAgB,+oCAAG,EAAC,C;;;;;;;;;;;ACA7rC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"components/wanl-captcha/wanl-captcha.js","sourcesContent":["import { render, staticRenderFns, recyclableRender, components } from \"./wanl-captcha.vue?vue&type=template&id=6e292ba4&scoped=true&\"\nvar renderjs\nimport script from \"./wanl-captcha.vue?vue&type=script&lang=js&\"\nexport * from \"./wanl-captcha.vue?vue&type=script&lang=js&\"\nimport style0 from \"./wanl-captcha.vue?vue&type=style&index=0&id=6e292ba4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6e292ba4\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"components/wanl-captcha/wanl-captcha.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./wanl-captcha.vue?vue&type=template&id=6e292ba4&scoped=true&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n if (!_vm._isMounted) {\n _vm.e0 = function ($event) {\n $event.stopPropagation()\n ;(\"diyname\")\n }\n }\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./wanl-captcha.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./wanl-captcha.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view>\r\n\t\t<view class=\"cu-modal\" :class=\"show?'show':''\" @click.stop=\"close()\">\r\n\t\t\t<view @click.stop @touchmove.stop=\"'diyname'\" class=\"cu-dialog captchaDialog bg-white text-left\"\r\n\t\t\t\tstyle=\"border-radius: 40rpx\">\r\n\t\t\t\t<view class=\"padding-xs margin-top text-center\">\r\n\t\t\t\t\t<text class=\"text-grey text-df\">人机验证</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"margin-top-xs text-center\">\r\n\t\t\t\t\t<text class=\"text-lg text-black\">{{title}}</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"margin-top-lg flex justify-center text-sl\">\r\n\t\t\t\t\t<view class=\"captchaImage flex-center bg-white\">\r\n\t\t\t\t\t\t<view v-if=\"captchaSrc!=''\" class=\"captchaData\" :style=\"{ transform: `rotate(${imageTransform}deg)`, backgroundImage: `url(${captchaSrc})` }\"></view>\r\n\t\t\t\t\t\t<text v-if=\"pageLoading || captchaSrcLoading\" class=\"captchaIcon wlIcon-jiazai2 text-orange wlIconfont-spin\"></text>\r\n\t\t\t\t\t\t<text v-if=\"captchaError\" name=\"close\" class=\"captchaIcon wlIcon-31guanbi text-white\"></text>\r\n\t\t\t\t\t\t<template v-if=\"isDrag\">\r\n\t\t\t\t\t\t\t<!-- 辅助虚线 -->\r\n\t\t\t\t\t\t\t<view class=\"verticalArrow\"></view>\r\n\t\t\t\t\t\t\t<view class=\"transverseArrow\"></view>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"capFoot margin-top-lg margin-bottom-sm padding-lr-sm\">\r\n\t\t\t\t\t<view class=\"slider solid\" id=\"slider\">\r\n\t\t\t\t\t\t<view class=\"sliderItem clickActive-gray text-xxl\" :class=\"captchaError?'shake':''\" id=\"sliderItem\"\r\n\t\t\t\t\t\t\t@touchstart=\"dragStart\" @touchmove.prevent=\"dragMove\" @touchend=\"dragEnd\"\r\n\t\t\t\t\t\t\t@mousedown=\"dragStart\" @mousemove.prevent=\"dragMove\" @mouseup=\"dragEnd\"\r\n\t\t\t\t\t\t\t@dragstart=\"dragStart\" @dragend=\"dragEnd\" @dragover.stop @drop=\"dragMove\" :style=\"{\r\n\t\t\t\t\t\t\tleft: `${sliderItemLeft}px`,\r\n\t\t\t\t\t\t\tbackgroundColor: captchaError?'red':(isDrag?'#fe6600':'#fff')\r\n\t\t\t\t\t\t}\">\r\n\t\t\t\t\t\t\t<text v-if=\"dragLoading || pageLoading || captchaSrcLoading\" class=\"wlIcon-jiazai2 wlIconfont-spin\"></text>\r\n\t\t\t\t\t\t\t<text v-else :class=\"dragIcon\" class=\"wlIcon-shoushouzhang\"></text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"text-center text-sm margin-bottom\">\r\n\t\t\t\t\t<view class=\"text-xs text-gray\">\r\n\t\t\t\t\t\t<text>由</text>\r\n\t\t\t\t\t\t<text class=\"padding-lr-xs text-red\">Wanl</text>\r\n\t\t\t\t\t\t<text>提供技术支持</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"captchaCloseView\">\r\n\t\t\t\t\t<text @click=\"close\" name=\"close\" class=\"wlIcon-31guanbi text-white text-sl\"></text>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\r\n\t</view>\r\n</template>\r\n<script>\r\n\tlet pmsSuccess = null; //验证成功事件\r\n\tlet pmsError = null; //弹窗关闭事件\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ttitle: '',\r\n\t\t\t\tshow: false, //控制弹窗是否展示\r\n\t\t\t\tcaptchaSrc: \"\", //验证码图片 base64\r\n\t\t\t\t\r\n\t\t\t\tisDrag: false, //是否拖动中\r\n\t\t\t\tdragStartTime: 0, //拖动开始时间\r\n\t\t\t\tdragUseTime: 0, //拖动用时\r\n\t\t\t\tmouseTrackList: [], //鼠标轨迹列表\r\n\r\n\t\t\t\tsliderItemInitX: 0, //滑动按钮初始X坐标\r\n\t\t\t\tsliderItemLeftMax: 0, //滑块允许距离左边最大长度\r\n\t\t\t\tsliderItemLeft: 0,\r\n\r\n\t\t\t\tcaptchaSrcLoading: false, //请求图片验证码中\r\n\t\t\t\tpageLoading: false, //页面加载中,验证码图片加载中\r\n\t\t\t\tdragLoading: false, //拖动按钮loading状态\r\n\t\t\t\tcaptchaError: false, //是否验证失败\r\n\t\t\t\tappend: {} //附加信息\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomputed: {\r\n\t\t\t/**\r\n\t\t\t * 图片旋转角度\r\n\t\t\t */\r\n\t\t\timageTransform() {\r\n\t\t\t\tif (this.sliderItemLeft == 0) return 0;\r\n\t\t\t\treturn Math.ceil((360 / this.sliderItemLeftMax) * this.sliderItemLeft * 100) / 100;\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 拖动条上的图标\r\n\t\t\t */\r\n\t\t\tdragIcon() {\r\n\t\t\t\tlet white = 'text-white';\r\n\t\t\t\tlet black = 'text-black';\r\n\t\t\t\tif (this.captchaError) return white;\r\n\t\t\t\tif (this.isDrag) return white;\r\n\t\t\t\treturn black;\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t/**\r\n\t\t\t * 外部调用\r\n\t\t\t */\r\n\t\t\tinit(append) {\r\n\t\t\t\treturn new Promise((yes, err) => {\r\n\t\t\t\t\tpmsSuccess = yes;\r\n\t\t\t\t\tpmsError = err;\r\n\t\t\t\t\tthis.append = append;\r\n\t\t\t\t\tthis.captchaSrc = false;\r\n\t\t\t\t\tthis.captchaError = false;\r\n\t\t\t\t\tthis.isDrag = false;\r\n\t\t\t\t\tthis.captchaSrcLoading = false;\r\n\t\t\t\t\tthis.pageLoading = false;\r\n\t\t\t\t\tthis.dragLoading = false;\r\n\t\t\t\t\tthis.show = true;\r\n\t\t\t\t\tif (this.sliderItemLeftMax == 0) {\r\n\t\t\t\t\t\tthis.pageLoading = true;\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\t\t\t\tthis.getRect('#slider').then(res => {\r\n\t\t\t\t\t\t\t\t\tlet sliderWidth = res.width;\r\n\t\t\t\t\t\t\t\t\tthis.getRect('#sliderItem').then(res => {\r\n\t\t\t\t\t\t\t\t\t\tthis.sliderItemInitX = res.left;\r\n\t\t\t\t\t\t\t\t\t\tthis.sliderItemLeftMax = sliderWidth - res.width;\r\n\t\t\t\t\t\t\t\t\t\tthis.pageLoading = false;\r\n\t\t\t\t\t\t\t\t\t\tthis.getCaptchaSrc()\r\n\t\t\t\t\t\t\t\t\t}).catch((err) => {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log(\"获取节点信息失败 2 -> \", err);\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}).catch((err) => {\r\n\t\t\t\t\t\t\t\t\tconsole.log(\"获取节点信息失败 1 -> \", err);\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}, 500)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.getCaptchaSrc()\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 手动关闭弹窗\r\n\t\t\t */\r\n\t\t\tclose() {\r\n\t\t\t\tthis.show = false;\r\n\t\t\t\tpmsError(); //执行关闭回调事件\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 拖动开始事件\r\n\t\t\t */\r\n\t\t\tdragStart(e) {\r\n\t\t\t\tlet that = this;\r\n\t\t\t\tif (that.dragLoading) return false;\r\n\t\t\t\tif (that.pageLoading) return false;\r\n\t\t\t\tif (that.captchaSrcLoading) return false;\r\n\t\t\t\tthat.mouseTrackList = []; //初始化轨迹列表\r\n\t\t\t\tthat.dragStartTime = new Date().getTime(); //记录开始时间\r\n\t\t\t\tthat.isDrag = true;\r\n\t\t\t\tthat.addMouseTrack(e);\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 手指移动事件\r\n\t\t\t */\r\n\t\t\tdragMove(e) {\r\n\t\t\t\tlet that = this;\r\n\t\t\t\tif (that.dragLoading) return false;\r\n\t\t\t\tif (that.pageLoading) return false;\r\n\t\t\t\tif (that.captchaSrcLoading) return false;\r\n\t\t\t\tif (!that.isDrag) return false;\r\n\t\t\t\tlet maringLeft = (e.clientX ? e.clientX : e.changedTouches[0].clientX) - that.sliderItemInitX - 30;\r\n\t\t\t\tif (maringLeft < 0) maringLeft = 0;\r\n\t\t\t\tif (maringLeft > that.sliderItemLeftMax) maringLeft = that.sliderItemLeftMax;\r\n\t\t\t\tthat.sliderItemLeft = maringLeft;\r\n\t\t\t\tthat.addMouseTrack(e);\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 拖动结束事件\r\n\t\t\t */\r\n\t\t\tdragEnd(e) {\r\n\t\t\t\tlet that = this;\r\n\t\t\t\tif (that.dragLoading) return false;\r\n\t\t\t\tif (that.pageLoading) return false;\r\n\t\t\t\tif (that.captchaSrcLoading) return false;\r\n\t\t\t\tthat.addMouseTrack(e);\r\n\t\t\t\tthat.isDrag = false;\r\n\t\t\t\tthat.dragLoading = true; //开启loading准备ajax\r\n\t\t\t\tthat.dragUseTime = new Date().getTime() - that.dragStartTime; //计算拖动时间\r\n\t\t\t\tthat.checkCaptcha();\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 加载验证码\r\n\t\t\t */\r\n\t\t\tgetCaptchaSrc() {\r\n\t\t\t\tthis.captchaSrcLoading = true;\r\n\t\t\t\tthis.sliderItemLeft = 0;\r\n\t\t\t\tthis.captchaSrc = '';\r\n\t\t\t\tthis.title = '拖动滑块使图片角度为正';\r\n\t\t\t\tuni.request({\r\n\t\t\t\t\turl: '/wanlshop/sms/captcha',\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\twithCredentials: true,\r\n\t\t\t\t\tcomplete: res => {\r\n\t\t\t\t\t\tthis.captchaSrcLoading = false;\r\n\t\t\t\t\t\tif(res.res.code == 1){\r\n\t\t\t\t\t\t\tthis.dragLoading = false;\r\n\t\t\t\t\t\t\tthis.captchaSrc = `data:image/png;base64,${res.res.data.captchaSrc}`\r\n\t\t\t\t\t\t\t// // #ifdef MP\r\n\t\t\t\t\t\t\t// uni.removeStorageSync('wanlshop:cookie');\r\n\t\t\t\t\t\t\t// uni.setStorageSync('wanlshop:cookie', res.header['Set-Cookie'].split(\";\")[0]);\r\n\t\t\t\t\t\t\t// // #endif\r\n\t\t\t\t\t\t\t// #ifdef MP || H5\r\n\t\t\t\t\t\t\tuni.removeStorageSync('wanlshop:cookie');\r\n\t\t\t\t\t\t\tuni.setStorageSync('wanlshop:cookie', res.res.data.captchaCookie);\r\n\t\t\t\t\t\t\t// #endif\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tthis.$wanlshop.msg(res.res.msg);\r\n\t\t\t\t\t\t\tsetTimeout(()=>{ // 防止闪烁,延迟一秒\r\n\t\t\t\t\t\t\t this.close(); //关闭验证码\r\n\t\t\t\t\t\t\t},1600)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 提交效验\r\n\t\t\t */\r\n\t\t\tcheckCaptcha() {\r\n\t\t\t\tuni.request({\r\n\t\t\t\t\turl: '/wanlshop/sms/check',\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\twithCredentials: true,\r\n\t\t\t\t\t// #ifdef MP || H5\r\n\t\t\t\t\theader:{\r\n\t\t\t\t\t\t'Cookie': uni.getStorageSync('wanlshop:cookie')\r\n\t\t\t\t\t},\r\n\t\t\t\t\t// #endif\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\tappend: JSON.stringify(this.append),\r\n\t\t\t\t\t\trotationAngle: this.imageTransform, //旋转角度,为'坏人'增加繁琐的工作\r\n\t\t\t\t\t\tmouseTrackList: JSON.stringify(this.mouseTrackList), //滑动轨迹\r\n\t\t\t\t\t\tdragUseTime: this.dragUseTime, //拖动用时\r\n\t\t\t\t\t\tdragStartTime: this.dragStartTime, //拖动开始时间\r\n\t\t\t\t\t\tkeyO: Math.ceil(new Date().getTime() * Math.random() * 678951),\r\n\t\t\t\t\t\tkeyA: Math.ceil(new Date().getTime() * Math.random() * 123456),\r\n\t\t\t\t\t\tkeyD: Math.ceil(new Date().getTime() * Math.random() * 781545),\r\n\t\t\t\t\t\thash: Math.ceil(new Date().getTime() * Math.random() * 456789),\r\n\t\t\t\t\t\tmd5Key: Math.ceil(new Date().getTime() * Math.random() * 7891),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcomplete: res => {\r\n\t\t\t\t\t\tif(res.res.code == 1){\r\n\t\t\t\t\t\t\tthis.title = '恭喜你,验证成功!';\r\n\t\t\t\t\t\t\tthis.show = false;\r\n\t\t\t\t\t\t\tpmsSuccess(); //回调\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tthis.title = res.res.msg;\r\n\t\t\t\t\t\t\tthis.dragLoading = false;\r\n\t\t\t\t\t\t\tthis.captchaError = true;\r\n\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\tthis.captchaError = false;\r\n\t\t\t\t\t\t\t\tif(res.res.code == 0){\r\n\t\t\t\t\t\t\t\t\tthis.getCaptchaSrc();\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\tif(res.res.data.getNewCaptcha){\r\n\t\t\t\t\t\t\t\t\t\tthis.getCaptchaSrc();\r\n\t\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t\tthis.captchaSrcLoading = false;\r\n\t\t\t\t\t\t\t\t\t\tthis.sliderItemLeft = 0;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}, 1000)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 添加滑动数据进鼠标轨迹列表\r\n\t\t\t */\r\n\t\t\taddMouseTrack() {\r\n\t\t\t\tlet lastTime = this.mouseTrackList == '' ? this.dragStartTime : this.mouseTrackList[this.mouseTrackList\r\n\t\t\t\t\t.length - 1].t;\r\n\t\t\t\tlet now = new Date().getTime();\r\n\t\t\t\tif (lastTime + 200 <= now) {\r\n\t\t\t\t\tthis.mouseTrackList.push({\r\n\t\t\t\t\t\tr: Math.ceil(this.imageTransform / 360 * 10000) / 100, //当前角度\r\n\t\t\t\t\t\tt: now, //当前时间戳\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tgetRect(selector, all) {\r\n\t\t\t\treturn new Promise(resolve => {\r\n\t\t\t\t\tlet query = null;\r\n\t\t\t\t\t// 支付宝小程序不能加后面的.in(this),是它自身的限制\r\n\t\t\t\t\t// #ifndef MP-ALIPAY\r\n\t\t\t\t\tquery = uni.createSelectorQuery().in(this)\r\n\t\t\t\t\t// #endif\r\n\t\t\t\t\t// #ifdef MP-ALIPAY\r\n\t\t\t\t\tquery = uni.createSelectorQuery()\r\n\t\t\t\t\t// #endif\r\n\t\t\t\t\tquery[all ? 'selectAll' : 'select'](selector)\r\n\t\t\t\t\t\t.boundingClientRect(rect => {\r\n\t\t\t\t\t\t\tif (all && Array.isArray(rect) && rect.length) {\r\n\t\t\t\t\t\t\t\tresolve(rect)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (!all && rect) {\r\n\t\t\t\t\t\t\t\tresolve(rect)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t.exec()\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n\t.captchaImage {\r\n\t\theight: 320rpx;\r\n\t\twidth: 320rpx;\r\n\t\tborder-radius: 50%;\r\n\t\toverflow: hidden;\r\n\t\tposition: relative;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\t.captchaData{\r\n\t\t\theight: 320rpx;\r\n\t\t\twidth: 320rpx;\r\n\t\t\tborder-radius: 50%;\r\n\t\t\toverflow: hidden;\r\n\t\t\tbackground-color: #f5f5f5;\r\n\t\t\tbackground-position: center center;\n\t\t\tbackground-size: cover;\n\t\t\tbackground-repeat: no-repeat;\r\n\t\t}\r\n\t\t\r\n\t\t.captchaIcon {\r\n\t\t\tposition: absolute;\r\n\t\t}\r\n\r\n\t\t.verticalArrow {\r\n\t\t\tposition: absolute;\r\n\t\t\theight: 320rpx;\r\n\t\t\tborder-left: 1px dashed #fff;\r\n\t\t\tmargin-left: 1px;\r\n\t\t\twidth: 1px;\r\n\t\t}\r\n\r\n\t\t.transverseArrow {\r\n\t\t\tposition: absolute;\r\n\t\t\theight: 1px;\r\n\t\t\twidth: 320rpx;\r\n\t\t\tborder-top: 1px dashed #fff;\r\n\t\t\tmargin-top: 1px;\r\n\t\t\toverflow: visible;\r\n\t\t}\r\n\t}\r\n\r\n\t.capFoot {\r\n\t\theight: 60px;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: row;\r\n\t\tjustify-content: center;\r\n\r\n\t\t.slider {\r\n\t\t\twidth: 580rpx;\r\n\t\t\theight: 90rpx;\r\n\t\t\tbackground-color: #f5f5f5;\r\n\t\t\tborder-radius: 900rpx;\r\n\t\t\toverflow: hidden;\r\n\t\t\tposition: relative;\r\n\r\n\t\t\t.sliderItem {\r\n\t\t\t\theight: 88rpx;\r\n\t\t\t\twidth: 110rpx;\r\n\t\t\t\tborder-radius: 900rpx;\r\n\t\t\t\tbackground-color: white;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tleft: 0;\r\n\t\t\t\ttop: 1rpx;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\t-webkit-box-shadow: 0 21px 52px 0 rgba(82, 82, 82, .2);\r\n\t\t\t\tbox-shadow: 0 21px 52px 0 rgba(82, 82, 82, .2);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.shake {\r\n\t\tanimation: shake 800ms ease-in-out;\r\n\t}\r\n\r\n\t@keyframes shake {\r\n\r\n\t\t/* 水平抖动,核心代码 */\r\n\t\t10%,\r\n\t\t90% {\r\n\t\t\ttransform: translate3d(-1px, 0, 0);\r\n\t\t}\r\n\r\n\t\t20%,\r\n\t\t80% {\r\n\t\t\ttransform: translate3d(+2px, 0, 0);\r\n\t\t}\r\n\r\n\t\t30%,\r\n\t\t70% {\r\n\t\t\ttransform: translate3d(-3px, 0, 0);\r\n\t\t}\r\n\r\n\t\t40%,\r\n\t\t60% {\r\n\t\t\ttransform: translate3d(+3px, 0, 0);\r\n\t\t}\r\n\r\n\t\t50% {\r\n\t\t\ttransform: translate3d(-3px, 0, 0);\r\n\t\t}\r\n\t}\r\n\r\n\t.captchaDialog {\r\n\t\tposition: relative;\r\n\t\toverflow: visible;\r\n\t}\r\n\r\n\t.captchaCloseView {\r\n\t\tposition: absolute;\r\n\t\tbottom: -150rpx;\r\n\t\twidth: 100%;\r\n\t\theight: 100rpx;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n</style>","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./wanl-captcha.vue?vue&type=style&index=0&id=6e292ba4&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./wanl-captcha.vue?vue&type=style&index=0&id=6e292ba4&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1730871255577\n var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""} |