register.vue 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <template>
  2. <view style="padding: 20rpx;">
  3. <view class="box" style="padding: 60rpx 30rpx;">
  4. <view style="font-size: 40rpx;">欢迎注册</view>
  5. <view style="margin: 60rpx 0;">
  6. <uni-forms ref="formRef" :modelValue="form" :rules="rules" validateTrigger="blur">
  7. <uni-forms-item name="username" required>
  8. <uni-easyinput prefixIcon="person" v-model="form.username" placeholder="请输入账号" />
  9. </uni-forms-item>
  10. <uni-forms-item name="password" required>
  11. <uni-easyinput type="password" prefixIcon="locked" v-model="form.password" placeholder="请输入密码" />
  12. </uni-forms-item>
  13. <uni-forms-item>
  14. <button @click="register" type="primary" style="width: 100%; height: 70rpx; line-height: 70rpx; background-color: #006eff; border-color: #006eff;">注 册</button>
  15. </uni-forms-item>
  16. </uni-forms>
  17. </view>
  18. <view style="text-align: right;">
  19. 已有账号?请 <text @click="goLogin" style="display: inline; margin-left: 5rpx; color: #006eff;">登录</text>
  20. </view>
  21. </view>
  22. </view>
  23. </template>
  24. <script>
  25. export default {
  26. data() {
  27. return {
  28. form: { role: 'USER' },
  29. rules: {
  30. // 对字段进行必填验证
  31. username: {
  32. rules:[
  33. // 校验不能为空
  34. {
  35. required: true,
  36. errorMessage: '请输入账号',
  37. }
  38. ],
  39. },
  40. password: {
  41. rules:[
  42. // 校验不能为空
  43. {
  44. required: true,
  45. errorMessage: '请输入密码',
  46. }
  47. ],
  48. },
  49. }
  50. }
  51. },
  52. methods: {
  53. goLogin() {
  54. uni.redirectTo({
  55. url: '/pages/login/login'
  56. })
  57. },
  58. register() {
  59. this.$refs.formRef.validate().then(res => {
  60. this.$request.post('/register', this.form).then(res => {
  61. if (res.code === '200') { // 注册成功
  62. uni.showToast({
  63. icon: 'success',
  64. title: '注册成功'
  65. })
  66. setTimeout(() => {
  67. uni.navigateTo({
  68. url: '/pages/login/login'
  69. })
  70. }, 500)
  71. } else {
  72. uni.showToast({
  73. icon: 'none',
  74. title: res.msg
  75. })
  76. }
  77. })
  78. }).catch(err => {
  79. console.log('err', err);
  80. })
  81. }
  82. }
  83. }
  84. </script>
  85. <style>
  86. </style>