quanyawei
2023-10-20 d8b41fff43a2cee6a8f714ffa807623b15803786
pages/login/login.vue
@@ -10,17 +10,13 @@
      </view>
      <view class="formConten">
         <view>
            <u-form ref="uForm" label-position="left" :model="form">
               <u-form-item label="账号" prop="account">
                  <u-input v-model="form.account" placeholder="请输入账号" />
            <u-form ref="uForm" label-position="left" :model="form" :labelStyle="labelStyle">
               <u-form-item label="账号:" prop="account">
                  <u-input v-model="form.account" color='#fff' placeholder="请输入账号" />
               </u-form-item>
               <u-form-item label="密码" prop="password">
                  <u-input
                     v-model="form.password"
                     :password-icon="passwordIcon"
                     placeholder="请输入密码"
                     type="password"
                  />
               <u-form-item label="密码:" prop="password">
                  <u-input v-model="form.password" :password-icon="passwordIcon" color='#fff' placeholder="请输入密码"
                     type="password" />
               </u-form-item>
            </u-form>
         </view>
@@ -35,162 +31,143 @@
      </view>
   </view>
</template>
<script>
import { login } from '@/utils/login.js' // 配置文件
import { httpPost, httpGet } from '@/utils/http.js'
export default {
   data() {
      return {
         passwordIcon: false,
         form: {
            account: '',
            password: '',
         },
         rules: {
            account: [
               {
   import {
      login,
      getUserInfor,
      getDic
   } from '@/utils/login.js' // 配置文件
   import {
      httpPost,
      httpGet
   } from '@/utils/http.js'
   export default {
      data() {
         return {
            labelStyle: {
               color: '#fff'
            },
            passwordIcon: false,
            form: {
               account: '',
               password: '',
            },
            rules: {
               account: [{
                  required: true,
                  message: '请输入账号',
                  // 可以单个或者同时写两个触发验证方式
                  trigger: ['change', 'blur'],
               },
            ],
            password: [
               {
               }, ],
               password: [{
                  required: true,
                  message: '请输入密码',
                  trigger: ['change', 'blur'],
               },
            ],
         },
      }
   },
   onReady() {
      //onReady 为uni-app支持的生命周期之一
      this.$refs.uForm.setRules(this.rules)
   },
   methods: {
      submit() {
         this.$refs.uForm
            .validate()
            .then((res)=> {
               }, ],
            },
         }
      },
      onReady() {
         //onReady 为uni-app支持的生命周期之一
         this.$refs.uForm.setRules(this.rules)
      },
      methods: {
         submit() {
            this.$refs.uForm.validate().then(res => {
               this.getlogin()
            })
            .catch((errors)=> {
            }).catch(errors => {
               uni.$u.toast('校验失败')
            })
      },
      //登录
      getlogin() {
         let openId = this.$storage.get('openId')
         login({ ...this.form, openId})
            .then((response)=> {
               // uni.hideLoading()
               console.log('response', response)
         },
         //登录
         getlogin() {
            let openId = this.$storage.get('openId')
            login({
               ...this.form,
               openId
            }).then(response => {
               this.$storage.set('token', response.data.token)
               getDic()
               getUserInfor(response.data.token)
               uni.hideLoading()
               uni.switchTab({
                  url: '/pages/actionChange/agencyPage/index',
               })
               // this.$storage.setJson("accountInFor", this.form);
               // console.log('this.$store', this.$store)
               // this.$store.commit('token', token)
               // this.getDic()
               // this.getUserInfor()
               // uni.reLaunch({
               //    url: '/pages/actionChange/agencyPage/index',
               // })
               // this.$storage.setJson("accountInFor", this.form);
               // let token = this.$storage.get("token");)
            })
            .catch((errors)=> {
            }).catch(errors => {
               uni.showToast({
                  title: errors,
                  icon: 'none',
               })
            })
         },
      },
      getUserInfor() {
         let token = this.$storage.get('token', token)
         httpPost('/getUserInfo', { token }).then((result)=> {
            this.$storage.setJson('userInfo', result.data)
         })
      },
      getDic() {
         httpGet('/dict/list').then((result)=> {
            this.$storage.setJson('dict', result.data)
            this.$storage.setJson('dictObj', this.objToArr(result.data))
         })
      },
      arrToObj(arr) {
         return arr.reduce((obj, item)=> {
            obj[item.value] = item.name
            return obj
         }, {})
      },
      objToArr(obj) {
         const objde = {}
         for (const key in obj) {
            objde[key] = this.arrToObj(obj[key])
         }
         return objde
      },
   },
}
   }
</script>
<style scoped lang="scss">
uni-page-body {
  height: 100%;
}
.page {
  color: #ffffff;
  background: #3875c5;
  height: 100%;
}
.tit {
padding-top: 307.69rpx;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 53.85rpx;
}
.formConten {
  padding: 0 76.92rpx;
  color: #ffffff;
}
.u-form-item {
  color: #ffffff;
  font-size: 28.85rpx;
  font-weight: 700;
}
// /deep/.uni-input-wrapper {
//   background: #fff;
//   border-radius: 5px;
// }
// /deep/.uni-input-placeholder {
//   padding-left: 10px;
// }
/deep/.u-form-item__body__left__content__label {
  color: #fff;
}
// /deep/.uni-input-input {
//   padding-left: 10px;
// }
.loginContent {
  margin-top: 38.46rpx;
  p {
    text-align: right;
    margin-bottom: 20px;
    a {
      color: #fff;
    }
  }
  .u-btn--default {
    width: 80%;
  }
}
uni-navigator{
   display: inline-block;
}
</style>
   uni-page-body {
      height: 100%;
   }
   .page {
      color: #ffffff;
      background: #3875c5;
      height: 100%;
   }
   .tit {
      padding-top: 307.69rpx;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 53.85rpx;
   }
   .formConten {
      padding: 0 76.92rpx;
      color: #ffffff;
   }
   .u-form-item {
      color: #ffffff;
      font-size: 28.85rpx;
      font-weight: 700;
   }
   // /deep/.uni-input-wrapper {
   //   background: #fff;
   //   border-radius: 5px;
   // }
   // /deep/.uni-input-placeholder {
   //   padding-left: 10px;
   // }
   /deep/.u-form-item__body__left__content__label {
      color: #fff;
   }
   // /deep/.uni-input-input {
   //   padding-left: 10px;
   // }
   .loginContent {
      margin-top: 38.46rpx;
      p {
         text-align: right;
         margin-bottom: 20px;
         a {
            color: #fff;
         }
      }
      .u-btn--default {
         width: 80%;
      }
   }
   uni-navigator {
      display: inline-block;
   }
</style>