From 7d39b1a68266a289f66e3126473d5ebb5bd488d1 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 13 十二月 2023 18:37:42 +0800
Subject: [PATCH] #

---
 pages/login/login.vue |  254 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 231 insertions(+), 23 deletions(-)

diff --git a/pages/login/login.vue b/pages/login/login.vue
index e51335c..6d7f3c6 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -20,7 +20,8 @@
 				</view>
 				<view class="box-text">璐﹀彿:</view>
 				<view class="box-input">
-					<input type="text" placeholder="璇疯緭鍏ヨ处鍙�" placeholder-style="font-size:14px;color:#ccc;">
+					<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 password placeholder="璇疯緭鍏ュ瘑鐮�" placeholder-style="font-size:14px;color:#ccc;" >
+					<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,7 +46,7 @@
 					<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>
@@ -63,21 +66,29 @@
 					<view class="title">閰嶇疆</view>
 					<view class="popup-item">
 						<view class="popup-item-left">IP:</view>
-						<view class="popup-item-right"><input type="text"></view>
+						<view class="popup-item-right"><input type="text" v-model="url.ip"></view>
 					</view>
 					<view class="popup-item">
 						<view class="popup-item-left">绔彛:</view>
-						<view class="popup-item-right"><input type="text"></view>
+						<view class="popup-item-right"><input type="text" v-model="url.port"></view>
 					</view>
 					<view class="popup-item">
 						<view class="popup-item-left">椤圭洰:</view>
-						<view class="popup-item-right"><input type="text"></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,27 +102,55 @@
 </template>
 
 <script>
+	import md5 from '../../static/js/md5.js'
 	export default {
 		data() {
 			return {
 				version: '',
+				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()
@@ -124,19 +163,188 @@
 			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
-				that.load.loading = true;
-				that.load.btnText = '鐧诲綍涓�';
-				setTimeout(()=> {
-					uni.showToast({title: '鐧诲綍鎴愬姛'})
-					setTimeout(()=> {
+				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/home'
 						});
-					},300)
-				},700)
-			}
+						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/home'
+									});
+								}, 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>

--
Gitblit v1.9.1