| 1 |
- {"remainingRequest":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js??ref--0-2!E:\\item\\newItem\\admin\\src\\pages\\kefu\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\newItem\\admin\\src\\pages\\kefu\\index.vue","mtime":1678166876296},{"path":"E:\\item\\newItem\\admin\\babel.config.js","mtime":1677828270071},{"path":"E:\\item\\newItem\\admin\\.babelrc","mtime":1677828270070},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js","mtime":1570440814000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkU6L2l0ZW0vbmV3SXRlbS9hZG1pbi9ub2RlX21vZHVsZXMvQHZ1ZS9iYWJlbC1wcmVzZXQtYXBwL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJyZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCB7IEFjY291bnRMb2dpbiwgbG9naW5JbmZvQXBpLCBnZXRTYW5Db2RlS2V5IGFzIF9nZXRTYW5Db2RlS2V5LCBzY2FuU3RhdHVzLCBrZWZ1Q29uZmlnIH0gZnJvbSAnQC9hcGkva2VmdSc7CmltcG9ydCBtaXhpbnMgZnJvbSAnLi4vYWNjb3VudC9taXhpbnMnOwppbXBvcnQgU2V0dGluZyBmcm9tICdAL3NldHRpbmcnOwppbXBvcnQgdXRpbCBmcm9tICdAL2xpYnMvdXRpbCc7CmltcG9ydCBRUkNvZGUgZnJvbSAncXJjb2RlanMyJzsKaW1wb3J0IHsgZ2V0Q29va2llcywgcmVtb3ZlQ29va2llcywgc2V0Q29va2llcyB9IGZyb20gJ0AvbGlicy91dGlsJzsKZXhwb3J0IGRlZmF1bHQgewogIG1peGluczogW21peGluc10sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGZ1bGxXaWR0aDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLAogICAgICBzd2lwZXJPcHRpb246IHsKICAgICAgICBwYWdpbmF0aW9uOiAnLnN3aXBlci1wYWdpbmF0aW9uJywKICAgICAgICBhdXRvcGxheTogdHJ1ZQogICAgICB9LAogICAgICBtb2RhbHM6IGZhbHNlLAogICAgICBhdXRvTG9naW46IHRydWUsCiAgICAgIGltZ2NvZGU6ICcnLAogICAgICBmb3JtSW5saW5lOiB7CiAgICAgICAgdXNlcm5hbWU6ICcnLAogICAgICAgIHBhc3N3b3JkOiAnJywKICAgICAgICBjb2RlOiAnJwogICAgICB9LAogICAgICBydWxlSW5saW5lOiB7CiAgICAgICAgdXNlcm5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXnlKjmiLflkI0nLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgcGFzc3dvcmQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXlr4bnoIEnLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgY29kZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpemqjOivgeeggScsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XQogICAgICB9LAogICAgICBlcnJvck51bTogMCwKICAgICAgamlnc2F3OiBudWxsLAogICAgICBsb2dpbl9sb2dvOiAnJywKICAgICAgc3dpcGVyTGlzdDogW10sCiAgICAgIGRlZmF1bHRTd2lwZXJMaXN0OiByZXF1aXJlKCdAL2Fzc2V0cy9pbWFnZXMvc3cuanBnJyksCiAgICAgIGxvZ2luVHlwZTogMCwKICAgICAgLy8gMCDotKblj7cgMSDmiavnoIEKICAgICAgY29kZUtleTogJycsCiAgICAgIHNjYW5UaW1lOiAnJywKICAgICAgcnhwaXJlZDogZmFsc2UsCiAgICAgIC8vIOaJq+eggeaYr+WQpui/h+acnwogICAgICBpc01vYmlsZTogZmFsc2UsCiAgICAgIHZlcnNpb246ICcnLAogICAgICAvL+eJiOacrOWPtwogICAgICBpc1NjYW46IGZhbHNlLAogICAgICB0aW1lTnVtOiAwLAogICAgICBjb3B5cmlnaHQ6ICcnLAogICAgICBjb3B5cmlnaHRJbWc6IHJlcXVpcmUoJ0AvYXNzZXRzL2ltYWdlcy9sb2dvLWRhcmsucG5nJykKICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIF90aGlzMiA9IHRoaXM7CgogICAga2VmdUNvbmZpZygpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICBfdGhpczIudmVyc2lvbiA9IHJlcy5kYXRhLnZlcnNpb247CiAgICAgIF90aGlzMi5jb3B5cmlnaHQgPSByZXMuZGF0YS5jb3B5cmlnaHQ7CgogICAgICBpZiAocmVzLmRhdGEuc2l0ZV9uYW1lKSB7CiAgICAgICAgZG9jdW1lbnQudGl0bGUgPSByZXMuZGF0YS5zaXRlX25hbWU7CiAgICAgIH0KCiAgICAgIGlmIChyZXMuZGF0YS5jb3B5cmlnaHRJbWcpIHsKICAgICAgICBfdGhpczIuY29weXJpZ2h0SW1nID0gcmVzLmRhdGEuY29weXJpZ2h0SW1nOwogICAgICB9CiAgICB9KTsKICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLiRzdG9yZS5zdGF0ZS5tZWRpYS5pc01vYmlsZTsKCiAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgIHRvcCAhPSB3aW5kb3cgJiYgKHRvcC5sb2NhdGlvbi5ocmVmID0gbG9jYXRpb24uaHJlZik7CgogICAgZG9jdW1lbnQub25rZXlkb3duID0gZnVuY3Rpb24gKGUpIHsKICAgICAgaWYgKF90aGlzLiRyb3V0ZS5uYW1lID09PSAnbG9naW4nKSB7CiAgICAgICAgdmFyIGtleSA9IHdpbmRvdy5ldmVudC5rZXlDb2RlOwoKICAgICAgICBpZiAoa2V5ID09PSAxMykgewogICAgICAgICAgX3RoaXMuaGFuZGxlU3VibWl0KCdmb3JtSW5saW5lJyk7CiAgICAgICAgfQogICAgICB9CiAgICB9OwoKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmhhbmRsZVJlc2l6ZSk7CiAgfSwKICB3YXRjaDogewogICAgZnVsbFdpZHRoOiBmdW5jdGlvbiBmdWxsV2lkdGgodmFsKSB7CiAgICAgIC8vIOS4uuS6humBv+WFjemikee5geinpuWPkXJlc2l6ZeWHveaVsOWvvOiHtOmhtemdouWNoemhv++8jOS9v+eUqOWumuaXtuWZqAogICAgICBpZiAoIXRoaXMudGltZXIpIHsKICAgICAgICAvLyDkuIDml6bnm5HlkKzliLDnmoRzY3JlZW5XaWR0aOWAvOaUueWPmO+8jOWwseWwhuWFtumHjeaWsOi1i+e7mWRhdGHph4znmoRzY3JlZW5XaWR0aAogICAgICAgIHRoaXMuc2NyZWVuV2lkdGggPSB2YWw7CiAgICAgICAgdGhpcy50aW1lciA9IHRydWU7CiAgICAgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgLy8g5omT5Y2wc2NyZWVuV2lkdGjlj5jljJbnmoTlgLwKICAgICAgICAgIHRoYXQudGltZXIgPSBmYWxzZTsKICAgICAgICB9LCA0MDApOwogICAgICB9CiAgICB9LAogICAgJHJvdXRlOiBmdW5jdGlvbiAkcm91dGUobikgewogICAgICB0aGlzLmNhcHRjaGFzKCk7CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge30pOwogICAgdGhpcy5jYXB0Y2hhcygpOwogIH0sCiAgbWV0aG9kczogewogICAgLy8g5YiH5o2i5omr56CBCiAgICBiaW5kU2NhbjogZnVuY3Rpb24gYmluZFNjYW4oKSB7CiAgICAgIGlmICghdGhpcy5pc1NjYW4pIHsKICAgICAgICB0aGlzLmlzU2NhbiA9IHRydWU7CiAgICAgICAgdGhpcy5nZXRTYW5Db2RlS2V5KCk7CiAgICAgIH0KCiAgICAgIHRoaXMubG9naW5UeXBlID0gMTsKICAgIH0sCiAgICAvLyDnlJ/miJDkuoznu7TnoIEKICAgIGNyZWF0UXJDb2RlOiBmdW5jdGlvbiBjcmVhdFFyQ29kZSgpIHsKICAgICAgdmFyIHVybCA9ICIiLmNvbmNhdCh3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wsICIvLyIpLmNvbmNhdCh3aW5kb3cubG9jYXRpb24uaG9zdCwgIi9wYWdlcy91c2Vycy9zY2FuX2xvZ2luL2luZGV4P2tleT0iKS5jb25jYXQodGhpcy5jb2RlS2V5KTsKICAgICAgdmFyIHFyY29kZSA9IG5ldyBRUkNvZGUodGhpcy4kcmVmcy5xckNvZGVVcmwsIHsKICAgICAgICB0ZXh0OiB1cmwsCiAgICAgICAgLy8g6ZyA6KaB6L2s5o2i5Li65LqM57u056CB55qE5YaF5a65CiAgICAgICAgd2lkdGg6IDE2MCwKICAgICAgICBoZWlnaHQ6IDE2MCwKICAgICAgICBjb2xvckRhcms6ICcjMDAwMDAwJywKICAgICAgICBjb2xvckxpZ2h0OiAnI2ZmZmZmZicsCiAgICAgICAgY29ycmVjdExldmVsOiBRUkNvZGUuQ29ycmVjdExldmVsLkgKICAgICAgfSk7CiAgICB9LAogICAgLy8g5YWz6Zet5qih5oCB5qGGCiAgICBjbG9zZU1vZGVsOiBmdW5jdGlvbiBjbG9zZU1vZGVsKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKCiAgICAgIHZhciBtc2cgPSB0aGlzLiRNZXNzYWdlLmxvYWRpbmcoewogICAgICAgIGNvbnRlbnQ6ICfnmbvlvZXkuK0uLi4nLAogICAgICAgIGR1cmF0aW9uOiAwCiAgICAgIH0pOwogICAgICBBY2NvdW50TG9naW4oewogICAgICAgIGFjY291bnQ6IHRoaXMuZm9ybUlubGluZS51c2VybmFtZSwKICAgICAgICBwYXNzd29yZDogdGhpcy5mb3JtSW5saW5lLnBhc3N3b3JkLAogICAgICAgIGltZ2NvZGU6IHRoaXMuZm9ybUlubGluZS5jb2RlCiAgICAgIH0pLnRoZW4oIC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIF9yZWYgPSBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUocmVzKSB7CiAgICAgICAgICB2YXIgZXhwaXJlczsKICAgICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICAgIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgbXNnKCk7CiAgICAgICAgICAgICAgICAgIGV4cGlyZXMgPSBfdGhpczMuZ2V0RXhwaXJlc1RpbWUocmVzLmRhdGEuZXhwX3RpbWUpOyAvLyDorrDlvZXnlKjmiLfnmbvpmYbkv6Hmga8KCiAgICAgICAgICAgICAgICAgIHNldENvb2tpZXMoJ2tlZnVfdXVpZCcsIHJlcy5kYXRhLmtlZnVJbmZvLnVpZCwgZXhwaXJlcyk7CiAgICAgICAgICAgICAgICAgIHNldENvb2tpZXMoJ2tlZnVfdG9rZW4nLCByZXMuZGF0YS50b2tlbiwgZXhwaXJlcyk7CiAgICAgICAgICAgICAgICAgIHNldENvb2tpZXMoJ2tlZnVfZXhwaXJlc190aW1lJywgcmVzLmRhdGEuZXhwX3RpbWUsIGV4cGlyZXMpOwogICAgICAgICAgICAgICAgICBzZXRDb29raWVzKCdrZWZ1SW5mbycsIHJlcy5kYXRhLmtlZnVJbmZvLCBleHBpcmVzKTsgLy8g6K6w5b2V55So5oi35L+h5oGvCgogICAgICAgICAgICAgICAgICBfdGhpczMuJHN0b3JlLmNvbW1pdCgna2VmdS9zZXRJbmZvJywgcmVzLmRhdGEua2VmdUluZm8pOwoKICAgICAgICAgICAgICAgICAgaWYgKCFfdGhpczMuJHN0b3JlLnN0YXRlLm1lZGlhLmlzTW9iaWxlKSB7CiAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDExOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYWJydXB0KCJyZXR1cm4iLCBfdGhpczMuJHJvdXRlci5yZXBsYWNlKHsKICAgICAgICAgICAgICAgICAgICBwYXRoOiBfdGhpczMuJHJvdXRlLnF1ZXJ5LnJlZGlyZWN0IHx8ICcva2VmdS9tb2JpbGVfbGlzdCcKICAgICAgICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgICAgIGNhc2UgMTE6CiAgICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5hYnJ1cHQoInJldHVybiIsIF90aGlzMy4kcm91dGVyLnJlcGxhY2UoewogICAgICAgICAgICAgICAgICAgIHBhdGg6IF90aGlzMy4kcm91dGUucXVlcnkucmVkaXJlY3QgfHwgJy9rZWZ1L3BjX2xpc3QnCiAgICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWUpOwogICAgICAgIH0pKTsKCiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChfeCkgewogICAgICAgICAgcmV0dXJuIF9yZWYuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBtc2coKTsKICAgICAgICB2YXIgZGF0YSA9IHJlcyA9PT0gdW5kZWZpbmVkID8ge30gOiByZXM7CiAgICAgICAgX3RoaXMzLmVycm9yTnVtKys7CgogICAgICAgIF90aGlzMy5jYXB0Y2hhcygpOwoKICAgICAgICBfdGhpczMuJE1lc3NhZ2UuZXJyb3IoZGF0YS5tc2cgfHwgJ+eZu+W9leWksei0pScpOwoKICAgICAgICBpZiAoX3RoaXMzLmppZ3NhdykgX3RoaXMzLmppZ3Nhdy5yZXNldCgpOwogICAgICB9KTsKICAgIH0sCiAgICBnZXRFeHBpcmVzVGltZTogZnVuY3Rpb24gZ2V0RXhwaXJlc1RpbWUoZXhwaXJlc1RpbWUpIHsKICAgICAgdmFyIG5vd1RpbWVOdW0gPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkgLyAxMDAwKTsKICAgICAgdmFyIGV4cGlyZXNUaW1lTnVtID0gZXhwaXJlc1RpbWUgLSBub3dUaW1lTnVtOwogICAgICByZXR1cm4gcGFyc2VGbG9hdChwYXJzZUZsb2F0KHBhcnNlRmxvYXQoZXhwaXJlc1RpbWVOdW0gLyA2MCkgLyA2MCkgLyAyNCk7CiAgICB9LAogICAgY2xvc2VmYWlsOiBmdW5jdGlvbiBjbG9zZWZhaWwoKSB7CiAgICAgIGlmICh0aGlzLmppZ3NhdykgdGhpcy5qaWdzYXcucmVzZXQoKTsKICAgICAgdGhpcy4kTWVzc2FnZS5lcnJvcign5qCh6aqM6ZSZ6K+vJyk7CiAgICB9LAogICAgaGFuZGxlUmVzaXplOiBmdW5jdGlvbiBoYW5kbGVSZXNpemUoZXZlbnQpIHsKICAgICAgdGhpcy5mdWxsV2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7CiAgICB9LAogICAgY2FwdGNoYXM6IGZ1bmN0aW9uIGNhcHRjaGFzKCkgewogICAgICB0aGlzLmltZ2NvZGUgPSBTZXR0aW5nLmFwaUJhc2VVUkwgKyAnL2NhcHRjaGFfcHJvPycgKyBEYXRlLnBhcnNlKG5ldyBEYXRlKCkpOwogICAgfSwKICAgIGhhbmRsZVN1Ym1pdDogZnVuY3Rpb24gaGFuZGxlU3VibWl0KG5hbWUpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICB0aGlzLiRyZWZzW25hbWVdLnZhbGlkYXRlKGZ1bmN0aW9uICh2YWxpZCkgewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgX3RoaXM0LmNsb3NlTW9kZWwoKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPluWuouacjeaJq+eggWtleQogICAgZ2V0U2FuQ29kZUtleTogZnVuY3Rpb24gZ2V0U2FuQ29kZUtleSgpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CgogICAgICBfZ2V0U2FuQ29kZUtleSgpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzNS5jb2RlS2V5ID0gcmVzLmRhdGEua2V5OwoKICAgICAgICBfdGhpczUuY3JlYXRRckNvZGUoKTsKCiAgICAgICAgX3RoaXM1LnNjYW5UaW1lID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgewogICAgICAgICAgX3RoaXM1LnRpbWVOdW0rKzsKCiAgICAgICAgICBpZiAoX3RoaXM1LnRpbWVOdW0gPj0gNjApIHsKICAgICAgICAgICAgX3RoaXM1LnRpbWVOdW0gPSAwOwogICAgICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbChfdGhpczUuc2NhblRpbWUpOwogICAgICAgICAgICBfdGhpczUucnhwaXJlZCA9IHRydWU7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBfdGhpczUuZ2V0U2NhblN0YXR1cygpOwogICAgICAgICAgfQogICAgICAgIH0sIDEwMDApOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsKICAgICAgICBfdGhpczUudGltZU51bSA9IDA7CiAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoX3RoaXM1LnNjYW5UaW1lKTsKICAgICAgICBfdGhpczUucnhwaXJlZCA9IHRydWU7CgogICAgICAgIF90aGlzNS4kTWVzc2FnZS5lcnJvcihlcnJvci5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDmiavnoIHnmbvlvZXmg4XlhrUKICAgIGdldFNjYW5TdGF0dXM6IGZ1bmN0aW9uIGdldFNjYW5TdGF0dXMoKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwoKICAgICAgc2NhblN0YXR1cyh0aGlzLmNvZGVLZXkpLnRoZW4oIC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIF9yZWYyID0gX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlMihyZXMpIHsKICAgICAgICAgIHZhciBleHBpcmVzOwogICAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgLy8gMCA9IOS6jOe7tOeggei/h+acn+mcgOimgemHjeaWsOiOt+WPluaOiOadg+WHreivgQogICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuc3RhdHVzID09IDApIHsKICAgICAgICAgICAgICAgICAgICBfdGhpczYudGltZU51bSA9IDA7CiAgICAgICAgICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoX3RoaXM2LnNjYW5UaW1lKTsKICAgICAgICAgICAgICAgICAgICBfdGhpczYucnhwaXJlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgIH0gLy8gMT3mraPlnKjmiavmj48KCgogICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuc3RhdHVzID09IDEpIHt9IC8vIDMg5omr5o+P5oiQ5Yqf5q2j5Zyo55m75b2VCgoKICAgICAgICAgICAgICAgICAgaWYgKCEocmVzLmRhdGEuc3RhdHVzID09IDMpKSB7CiAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAxNTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoX3RoaXM2LnNjYW5UaW1lKTsKICAgICAgICAgICAgICAgICAgZXhwaXJlcyA9IF90aGlzNi5nZXRFeHBpcmVzVGltZShyZXMuZGF0YS5leHBfdGltZSk7IC8vIOiusOW9leeUqOaIt+eZu+mZhuS/oeaBrwoKICAgICAgICAgICAgICAgICAgc2V0Q29va2llcygna2VmdV91dWlkJywgcmVzLmRhdGEua2VmdUluZm8udWlkLCBleHBpcmVzKTsKICAgICAgICAgICAgICAgICAgc2V0Q29va2llcygna2VmdV90b2tlbicsIHJlcy5kYXRhLnRva2VuLCBleHBpcmVzKTsKICAgICAgICAgICAgICAgICAgc2V0Q29va2llcygna2VmdV9leHBpcmVzX3RpbWUnLCByZXMuZGF0YS5leHBfdGltZSwgZXhwaXJlcyk7CiAgICAgICAgICAgICAgICAgIHNldENvb2tpZXMoJ2tlZnVJbmZvJywgcmVzLmRhdGEua2VmdUluZm8sIGV4cGlyZXMpOyAvLyDorrDlvZXnlKjmiLfkv6Hmga8KCiAgICAgICAgICAgICAgICAgIF90aGlzNi4kc3RvcmUuY29tbWl0KCdrZWZ1L3NldEluZm8nLCByZXMuZGF0YS5rZWZ1SW5mbyk7CgogICAgICAgICAgICAgICAgICBpZiAoIV90aGlzNi4kc3RvcmUuc3RhdGUubWVkaWEuaXNNb2JpbGUpIHsKICAgICAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDE0OwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLmFicnVwdCgicmV0dXJuIiwgX3RoaXM2LiRyb3V0ZXIucmVwbGFjZSh7CiAgICAgICAgICAgICAgICAgICAgcGF0aDogX3RoaXM2LiRyb3V0ZS5xdWVyeS5yZWRpcmVjdCB8fCAnL2tlZnUvbW9iaWxlX2xpc3QnCiAgICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICBjYXNlIDE0OgogICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLmFicnVwdCgicmV0dXJuIiwgX3RoaXM2LiRyb3V0ZXIucmVwbGFjZSh7CiAgICAgICAgICAgICAgICAgICAgcGF0aDogX3RoaXM2LiRyb3V0ZS5xdWVyeS5yZWRpcmVjdCB8fCAnL2tlZnUvcGNfbGlzdCcKICAgICAgICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgICAgIGNhc2UgMTU6CiAgICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWUyKTsKICAgICAgICB9KSk7CgogICAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gyKSB7CiAgICAgICAgICByZXR1cm4gX3JlZjIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgewogICAgICAgIF90aGlzNi4kTW9kYWwuZXJyb3IoewogICAgICAgICAgdGl0bGU6ICfmj5DnpLonLAogICAgICAgICAgY29udGVudDogZXJyb3IubXNnCiAgICAgICAgfSk7CgogICAgICAgIF90aGlzNi50aW1lTnVtID0gMDsKICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbChfdGhpczYuc2NhblRpbWUpOwogICAgICAgIF90aGlzNi5yeHBpcmVkID0gdHJ1ZTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5Yi35paw5LqM57u056CBCiAgICBiaW5kUmVmcmVzaDogZnVuY3Rpb24gYmluZFJlZnJlc2goKSB7CiAgICAgIHRoaXMuJHJlZnMucXJDb2RlVXJsLmlubmVySFRNTCA9ICcnOwogICAgICB0aGlzLnJ4cGlyZWQgPSBmYWxzZTsKICAgICAgdGhpcy5nZXRTYW5Db2RlS2V5KCk7CiAgICB9CiAgfSwKICBiZWZvcmVDcmVhdGU6IGZ1bmN0aW9uIGJlZm9yZUNyZWF0ZSgpIHt9LAogIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7CiAgICB0aGlzLnRpbWVOdW0gPSAwOwogICAgdGhpcy4kcmVmcy5xckNvZGVVcmwuaW5uZXJIVE1MID0gJyc7CiAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnNjYW5UaW1lKTsKICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmhhbmRsZVJlc2l6ZSk7IC8vIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjYW52YXMnKVswXS5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJywgJ2luZGV4X2JnJyk7CiAgfQp9Ow=="},{"version":3,"mappings":"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","names":["mixins","data","fullWidth","swiperOption","pagination","autoplay","modals","autoLogin","imgcode","formInline","username","password","code","ruleInline","required","message","trigger","errorNum","jigsaw","login_logo","swiperList","defaultSwiperList","loginType","codeKey","scanTime","rxpired","isMobile","version","isScan","timeNum","copyright","copyrightImg","created","kefuConfig","document","top","_this","window","watch","val","setTimeout","that","$route","n","mounted","methods","bindScan","creatQrCode","text","width","height","colorDark","colorLight","correctLevel","closeModel","content","duration","AccountLogin","account","then","msg","expires","setCookies","path","catch","getExpiresTime","expiresTime","closefail","handleResize","event","captchas","handleSubmit","name","getSanCodeKey","getScanStatus","scanStatus","res","title","bindRefresh","beforeCreate","beforeDestroy"],"sourceRoot":"src/pages/kefu","sources":["index.vue"],"sourcesContent":["<template>\r\n <div class=\"wrapper-box\">\r\n <div class=\"page-account kf\">\r\n <div class=\"content\">\r\n <img :src=\"copyrightImg\" alt=\"\" />\r\n <div class=\"desc\">\r\n <p class=\"tit\">让客户服务如此简单</p>\r\n <p class=\"kefu\">专业客服系统<br />助力企业打造一流的服务体验</p>\r\n </div>\r\n </div>\r\n <div class=\"container\" :class=\"[fullWidth > 768 ? 'containerSamll' : 'containerBig']\">\r\n <div class=\"index_from page-account-container\">\r\n <div :style=\"{ display: !loginType ? 'block' : 'none' }\">\r\n <div class=\"page-account-top\">\r\n <div class=\"page-account-top-logo\">客服登录</div>\r\n </div>\r\n <Form ref=\"formInline\" :model=\"formInline\" :rules=\"ruleInline\" @keyup.enter=\"handleSubmit('formInline')\">\r\n <FormItem prop=\"username\">\r\n <Input type=\"text\" v-model=\"formInline.username\" placeholder=\"请输入用户名\" size=\"large\" />\r\n </FormItem>\r\n <FormItem prop=\"password\">\r\n <Input type=\"password\" v-model=\"formInline.password\" placeholder=\"请输入密码\" size=\"large\" />\r\n </FormItem>\r\n <FormItem>\r\n <Button type=\"primary\" long size=\"large\" @click=\"handleSubmit('formInline')\" class=\"btn\">登录 </Button>\r\n </FormItem>\r\n </Form>\r\n <div class=\"qh_box\" v-if=\"!isMobile\" @click=\"bindScan\"><span class=\"iconfont iconerweima2\"></span></div>\r\n </div>\r\n <div :style=\"{ display: loginType ? 'block' : 'none' }\">\r\n <div class=\"page-account-top\">\r\n <div class=\"page-account-top-logo\">微信扫码登录</div>\r\n </div>\r\n <div class=\"code-box\">\r\n <div class=\"qrcode\" ref=\"qrCodeUrl\"></div>\r\n <div class=\"rxpired-box\" v-show=\"rxpired\">\r\n <p>已过期</p>\r\n <Button type=\"primary\" @click=\"bindRefresh\">点击刷新</Button>\r\n </div>\r\n </div>\r\n <div class=\"qh_box\" @click=\"loginType = 0\"><span class=\"iconfont iconzhanghaomima\"></span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <Modal v-model=\"modals\" scrollable footer-hide closable title=\"请完成安全校验\" :mask-closable=\"false\" :z-index=\"2\"-->\r\n <!-- width=\"342\">-->\r\n <!-- <div class=\"captchaBox\">-->\r\n <!-- <div id=\"captcha\" style=\"position: relative\" ref=\"captcha\"></div>-->\r\n <!-- <div id=\"msg\"></div>-->\r\n <!-- </div>-->\r\n <!-- </Modal>-->\r\n </div>\r\n <div class=\"foot-box\" v-if=\"copyright\">{{ copyright }}</div>\r\n <!-- <div class=\"foot-box\" v-else>\r\n Copyright © 2014-2023 <a href=\"https://www.crmeb.com\" target=\"_blank\">{{ version }}</a>\r\n </div> -->\r\n </div>\r\n</template>\r\n<script>\r\nimport { AccountLogin, loginInfoApi, getSanCodeKey, scanStatus, kefuConfig } from '@/api/kefu';\r\nimport mixins from '../account/mixins';\r\nimport Setting from '@/setting';\r\nimport util from '@/libs/util';\r\nimport QRCode from 'qrcodejs2';\r\nimport { getCookies, removeCookies, setCookies } from '@/libs/util';\r\nexport default {\r\n mixins: [mixins],\r\n data() {\r\n return {\r\n fullWidth: document.documentElement.clientWidth,\r\n swiperOption: {\r\n pagination: '.swiper-pagination',\r\n autoplay: true,\r\n },\r\n modals: false,\r\n autoLogin: true,\r\n imgcode: '',\r\n formInline: {\r\n username: '',\r\n password: '',\r\n code: '',\r\n },\r\n ruleInline: {\r\n username: [{ required: true, message: '请输入用户名', trigger: 'blur' }],\r\n password: [{ required: true, message: '请输入密码', trigger: 'blur' }],\r\n code: [{ required: true, message: '请输入验证码', trigger: 'blur' }],\r\n },\r\n errorNum: 0,\r\n jigsaw: null,\r\n login_logo: '',\r\n swiperList: [],\r\n defaultSwiperList: require('@/assets/images/sw.jpg'),\r\n loginType: 0, // 0 账号 1 扫码\r\n codeKey: '',\r\n scanTime: '',\r\n rxpired: false, // 扫码是否过期\r\n isMobile: false,\r\n version: '', //版本号\r\n isScan: false,\r\n timeNum: 0,\r\n copyright: '',\r\n copyrightImg: require('@/assets/images/logo-dark.png'),\r\n };\r\n },\r\n created() {\r\n kefuConfig().then((res) => {\r\n this.version = res.data.version;\r\n this.copyright = res.data.copyright;\r\n if (res.data.site_name) {\r\n document.title = res.data.site_name;\r\n }\r\n if (res.data.copyrightImg) {\r\n this.copyrightImg = res.data.copyrightImg;\r\n }\r\n });\r\n this.isMobile = this.$store.state.media.isMobile;\r\n var _this = this;\r\n top != window && (top.location.href = location.href);\r\n document.onkeydown = function (e) {\r\n if (_this.$route.name === 'login') {\r\n let key = window.event.keyCode;\r\n if (key === 13) {\r\n _this.handleSubmit('formInline');\r\n }\r\n }\r\n };\r\n window.addEventListener('resize', this.handleResize);\r\n },\r\n watch: {\r\n fullWidth(val) {\r\n // 为了避免频繁触发resize函数导致页面卡顿,使用定时器\r\n if (!this.timer) {\r\n // 一旦监听到的screenWidth值改变,就将其重新赋给data里的screenWidth\r\n this.screenWidth = val;\r\n this.timer = true;\r\n let that = this;\r\n setTimeout(function () {\r\n // 打印screenWidth变化的值\r\n that.timer = false;\r\n }, 400);\r\n }\r\n },\r\n $route(n) {\r\n this.captchas();\r\n },\r\n },\r\n mounted: function () {\r\n this.$nextTick(() => {});\r\n\r\n this.captchas();\r\n },\r\n methods: {\r\n // 切换扫码\r\n bindScan() {\r\n if (!this.isScan) {\r\n this.isScan = true;\r\n this.getSanCodeKey();\r\n }\r\n this.loginType = 1;\r\n },\r\n // 生成二维码\r\n creatQrCode() {\r\n let url = `${window.location.protocol}//${window.location.host}/pages/users/scan_login/index?key=${this.codeKey}`;\r\n var qrcode = new QRCode(this.$refs.qrCodeUrl, {\r\n text: url, // 需要转换为二维码的内容\r\n width: 160,\r\n height: 160,\r\n colorDark: '#000000',\r\n colorLight: '#ffffff',\r\n correctLevel: QRCode.CorrectLevel.H,\r\n });\r\n },\r\n // 关闭模态框\r\n closeModel() {\r\n let msg = this.$Message.loading({\r\n content: '登录中...',\r\n duration: 0,\r\n });\r\n AccountLogin({\r\n account: this.formInline.username,\r\n password: this.formInline.password,\r\n imgcode: this.formInline.code,\r\n })\r\n .then(async (res) => {\r\n msg();\r\n let expires = this.getExpiresTime(res.data.exp_time);\r\n // 记录用户登陆信息\r\n setCookies('kefu_uuid', res.data.kefuInfo.uid, expires);\r\n setCookies('kefu_token', res.data.token, expires);\r\n setCookies('kefu_expires_time', res.data.exp_time, expires);\r\n setCookies('kefuInfo', res.data.kefuInfo, expires);\r\n\r\n // 记录用户信息\r\n this.$store.commit('kefu/setInfo', res.data.kefuInfo);\r\n\r\n if (this.$store.state.media.isMobile) {\r\n //手机页面\r\n return this.$router.replace({ path: this.$route.query.redirect || '/kefu/mobile_list' });\r\n } else {\r\n // pc页面\r\n return this.$router.replace({ path: this.$route.query.redirect || '/kefu/pc_list' });\r\n }\r\n })\r\n .catch((res) => {\r\n msg();\r\n let data = res === undefined ? {} : res;\r\n this.errorNum++;\r\n this.captchas();\r\n this.$Message.error(data.msg || '登录失败');\r\n if (this.jigsaw) this.jigsaw.reset();\r\n });\r\n },\r\n getExpiresTime(expiresTime) {\r\n let nowTimeNum = Math.round(new Date() / 1000);\r\n let expiresTimeNum = expiresTime - nowTimeNum;\r\n return parseFloat(parseFloat(parseFloat(expiresTimeNum / 60) / 60) / 24);\r\n },\r\n closefail() {\r\n if (this.jigsaw) this.jigsaw.reset();\r\n this.$Message.error('校验错误');\r\n },\r\n handleResize(event) {\r\n this.fullWidth = document.documentElement.clientWidth;\r\n },\r\n captchas: function () {\r\n this.imgcode = Setting.apiBaseURL + '/captcha_pro?' + Date.parse(new Date());\r\n },\r\n handleSubmit(name) {\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n this.closeModel();\r\n }\r\n });\r\n },\r\n // 获取客服扫码key\r\n getSanCodeKey() {\r\n getSanCodeKey()\r\n .then((res) => {\r\n this.codeKey = res.data.key;\r\n this.creatQrCode();\r\n this.scanTime = setInterval(() => {\r\n this.timeNum++;\r\n if (this.timeNum >= 60) {\r\n this.timeNum = 0;\r\n window.clearInterval(this.scanTime);\r\n this.rxpired = true;\r\n } else {\r\n this.getScanStatus();\r\n }\r\n }, 1000);\r\n })\r\n .catch((error) => {\r\n this.timeNum = 0;\r\n window.clearInterval(this.scanTime);\r\n this.rxpired = true;\r\n this.$Message.error(error.msg);\r\n });\r\n },\r\n // 扫码登录情况\r\n getScanStatus() {\r\n scanStatus(this.codeKey)\r\n .then(async (res) => {\r\n // 0 = 二维码过期需要重新获取授权凭证\r\n if (res.data.status == 0) {\r\n this.timeNum = 0;\r\n window.clearInterval(this.scanTime);\r\n this.rxpired = true;\r\n }\r\n // 1=正在扫描\r\n if (res.data.status == 1) {\r\n }\r\n // 3 扫描成功正在登录\r\n if (res.data.status == 3) {\r\n window.clearInterval(this.scanTime);\r\n let expires = this.getExpiresTime(res.data.exp_time);\r\n // 记录用户登陆信息\r\n setCookies('kefu_uuid', res.data.kefuInfo.uid, expires);\r\n setCookies('kefu_token', res.data.token, expires);\r\n setCookies('kefu_expires_time', res.data.exp_time, expires);\r\n setCookies('kefuInfo', res.data.kefuInfo, expires);\r\n // 记录用户信息\r\n this.$store.commit('kefu/setInfo', res.data.kefuInfo);\r\n if (this.$store.state.media.isMobile) {\r\n //手机页面\r\n return this.$router.replace({ path: this.$route.query.redirect || '/kefu/mobile_list' });\r\n } else {\r\n // pc页面\r\n return this.$router.replace({ path: this.$route.query.redirect || '/kefu/pc_list' });\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n this.$Modal.error({\r\n title: '提示',\r\n content: error.msg,\r\n });\r\n this.timeNum = 0;\r\n window.clearInterval(this.scanTime);\r\n this.rxpired = true;\r\n });\r\n },\r\n // 刷新二维码\r\n bindRefresh() {\r\n this.$refs.qrCodeUrl.innerHTML = '';\r\n this.rxpired = false;\r\n this.getSanCodeKey();\r\n },\r\n },\r\n beforeCreate() {},\r\n beforeDestroy: function () {\r\n this.timeNum = 0;\r\n this.$refs.qrCodeUrl.innerHTML = '';\r\n window.clearInterval(this.scanTime);\r\n window.removeEventListener('resize', this.handleResize);\r\n // document.getElementsByTagName('canvas')[0].removeAttribute('class', 'index_bg');\r\n },\r\n};\r\n</script>\r\n<style scoped lang=\"stylus\">\r\n.page-account {\r\n display: flex;\r\n width: 100%;\r\n background-image: url('~@/assets/images/kfbg_2.jpg');\r\n background-size: cover;\r\n background-position: center;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100vh;\r\n overflow: auto;\r\n\r\n .content {\r\n height: 400px;\r\n margin-right: 100px;\r\n\r\n .desc {\r\n color: #fff;\r\n\r\n .tit {\r\n font-size: 40px;\r\n font-weight: 600;\r\n }\r\n\r\n .kefu {\r\n margin-top: 30px;\r\n font-weight: 500;\r\n font-size: 20px;\r\n }\r\n }\r\n\r\n img {\r\n width: 360px;\r\n margin-left: -100px;\r\n }\r\n }\r\n}\r\n\r\n.code-box {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n .qrcode {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 180px;\r\n height: 180px;\r\n border: 1px solid #E5E5E6;\r\n }\r\n\r\n .rxpired-box {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n transform: translate(-50%, -50%);\r\n width: 160px;\r\n height: 160px;\r\n background: rgba(0, 0, 0, 0.6);\r\n\r\n p {\r\n margin-bottom: 10px;\r\n font-size: 15px;\r\n color: #fff;\r\n }\r\n }\r\n}\r\n\r\n.page-account-top-logo {\r\n color: #000000;\r\n font-size: 21px;\r\n}\r\n\r\n.wrapper-box {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100vh;\r\n\r\n .foot-box {\r\n padding: 20px 20px;\r\n font-size: 14px;\r\n color: #666666;\r\n text-align: right;\r\n box-sizing: border-box;\r\n\r\n a {\r\n margin-left: 0;\r\n color: #666666;\r\n }\r\n }\r\n}\r\n\r\n.page-account {\r\n display: flex;\r\n flex: 1;\r\n}\r\n\r\n.page-account .code {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.page-account .code .pictrue {\r\n height: 40px;\r\n}\r\n\r\n.swiperPross {\r\n border-radius: 6px 0px 0px 6px;\r\n}\r\n\r\n.swiperPross, .swiperPic, .swiperPic img {\r\n width: 510px;\r\n height: 100%;\r\n}\r\n\r\n.swiperPic img {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.container {\r\n height: 400px !important;\r\n padding: 0 !important;\r\n /* overflow: hidden; */\r\n border-radius: 6px;\r\n z-index: 1;\r\n display: flex;\r\n}\r\n\r\n.containerSamll {\r\n width: 384px !important;\r\n // margin-left: 30%;\r\n background: #fff !important;\r\n}\r\n\r\n.containerBig {\r\n width: 90%;\r\n padding-bottom: 20px;\r\n margin-top: 84px;\r\n background: #f7f7f7 !important;\r\n height: auto !important;\r\n box-shadow: 0px 3px 20px rgba(0, 20, 41, 0.06);\r\n}\r\n\r\n.index_from {\r\n position: relative;\r\n padding: 40px 40px 32px 40px;\r\n height: 400px;\r\n width: 100%;\r\n box-sizing: border-box;\r\n}\r\n\r\n.containerBig .index_from {\r\n padding: 20px;\r\n height: auto !important;\r\n}\r\n\r\n.index_from .qh_box {\r\n position: absolute;\r\n right: 12px;\r\n top: 0;\r\n cursor: pointer;\r\n\r\n .iconfont {\r\n color: #265BED;\r\n font-size: 36px;\r\n }\r\n}\r\n\r\n.page-account-top {\r\n padding: 20px 0 50px !important;\r\n box-sizing: border-box !important;\r\n display: flex;\r\n justify-content: center;\r\n}\r\n\r\n.page-account-container {\r\n border-radius: 0px 6px 6px 0px;\r\n}\r\n\r\n.btn {\r\n background: #265BED;\r\n}\r\n\r\n.captchaBox {\r\n width: 310px;\r\n}\r\n\r\ninput {\r\n display: block;\r\n width: 290px;\r\n line-height: 40px;\r\n margin: 10px 0;\r\n padding: 0 10px;\r\n outline: none;\r\n border: 1px solid #c8cccf;\r\n border-radius: 4px;\r\n color: #6a6f77;\r\n}\r\n\r\n#msg {\r\n width: 100%;\r\n line-height: 40px;\r\n font-size: 14px;\r\n text-align: center;\r\n}\r\n\r\na:link, a:visited, a:hover, a:active {\r\n margin-left: 100px;\r\n color: #0366D6;\r\n}\r\n\r\n.index_from >>> .ivu-input-large {\r\n font-size: 14px !important;\r\n}\r\n</style>\r\n<style>\r\n@media screen and (min-width: 320px) and (max-width: 960px) {\r\n .page-account {\r\n background-image: url('~@/assets/images/m_bg.png') !important;\r\n background-size: 100% auto !important;\r\n background-repeat: no-repeat;\r\n background-position: left top !important;\r\n display: flex;\r\n }\r\n\r\n .content {\r\n display: none;\r\n }\r\n .index_from {\r\n box-shadow: 0px 3px 20px rgba(0, 20, 41, 0.06);\r\n background: #fff;\r\n }\r\n .wrapper-box .foot-box {\r\n padding: 20px 66px !important;\r\n color: #adadad !important;\r\n font-size: 0.22rem !important;\r\n }\r\n .containerBig {\r\n width: 86% !important;\r\n border-radius: 0.2rem !important;\r\n overflow: hidden;\r\n }\r\n .btn {\r\n background: linear-gradient(90deg, #3875ea 0%, #1890fc 100%) !important;\r\n\r\n border-radius: 0.41rem;\r\n }\r\n .ivu-input {\r\n border: 1px solid #dcdee2;\r\n -webkit-appearance: none; /*去除阴影边框*/\r\n outline: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /*点击高亮的颜色*/\r\n }\r\n}\r\n</style>\r\n"]}]}
|