forget.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. var content = {
  2. 'cn':{
  3. item1:'忘记密码',
  4. btn:'确定',
  5. item2:'密码格式错误',
  6. item3:'请输入新密码',
  7. item4:'请确认新密码',
  8. item5:"两次输入密码不一致!",
  9. success:'成功',
  10. },
  11. 'en':{
  12. item1:'Forget the password',
  13. btn:'confirm',
  14. item2:'Wrong password format',
  15. item3:'Please enter a new password',
  16. item4:'Please confirm the new password',
  17. item5:"The two input passwords are inconsistent!",
  18. success:'success',
  19. }
  20. };
  21. let config = {
  22. Pattern: {
  23. Password: /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?!.*([~!@&%$^\\(\\)#_]).*\\1.*\\1.*\\1)[A-Za-z0-9~!@&%$^\\(\\)#_]{8,16}$/,
  24. }
  25. };
  26. let vm = new Vue({
  27. el: "#forget",
  28. data(){
  29. return{
  30. //多语言
  31. langList: {
  32. en: "ENGLISH",
  33. cn: "中文简体"
  34. },
  35. language: "cn",
  36. lang:{},
  37. params: {
  38. password: "",
  39. token:'',
  40. },
  41. rules: {
  42. password: [
  43. {
  44. validator: (rule, value, callback) => {
  45. if (config.Pattern.Password.test(value)) {
  46. callback();
  47. } else {
  48. callback(new Error(this.lang.item2));
  49. }
  50. },
  51. trigger: "blur"
  52. }
  53. ],
  54. password1: [
  55. {
  56. validator: (rule, value, callback) => {
  57. if (value === '') {
  58. callback(new Error(this.lang.item4));
  59. } else if (value !== this.params.password) {
  60. callback(new Error(this.lang.item5));
  61. } else {
  62. callback();
  63. }
  64. },
  65. trigger: "blur"
  66. }
  67. ]
  68. }
  69. }
  70. },
  71. computed: {
  72. AccessToken(){
  73. return{
  74. 'Access-Token': window.location.search.split('?token=')[1]
  75. }
  76. }
  77. },
  78. methods: {
  79. // 语言切换函数
  80. chooseLang (key) {
  81. this.lang = content[key];
  82. this.language = key;
  83. },
  84. // 发送
  85. send: async function () {
  86. this.$refs["params"].validate(async valid => {
  87. if (valid) {
  88. axios.defaults.headers.common['Access-Token'] = window.location.search.split('?token=')[1];
  89. axios.post('https://admin.brcforex.com/user/update/email/password', {
  90. ...this.params
  91. //参数
  92. }).then(res => {//请求成功后的处理函数
  93. if (res.data.code == 200) {
  94. this.$message({
  95. message: this.lang.success,
  96. type: 'success'
  97. });
  98. setTimeout(() => {
  99. window.location.href = 'https://admin.brcforex.com'
  100. }, 2000);
  101. } else {
  102. this.$message.error(res.data.msg);
  103. }
  104. }).catch(err => { //请求失败后的处理函数
  105. })
  106. } else {
  107. return false;
  108. }
  109. });
  110. },
  111. },
  112. mounted() {
  113. this.params.token = window.location.search.split('?token=')[1];
  114. this.lang = content['cn'];
  115. }
  116. });