#
whycq
2022-06-22 9f15199ffb3de977720759623ae47309e6bcc8f0
pages/login/login.vue
@@ -1,35 +1,34 @@
  <template>
   <view class="zai-box">
        <scroll-view scroll-y class="page">
         <view class="changIP">
            <button @click="changeIP()">设置IP</button>
         </view>
            <view class="text-center" :style="[{animation: 'show ' + 0.4+ 's 1'}]">
            <image src="../../static/logo.png" mode='aspectFit' class="zai-logo "></image>
            <view class="zai-title text-shadow ">Zoneyung</view>
            <image src="../../static/logo.png" mode='aspectFit' class="zai-logo" @longtap='longpressImg'></image>
         </view>
            <view class="box padding-lr-xl login-paddingtop" :style="[{animation: 'show ' + 0.6+ 's 1'}]">
            <block v-if="loginWay==1">
               <view class="cu-form-group margin-top  shadow-warp" :class="[shape=='round'?'round':'']">
                  <view class="title"><text class="cuIcon-people margin-right-xs"></text>账号:</view>
                  <input placeholder="请输入账号" name="input" v-model="info.userName"></input>
                  <view class="title-login"><text class="cuIcon-people margin-right-xs"></text>账号:</view>
                  <input placeholder="请输入账号" name="input" v-model="userName"></input>
               </view>
               <view class="cu-form-group margin-top shadow-warp" :class="[shape=='round'?'round':'']">
                  <view class="title"><text class="cuIcon-lock margin-right-xs"></text>密码:</view>
                  <input class="uni-input" placeholder="请输入密码" :password="!showPassword" v-model="info.password" />
                  <view class="title-login"><text class="cuIcon-lock margin-right-xs"></text>密码:</view>
                  <input class="uni-input" placeholder="请输入密码" :password="!showPassword" v-model="password" />
                  <view class="action text-lg">
                      <text :class="[showPassword ? 'cuIcon-attention' : 'cuIcon-attentionforbid']" @click="changePassword"></text>
                  </view>
               </view>
               <view>
                  <checkbox-group>
               <view class="flex margin-xs justify-between">
                  <checkbox-group class="rember">
                     <label>
                        <checkbox value="cb" checked="true" style="transform:scale(0.7)" />记住密码
                        <checkbox value="cb" :checked="rember"  @tap="rember = !rember" style="transform:scale(0.7)" /><text>记住密码</text>
                     </label>
                  </checkbox-group>
                  <text class="changeIP" @click="changeIP()">设置IP</text>
               </view>
               <view class="padding text-center margin-top">
                  <button class="cu-btn bg-blue lg margin-right shadow" :loading="loading" :class="[shape=='round'?'round':'']"
               <view class="flex padding justify-center margin-top">
                  <button class="cu-btn bg-blue lg  shadow" :loading="loading" :class="[shape=='round'?'round':'']"
                     @tap="onLogin"><text space="emsp">{{loading ? "登录中...":" 登录 "}}</text>
                  </button>
               </view>
@@ -50,11 +49,17 @@
         <view class="gray-text">登录中...</view>
      </view>
      <view>
         <!-- 输入框示例 -->
         <uni-popup ref="inputDialog" type="dialog">
            <uni-popup-dialog ref="inputClose" mode="input" title="请输入IP" value="http://192.168.4.123:8082/xgmwms"
               placeholder="请输入IP" @confirm="dialogInputConfirm">
            </uni-popup-dialog>
            <uni-popup-dialog ref="inputClose" mode="input" title="设置IP" v-model="IP"
               placeholder="请输入服务器IP" @confirm="dialogInputConfirm">
            </uni-popup-dialog>
         </uni-popup>
      </view>
      <view style="margin-top: 10rpx;">
         <uni-popup ref="serverPort" type="dialog">
            <uni-popup-dialog ref="inputClose" mode="input" title="设置端口" v-model="PORT"
               placeholder="请输入服务器端口号" @confirm="serverPortConfirm">
            </uni-popup-dialog>
         </uni-popup>
      </view>
    </view>
