From 03627defbc56d0498e7778523da255eb972db6a4 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期四, 04 十二月 2025 10:25:03 +0800
Subject: [PATCH] 删除 安装包

---
 qrcodeScaner/pages/index/index.vue |  202 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 202 insertions(+), 0 deletions(-)

diff --git a/qrcodeScaner/pages/index/index.vue b/qrcodeScaner/pages/index/index.vue
new file mode 100644
index 0000000..aa4d479
--- /dev/null
+++ b/qrcodeScaner/pages/index/index.vue
@@ -0,0 +1,202 @@
+<template>
+	<web-view v-if="viewShow" :src="downloadPage" style="width: 100%;height:90%"></web-view>
+	<view class="content" v-else>
+		<image class="logo" src="/static/favicon.ico"></image>
+		<view class="text-area">
+			<text class="title">NorthGlass</text>
+		</view>
+		<view class="text-area">
+			<text class="title">{{ip}}({{store.version}})</text>
+		</view>
+		<view class="text-area" >
+			<uni-data-select style="width:40vw;text-align: center;"
+							placeholder="璇烽�夋嫨鐝"
+							v-model="store.user.class"
+							:localdata="classList"
+						/>
+		</view>
+		<view class="text-area" >
+			<view>
+				<!-- <uni-easyinput @blur="searchUser" v-model="searchUserList.userName"/> -->
+				<uni-easyinput 
+				class='input_1'
+				placeholder="璇疯緭鍏ヨ处鍙�"
+				style="text-align: center;"
+				v-model="userForm.userId"/>
+			</view>
+		</view>
+		<!-- <view class="text-area">
+			<view>
+				<uni-data-select style="width:50vw"
+								v-model="userForm.userId"
+								:localdata="users"
+							></uni-data-select>
+			</view>                                                    
+		</view> -->
+		<view class="text-area" >
+			<uni-easyinput
+				class='input_1'
+				style="text-align: center;"
+				placeholder="璇疯緭鍏ュ瘑鐮�" 
+				:passwordIcon='false'
+				v-model="userForm.pass" 
+				type="password" />
+		</view>
+		
+		<view class="text-area" >
+			<button @click="login" class="login" type="primary" size="mini">鐧婚檰</button>
+		</view>
+		<text  
+			@click="initApp"
+			style="color:#007aff;text-decoration:underline;margin-top: 8rem;">鍒濆鍖�</text>
+		
+		
+		<view>
+			<!-- 鎻愮ず淇℃伅寮圭獥 -->
+			<uni-popup ref="message" type="message">
+				<uni-popup-message :type="msgType" :message="messageText" :duration="2000" />
+			</uni-popup>
+		</view>
+	</view>
+</template>
+
+<script  setup>
+	import {onMounted, reactive,ref} from "vue"
+  import userInfo from '@/stores/userInfo'
+	import request from '@/utils/request'
+	import {ip,webPort} from '@/utils/config.js'
+	
+  const store=userInfo()
+	let searchUserList = ref({
+		userName:null
+	})
+	const userForm = reactive({
+	  userId: uni.getStorageSync('userId') || null,
+	  pass: uni.getStorageSync('pass') || null
+	})
+	let users = ref([])
+	const message = ref(null)
+	const type=ref('center')
+	const msgType=ref('success')
+	const messageText=ref('')
+	const viewShow = ref(false)
+	const downloadPage = ref(`http://${ip}:${webPort}/#/app`)
+	let ipVal = ref(null)
+	
+	const classList = ref([
+		{text:'鏃╃彮',value:"鏃╃彮"},
+		{text:'鏅氱彮',value:"鏅氱彮"}
+	])
+	
+	onMounted(async()=>{
+		if(ip===null){
+			uni.reLaunch({
+			  url: `/pages/login/login`
+			})
+			return
+		}
+		
+		await getAppVersion() 
+	})
+	const searchUser = () => {
+		getUserList()
+	}
+	//鑾峰彇app鐗堟湰鍙�
+	const getAppVersion =async () => {
+		await request.post(`/appVersion/searchVersion`).then((res) => {
+			if(res.code==='200'){
+				if(res.data.version!==store.version){
+					if(uni.getSystemInfoSync().platform==='android'){
+						plus.runtime.openURL( downloadPage.value)
+						plus.runtime.quit()
+						return false
+					}else{
+						viewShow.value = !viewShow.value
+					}	
+				}
+			}
+		}).catch(error =>{
+			messageToggle('error',error)
+		})
+	}
+	
+	//鏌ョ敤鎴峰垪琛�
+	const getUserList = async()=> {
+		await request.post(`/userInfo/findByAddress`,searchUserList.value).then((res) => {
+			if(res.code==='200'){
+				users.value = res.data.users[0]
+			}
+		})
+	}
+	//鎻愮ず鎵撳紑
+	const messageToggle = (type,msg) =>{
+		msgType.value = type
+		messageText.value = msg
+		message.value.open()
+	}
+	
+	const login = async () => {
+		await getAppVersion()
+    userForm.pass = btoa(userForm.pass)
+		store.cleanInfo()
+		if(store.user.class === null || store.user.class === ""){
+			messageToggle('error','璇疯緭鍏ョ彮娆′俊鎭�')
+			return false
+		}
+		
+		request.post('/userInfo/login',userForm).then((res) => {
+			if(res['code']==200 && res['data']){
+				store.$patch({user:res.data})
+        uni.reLaunch({
+          url: `/pages/mainView/mainView`
+        })
+				uni.setStorageSync('userId', userForm.userId);
+				uni.setStorageSync('pass', atob(userForm.pass));
+			} else {
+				messageToggle('error','璇疯緭鍏ユ纭殑璐﹀彿瀵嗙爜')
+				return false
+			}
+		}).catch(error => {
+			messageToggle('error',error)
+			return false
+		}).then(() => {
+			userForm.pass = atob(userForm.pass)
+		})
+	}
+	
+	const initApp = () => {
+		uni.removeStorage({
+			key: 'ip'
+		});
+		plus.runtime.restart()
+	}
+
+</script>
+
+<style>
+	/* .login{
+		width: 100px;height: 45px;margin: 0 auto;
+	} */
+	.content {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		margin-top: -40%;
+	}
+
+	.logo {
+		height: 200rpx;
+		width: 200rpx;
+		margin-top: 200rpx;
+		margin-left: auto;
+		margin-right: auto;
+		margin-bottom: 50rpx;
+	}
+
+	.text-area {
+		display: flex;
+		justify-content: center;
+		padding-bottom: 1rem;
+	}
+</style>

--
Gitblit v1.8.0