From 0ecc402885f332b21923bb12183dc072306f2b39 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 21 三月 2025 18:36:15 +0800
Subject: [PATCH] vue3

---
 pages/login/index.vue |  747 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 518 insertions(+), 229 deletions(-)

diff --git a/pages/login/index.vue b/pages/login/index.vue
index c09b8e8..de2efe3 100644
--- a/pages/login/index.vue
+++ b/pages/login/index.vue
@@ -1,196 +1,122 @@
-
-<style>
-	input::-webkit-input-placeholder {
-		font-size: 12rpx;
-	}
-	#headr {
-		background: #434343;
-		/* width: 375px; */
-		height: 250rpx;
-		text-align: center;
-		background-color: #438EB9;
-		/* background-image: url(../../images/login/root.png) !important;
-		background-size: cover !important; 
-		background-repeat: no-repeat !important; */
-	}
-	.SetServer{    
-		float: left;
-		margin-left: 20rpx;
-	}
-	.check_rememberPwd{
-		margin-top: 20rpx;
-		margin-left: 20rpx;
-	}
-	.logo {
-		height: 180rpx;
-		width: 180rpx; 
-		margin-top: 170rpx;
-	}
-	.logo_input {
-		height: 40rpx;
-		width: 40rpx;
-		margin-left: 40rpx;
-	}
-	.logo_icon {
-		height: 50rpx;
-		width: 50rpx;
-		margin-left: 15rpx;
-		margin-top: 20rpx;
-	}
-	.mui-content{
-		height: 100%;
-		padding-top: 140rpx;
-		background: #FFFFFF;
-		z-index: 1;
-	}
-	.mui-input-group .la_icon {
-	    width: 100rpx;
-	    text-align: center;
-	    font-family: 'Helvetica Neue',Helvetica,sans-serif;
-	    line-height: 1.5;
-	    float: left;
-	    padding: 7px 13px;
-	}
-	.mui-input-group .mui-input-row {
-	    height: 85rpx;
-		position: relative;
-		clear: left;
-		overflow: hidden;
-	}
-	.mui-input-row:first-child {
-		border-top: 1px solid #c8c7cc;
-	}
-	.mui-input-row:last-child {
-		border-bottom: 1px solid #c8c7cc;
-	}
-	.mui-input-group .mui-input-row:last-child:after {
-		background-color:#fff;
-	}
-	.mui-input-group .mui-input-row:after {
-	    position: absolute;
-	    right: 0;
-	    bottom: 0;
-	    left: 15px;
-	    height: 1px;
-	    content: '';
-	    transform: scaleY(.5);
-	    background-color: #c8c7cc;
-	}
-	.mui-input-row input {
-		font-family: 'Helvetica Neue',Helvetica,sans-serif;
-		font-size: 15px;
-		width: 480rpx;
-		/* float: right; */
-		margin-bottom: 0;
-		padding-left: 20rpx;
-		/* padding-right: 10rpx; */
-		/* line-height: 30rpx; */
-		height: 85rpx;
-		/* padding: 7px 40px 7px 0px; */
-		-webkit-user-select: text;
-		/* border: 0; */
-		/* border-radius: 0; */
-		box-shadow: none;
-		outline: 0;
-		background: 0 0;
-		-webkit-appearance: none;
-	}
-	
-	.mui-input-group label.mui-navigate-right {
-		font-size: 25px;
-		float: right;
-		padding: 0;
-		width: 80rpx;
-		margin-right: 5rpx;
-		margin-top: -88rpx;
-		display: inline-block;
-	}
-	
-	button.btn_login {
-		margin-top: 50rpx;
-		padding: 20rpx;
-		line-height: 1.5;
-		background: #27A6E1;
-		border: none;
-		color: #fff;
-	}
-</style>
- 
-
 <template>
-	<view class="" style="width: 100vw;height: 64vh;">
+	<view class="uni-page-login" style="width: 100vw;height: 64vh;">
 		<div id="headr" class="mui-bar mui-bar-nav">
 			<image class="logo" src="../../images/login/mobox_log_200.png"></image>
 		</div>
 		<div class="mui-content">
 			<form id='login-form' class="mui-input-group">
