|  |  |  | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <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="action text-lg"> | 
|---|
|  |  |  | <text :class="[showPassword ? 'cuIcon-attention' : 'cuIcon-attentionforbid']" @click="changePassword"></text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <checkbox-group> | 
|---|
|  |  |  | <label> | 
|---|
|  |  |  | <checkbox value="cb" checked="true" style="transform:scale(0.7)" />记住密码 | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | </checkbox-group> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="padding text-center margin-top"> | 
|---|
|  |  |  | <button class="cu-btn bg-blue lg margin-right 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"> | 
|---|
|  |  |  | 当前版本:{{version}} | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- #endif --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </scroll-view> | 
|---|
|  |  |  | <!-- 登录加载弹窗 --> | 
|---|
|  |  |  | <view class="cu-load load-modal" v-if="loading"> | 
|---|
|  |  |  | <!-- <view class="cuIcon-emojifill text-orange"></view> --> | 
|---|
|  |  |  | <image src="../../static/logo1.png" mode="aspectFit" class="round"></image> | 
|---|
|  |  |  | <view class="gray-text">登录中...</view> | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <!-- 设置 --> | 
|---|
|  |  |  | <label class="settings"> | 
|---|
|  |  |  | <uni-icons type="gear" size="30" color="#707070" @click="settings"></uni-icons> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | <!-- logo --> | 
|---|
|  |  |  | <view class="head"> | 
|---|
|  |  |  | <view class="logo"> | 
|---|
|  |  |  | <image src="../../static/img/logo.png" mode="aspectFit"></image> | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="content"> | 
|---|
|  |  |  | <!-- 账号 --> | 
|---|
|  |  |  | <view class="box shadow-warp"> | 
|---|
|  |  |  | <view class="box-icon"> | 
|---|
|  |  |  | <uni-icons type="person" size="20" color="#707070"></uni-icons> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="box-text">账号:</view> | 
|---|
|  |  |  | <view class="box-input"> | 
|---|
|  |  |  | <input type="text"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="box-show"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 密码 --> | 
|---|
|  |  |  | <view class="box shadow-warp"> | 
|---|
|  |  |  | <view class="box-icon"> | 
|---|
|  |  |  | <uni-icons type="locked" size="20" color="#707070"></uni-icons> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="box-text">密码:</view> | 
|---|
|  |  |  | <view class="box-input"> | 
|---|
|  |  |  | <input type="text"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="box-show"> | 
|---|
|  |  |  | <uni-icons type="eye-filled" size="20" color="#707070"></uni-icons> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 记住密码 --> | 
|---|
|  |  |  | <view class="check"> | 
|---|
|  |  |  | <view class="check-left"> | 
|---|
|  |  |  | <view>记住密码</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="check-right"> | 
|---|
|  |  |  | <switch checked color="#FFCC33" style="zoom:.5"/> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 登录按钮 --> | 
|---|
|  |  |  | <view class="submit"> | 
|---|
|  |  |  | <view class="" style="width: 400rpx;"> | 
|---|
|  |  |  | <button type="primary" size="default">登录</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 设置弹窗区域 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="inputDialog" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title title-font">配置</view> | 
|---|
|  |  |  | <view class="input"> | 
|---|
|  |  |  | <view class="input-left">ip:</view> | 
|---|
|  |  |  | <view class="input-right"><input type="text"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="input"> | 
|---|
|  |  |  | <view class="input-left">端口:</view> | 
|---|
|  |  |  | <view class="input-right"><input type="text"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="input"> | 
|---|
|  |  |  | <view class="input-left">项目:</view> | 
|---|
|  |  |  | <view class="input-right"><input type="text"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <view class="btn-left" @click="close">取消</view> | 
|---|
|  |  |  | <view class="btn-right">确认</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 版本号 --> | 
|---|
|  |  |  | <!-- #ifdef APP-PLUS --> | 
|---|
|  |  |  | <view class="version"> | 
|---|
|  |  |  | 当前版本:{{version}} | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- #endif --> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | // import { ACCESS_TOKEN,USER_NAME,USER_INFO } from "@/common/util/constants" | 
|---|
|  |  |  | import { mapActions } from "vuex" | 
|---|
|  |  |  | import md5 from '../../common/md5.js' | 
|---|
|  |  |  | // import configService from '@/common/service/config.service.js'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | shape:'',//round 圆形 | 
|---|
|  |  |  | loading: false, | 
|---|
|  |  |  | phoneNo: '', | 
|---|
|  |  |  | smsCode: '', | 
|---|
|  |  |  | showPassword: false, //是否显示明文 | 
|---|
|  |  |  | loginWay: 1, //1: 账密,2:验证码 | 
|---|
|  |  |  | smsCountDown: 0, | 
|---|
|  |  |  | smsCountInterval: null, | 
|---|
|  |  |  | toggleDelay: false, | 
|---|
|  |  |  | version:'', | 
|---|
|  |  |  | //第三方登录相关信息 | 
|---|
|  |  |  | thirdType:"", | 
|---|
|  |  |  | thirdLoginInfo:"", | 
|---|
|  |  |  | thirdLoginState:false, | 
|---|
|  |  |  | bindingPhoneModal:false, | 
|---|
|  |  |  | thirdUserUuid:'', | 
|---|
|  |  |  | url: { | 
|---|
|  |  |  | bindingThirdPhone: '/sys/thirdLogin/bindingThirdPhone' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | baseIP:'', | 
|---|
|  |  |  | type:'', | 
|---|
|  |  |  | info:{ | 
|---|
|  |  |  | userName:'', | 
|---|
|  |  |  | password:'' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | rember:true, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad:function(){ | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | version: '', | 
|---|
|  |  |  | value: '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad() { | 
|---|
|  |  |  | // 手机端版本号 | 
|---|
|  |  |  | // #ifdef APP-PLUS | 
|---|
|  |  |  | var that=this | 
|---|
|  |  |  | plus.runtime.getProperty( plus.runtime.appid, function ( wgtinfo ) { | 
|---|
|  |  |  | that.version=wgtinfo.version | 
|---|
|  |  |  | var that = this | 
|---|
|  |  |  | plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) { | 
|---|
|  |  |  | that.version = wgtinfo.version | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // #endif | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | computed: { | 
|---|
|  |  |  | isSendSMSEnable() { | 
|---|
|  |  |  | return this.smsCountDown <= 0 && this.phoneNo.length > 4; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getSendBtnText() { | 
|---|
|  |  |  | if (this.smsCountDown > 0) { | 
|---|
|  |  |  | return this.smsCountDown + '秒后发送'; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return '发送验证码'; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | canSMSLogin() { | 
|---|
|  |  |  | return this.info.userName.length > 4 && this.smsCode.length > 4; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | canPwdLogin() { | 
|---|
|  |  |  | return this.info.userName.length > 4 && this.info.password.length > 4; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | changeIP(){ | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // 设置窗口开启按钮 | 
|---|
|  |  |  | settings() { | 
|---|
|  |  |  | this.$refs.inputDialog.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | dialogInputConfirm(type){ | 
|---|
|  |  |  | this.baseUrl=type | 
|---|
|  |  |  | // 设置窗口确认修改按钮 | 
|---|
|  |  |  | dialogInputConfirm() { | 
|---|
|  |  |  | this.$refs.inputDialog.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | chk(e){ | 
|---|
|  |  |  | console.log(e) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLogin: function (){ | 
|---|
|  |  |  | if(!this.info.userName || this.info.userName.length==0){ | 
|---|
|  |  |  | uni.showToast({title: '请填写账号',icon: "none"}) | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!this.info.password || this.info.password.length==0){ | 
|---|
|  |  |  | uni.showToast({title: '请填写密码',icon: "none"}) | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.showLoading(); | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: this.baseUrl + '/login.action', | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | mobile:this.info.userName, | 
|---|
|  |  |  | password:md5.hex_md5(this.info.password) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | header: { | 
|---|
|  |  |  | "content-type": "application/json" | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | success: (result) => { | 
|---|
|  |  |  | let res = result.data; | 
|---|
|  |  |  | uni.hideLoading(); | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '登录成功', | 
|---|
|  |  |  | position: 'bottom', | 
|---|
|  |  |  | duration: 1000 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | uni.setStorageSync('token', res.data.token); | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | uni.navigateBack();      //   小程序用这个  把首页路由放第一个 | 
|---|
|  |  |  | uni.reLaunch({ | 
|---|
|  |  |  | url: '../index/index' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: res.msg, | 
|---|
|  |  |  | icon: "none", | 
|---|
|  |  |  | position: 'top' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | saveClientId(){ | 
|---|
|  |  |  | 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'}) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changePassword() { | 
|---|
|  |  |  | this.showPassword = !this.showPassword; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | loginSuccess() { | 
|---|
|  |  |  | // 登陆成功,重定向到主页 | 
|---|
|  |  |  | this.$Router.replace({name:'index'}) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | requestFailed(err) { | 
|---|
|  |  |  | this.$message.warning("登录失败") | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | beforeDestroy() { | 
|---|
|  |  |  | if (this.smsCountInterval) { | 
|---|
|  |  |  | clearInterval(this.smsCountInterval); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 设置窗口关闭按钮 | 
|---|
|  |  |  | close() { | 
|---|
|  |  |  | this.$refs.inputDialog.close() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | @import "../../colorui/main.css"; | 
|---|
|  |  |  | /* @import "../../colorui/icon.css"; | 
|---|
|  |  |  | @import "../../colorui/animation.css"; */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .login-paddingtop { | 
|---|
|  |  |  | padding-top: 50upx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .zai-box { | 
|---|
|  |  |  | /* padding: 0 20upx; | 
|---|
|  |  |  | padding-top: 100upx; | 
|---|
|  |  |  | position: relative; */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .zai-logo { | 
|---|
|  |  |  | width: 200upx; | 
|---|
|  |  |  | height: 150px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .zai-title { | 
|---|
|  |  |  | font-size: 58upx; | 
|---|
|  |  |  | color: #000000; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .input-placeholder, .zai-input { | 
|---|
|  |  |  | color: #94afce; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .zai-label { | 
|---|
|  |  |  | padding: 60upx 0; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | font-size: 30upx; | 
|---|
|  |  |  | color: #a7b6d0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .zai-btn { | 
|---|
|  |  |  | background: #ff65a3; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | border: 0; | 
|---|
|  |  |  | border-radius: 100upx; | 
|---|
|  |  |  | font-size: 36upx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .zai-btn:after { | 
|---|
|  |  |  | border: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /*按钮点击效果*/ | 
|---|
|  |  |  | .zai-btn.button-hover { | 
|---|
|  |  |  | transform: translate(1upx, 1upx); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .changIP { | 
|---|
|  |  |  | margin-top: 0rpx; | 
|---|
|  |  |  | <style lang="less"> | 
|---|
|  |  |  | .title-font { | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | letter-spacing: 3px; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 设置区域 | 
|---|
|  |  |  | .settings { | 
|---|
|  |  |  | width: 100rpx; | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | line-height: 100rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | // background-color: #007aff; | 
|---|
|  |  |  | right: 0; | 
|---|
|  |  |  | top: 70rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 设置区域 - 手机 | 
|---|
|  |  |  | <!-- #ifdef APP-PLUS --> | 
|---|
|  |  |  | .settings { | 
|---|
|  |  |  | width: 100rpx; | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | line-height: 100rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | right: 0rpx; | 
|---|
|  |  |  | top: 0rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | <!-- #endif --> | 
|---|
|  |  |  | .head { | 
|---|
|  |  |  | height: 400rpx; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | grid-template-columns: 1fr; | 
|---|
|  |  |  | // background-color: aqua; | 
|---|
|  |  |  | justify-items: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .logo { | 
|---|
|  |  |  | image { | 
|---|
|  |  |  | height: 300rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 输入框区域 | 
|---|
|  |  |  | .content { | 
|---|
|  |  |  | min-height: 250rpx; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | // background-color: bisque; | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | grid-template-columns: 1fr; | 
|---|
|  |  |  | justify-items: center; | 
|---|
|  |  |  | align-items: flex-start; | 
|---|
|  |  |  | // 输入大区 | 
|---|
|  |  |  | .box { | 
|---|
|  |  |  | width: 80%; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | background-color: #FFFFFF; | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | grid-template-columns: 1fr 1fr 5fr 1fr; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | font-size: 12px; | 
|---|
|  |  |  | // 图标 | 
|---|
|  |  |  | &-icon { | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | justify-items: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 输入框 | 
|---|
|  |  |  | &-input { | 
|---|
|  |  |  | background-color: aquamarine; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 隐藏显示密码 | 
|---|
|  |  |  | &-show { | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | justify-items: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 记住密码 | 
|---|
|  |  |  | .check { | 
|---|
|  |  |  | width: 80%; | 
|---|
|  |  |  | // background-color: blueviolet; | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | grid-template-columns: 1fr 1fr; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | text-align: left; | 
|---|
|  |  |  | &-left { | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | font-size: 12px; | 
|---|
|  |  |  | text-indent: 10rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | &-right { | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-items: flex-end; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 登录按钮 | 
|---|
|  |  |  | .submit { | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | bottom: 200rpx; | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | grid-template-columns: 1fr; | 
|---|
|  |  |  | justify-items: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 弹出层 | 
|---|
|  |  |  | .popup { | 
|---|
|  |  |  | width: 650rpx; | 
|---|
|  |  |  | min-height: 400rpx; | 
|---|
|  |  |  | background-color: #FFF; | 
|---|
|  |  |  | border-radius: 25rpx; | 
|---|
|  |  |  | .title { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | line-height: 80rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .input { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | line-height: 80rpx; | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | grid-template-columns: 1fr 3fr; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | &-left { | 
|---|
|  |  |  | text-align: right; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | &-right { | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | height: 50rpx; | 
|---|
|  |  |  | padding: 5rpx; | 
|---|
|  |  |  | margin-left: 20rpx; | 
|---|
|  |  |  | width: 400rpx; | 
|---|
|  |  |  | border-bottom: 1px solid #e7e6e4; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .btn { | 
|---|
|  |  |  | margin-top: 20rpx; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | line-height: 80rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | display: grid; | 
|---|
|  |  |  | grid-template-columns: 1fr 1fr; | 
|---|
|  |  |  | border-top: 1px solid #e7e6e4; | 
|---|
|  |  |  | &-left { | 
|---|
|  |  |  | border-right: 1px solid #e7e6e4; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | &-right { | 
|---|
|  |  |  | color: #007aff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .version { | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | bottom: 0; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|