From 8983271395e1179c5ec50a2b1c5af8580c2f4702 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 17 四月 2024 20:45:48 +0800
Subject: [PATCH] #3
---
pages/login/login.vue | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 304 insertions(+), 36 deletions(-)
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 50f52ed..588654c 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -9,7 +9,7 @@
<!-- logo -->
<view class="logo">
<view class="logo-box">
- <image src="../../static/img/logo.png" mode="aspectFit"></image>
+ <image src="../../static/img/newLogo.png" mode="aspectFit"></image>
</view>
</view>
<view class="content">
@@ -20,7 +20,8 @@
</view>
<view class="box-text">璐﹀彿:</view>
<view class="box-input">
- <input type="text">
+ <input type="text" placeholder="璇疯緭鍏ヨ处鍙�" v-model="user.userName"
+ placeholder-style="font-size:14px;color:#ccc;">
</view>
<view class="box-show"></view>
</view>
@@ -31,10 +32,12 @@
</view>
<view class="box-text">瀵嗙爜:</view>
<view class="box-input">
- <input type="text">
+ <input :password="!showPassword" placeholder="璇疯緭鍏ュ瘑鐮�" v-model="user.password"
+ placeholder-style="font-size:14px;color:#ccc;" >
</view>
<view class="box-show">
- <uni-icons type="eye-filled" size="20" color="#707070"></uni-icons>
+ <uni-icons type="eye-filled" size="20" color="#707070" v-if="!showPassword" @click="changePassword"></uni-icons>
+ <uni-icons type="eye" size="20" color="#707070" v-if="showPassword" @click="changePassword"></uni-icons>
</view>
</view>
<!-- 璁颁綇瀵嗙爜 -->
@@ -43,14 +46,14 @@
<view>璁颁綇瀵嗙爜</view>
</view>
<view class="check-right">
- <switch checked color="#FFCC33" style="zoom:.5"/>
+ <switch :checked='remberPassword' color="#FFCC33" style="zoom:.5" @change="remberChange"/>
</view>
</view>
</view>
<!-- 鐧诲綍鎸夐挳 -->
<view class="submit">
<view class="" style="width: 400rpx;">
- <button type="primary" size="default">鐧诲綍</button>
+ <button type="primary" @click="onLogin()" :loading="load.loading">{{load.btnText}}</button>
</view>
</view>
@@ -60,24 +63,32 @@
<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 class="title">閰嶇疆</view>
+ <view class="popup-item">
+ <view class="popup-item-left">IP:</view>
+ <view class="popup-item-right"><input type="text" v-model="url.ip"></view>
</view>
- <view class="input">
- <view class="input-left">绔彛:</view>
- <view class="input-right"><input type="text"></view>
+ <view class="popup-item">
+ <view class="popup-item-left">绔彛:</view>
+ <view class="popup-item-right"><input type="text" v-model="url.port"></view>
</view>
- <view class="input">
- <view class="input-left">椤圭洰:</view>
- <view class="input-right"><input type="text"></view>
+ <view class="popup-item">
+ <view class="popup-item-left">椤圭洰:</view>
+ <view class="popup-item-right"><input type="text" v-model="url.project"></view>
</view>
<view class="btn">
<view class="btn-left" @click="close">鍙栨秷</view>
- <view class="btn-right">纭</view>
+ <view class="btn-right" @click="settingConfirm">纭</view>
</view>
</view>
+ </uni-popup>
+ </view>
+
+ <view>
+ <!-- 鎻愮ず绐楃ず渚� -->
+ <uni-popup ref="upVersion" type="dialog">
+ <uni-popup-dialog :type="msgType" title="閫氱煡" :content="dialogContent" @confirm="dialogConfirm"
+ @close="dialogClose"></uni-popup-dialog>
</uni-popup>
</view>
@@ -91,23 +102,55 @@
</template>
<script>
+ import md5 from '../../static/js/md5.js'
export default {
data() {
return {
version: '',
- value: ''
+ showPassword: false,
+ value: '',
+ remberPassword: true,
+ url: {
+ ip: '',
+ port: '',
+ project: ''
+ },
+ baseUrl: '',
+ user: {
+ userName: '',
+ password: '',
+ },
+ load: {
+ loading: false,
+ btnText: '鐧诲綍'
+ },
+ msgType: 'success',
+ filename: '',
+ dialogContent: ''
}
},
onLoad() {
- // 鎵嬫満绔増鏈彿
- // #ifdef APP-PLUS
- var that = this
- plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
- that.version = wgtinfo.version
- });
- // #endif
+ this.user = uni.getStorageSync('user')
+ this.url = uni.getStorageSync('url')
+ this.baseUrl = uni.getStorageSync('baseUrl')
+ if (!this.user) {
+ this.user = {userName: '',password: ''}
+ }
+ if (!this.url) {
+ this.url = {ip: '',port: '',project: ''}
+ }
+ },
+ onShow () {
+ this.getVersion()
},
methods: {
+ // 鏄剧ず/闅愯棌瀵嗙爜
+ changePassword() {
+ this.showPassword = !this.showPassword;
+ },
+ remberChange(e) {
+ this.remberPassword = !this.remberPassword
+ },
// 璁剧疆绐楀彛寮�鍚寜閽�
settings() {
this.$refs.inputDialog.open()
@@ -119,11 +162,194 @@
// 璁剧疆绐楀彛鍏抽棴鎸夐挳
close() {
this.$refs.inputDialog.close()
- }
+ },
+ // 淇濆瓨ip
+ settingConfirm() {
+ this.baseUrl = "http://" + this.url.ip + ':' + this.url.port + '/' + this.url.project
+ uni.setStorageSync('baseUrl', this.baseUrl);
+ uni.setStorageSync('url', this.url);
+ uni.setStorageSync('project','tzsk')
+ this.$refs.inputDialog.close()
+ },
+ onLogin() {
+ let that = this
+ uni.request({
+ url: that.baseUrl + '/login.action',
+ fail(result) {
+ uni.showToast({
+ icon: 'error',
+ title: '璇锋眰澶辫触'
+ })
+ },
+ data: {
+ username: that.user.userName,
+ password: md5.hex_md5(that.user.password)
+ },
+ header: {
+ "content-type": "application/json"
+ },
+ success(result) {
+ // uni.reLaunch({
+ // url: '../home/menuHome'
+ // });
+ if (result.statusCode === 404) {
+ uni.showToast({
+ title: '鐧诲綍澶辫触',
+ icon: "error"
+ })
+ return
+ }
+ let res = result.data
+ if (res.code === 200) {
+ that.load.loading = true;
+ that.load.btnText = '鐧诲綍涓�';
+ uni.setStorageSync('token', res.data.token);
+ if(that.remberPassword){
+ uni.setStorageSync('user', that.user);
+ }else{
+ uni.removeStorageSync('user');
+ }
+ setTimeout(() => {
+ uni.showToast({
+ title: '鐧诲綍鎴愬姛'
+ })
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../home/menuHome'
+ });
+ }, 300)
+ }, 700)
+ } else {
+ uni.showToast({
+ title: res.msg
+ })
+ }
+ },
+ })
+ },
+ //妫�娴嬪綋鍓嶅钩鍙帮紝濡傛灉鏄畨鍗撳垯鍚姩瀹夊崜鏇存柊
+ getVersion() {
+ let that = this;
+ uni.getSystemInfo({
+ success: (res) => {
+ if (res.platform == "android") {
+ that.AndroidCheckUpdate();
+ }
+ }
+ })
+ },
+ // 鑾峰彇褰撳墠鐗堟湰鍙�
+ AndroidCheckUpdate() {
+ let that = this;
+ plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
+ that.version = wgtinfo.version //瀹㈡埛绔増鏈彿
+ })
+ setTimeout(()=>{
+ that.getUpdateVersion()
+ },100)
+ },
+ // 鏍¢獙鐗堟湰
+ getUpdateVersion() {
+ let that = this
+ let type = 0
+ if (that.baseUrl == 'http://undefined:undefined/undefined') {
+ return
+ }
+
+ let url = that.baseUrl + '/appVersion/checkUpdate/' + that.version + '/' + type
+ uni.request({
+ url: url,
+ method: 'GET',
+ success(res) {
+ console.log(res);
+ var res = res.data
+ if (res.data) {
+ that.filename = res.data.path
+ that.dialogContent = '鍙戠幇鏂扮増鏈�:' + res.data.version + ', 鏄惁绔嬪嵆鏇存柊'
+ that.$refs.upVersion.open()
+ } else {
+ uni.showToast({
+ title: res.msg,
+ icon: "none",
+ position: 'top'
+ })
+ }
+
+ }
+ })
+ },
+ dialogConfirm() {
+ this.$refs.upVersion.close()
+ this.downWgt()
+ },
+ dialogClose() {
+ this.$refs.upVersion.close()
+ },
+ downWgt() {
+ let that = this;
+ const downloadUrl = that.baseUrl + "/appVersion/downloadApp/" + that.filename
+ uni.showLoading({
+ title: '鏇存柊涓�︹��'
+ })
+ const downloadTask = uni.downloadFile({ //鎵ц涓嬭浇
+ url: downloadUrl, //涓嬭浇鍦板潃
+ timeout: 1000 * 30, //30绉掕秴鏃舵椂闂�
+ success: downloadResult => { //涓嬭浇鎴愬姛
+ console.log(downloadResult);
+ that.showdownLine = false
+ uni.hideLoading();
+ if (downloadResult.statusCode == 200) {
+ uni.showModal({
+ title: '',
+ content: '鏇存柊鎴愬姛锛岀‘瀹氱幇鍦ㄩ噸鍚悧锛�',
+ confirmText: '閲嶅惎',
+ confirmColor: '#EE8F57',
+ success: function(res) {
+ if (res.confirm == true) {
+ plus.runtime.install( //瀹夎
+ downloadResult.tempFilePath, {
+ force: true
+ },
+ function(res) {
+ utils.showToast('鏇存柊鎴愬姛锛岄噸鍚腑');
+ plus.runtime.restart();
+ }
+ );
+ }
+ }
+ });
+ } else {
+ uni.hideLoading();
+ that.showdownLine = false
+ uni.showToast({
+ title:'璇峰厛涓婁紶瀹夎鍖�',
+ icon: 'error'
+ })
+ }
+ },
+ fail: err => {
+ uni.hideLoading();
+ that.showdownLine = false
+ that.$u.toast(downloadResult.errMsg)
+ },
+ complete: com => {
+
+ console.log(com)
+ }
+ });
+
+ // 涓嬭浇杩涘害
+ downloadTask.onProgressUpdate(res => {
+ that.downloadNum = res.progress
+ console.log('涓嬭浇杩涘害' + that.downloadNum);
+ });
+ },
+
}
}
</script>
<style>
+ @import url('../../static/css/wms.css/wms.css');
/* 璁剧疆鍖哄煙 */
.settings {
min-height: 100rpx;
@@ -147,38 +373,80 @@
/* 杈撳叆妗嗗尯鍩� */
.content {
min-height: 250rpx;
+ /* background-color: coral; */
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
- border-top: 1px solid #000;
- border-bottom: 1px solid #000;
+ color: #606266;
}
.box {
width: 80%;
height: 100rpx;
- margin-top: 40rpx;
- background-color: white;
+ margin-top: 30rpx;
+ background-color: white;
display: flex;
+ font-size: 14px;
align-items: center;
- font-size: 12px;
+
}
.box-icon {
- width: 60rpx;
+ width: 80rpx;
+ text-align: center;
+ }
+ .box-text {
+ width: 100rpx;
text-align: center;
}
.box-show {
- /* background-color: aqua; */
margin-left: auto;
+ /* margin-right: 10rpx; */
width: 60rpx;
text-align: center;
}
input {
- padding-left: 40rpx;
-
- background-color: #000;
+ padding-left: 10rpx;
+ font-size: 14px;
+ color: #303133;
}
+ .check {
+ width: 78%;
+ display: flex;
+ font-size: 12px;
+ color: #606266;
+ margin-top: 10rpx;
+ }
+ .check-right {
+ margin-left: auto;
+ }
+ .submit {
+ display: flex;
+ justify-content: center;
+ position: fixed;
+ width: 100%;
+ bottom: 100rpx;
+ }
+ .version {
+ position: fixed;
+ width: 100%;
+ bottom: 0;
+ text-align: center;
+ font-size: 12px;
+ color: #909399;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
--
Gitblit v1.9.1