-				<a href="javascript:;" class="SetServer" @click="inputDialogToggle">閰嶇疆</a>
-				<!-- <div class="mui-input-row">
-					<label class="la_icon"><image class="logo_input" src="../../images/login/svr_30.png"></image></label>
-					<input type="text" class="mui-input" v-model="userServer" placeholder="鏈嶅姟鍣ㄥ湴鍧�>
-					<label class="mui-navigate-right" id="sersel"><image class="logo_icon" src="../../images/login/sel_left.png" ></image></label>
-				</div> -->
+
+				<a href="javascript:;" class="SetServer" @click="inputDialogToggle">{{translateSys('set')}}</a>
+				<a href="javascript:;" class="SetServer" @click="clickSetLanguage">{{translateSys('language')}}</a>
 				<div class="mui-input-row">
-					<label class="la_icon" ><image class="logo_input" src="../../images/login/person_30.png"></image></label>
-					<input type="text" class="mui-input" v-model="userName" placeholder="璇疯緭鍏ヨ处鍙�>
+					<label class="la_icon">
+						<image class="logo_input" src="../../images/login/person_30.png"></image>
+					</label>
+					<input type="text" class="mui-input" v-model="userName" :placeholder="translateSys('input_login')">
 					<!-- <label class="mui-navigate-right" id="namsel"><image class="logo_icon" src="../../images/login/user-photo.png</image></label> -->
 				</div>
 				<div class="mui-input-row">
-					<label class="la_icon" ><image class="logo_input" src="../../images/login/lock_30.png"></image></label>
-					<input type="password" class="mui-input" v-model="userPwd" placeholder="璇疯緭鍏ュ瘑鐮�>
+					<label class="la_icon">
+						<image class="logo_input" src="../../images/login/lock_30.png"></image>
+					</label>
+					<input type="password" class="mui-input" v-model="userPwd"
+						:placeholder="translateSys('input_password')">
 				</div>
 				<checkbox-group class="check_rememberPwd" @change="rememberPwd">
 					<label>
-						<checkbox value="1" :checked="ischecked"/>
-						<text>璁颁綇瀵嗙爜</text>
+						<checkbox value="1" :checked="ischecked" />
+						<text>{{translateSys('remember_password')}}</text>
 					</label>
 				</checkbox-group>
 			</form>
-				<button id='login' type="default" @tap="logind" class="btn_login">{{login}}</button>
-			</div>
-			<div class="" style="text-align: center;background: white;border-top: 0px solid #C0C0C0;color: #7cd0f8;position: absolute;bottom: 0;width: 100%;height: 24px;padding-top:3px;font-size: 11px;">
+			<button id='login' :disabled="btnLoading" type="default" @tap="onClickLogin"
+				class="btn_login">{{translateSys("start_login")}}</button>
+			<p style="float:right; margin: 10px 10px;color:#c8c7cc">
+				<span>{{translateSys('version')}}锛�/span>
+				<span>{{version}}</span>
+			</p>
+			<div class=""
+				style="text-align: center;background: white;border-top: 0px solid #C0C0C0;color: #7cd0f8;position: absolute;bottom: 0;width: 100%;height: 24px;padding-top:3px;font-size: 11px;">
 			</div>
 		</div>
 		<view>
 			<!-- 杈撳叆妗嗙ず渚�-->
 			<uni-popup ref="inputDialog" type="dialog">
-				<uni-popup-dialog ref="inputClose"  mode="input" title="璁剧疆" :value="userServer"
-					placeholder="璇疯緭鍏ュ唴瀹� @confirm="dialogInputConfirm"></uni-popup-dialog>
+				<uni-popup-dialog ref="inputClose" mode="input" :title="translateSys('set')" :value="userServer"
+					:placeholder="translate('input_server')" @confirm="dialogInputConfirm"></uni-popup-dialog>
 			</uni-popup>
