login.vue 4.14 KB
<template>
	<view>
		<div :style="{height:navheight+'px',background:'#008fff'}"></div>
        <view class="loginBg">
        	<view class="loginBox">
        		<text class="loginTitle">智慧商业客流6.0</text>
				<view class="inputBox userBox">
					<image src="../../static/login/user.png" mode=""></image>
					<input class="uni-input userInput" focus placeholder="请输入用户名" v-model="username" />
				</view>
				<view class="inputBox pwdBox">
					<image src="../../static/login/pwd.png" mode=""></image>
					<input class="uni-input pwdInput" placeholder="请输入密码" password v-model="password"/>
				</view>
				<button class="loginBtn" @tap="login">登录</button>
        	</view>
        </view>
	</view>
</template>
<script src="static/common.js"></script>
<script>
	export default {
		data() {
			return {
				username: 'datatest',
				password:'datatest1',
				navheight:0
			}
		},
		onLoad() {
		},
		onReady(){
			uni.getStorage({
				key:'statusBarH',
				success:(res)=>{
					this.navheight=res.data;
				}
			})
		},
		methods: {
			login(){
				if(this.username.length<=0){
					uni.showToast({
						icon:'none',
						title:'请输入用户名'
					});
					return;
				}
				if(this.password.length<=0){
					uni.showToast({
						icon:'none',
						title:'请输入密码'
					});
					return;
				}
				uni.showLoading({
					title: '加载中'
				});
				uni.request({
					url:window.url+'/users/login',
					data:{
						loginName:this.username,
						password:this.password
					},
					method:'POST',
					success(res) {
						uni.hideLoading();
						var data=res.data;
						if(data.code==200){
							uni.request({
								url:"https://store.keliuyun.com/report/accounts",
								data:{
									id:data.data.user.accountId,
									_t:Date.parse(new Date())/1000
								},
								header: {
									'Authorization': data.data.atoken //自定义请求头信息
								},
								method:'GET',
								success(res){
									if(res.data.code==200){
										var datas=res.data.data;
										uni.setStorage({
											key:'orgName',
											data:datas[0].name
										})
										uni.setStorage({
											key:'accountName',
											data:datas[0].name
										})
									}
									uni.switchTab({
										url:'../index/index',
									})
								}
							})
							
							uni.setStorage({
								key:'atoken',
								data:data.data.atoken
							})
							uni.setStorage({
								key:'accountId',
								data:data.data.user.accountId
							})
							uni.setStorage({
								key:'orgIds',
								data:data.data.user.accountId
							})
							uni.setStorage({
								key:'type',
								data:'account'
							})
						}else{
							uni.showToast({
								icon:'none',
								title:data.msg
							});
						}
					}
				})
			}
		}
	}
</script>

<style>
	.loginBg{
		background: url(../../static/login/loginBg.png)  no-repeat;
		background-size: 100% 100%;
		height: 731.88upx;
	}
	.loginBox{
		background: #ffffff;
		width: 670.28upx;
		height: 663.04upx;
		position: relative;
		top: 311.59upx;
		margin: 0 auto;
		box-shadow:0px 0px 12.68upx 0px rgba(0,0,0,0.14);
		border-radius:7.24upx;
		padding-top:85.14upx;
	}
	.loginTitle{
		font-size:43.47upx;
		color:rgba(74,74,74,1);
		letter-spacing:1.81upx;
		text-align: center;
		display: block;
		position: relative;
		margin-bottom: 119.56upx;
	}
	.inputBox{
		width: 528.98upx;
		border-bottom: 1.81upx solid #9B9B9B;
		margin: 0 auto;
		padding-left: 12.68upx;
	}
	.userBox{
		margin-bottom: 43.47upx;
	}
	.userBox image{
		height:32.6upx ;
		width: 25.5upx;
		display: inline-block;
		top: -3.8upx;
	}
	.pwdBox image{
		height:32.6upx ;
		width: 32.6upx;
		display: inline-block;
		top: -3.8upx;
	}
	.userInput{
		display: inline-block;
		font-size: 30.79upx;
		top: 9.05upx;
		left: 32.6upx;
	}
	.pwdInput{
		display: inline-block;
		font-size: 30.79upx;
		top: 9.05upx;
		left: 25.36upx;
	}
	.pwdBox{
		margin-bottom: 94.2upx;
	}
	.loginBtn{
		width:516.36upx;
		height:76.08upx;
		background:rgba(0,105,255,1);
		border-radius:21px;
		font-size:36.23upx;
		color:rgba(255,255,255,1);
		line-height:76.08upx;
		letter-spacing: 25.36upx;
		padding: 0;
		padding-left: 25.36upx;
	}
</style>