#
zhou zhou
2025-11-25 dfb5b38e438628767aeefa7b1d22ee7360072eea
pages/login/login.vue
@@ -4,7 +4,8 @@
        <scroll-view scroll-y class="page">
         
            <view class="text-center" :style="[{animation: 'show ' + 0.4+ 's 1'}]">
            <image src="../../static/logo.png" mode='aspectFit' class="zai-logo" @longtap='longpressImg'></image>
              <image src="../../static/zy_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">
@@ -16,27 +17,31 @@
                  <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>
                       <text :class="[showPassword ? 'cuIcon-attention' : 'cuIcon-attentionforbid']"
                          @click="changePassword"></text>
                  </view>
               </view>
               <view class="flex margin-xs justify-between">
                  <checkbox-group class="rember">
                     <label>
                        <checkbox value="cb" :checked="rember"  @tap="rember = !rember" style="transform:scale(0.7)" /><text>记住密码</text>
                          <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> -->
                  <text class="changeIP" @click="config()">配置</text>
               </view>
               <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 class="cu-btn bg-blue lg  shadow" :loading="loading"
                       :class="[shape=='round'?'round':'']" @tap="onLogin"><text
                          space="emsp">{{loading ? "登录中...":" 登录 "}}</text>
                  </button>
               </view>
            </block>
   
            <!-- #ifdef APP-PLUS -->
            <view class="padding flex flex-direction  text-center" style="position: fixed;width: 80%;bottom: 0;text-align: center;">
              <view class="padding flex flex-direction  text-center"
                 style="position: fixed;width: 80%;bottom: 0;text-align: center;">
               当前版本:{{version}}
            </view>
            <!-- #endif -->
@@ -50,15 +55,18 @@
               <view class="config-title"><text >配置</text></view>
               <view class="config-item">
                  <text>ip地址:</text>
                  <input v-model="IP" type="text" placeholder="192.168.1.1" placeholder-style="font-size:16rpx;text-indent: 10rpx;">
                    <input v-model="IP" type="text" placeholder="192.168.1.1"
                       placeholder-style="font-size:16rpx;text-indent: 10rpx;">
               </view>
               <view class="config-item">
                  <text>端口号:</text>
                  <input v-model="PORT" type="text" placeholder="8080" placeholder-style="font-size:16rpx;text-indent: 10rpx;">
                    <input v-model="PORT" type="text" placeholder="8080"
                       placeholder-style="font-size:16rpx;text-indent: 10rpx;">
               </view>
               <view class="config-item">
                  <text>项目:</text>
                  <input v-model="PROJECT" type="text" placeholder="wms" placeholder-style="font-size:16rpx;text-indent: 10rpx;">
                    <input v-model="PROJECT" type="text" placeholder="wms"
                       placeholder-style="font-size:16rpx;text-indent: 10rpx;">
               </view>
               <view class="flex justify-around">
                  <button class="cu-btn bg-blue lg" @click="configConfirm">确认</button>
@@ -78,15 +86,15 @@
      </view>
      <view>
         <uni-popup ref="inputDialog" type="dialog">
            <uni-popup-dialog ref="inputClose" mode="input" title="设置IP" v-model="IP"
               placeholder="请输入服务器IP" @confirm="dialogInputConfirm">
              <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 ref="inputClose" mode="input" title="设置端口" v-model="PORT" placeholder="请输入服务器端口号"
                 @confirm="serverPortConfirm">
            </uni-popup-dialog>   
         </uni-popup>
      </view>
@@ -96,7 +104,9 @@
<script>
   // import { ACCESS_TOKEN,USER_NAME,USER_INFO } from "@/common/util/constants"
   import { mapActions } from "vuex"
     import {
        mapActions
     } from "vuex"
   import md5 from '../../common/md5.js'
    // import configService from '@/common/service/config.service.js';
   
@@ -237,11 +247,17 @@
         },
         onLogin: function (){
            if(!this.userName || this.userName.length==0){
               uni.showToast({title: '请填写账号',icon: "none"})
                 uni.showToast({
                    title: '请填写账号',
                    icon: "none"
                 })
               return;
            }
            if(!this.password || this.password.length==0){
               uni.showToast({title: '请填写密码',icon: "none"})
                 uni.showToast({
                    title: '请填写密码',
                    icon: "none"
                 })
               return;
            }
            if(this.baseIP == undefined || this.baseIP == '' ) {
@@ -261,14 +277,15 @@
            uni.showLoading();
            setTimeout(function(){
               uni.hideLoading();
               uni.showToast({
                  title: '登录超时',
                  position: 'bottom',
                  duration: 1000
               });
                 // uni.showToast({
                 //    title: '登录超时',
                 //    position: 'bottom',
                 //    duration: 1000
                 // });
            },6000)
            uni.request({
                url: this.baseHttp + this.baseIP + ':' +this.basePORT +"/" +this.baseUrl + '/login.action',
                 url: this.baseHttp + this.baseIP + ':' + this.basePORT + "/" + this.baseUrl +
                    '/login.action',
                data: {
                  username:this.userName,
                  password:md5.hex_md5(this.password) 
@@ -313,9 +330,15 @@
         saveClientId(){
            var info = plus.push.getClientInfo();
            var cid = info.clientid;
            this.$http.get("/sys/user/saveClientId",{params:{clientId:cid}}).then(res=>{
              this.$http.get("/sys/user/saveClientId", {
                 params: {
                    clientId: cid
                 }
              }).then(res => {
               this.$tip.success('登录成功!')
               this.$Router.replaceAll({name:'index'})
                 this.$Router.replaceAll({
                    name: 'index'
                 })
            })
         },
         changePassword() {
@@ -323,7 +346,9 @@
         },
         loginSuccess() {
           // 登陆成功,重定向到主页
           this.$Router.replace({name:'index'})
              this.$Router.replace({
                 name: 'index'
              })
         },
         requestFailed(err) {
           this.$message.warning("登录失败")
@@ -349,20 +374,24 @@
      height: 500rpx;
      background-color: #fff;
   }
   .config-title {
      height: 100rpx;
      font-size: 32rpx;
      text-align: center;
      line-height: 100rpx;
   }
   .config-item {
      height: 100rpx;
   }
   .config-item text {
      display: inline-block;
      float: left;
      text-indent: 1em;
   }
   .config-item input {
      display: inline-block;
      float: right;
@@ -375,6 +404,7 @@
      text-indent: 10rpx;
      
   }
    .login-paddingtop {
        padding-top: 50upx;
    }
@@ -396,7 +426,8 @@
       text-align: center;
    }
    .input-placeholder, .zai-input {
     .input-placeholder,
     .zai-input {
        color: #94afce;
    }
@@ -423,12 +454,15 @@
    .zai-btn.button-hover {
        transform: translate(1upx, 1upx);
    }
   .changeBox {
      margin-top: 20upx;
   }
   .rember {
      display: inline-block;
   }
   .changeIP {
      float: right;
      margin-right: 15upx;