+			<!-- 鐗堟湰鍗囩骇寮圭獥寮� -->
+			<uni-popup ref="promotion" type="center">
+				<view class="promotion" style="width: 700rpx;padding:20rpx 40rpx; background: white;font-size: 36rpx;">
+					<view class="operates" v-if="showBtns==true">
+						<view style="text-align: center;padding-top:20rpx;padding-bottom: 40rpx;">
+							{{translate('tip_app_update')}}
+						</view>
+						<text @click="cancel"
+							style="display: inline-block;color: #7cd0f8;width: 50%; text-align: center;">{{translateSys('cancel')}}</text>
+						<text @click="sure"
+							style="display: inline-block;color: #7cd0f8;width: 50%; text-align: center;">{{translateSys('confirm')}}</text>
+					</view>
+					<view class="operates" v-else>
+						<cmd-progress :percent="percentage" stroke-color="linear-gradient(to right, #ef32d9, #89fffd)">
+						</cmd-progress>
+					</view>
+				</view>
+			</uni-popup>
+			<!-- 鐗堟湰鍗囩骇寮圭獥缁撴潫 -->
 		</view>
+		<!-- <button @click="onClickWms">鐧诲綍wms</button>
+		<view class="webview">
+			<web-view ref="webview" src="http://115.29.185.26:5000/mobox3/#/"></web-view>
+		</view> -->
 	</view>
-	 
+
 </template>
 
