zhouwenxuan
2023-09-06 0b2357a173a2bc52f3532bfcf93ff31daf226231
pages/index/index.vue
@@ -6,16 +6,18 @@
      </view>
      <view>   
         <u-form :model="form" ref="uForm" class="form" >
            <u-form-item ><u-input color="#fff" v-model="form.name" placeholder="请输入用户名"  /></u-form-item>
            <u-form-item ><u-input color="#fff" v-model="form.pwd" type="password" placeholder="请输入密码"  /></u-form-item>
            <u-form-item style="width: 75%;"><u-input color="#fff" v-model="form.name" placeholder="请输入用户名"  /></u-form-item>
            <u-form-item style="margin-top: 10px;width: 75%;" ><u-input color="#fff" v-model="form.pwd" type="password" placeholder="请输入密码"  /></u-form-item>
            <!-- <view class="loginPsw">
                   <u-checkbox-group >
                     <u-checkbox disabled="true"></u-checkbox><text style="color: #fff;">自动登录</text>
                   </u-checkbox-group>
                    <text style="color: lightblue;">忘记密码</text>
            </view> -->
            <u-form-item ><u-button  type="primary" style="width: 100%;" @click="Login">登录</u-button></u-form-item>
            <view style="color: white;margin-left:25%;margin-top: 70%;">技术支持:中国科学院</view>
            <u-form-item style="margin-top: 10px;width: 75%;">
               <u-button :loading="isLogining" type="primary" style="width: 100%;" @click="Login">登录</u-button>
               </u-form-item>
            <view style="color: white;margin-top: 150px;">技术支持:中国科学院</view>
         </u-form>
      </view>
   </view>
@@ -24,28 +26,70 @@
<script>
   import {login} from '../../api/index.js';
   import store from '@/store/index.js'
   const jpushModule = uni.requireNativePlugin('JG-JPush')
   export default {
      data() {
         return {
            form: {
               name: '',
               pwd: ''
               pwd: '',
               registrationId: ''
            },
            type: ''
            type: '',
            //极光推送
            connectStatus: '未连接',
            registrationID: '未获得',
            isLogining: false
         }
      },
      onShow() {
         uni.clearStorageSync();
         uni.clearStorage();
         console.log("数据",uni.getStorageSync('name'))
         if(uni.getStorageSync('name') && uni.getStorageSync('pwd')){
            // this.form.name = uni.getStorageSync('name');
            // this.form.pwd = uni.getStorageSync('pwd');
            if(uni.getStorageSync('roleName') == '工作人员'){
               this.$store.commit('setRoleId', 'user_other');
               uni.switchTab({
                    url: '/pages/tabBar/notice/notice'
                 });
            }else if (uni.getStorageSync('roleName') == '管理员'){
               this.$store.commit('setRoleId', '');
               uni.showToast({
                  icon: "none",
                  title: '管理员请使用平台登录'
               });
            }else{
               this.$store.commit('setRoleId', 'user_leader');
               uni.switchTab({
                        url: '/pages/tabBar/firstPage/firstPage'
                    });
            }
         }else{
            uni.clearStorageSync();
            uni.clearStorage();
         }
      },
      onLoad() {
         // this.connect()
      },
      methods: {
         Login(){
            this.isLogining = true;
            login(this.form).then(res => {
               console.log("res",res)
               if (res.code === 100) {
                  this.isLogining = false;
                   //登录成功后
                   //设置别名
                  // jpushModule.setAlias({
                  //    'alias': this.phone,
                  //    'sequence': 1
                  // })
                  uni.setStorageSync("name", this.form.name);
                  uni.setStorageSync("pwd", this.form.pwd);
                  uni.setStorageSync("tk", res.data.tk);
                  uni.setStorageSync("uid",res.data.uid);
                  uni.setStorageSync('user', res.data);
                  uni.setStorageSync('unittype',res.data.unittype);
                  uni.setStorageSync('roleName', res.data.role.roleName);
                  if(res.data.role.roleName == '工作人员'){
                     this.$store.commit('setRoleId', 'user_other');
@@ -61,13 +105,48 @@
                  }else{
                     this.$store.commit('setRoleId', 'user_leader');
                     uni.switchTab({
                              url: '/pages/tabBar/examine/examine'
                              url: '/pages/tabBar/firstPage/firstPage'
                          });
                  }
               }else{
                  uni.showToast({
                     icon: "none",
                     title: res.msg
                  });
                  this.form.name = '';
                  this.form.pwd = '';
                  this.isLogining = false;
               }
            }).catch(err=>{
               this.form.name = '';
               this.form.pwd = '';
               this.isLogining = false;
            })
         },
         connect() {
            uni.$on('connectStatusChange', (connectStatus) => {
               var connectStr = ''
               if (connectStatus == true) {
                  connectStr = '已连接'
                  this.getRegistrationID()
               } else {
                  connectStr = '未连接'
               }
               console.log('监听到了连接状态变化 --- ', connectStr)
               this.connectStatus = connectStr
            })
         },
         //获取推送ID
         getRegistrationID() {
            jpushModule.getRegistrationID(result => {
               let registerID = result.registerID
               console.log('registerID',registerID)
               this.registrationID = registerID
               this.form.registrationId = registerID;
               uni.setStorageSync('registrationID', registerID);
               console.log("iddd",uni.getStorageSync('registrationID'))
            })
         }
      }
   }
</script>
@@ -76,7 +155,7 @@
.box{
   width: 100%;
   height: 100vh;
   background: url('../../static/bg.jpeg') no-repeat;
   background: url('../../static/shu.jpg') no-repeat;
   background-size: 100% 100%;
   background-attachment: fixed;/* 不设置的话页面滑动时,背景会不铺满*/
   display: flex;
@@ -102,9 +181,11 @@
   text-shadow:0 0 1px #000;
}
.form{
   width: 80%;
   margin: 100px auto 0px;
   width: 100%;
   display: flex;
   flex-direction: column;
   align-items: center;
   margin-top: 25%;
}
.loginPsw{
   margin-bottom: 20px;