@@ -89,16 +94,45 @@
            url: {
               bindingThirdPhone: '/sys/thirdLogin/bindingThirdPhone'
            },
            baseIP:'',
            type:'',
            info:{
               userName:'',
               password:''
            },
            userName:'',
            password:'',
            rember:true,
            IP:'',
            PORT:'',
            };
        },
      mounted() {
         let that = this;
         //缓存的账号
         const HCuname = uni.getStorageSync('HCuname');
         //缓存的密码
         const HCpassw = uni.getStorageSync('HCpassw');
         //有缓存就赋值给文本没有就清空
         if (HCuname && HCpassw) {
             that.userName = HCuname;
             that.password = HCpassw;
         } else {
             that.userName = '';
             that.password = '';
         }
         const UIP = uni.getStorageSync('UIP');
         if (UIP) {
             that.IP = UIP;
            that.baseIP = UIP;
         } else {
             that.IP = '';
         }
         const UPORT = uni.getStorageSync('UPORT');
         if (UPORT) {
             that.PORT = UPORT;
            that.basePORT = UPORT;
         } else {
             that.PORT = '8080';
         }
      },
      onLoad:function(){
         // #ifdef APP-PLUS
         var that=this
@@ -119,37 +153,57 @@
              }
            },
            canSMSLogin() {
              return this.info.userName.length > 4 && this.smsCode.length > 4;
              return this.userName.length > 4 && this.smsCode.length > 4;
            },
            canPwdLogin() {
              return this.info.userName.length > 4 && this.info.password.length > 4;
              return this.userName.length > 4 && this.password.length > 4;
            },
      },
        methods: {
         longpressImg() { // 长按图片
            this.$refs.serverPort.open()
         },
         serverPortConfirm(type) {
            this.basePORT = type
            // 存入本地缓存
            this.PORT = type
            uni.setStorageSync('UPORT',this.basePORT)
         },
         changeIP(){
            this.$refs.inputDialog.open()
         },
         dialogInputConfirm(type){
            this.baseUrl=type
            this.baseIP = type
            // 存入本地缓存
            this.IP = type;
            uni.setStorageSync('UIP',this.baseIP)
         },
         chk(e){
            console.log(e)
         checkboxChange: function(e) {
             if (e.detail.value.length == 1) {
                 //获取缓存的账号
                  uni.getStorageSync('HCuname',this.userName);
                  uni.getStorageSync('HCpassw',this.password);
             } else {
                   uni.removeStorageSync('HCuname');
                   uni.removeStorageSync('HCpassw');
             }
         },
         onLogin: function (){
            if(!this.info.userName || this.info.userName.length==0){
            if(!this.userName || this.userName.length==0){
               uni.showToast({title: '请填写账号',icon: "none"})
               return;
            }
            if(!this.info.password || this.info.password.length==0){
            if(!this.password || this.password.length==0){
               uni.showToast({title: '请填写密码',icon: "none"})
               return;
            }
            uni.showLoading();
            uni.request({
                url: this.baseUrl + '/login.action',
                url: this.baseHttp + this.baseIP + ':' +this.basePORT + this.baseUrl + '/login.action',
                data: {
                  mobile:this.info.userName,
                  password:md5.hex_md5(this.info.password)
                  mobile:this.userName,
                  password:md5.hex_md5(this.password)
                },
                header: {
                  "content-type": "application/json"
@@ -163,6 +217,13 @@
                        position: 'bottom',
                        duration: 1000
                     });
                     if(this.rember){
                        uni.setStorageSync('HCuname', this.userName);
                        uni.setStorageSync('HCpassw', this.password);
                     }else{
                        uni.removeStorageSync('HCuname');
                        uni.removeStorageSync('HCpassw');
                     }
                     uni.setStorageSync('token', res.data.token);
                     setTimeout(() => {
                        uni.navigateBack();      //   小程序用这个  把首页路由放第一个
@@ -185,7 +246,6 @@
            var info = plus.push.getClientInfo();
            var cid = info.clientid;
            this.$http.get("/sys/user/saveClientId",{params:{clientId:cid}}).then(res=>{
               console.log("res::saveClientId>",res)
               this.$tip.success('登录成功!')
               this.$Router.replaceAll({name:'index'})
            })
@@ -213,21 +273,21 @@
<style>
   @import "../../colorui/main.css";
   /* @import "../../colorui/icon.css";
   @import "../../colorui/animation.css"; */
   @import "../../colorui/icon.css";
   @import "../../colorui/animation.css";
   
    .login-paddingtop {
        padding-top: 50upx;
    }
    .zai-box {
        /* padding: 0 20upx;
        padding: 0 20upx;
        padding-top: 100upx;
        position: relative; */
        position: relative;
    }
    .zai-logo {
        width: 200upx;
        width: 600upx;
        height: 150px;
    }
@@ -264,8 +324,14 @@
    .zai-btn.button-hover {
        transform: translate(1upx, 1upx);
    }
   .changIP {
      margin-top: 0rpx;
   .changeBox {
      margin-top: 20upx;
   }
   .rember {
      display: inline-block;
   }
   .changeIP {
      float: right;
      margin-right: 15upx;
   }
</style>