-<script> 
-	// import {
-	// 	mapState,
-	// 	mapMutations,
-	// 	mapActions ,
-	// } from 'vuex'
+<script>
+	import cmdProgress from "@/components/cmd-progress/cmd-progress.vue"
+	import {
+		showModal,
+		showToast,
+		showLoading,
+		hideLoading
+	} from "@/js/Page.js"
+	import {
+		isMobox3Web,
+		login,
+		getApkVersionInfo
+	} from "@/api/index.js"
+	import buttonClickMixin from '@/mixins/button-click.js';
+
+	import utils from "@/js/utils.js"
 	export default {
-		data(){
+		mixins: [buttonClickMixin],
+		components: {
+			cmdProgress
+		},
+		data() {
 			//鑾峰彇鍏ㄥ眬鍙傛暟锛歶rl-鏈嶅姟鍣ㄥ湴鍧�-			var server = uni.getStorageSync('server');
-			var account = uni.getStorageSync('account');
-			var password = uni.getStorageSync('password');
-			var url = this.$store.state.url;
-			var username = this.$store.state.username;
-			var userpwd = this.$store.state.userpwd;
-			var ischecked=false;
-			if(!server)
-				server = url;
-			if(!account)
-				account = username;
-			if(account && password)
-				ischecked=true;
-			// console.log(url);
 			return {
-				login:"寮�鐧诲綍",
-				userServer:server,
-				userName:account,
-				userPwd:password,
-				ischecked:ischecked,
+				userServer: utils.session.getValue('server'),
+				userName: utils.session.getValue('account'),
+				userPwd: utils.session.getValue('password'),
+				ischecked: false,
+				version: "1.0.0",
+				downloadUrl: "", //瀹夊崜app涓嬭浇閾炬帴
+				percentage: 0, //涓嬭浇杩涘害
+				showBtns: true,
+			}
+		},
+		onShow() {
+			this.query(); //鐗堟湰鍗囩骇
+		},
+		watch: {
+			//鐩戝惉杩涘害鏉�+			percentage(e) {
+				// console.log(e);
+				if (e >= 100) {
+					this.$refs.promotion.close();
+				}
 			}
 		},
 		// computed: mapState({
@@ -199,7 +125,144 @@
 		// 	loginprovider: state => state.loginProvider,
 		// 	appinfo:state=>state.appInfo
 		// }),
-		methods:{
+		methods: {
+			//鏌ヨ褰撳墠鐗堟湰鍙�+			query() {
+				// #ifdef APP-PLUS
+				plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
+					console.log(wgtinfo);
+					var version = wgtinfo.version; //瀹㈡埛绔増鏈彿
+					// var versionCode = parseInt(wgtinfo.versionCode); //瀹㈡埛绔増鏈彿缂栫爜
+					this.check(version) //妫�祴鏄惁闇�鏇存柊
+				})
+				//#endif
+			},
+			//妫�祴鏄惁闇�鏇存柊
+			async check(version) {
+				try {
+					if (!this.userServer) {
+						uni.showModal({
+							title: this.translateSys("tip"),
+							content: this.translate("tip_no_web_server"),
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+						return;
+					}
+					// var ser = this.userServer.toLowerCase().split('/');
+					const res = await getApkVersionInfo(this.userServer)
+					this.downloadUrl = res.dldUrl || ""
+					if (this.downloadUrl) {
+						var isver = this.compare(res.verNum || "", version);
+						if (isver) {
+							this.$refs.promotion.open();
+						} else {
+							console.log('褰撳墠宸叉槸鏈�柊鐗堟湰')
+						}
+					}
+
+				} catch (ex) {
+					// console.log(ex);
+					let exStr = JSON.stringify(ex)
+					if (exStr == "{}")
+						exStr = ex
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+					uni.showModal({
+						title: this.translateSys("error"),
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+
+
+			},
+			compare(curV, reqV) {
+				var arr1 = curV.toString().split('.');
+				var arr2 = reqV.toString().split('.');
+				//灏嗕袱涓増鏈彿鎷嗘垚鏁板瓧
+				var minL = Math.min(arr1.length, arr2.length);
+				var pos = 0; //褰撳墠姣旇緝浣�+				var diff = 0; //褰撳墠涓轰綅姣旇緝鏄惁鐩哥瓑
+				var flag = false;
+				//閫愪釜姣旇緝濡傛灉褰撳墠浣嶇浉绛夊垯缁х画姣旇緝涓嬩竴浣�+				while (pos < minL) {
+					diff = parseInt(arr1[pos]) - parseInt(arr2[pos]);
+					if (diff == 0) {
+						pos++;
+						continue;
+					} else if (diff > 0) {
+						flag = true;
+						break;
+					} else {
+						flag = false;
+						break;
+					}
+				}
+				return flag;
+			},
+			//纭鏇存柊
+			sure() {
+				//鍏抽棴鎸夐挳
+				this.showBtns = false;
+				let sys = uni.getSystemInfoSync().platform //妫�煡绯荤粺
+				if (sys == "ios") {
+					// this.getIosInfo()
+				} else if (sys == "android") {
+					this.updateAPP() // 璋冪敤涓嬭浇鏂规硶app鍐呬笅杞�+				}
+			},
+			//鍙栨秷鏇存柊
+			cancel() {
+				this.$refs.promotion.close();
+			},
+			//閾炬帴鑻规灉鍟嗗簵涓嬭浇
+			// getIosInfo() {
+			// 	let appleId = "浣犵殑appid"
+			// 	plus.runtime.launchApplication({
+			// 		action: "itms-apps://itunes.apple.com/cn/app/id" + appleId + "?mt=8"
+			// 	}, function(e) {
+			// 		console.log('Open system default browser failed: ' + e.message);
+			// 	});
+			// },
+			//瀹夊崜鏇存柊
+			updateAPP() {
+				let _this = this;
+				let url = this.downloadUrl;
+				// 瀹樻柟API
+				var dtask = plus.downloader.createDownload(url, {}, function(d, status) {
+					//d涓轰笅杞界殑鏂囦欢瀵硅薄
+					if (status == 200) {
+						//涓嬭浇鎴愬姛,d.filename鏄枃浠跺湪淇濆瓨鍦ㄦ湰鍦扮殑鐩稿璺緞锛屼娇鐢ㄤ笅闈㈢殑API鍙浆涓哄钩鍙扮粷瀵硅矾寰�+						var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
+						plus.runtime.openFile(d.filename); //閫夋嫨杞欢鎵撳紑鏂囦欢
+						uni.showToast({
+							icon: 'none',
+							title: this.translate('update_success')
+						});
+						_this.$refs.promotion.close();
+					} else {
+						//涓嬭浇澶辫触
+						plus.downloader.clear(); //娓呴櫎涓嬭浇浠诲姟
+						uni.showToast({
+							icon: 'none',
+							title: this.translate('update_fail')
+						});
+						_this.showBtns = false;
+					}
+				})
+				//寮�涓嬭浇
+				dtask.start();
+				//鐩戝惉涓嬭浇杩涘害
+				dtask.addEventListener('statechanged', function(task) {
+					_this.percentage = parseInt(
+						(parseFloat(task.downloadedSize) / parseFloat(task.totalSize)) * 100);
+					if (_this.percentage == 100) {
+						_this.$refs.promotion.close();
+					}
+					console.log('涓嬭浇杩涘害锛� + _this.percentage);
+				});
+			},
 			// ...mapMutations({
 			// 	mutatLogin:'login'
 			// }),
@@ -207,8 +270,24 @@
 			// 	actionLogin:'login'
 			// }),
 			inputDialogToggle() {
-				this.$refs.inputDialog.open()
+				// this.$refs.inputDialog.open()
+				const $this = this
+				uni.navigateTo({
+					url: "./set",
+					events: {
+						exitSetEvent(val) {
+							$this.userServer = val;
+							$this.query(); //鐗堟湰鍗囩骇
+						}
+					}
+				})
 			},
+			clickSetLanguage() {
+				uni.navigateTo({
+					url: './language'
+				});
+			},
+
 			dialogInputConfirm(val) {
 				// console.log(val);
 				// uni.showLoading({
@@ -217,19 +296,22 @@
 				// setTimeout(() => {
 				// uni.hideLoading();
 				this.userServer = val;
-				uni.setStorageSync('server',val);
+				utils.session.setValue('server', val);
 				// this.value = val
 				// 鍏抽棴绐楀彛鍚庯紝鎭㈠榛樿鍐呭
-				this.$refs.inputDialog.close()
+				this.$refs.inputDialog.close();
+
+				this.query(); //鐗堟湰鍗囩骇
+				// }, 3000)
 				// }, 3000)
 			},
-			rememberPwd(e){  //璁颁綇瀵嗙爜
+			rememberPwd(e) { //璁颁綇瀵嗙爜
 				console.log(e.target);
-				uni.setStorageSync('account','');
-				uni.setStorageSync('password','');
-				if(e.target.value[0]=='1'){
-					uni.setStorageSync('account',this.userName);
-					uni.setStorageSync('password',this.userPwd);
+				utils.session.setValue('account', '');
+				utils.session.setValue('password', '');
+				if (e.detail.value[0] == '1') {
+					utils.session.setValue('account', this.userName);
+					utils.session.setValue('password', this.userPwd);
 				}
 			},
 			// getCookie(key){
@@ -249,64 +331,271 @@
 			// 	exdate.setDate(exdate.getDate(),expiredays)
 			// 	document.cookie = cName+'='+ documentURLComponent(value)+
 			// 	((expiredays==null)?'':';expires='+exdate.toGMTString());
-				
+
 			// },
-			logind(){
-				if(!this.userServer){
-					uni.showModal({title:"鎻愮ず",content:"鏈緭鍏ョ綉绔欏湴鍧�紝璇烽噸鏂伴厤缃緭鍏ワ紒",showCancel:false,confirmText:"鍙栨秷"});
-					return;
-				}
-				if(!this.userName){
-					uni.showModal({title:"鎻愮ず",content:"鏈緭鍏ョ敤鎴峰悕锛岃閲嶆柊杈撳叆锛�,showCancel:false,confirmText:"鍙栨秷"});
-					return;
-				}
-				if(!this.userPwd){
-					uni.showModal({title:"鎻愮ず",content:"鏈緭鍏ュ瘑鐮侊紝璇烽噸鏂拌緭鍏ワ紒",showCancel:false,confirmText:"鍙栨秷"});
-					return;
-				}
-				//妫�煡 "鐧诲綍鐘舵�/閿佸睆鐘舵�" 缁撴潫
-				var loginInfo = {
-					server: this.userServer,
-					uname: this.userName,
-					pwd: this.userPwd,
-					cname: plus.device.model,
-					type:"0"
-				};
-				console.log(loginInfo);
-				
-				this.$data.login="loading......";
-				//鐧诲綍
-				this.$store.dispatch('login',loginInfo).then(success=>{
-					// console.log(success);
-					if (success.code == '00000') {
-						//璁剧疆鍏ㄥ眬鍙傛暟锛歶ser-鐢ㄦ埛淇℃伅
-						uni.setStorageSync('server',loginInfo.server);
-						// uni.setStorageSync('account',loginInfo.uname);
-						// uni.setStorageSync('password',loginInfo.pwd);
-						// this.mutatLogin({loginid:success});
-						this.$store.commit('login',{
-							loginid:success 
-						});
-						uni.navigateTo({
-							url:'../index/index?args=9999999999'
-						})
-						// uni.redirectTo({
-						// 	url:'../index/index?args=9999999999'
-						// });
-						this.login="寮�鐧诲綍";
-					}else{
-						uni.showModal({title:"閿欒",content:success.msg,showCancel:false,confirmText:"鍙栨秷"});
-						this.login="寮�鐧诲綍";
-					}
-				}).catch(ex=>{
-					// console.log(ex);
-					uni.showModal({title:"閿欒",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
-					this.login="寮�鐧诲綍";
+			onClickLogin() {
+				this.handleButtonClick((done) => {
+					this.logind()
+					setTimeout(() => {
+						done(); // 閲嶇疆鐘舵�
+					}, 1000);
 				});
-			}
+			},
+			async logind() {
+				try {
+					if (!this.userServer) {
+						uni.showModal({
+							title: this.translateSys('tip'),
+							content: this.translate('tip_no_web_server'),
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+						return;
+					}
+					if (!this.userName) {
+						uni.showModal({
+							title: this.translateSys('tip'),
+							content: this.translate('tip_no_user_account'),
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+						return;
+					}
+					if (!this.userPwd) {
+						uni.showModal({
+							title: this.translateSys('tip'),
+							content: this.translate('tip_no_user_password'),
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+						return;
+					}
+					var rootUrl = 'http://' + this.userServer
+					if (this.userServer.includes("://")) {
+						rootUrl = this.userServer
+					}
+					showLoading("loading......")
+					const res = await login(rootUrl, this.userName, this.userPwd)
+					//璁剧疆鍏ㄥ眬鍙傛暟锛歶ser-鐢ㄦ埛淇℃伅
+					utils.session.setValue('server', rootUrl);
+					utils.session.setValue('account', this.userName);
+					utils.session.setValue('password', this.userPwd);
+					const app = getApp()
+					app.globalData.sessionId = res.session_id
+					app.globalData.loginUser = {
+						id: this.userName,
+						name: res.name,
+						pwd: this.userPwd
+					}
+					hideLoading()
+
+					uni.navigateTo({
+						url: '../index/index?args=9999999999'
+					})
+
+				} catch (ex) {
+					hideLoading()
+					let exStr = JSON.stringify(ex)
+					if (exStr == "{}")
+						exStr = ex
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+					uni.showModal({
+						title: this.translateSys("error"),
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+
+			},
+			onClickWms() {
+				let otherAppSchemeURL = "testapp://pages/index/index"; // 鏇挎崲涓虹洰鏍嘺pp鐨剆cheme URL
+				plus.runtime.openURL(otherAppSchemeURL, function(error) {
+					console.error('鎵撳紑搴旂敤澶辫触: ', error);
+				}, "uni.TeatApp");
+			},
+			translate(t) {
+				if (typeof this.$t == "function") return this.$t(`page.${t}`)
+				else return t;
+			},
+			translateSys(t) {
+				if (typeof this.$t == "function") return this.$t(`sys.${t}`)
+				else return t;
+			},
 		},
-		onLoad() {
-			
+		onLoad(options) {
+			//鑾峰彇mac鍦板潃
+
+			var url = utils.session.getValue('server');
+			var username = utils.session.getValue('account');
+			var userpwd = utils.session.getValue('password');
+
+			var ischecked = false;
+			if (!this.userServer)
+				this.userServer = url;
+			if (!this.userName)
+				this.userName = username;
+			if (this.userName && this.userPwd)
+				ischecked = true;
+			this.ischecked = ischecked
+			var net = plus.android.importClass("java.net.NetworkInterface");
+			var wl0 = net.getByName('wlan0');
+			var macByte = wl0.getHardwareAddress();
+			var deviceId = ''
+			//涓嬮潰杩欐浠g爜鏉ヨ嚜缃戠粶  
+			for (var i = 0; i < macByte.length; i++) {
+				var tmp = "";
+				var num = macByte[i];
+				if (num < 0) {
+					tmp = (255 + num + 1).toString(16);
+				} else {
+					tmp = num.toString(16);
+				}
+				if (tmp.length == 1) {
+					tmp = "0" + tmp;
+				}
+				deviceId += tmp;
+			}
+			getApp().globalData.deviceId = deviceId
+			getApp().globalData.cname = plus.device.model
+			//78b8d67511ca
+			console.log('Android璁惧鐨刣eviceId:', deviceId);
+			plus.runtime.getProperty(plus.runtime.appid, (info) => {
+				// console.log(info);
+				this.version = info.version;
+			});
 		}
 	}
 </script>
+<style lang="scss">
+	.uni-page-login {
+		input::-webkit-input-placeholder {
+			font-size: 12rpx;
+		}
+
+		#headr {
+			background: #434343;
+			/* width: 375px; */
+			height: 250rpx;
+			text-align: center;
+			background-color: #438EB9;
+			/* background-image: url(../../images/login/root.png) !important;
+		background-size: cover !important; 
+		background-repeat: no-repeat !important; */
+		}
+
+		.SetServer {
+			float: left;
+			margin-left: 20rpx;
+		}
+
+		.check_rememberPwd {
+			margin-top: 20rpx;
+			margin-left: 20rpx;
+		}
+
+		.logo {
+			height: 180rpx;
+			width: 180rpx;
+			margin-top: 170rpx;
+		}
+
+		.logo_input {
+			height: 40rpx;
+			width: 40rpx;
+			margin-left: 40rpx;
+		}
+
+		.logo_icon {
+			height: 50rpx;
+			width: 50rpx;
+			margin-left: 15rpx;
+			margin-top: 20rpx;
+		}
+
+		.mui-content {
+			height: 100%;
+			padding-top: 140rpx;
+			background: #FFFFFF;
+			z-index: 1;
+		}
+
+		.mui-input-group .la_icon {
+			width: 100rpx;
+			text-align: center;
+			font-family: 'Helvetica Neue', Helvetica, sans-serif;
+			line-height: 1.5;
+			float: left;
+			padding: 7px 13px;
+		}
+
+		.mui-input-group .mui-input-row {
+			height: 85rpx;
+			position: relative;
+			clear: left;
+			overflow: hidden;
+		}
+
+		.mui-input-row:first-child {
+			border-top: 1px solid #c8c7cc;
+		}
+
+		.mui-input-row:last-child {
+			border-bottom: 1px solid #c8c7cc;
+		}
+
+		.mui-input-group .mui-input-row:last-child:after {
+			background-color: #fff;
+		}
+
+		.mui-input-group .mui-input-row:after {
+			position: absolute;
+			right: 0;
+			bottom: 0;
+			left: 15px;
+			height: 1px;
+			content: '';
+			transform: scaleY(.5);
+			background-color: #c8c7cc;
+		}
+
+		.mui-input-row input {
+			font-family: 'Helvetica Neue', Helvetica, sans-serif;
+			font-size: 15px;
+			width: 480rpx;
+			/* float: right; */
+			margin-bottom: 0;
+			padding-left: 20rpx;
+			/* padding-right: 10rpx; */
+			/* line-height: 30rpx; */
+			height: 85rpx;
+			/* padding: 7px 40px 7px 0px; */
+			-webkit-user-select: text;
+			/* border: 0; */
+			/* border-radius: 0; */
+			box-shadow: none;
+			outline: 0;
+			background: 0 0;
+			-webkit-appearance: none;
+		}
+
+		.mui-input-group label.mui-navigate-right {
+			font-size: 25px;
+			float: right;
+			padding: 0;
+			width: 80rpx;
+			margin-right: 5rpx;
+			margin-top: -88rpx;
+			display: inline-block;
+		}
+
+		button.btn_login {
+			margin-top: 50rpx;
+			padding: 20rpx;
+			line-height: 1.5;
+			background: #27A6E1;
+			border: none;
+			color: #fff;
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.1