84c4f28d81a0fe6fe984d9f909ac297a-js.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php /*a:2:{s:53:"D:\phpEnv\www\SCM-API\app\admin\view\index\login.html";i:1750736984;s:52:"D:\phpEnv\www\SCM-API\app\admin\view\layout\vue.html";i:1750736984;}*/ ?>
  2. export default{
  3. data(){
  4. return {
  5. thirdLogin:false,
  6. qrcode:'',
  7. captchaUrl:'',
  8. loginForm:{
  9. __token__:'',
  10. username: '',
  11. password: '',
  12. captcha: '',
  13. savepassword:[1],
  14. },
  15. rules:{
  16. username:[{required:true,message:'用户名不能为空!',}],
  17. password:[{required:true,message:'密码不能为空!',}],
  18. },
  19. dialogVisible:false,
  20. adminlist:[],
  21. checked:''
  22. }
  23. },
  24. onLoad:function (){
  25. this.refreshCaptcha();
  26. let width=document.body.clientWidth;
  27. this.thirdLogin=Yunqi.data.thirdLogin && width>800;
  28. window.addEventListener('resize',()=>{
  29. let width=document.body.clientWidth;
  30. this.thirdLogin=Yunqi.data.thirdLogin && width>800;
  31. });
  32. this.qrcode=Yunqi.data.qrcode;
  33. },
  34. onShow:function (){
  35. this.loginForm.__token__=document.getElementsByTagName('input')[0].value;
  36. this.loginForm.username= localStorage.getItem('username') || '';
  37. this.loginForm.password= localStorage.getItem('password') || '';
  38. this.loginForm.savepassword= localStorage.getItem('savepassword')? [1] : [];
  39. this.checklogin();
  40. },
  41. methods:{
  42. refreshCaptcha:function (){
  43. this.captchaUrl=Yunqi.config.baseUrl+"captcha?"+Math.random();
  44. },
  45. checklogin:function (){
  46. if(!this.thirdLogin){
  47. return;
  48. }
  49. let token=document.querySelector('input[name="__token__"]').value;
  50. Yunqi.ajax.get('qrcodeLogin', {token:token},false,false).then(res=>{
  51. Yunqi.message.success('登录成功');
  52. setTimeout(()=>{
  53. this.redirect();
  54. },1000);
  55. }).catch(err=>{
  56. if(err.data.length>0){
  57. this.adminlist=err.data;
  58. this.dialogVisible=true;
  59. return;
  60. }
  61. setTimeout(()=>{
  62. this.checklogin();
  63. },2000);
  64. });
  65. },
  66. cancelDialog:function (){
  67. location.reload();
  68. },
  69. confirmDialog:function (){
  70. let token=document.querySelector('input[name="__token__"]').value;
  71. Yunqi.ajax.get('qrcodeLogin',{token:token,admin_id:this.checked},true,false).then(res=>{
  72. this.dialogVisible=false;
  73. Yunqi.message.success('登录成功');
  74. setTimeout(()=>{
  75. this.redirect();
  76. },1000);
  77. });
  78. },
  79. redirect:function (){
  80. location.href=Yunqi.config.baseUrl+'index';
  81. },
  82. login:function (){
  83. this.$refs.loginForm.validate((valid)=>{
  84. if(valid){
  85. Yunqi.ajax.post('login',this.loginForm,true).then(res=>{
  86. let savepassword=this.loginForm.savepassword.length>0?1:0;
  87. if(savepassword){
  88. localStorage.setItem('username',this.loginForm.username);
  89. localStorage.setItem('password',this.loginForm.password);
  90. localStorage.setItem('savepassword',savepassword);
  91. }else{
  92. localStorage.removeItem('username');
  93. localStorage.removeItem('password');
  94. localStorage.removeItem('savepassword');
  95. }
  96. this.redirect();
  97. }).catch(err=>{
  98. if(err.data){
  99. this.refreshCaptcha();
  100. }
  101. });
  102. }
  103. });
  104. }
  105. }
  106. }