From 1d5b60515b80cf400b214a5f565792c212fe6f2e Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期四, 28 三月 2024 13:52:12 +0800 Subject: [PATCH] Merge branch 'demo' of http://47.97.1.152:5880/r/wms_app into demo --- pages/LoginDemo/LoginDemo.vue | 260 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 161 insertions(+), 99 deletions(-) diff --git a/pages/LoginDemo/LoginDemo.vue b/pages/LoginDemo/LoginDemo.vue index 7eb0309..788e345 100644 --- a/pages/LoginDemo/LoginDemo.vue +++ b/pages/LoginDemo/LoginDemo.vue @@ -10,16 +10,15 @@ </view> <view class="right"> <view class="input-box"> - <My-input class="my-input" titleIcon="person" title="璐﹀彿" placeholder="璇疯緭鍏ヨ处鍙�" inputType="text" optIcon="bottom" /> - <My-input class="my-input" titleIcon="locked" title="瀵嗙爜" placeholder="璇疯緭鍏ュ瘑鐮�" inputType="password" optIcon="eye" optIconShow/> + <My-input class="my-input" v-model="user.username" titleIcon="person" title="璐﹀彿" placeholder="璇疯緭鍏ヨ处鍙�" + inputType="text" optIcon="bottom" /> + <My-input class="my-input" v-model="user.password" titleIcon="locked" title="瀵嗙爜" placeholder="璇疯緭鍏ュ瘑鐮�" + inputType="password" optIcon="eye" optIconShow /> <view class="rember-password"> <view class="text">璁颁綇瀵嗙爜</view> - <switch :checked='remberPassword' color="#FFCC33" style="zoom:.5" @change="remberChange"/> + <switch :checked='remberPassword' color="#FFCC33" style="zoom:.5" @change="remberChange" /> </view> </view> - <!-- <view class="button" @click="login" :loading="load.loading"> - {{load.btnText}} - </view> --> <button class="button" @click="onLogin()" :loading="load.loading">{{load.btnText}}</button> </view> <!-- 璁剧疆寮圭獥鍖哄煙 --> @@ -27,18 +26,18 @@ <view class="popup"> <!-- 鏍囬 --> <view class="title">缃� 缁� 閰� 缃�</view> - <scroll-view scroll-y="true" style="height: 23vh;touch-action: none;"> - <view style="margin: 4px; color: #606266;font-size: 12px; " v-for="net in network"> - <text style="font-size: 14px;">{{net.name}}</text> - <view style="display: flex;align-items: center;"> - <input class="settings-input1" type="text" v-model="net.ip"> - <text style="font-weight: 900;">:</text> - <input class="settings-input2" type="text" v-model="net.port"> - <text style="font-weight: 900;">/</text> - <input class="settings-input3" type="text" v-model="net.address"> - </view> + <scroll-view scroll-y="true" class="settings-scroll"> + <view class="scroll-item"> + <view class="item-title" style="">{{network.name}}</view> + <view style="display: flex;align-items: center;"> + <input class="settings-input1" type="text" v-model="network.ip"> + <text style="font-weight: 900;">:</text> + <input class="settings-input2" type="text" v-model="network.port"> + <text style="font-weight: 900;">/</text> + <input class="settings-input3" type="text" v-model="network.address"> </view> - </scroll-view> + </view> + </scroll-view> <view class="operate"> <view class="operate-cancel" @click="cancel"> 鍙栨秷 @@ -49,7 +48,7 @@ </view> </view> </uni-popup> - + <!-- 鐗堟湰鍙� --> <!-- #ifdef APP-PLUS --> <view class="version"> @@ -61,17 +60,26 @@ <script> // import { data } from 'jquery' - import { mapState } from 'vuex'//寮曞叆mapState + import { mapState } from 'vuex' //寮曞叆mapState + import store from '@/store/index.js'; import md5 from '../../static/js/md5.js' + import common from '../api/common/common.js' + import login from '../api/login/login.js' export default { data() { return { version: '', remberPassword: true, - network: [ - {name: 'wms',ip:'192.168.1.1',port: '8080',address: 'pswms'}, - {name: 'wcs',ip:'192.168.1.1',port: '9090',address: 'pswcs'} - ], + user: { + username: '', + password: '' + }, + network: { + name: 'wms', + ip: '192.168.1.1', + port: '8080', + address: 'pswms' + }, load: { loading: false, btnText: '鐧诲綍' @@ -79,82 +87,91 @@ } }, computed: mapState({ - project: state => state.project - }) , + project: state => state.project, + + }), + onShow() { + }, mounted() { - uni.getSystemInfo({ - success(res) { - // console.log(res); - } - }) + // 浠� state 鑾峰彇缃戠粶淇℃伅 + // 浠� state 鑾峰彇璐﹀彿淇℃伅 + console.log(store.state); + this.user = store.state.userInfo + this.network = store.state.network // 鎵嬫満绔増鏈彿 // #ifdef APP-PLUS - var that = this + var _this = this plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) { - that.version = wgtinfo.version + _this.version = wgtinfo.version }); // #endif }, methods: { remberChange() { - + this.remberPassword = !this.remberPassword }, settings() { + if (uni.getStorageSync('Network')) { + this.network = uni.getStorageSync('Network') + } this.$refs.settings.open() + }, cancel() { this.$refs.settings.close() }, confirm() { - uni.setStorageSync('Network', this.network); + let baseUrl = `http://${this.network.ip}:${this.network.port}/${this.network.address}` + this.$store.commit("setNetwork", this.network); + this.$store.commit("setBaseUrl", baseUrl); this.$refs.settings.close() }, - onLogin() { - let _this = this,path = 'demo',network = uni.getStorageSync('Network'); - if(!network) { + async onLogin() { + // 楠岃瘉ip淇℃伅 + // 楠岃瘉璐﹀彿淇℃伅 + if (!this.user.username ) { + uni.showToast({ icon: 'none', title: '璇疯緭鍏ヨ处鍙�' }) + return + } + if (!this.user.password ) { + uni.showToast({ icon: 'none', title: '璇疯緭鍏ュ瘑鐮�' }) + return + } + this.load.loading = true; + this.load.btnText = '鐧诲綍涓�'; + let res = await login.onLogin(this.user) + if (res.code === 200) { + setTimeout(() => { + uni.showToast({ + title: '鐧诲綍鎴愬姛' + }) + setTimeout(() => { + uni.reLaunch({ + url: `/pages/home/home`, + }); + }, 300) + if (!this.remberPassword) { + this.user.password = '' + } + // uni.setStorageSync('user', this.user); + this.$store.commit("setUserInfo", this.user); + }, 700) + } else if (res.code === 0) { + this.load.loading = false; + this.load.btnText = '鐧诲綍'; uni.showToast({ - icon: 'error', - title: '璇烽厤缃綉缁滀俊鎭�' + icon: 'none', + title: '杩炴帴澶辫触锛岃妫�鏌ヨ澶囩綉缁�/IP鍦板潃鏄惁姝g‘锛�' + }) + } else { + this.load.loading = false; + this.load.btnText = '鐧诲綍'; + uni.showToast({ + icon: 'none', + title: `${this.user.username} ${res.msg}` }) } - // path = network[0].address - // path = path.substring(0, path.length - 3); - path = _this.project.name - let baseUrl = `http://${network[0].ip}:${network[0].port}/${network[0].address}` - uni.request({ - url: `${baseUrl}/login.action`, - data: { - username: 'super', - password: md5.hex_md5('xltys1995') - }, - success(res) { - res = res.data - if (res.code === 200) { - _this.load.loading = true; - _this.load.btnText = '鐧诲綍涓�'; - uni.setStorageSync('token', res.data.token); - _this.load.btnText = '鐧诲綍涓�'; - setTimeout(() => { - uni.showToast({ - title: '鐧诲綍鎴愬姛' - }) - setTimeout(() => { - uni.reLaunch({ - url: `/pages/home/home`, - }); - }, 300) - }, 700) - } - // uni.navigateTo({ - // url: `/pages/project/${path}/home/home`, - // fail(res) { - // console.log(`娌℃湁${path}椤圭洰,璇疯仈绯荤鐞嗗厓`); - // } - - // }) - } - }) - } + }, } } </script> @@ -165,11 +182,11 @@ top: 8px; right: 8px; border-radius: 10px; - box-shadow: inset 2px 2px 2px rgba(0,0,0,.3), - inset -2px -2px 2px rgba(255,255,255,.7), - -2px -2px 2px rgba(0,0,0,.4); + box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .3), + inset -2px -2px 2px rgba(255, 255, 255, .7), + -2px -2px 2px rgba(0, 0, 0, .4); } - + .main { height: 100%; width: 100%; @@ -177,45 +194,54 @@ background-color: #ECF0F1; position: absolute; } + .left { display: flex; align-items: center; justify-content: center; } + .logo-box { - background-color: #ECF0F1; + background-color: #ECF0F1; border-radius: 15px; - box-shadow: inset 8px 8px 8px rgba(0,0,0,.3), - inset -8px -8px 8px rgba(255,255,255,.7), - -8px -8px 10px rgba(0,0,0,.4); + box-shadow: inset 8px 8px 8px rgba(0, 0, 0, .3), + inset -8px -8px 8px rgba(255, 255, 255, .7), + -8px -8px 10px rgba(0, 0, 0, .4); } + image { height: 100%; width: 100%; } + .right { display: flex; flex-direction: column; justify-content: space-around; } + .input-box { width: 100%; } + .my-input { width: 80%; margin: 16px 10% 16px 10%; } + .rember-password { width: 78%; margin: 0 11% 0 11%; display: flex; justify-content: space-between; + .text { font-size: 12px; color: #606266; line-height: 1; } } + .button { width: 40%; margin: 0 auto; @@ -223,55 +249,67 @@ text-align: center; line-height: 50px; font-size: 20px; - background-color: #409EFF; + background-color: #409EFF; color: #ECF0F1; border-radius: 7px; - box-shadow: inset 4px 4px 4px rgba(0,0,0,.3), - inset -4px -4px 4px rgba(255,255,255,.4), - -4px -4px 5px rgba(0,0,0,.4); + box-shadow: inset 4px 4px 4px rgba(0, 0, 0, .3), + inset -4px -4px 4px rgba(255, 255, 255, .4), + -4px -4px 5px rgba(0, 0, 0, .4); } + .button:active { - transform: translateY(5px) scale(0.99, 0.99); - box-shadow: inset 4px 4px 4px rgba(0, 0, 0, .3), - inset -4px -4px 8px rgba(255, 255, 255, .7), - -5px -5px 5px rgba(0, 0, 0, .3); + transform: translateY(5px) scale(0.99, 0.99); + box-shadow: inset 4px 4px 4px rgba(0, 0, 0, .3), + inset -4px -4px 8px rgba(255, 255, 255, .7), + -5px -5px 5px rgba(0, 0, 0, .3); } + @media screen and (orientation: portrait) { + /* 绔栧睆 */ .main { flex-direction: column; } + .left { height: 40%; width: 100%; } + .right { - height: 40%; + height: 50%; width: 100%; } + .logo-box { height: 60%; width: 80%; } } + @media screen and (orientation: landscape) { + /* 妯睆 */ .main { display: flex; } + .left { height: 100%; width: 50%; } + .right { height: 100%; width: 50%; } + .logo-box { height: 60%; width: 80%; } } + .version { position: fixed; width: 100%; @@ -280,13 +318,14 @@ font-size: 10px; color: #909399; } - + .popup { width: 90vw; height: 40vh; background-color: #fff; border-radius: 16px; } + .title { height: 10vh; display: flex; @@ -295,28 +334,49 @@ font-size: 24px; color: #a8abb2; } + + .settings-scroll { + height: 23vh; + touch-action: none; + } + + .scroll-item { + margin: 4px 16px; + color: #606266; + font-size: 12px; + } + + .item-title { + font-size: 14px; + width: 100%; + text-align: center; + } + .settings-input1 { border: 1px solid #dcdfe6; - flex: 2; + flex: 5; margin: 2px; padding: 4px; border-radius: 4px; } + .settings-input2 { border: 1px solid #dcdfe6; - flex: 1; + flex: 3; margin: 2px; padding: 4px; border-radius: 4px; } + .settings-input3 { border: 1px solid #dcdfe6; - flex: 2; + flex: 3; margin: 2px; padding: 4px; border-radius: 4px; - + } + .operate { height: 7vh; display: flex; @@ -324,6 +384,7 @@ border-top: 1px solid #dcdfe6; font-size: 16px; } + .operate-cancel { flex: 1; display: flex; @@ -331,6 +392,7 @@ justify-content: center; color: #606266; } + .operate-confirm { flex: 1; display: flex; -- Gitblit v1.9.1