modejs_usereditpass.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. $.usereditpass = function(d, d2, tobj){
  2. var s = '';
  3. s+='<div class="btn-group" style="width:260px;">';
  4. s+='<input class="input" placeholder="新的密码" autocomplete="off" style="flex:1" id="newpassedit">';
  5. s+='<button id="usereditpass_btnv" class="webbtn webbtn-default">随机生成</button>';
  6. s+='</div>';
  7. s+='<div style="color:gray;font-size:12px">修改后,用户登录后也需在自行修改</div>';
  8. js.tanbody('usereditpass','修改['+d.name+']的密码',300,200,{
  9. html:'<div style="padding:10px">'+s+'</div>',
  10. btn:[{text:'确定修改'}]
  11. });
  12. $('#usereditpass_btn0').click(function(){
  13. var val = get('newpassedit').value;
  14. if(!val)return;
  15. if(val.length<4){js.msgerror('密码必须4位以上');return;}
  16. js.setmsg('修改中...','','msgview_usereditpass');
  17. this.disabled = true;
  18. $.ajax({
  19. url:js.getajaxurl('editpass','mode_user|input','flow'),
  20. type:'get',
  21. data:{pass:jm.base64encode(val),id:d.id},
  22. success:function(){
  23. js.tanclose('usereditpass');
  24. js.msgok('修改成功');
  25. }
  26. });
  27. });
  28. $('#usereditpass_btnv').click(function(){
  29. get('newpassedit').value = secureRandomString(12);
  30. });
  31. function secureRandomString(length = 16) {
  32. const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+-=';
  33. const charArray = new Uint8Array(length);
  34. window.crypto.getRandomValues(charArray);
  35. let result = '';
  36. for (let i = 0; i < length; i++) {
  37. result += chars[charArray[i] % chars.length];
  38. }
  39. return result;
  40. }
  41. }
粤ICP备19079148号