记住登录状态

master
lion 12 months ago
parent 31f25dc49d
commit 2582ad4d25

@ -1,294 +1,326 @@
<template>
<view class="container">
<image class="bkg" mode="aspectFill" src="../static/login-bg.png"></image>
<view class="login">
<view class="login-title">
<view>Hello</view>
<view>欢迎登录护工端</view>
</view>
<view class="login-form">
<view>
<u-input v-model="form.username" border-color="#f5f5f5" placeholder="请输入用户名"></u-input>
</view>
<view>
<u-input v-model="form.password" border-color="#f5f5f5" type="password"
placeholder="请输入密码"></u-input>
</view>
</view>
<view class="role-select">
<view class="role-title">请选择登录角色</view>
<view class="role-options">
<view class="role-item" v-for="(item, index) in roleList" :key="index" @click="form.role = item.value">
<view class="radio-box" :class="{'active': form.role === item.value}">
<view class="radio-inner" v-if="form.role === item.value"></view>
</view>
<text class="role-label">{{item.label}}</text>
<template>
<view class="container">
<image class="bkg" mode="aspectFill" src="../static/login-bg.png"></image>
<view class="login">
<view class="login-title">
<view>Hello</view>
<view>欢迎登录护工端</view>
</view>
<view class="login-form">
<view>
<u-input v-model="form.username" border-color="#f5f5f5" placeholder="请输入用户名"></u-input>
</view>
<view>
<u-input v-model="form.password" border-color="#f5f5f5" type="password"
placeholder="请输入密码"></u-input>
</view>
</view>
<view class="role-select">
<view class="role-title">请选择登录角色</view>
<view class="role-options">
<view class="role-item" v-for="(item, index) in roleList" :key="index"
@click="form.role = item.value">
<view class="radio-box" :class="{'active': form.role === item.value}">
<view class="radio-inner" v-if="form.role === item.value"></view>
</view>
<text class="role-label">{{item.label}}</text>
</view>
</view>
</view>
<view class="login-btn">
<view @click="login"></view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
form: {
username: '',
password: '',
role: uni.getStorageSync('login_role') || 'nurse' //
},
roleList: [
{
value: 'nurse',
label: '护工'
},
{
value: 'staff',
label: '工作人员'
},
{
value: 'operator',
label: '运营人员'
}
],
site_name: ''
};
},
onReady() {},
onShareAppMessage() {
return {
title: '医康养服务', //
path: '/pages/index/index', //
}
},
methods: {
login() {
if (!this.form.username || !this.form.password) {
uni.showToast({
title: '请输入用户名和密码',
icon: 'none'
})
return
}
if (!this.form.role) {
uni.showToast({
title: '请选择登录角色',
icon: 'none'
})
return
}
let that = this
//
let loginApi = null
switch(this.form.role) {
case 'nurse':
loginApi = this.$u.api.login //
break
case 'staff':
loginApi = this.$u.api.staffLogin //
break
case 'operator':
loginApi = this.$u.api.operatorLogin //
break
default:
uni.showToast({
title: '无效的角色选择',
icon: 'none'
})
return
}
loginApi({
username: this.form.username,
password: this.form.password,
}).then(res=>{
console.log("res1",res)
if(res.errcode === 40002) {
that.base.toast("账号密码不正确")
return
}
//
uni.setStorageSync('login_role', this.form.role)
const loginRole = uni.getStorageSync('login_role');
if (loginRole === 'staff') {
that.$u.vuex('vuex_token', res.token)
}else if(loginRole === 'operator'){
that.$u.vuex('vuex_token', res.access_token)
}else {
that.$u.vuex('vuex_token', res.token)
}
that.base.toast("登录成功",1500,function(){
uni.login({
provider: 'weixin',
success: (loginRes) => {
const code = loginRes.code;
//
setTimeout(function(){
const loginRole = uni.getStorageSync('login_role');
if (loginRole === 'staff') {
// that.$u.vuex('vuex_token', res.token)
that.$u.api.appletLogin({ code }).then(silentRes => {
uni.reLaunch({
url: '/pages/index/staffIndex'
});
}).catch(err => {
console.error('静默登录失败', err);
//
});
}else if(loginRole === 'operator'){
// that.$u.vuex('vuex_token', res.access_token)
uni.reLaunch({
url: '/pages/index/operatorIndex'
});
}else {
// that.$u.vuex('vuex_token', res.token)
that.$u.api.nurseAppletLogin({ code }).then(silentRes => {
uni.switchTab({
url: '/pages/index/index'
});
}).catch(err => {
console.error('静默登录失败', err);
//
});
}
}, 1500)
},
fail: (err) => {
console.error('获取微信code失败', err);
//
}
});
})
}).catch(err => {
console.error("登录失败", err)
that.base.toast("登录失败,请稍后重试")
})
}
}
}
</script>
<style lang="scss" scoped>
.container {
width: 100vw;
height: 100vh;
background-color: #fff;
font-size: 32rpx;
.bkg {
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
}
.login {
position: absolute;
top: 0;
left: 0;
padding-top: 150rpx;
// text-align: center;
width: 100%;
&-title {
font-size: 50rpx;
color: #fff;
text-align: left;
&>view {
width: 50%;
margin: 0 auto;
}
}
&-form {
padding: 400rpx 65rpx 100rpx 65rpx;
margin-bottom: 10rpx;
&>view {
background-color: #f5f5f5;
border-radius: 60rpx;
padding: 10rpx 30rpx;
margin-bottom: 35rpx;
}
}
&-btn{
padding: 0 65rpx;
&>view{
font-size: 33rpx;
border-radius: 60rpx;
margin-bottom: 35rpx;
height:90rpx;
line-height: 90rpx;
text-align: center;
color: #fff;
background: linear-gradient(-90deg, #e26165 0%, #c10d12 94%, #c10d12 100%);
box-shadow: 1rpx 1rpx 10rpx #c10d12;
}
}
}
.role-select {
padding: 0 30rpx;
margin-bottom: 50rpx;
margin-top: -60rpx;
.role-title {
font-size: 28rpx;
color: #333;
margin-bottom: 16rpx;
text-align: center;
}
.role-options {
display: flex;
justify-content: center;
flex-wrap: wrap;
.role-item {
display: flex;
align-items: center;
margin: 0 20rpx;
margin-bottom: 10rpx;
.radio-box {
width: 36rpx;
height: 36rpx;
border-radius: 50%;
border: 2rpx solid #dcdfe6;
display: flex;
align-items: center;
justify-content: center;
margin-right: 12rpx;
&.active {
border-color: #1479ff;
.radio-inner {
width: 24rpx;
height: 24rpx;
border-radius: 50%;
background-color: #1479ff;
}
}
<view class="role-item"
@click="isRemeber = !isRemeber">
<view class="radio-box" :class="{'active': isRemeber}">
<view class="radio-inner" v-if="isRemeber"></view>
</view>
<text class="role-label">记住当前登录状态</text>
</view>
</view>
</view>
<view class="login-btn">
<view @click="login"></view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
form: {
username: '',
password: '',
role: uni.getStorageSync('login_role') || 'nurse' //
},
roleList: [{
value: 'nurse',
label: '护工'
},
{
value: 'staff',
label: '工作人员'
},
{
value: 'operator',
label: '运营人员'
}
],
site_name: '',
isRemeber: true
};
},
onReady() {},
onShareAppMessage() {
return {
title: '医康养服务', //
path: '/pages/index/index', //
}
},
mounted() {
this.form = this.vuex_saved_username_psd;
},
methods: {
login() {
if (!this.form.username || !this.form.password) {
uni.showToast({
title: '请输入用户名和密码',
icon: 'none'
})
return
}
if (!this.form.role) {
uni.showToast({
title: '请选择登录角色',
icon: 'none'
})
return
}
let that = this
//
let loginApi = null
switch (this.form.role) {
case 'nurse':
loginApi = this.$u.api.login //
break
case 'staff':
loginApi = this.$u.api.staffLogin //
break
case 'operator':
loginApi = this.$u.api.operatorLogin //
break
default:
uni.showToast({
title: '无效的角色选择',
icon: 'none'
})
return
}
loginApi({
username: this.form.username,
password: this.form.password,
}).then(res => {
console.log("res1", res)
if (res.errcode === 40002) {
that.base.toast("账号密码不正确")
return
}
//
uni.setStorageSync('login_role', this.form.role)
const loginRole = uni.getStorageSync('login_role');
if (loginRole === 'staff') {
that.$u.vuex('vuex_token', res.token)
} else if (loginRole === 'operator') {
that.$u.vuex('vuex_token', res.access_token)
} else {
that.$u.vuex('vuex_token', res.token)
}
.role-label {
font-size: 28rpx;
color: #333;
if (this.isRemeber) {
this.$u.vuex("vuex_saved_username_psd", this.form);
} else {
this.$u.vuex("vuex_saved_username_psd", {
username: "",
password: "",
});
}
}
}
}
}
that.base.toast("登录成功", 1500, function() {
uni.login({
provider: 'weixin',
success: (loginRes) => {
const code = loginRes.code;
//
setTimeout(function() {
const loginRole = uni.getStorageSync('login_role');
if (loginRole === 'staff') {
// that.$u.vuex('vuex_token', res.token)
that.$u.api.appletLogin({
code
}).then(silentRes => {
uni.reLaunch({
url: '/pages/index/staffIndex'
});
}).catch(err => {
console.error('静默登录失败', err);
//
});
} else if (loginRole === 'operator') {
// that.$u.vuex('vuex_token', res.access_token)
uni.reLaunch({
url: '/pages/index/operatorIndex'
});
} else {
// that.$u.vuex('vuex_token', res.token)
that.$u.api.nurseAppletLogin({
code
}).then(silentRes => {
uni.switchTab({
url: '/pages/index/index'
});
}).catch(err => {
console.error('静默登录失败', err);
//
});
}
}, 1500)
},
fail: (err) => {
console.error('获取微信code失败', err);
//
}
});
})
}).catch(err => {
console.error("登录失败", err)
that.base.toast("登录失败,请稍后重试")
})
}
}
}
</script>
<style lang="scss" scoped>
.container {
width: 100vw;
height: 100vh;
background-color: #fff;
font-size: 32rpx;
.bkg {
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
}
.login {
position: absolute;
top: 0;
left: 0;
padding-top: 150rpx;
// text-align: center;
width: 100%;
&-title {
font-size: 50rpx;
color: #fff;
text-align: left;
&>view {
width: 50%;
margin: 0 auto;
}
}
&-form {
padding: 400rpx 65rpx 100rpx 65rpx;
margin-bottom: 10rpx;
&>view {
background-color: #f5f5f5;
border-radius: 60rpx;
padding: 10rpx 30rpx;
margin-bottom: 35rpx;
}
}
&-btn {
padding: 0 65rpx;
&>view {
font-size: 33rpx;
border-radius: 60rpx;
margin-bottom: 35rpx;
height: 90rpx;
line-height: 90rpx;
text-align: center;
color: #fff;
background: linear-gradient(-90deg, #e26165 0%, #c10d12 94%, #c10d12 100%);
box-shadow: 1rpx 1rpx 10rpx #c10d12;
}
}
}
.role-select {
padding: 0 30rpx;
margin-bottom: 50rpx;
margin-top: -60rpx;
.role-title {
font-size: 28rpx;
color: #333;
margin-bottom: 16rpx;
text-align: center;
}
.role-options {
display: flex;
// justify-content: center;
flex-wrap: wrap;
.role-item {
display: flex;
align-items: center;
margin: 0 20rpx;
margin-bottom: 10rpx;
.radio-box {
width: 36rpx;
height: 36rpx;
border-radius: 50%;
border: 2rpx solid #dcdfe6;
display: flex;
align-items: center;
justify-content: center;
margin-right: 12rpx;
&.active {
border-color: #1479ff;
.radio-inner {
width: 24rpx;
height: 24rpx;
border-radius: 50%;
background-color: #1479ff;
}
}
}
.role-label {
font-size: 28rpx;
color: #333;
}
}
}
}
}
</style>

@ -12,7 +12,7 @@ try{
}
// 需要永久存储且下次APP启动需要取出的在state中的变量名
let saveStateKeys = ['vuex_user', 'vuex_token','vuex_share'];
let saveStateKeys = ['vuex_user', 'vuex_token','vuex_share','vuex_saved_username_psd'];
// 保存变量到本地存储中
const saveLifeData = function(key, value){
@ -38,7 +38,11 @@ const store = new Vuex.Store({
vuex_version: '1.0.0',
vuex_default_icon: '/package_sub/static/logo-mini.png',
vuex_sign_base64: '',
vuex_saved_username_psd: lifeData.vuex_saved_username_psd || {
username: "",
password: "",
myRole: 1
},
vuex_point_id: '',
},
mutations: {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,2 +1,2 @@
require('../common/vendor.js');(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["package_sub/login/login"],{243:function(e,n,t){"use strict";(function(e,n){var o=t(4);t(26);o(t(25));var r=o(t(244));e.__webpack_require_UNI_MP_PLUGIN__=t,n(r.default)}).call(this,t(1)["default"],t(2)["createPage"])},244:function(e,n,t){"use strict";t.r(n);var o=t(245),r=t(247);for(var a in r)["default"].indexOf(a)<0&&function(e){t.d(n,e,(function(){return r[e]}))}(a);t(249);var i,u=t(35),s=Object(u["default"])(r["default"],o["render"],o["staticRenderFns"],!1,null,"6126915d",null,!1,o["components"],i);s.options.__file="package_sub/login/login.vue",n["default"]=s.exports},245:function(e,n,t){"use strict";t.r(n);var o=t(246);t.d(n,"render",(function(){return o["render"]})),t.d(n,"staticRenderFns",(function(){return o["staticRenderFns"]})),t.d(n,"recyclableRender",(function(){return o["recyclableRender"]})),t.d(n,"components",(function(){return o["components"]}))},246:function(e,n,t){"use strict";var o;t.r(n),t.d(n,"render",(function(){return r})),t.d(n,"staticRenderFns",(function(){return i})),t.d(n,"recyclableRender",(function(){return a})),t.d(n,"components",(function(){return o}));try{o={uInput:function(){return Promise.all([t.e("common/vendor"),t.e("uview-ui/components/u-input/u-input")]).then(t.bind(null,415))}}}catch(u){if(-1===u.message.indexOf("Cannot find module")||-1===u.message.indexOf(".vue"))throw u;console.error(u.message),console.error("1. 排查组件名称拼写是否正确"),console.error("2. 排查组件是否符合 easycom 规范文档https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"),console.error("3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件")}var r=function(){var e=this,n=e.$createElement;e._self._c;e._isMounted||(e.e0=function(n,t){var o=arguments[arguments.length-1].currentTarget.dataset,r=o.eventParams||o["event-params"];t=r.item;e.form.role=t.value})},a=!1,i=[];r._withStripped=!0},247:function(e,n,t){"use strict";t.r(n);var o=t(248),r=t.n(o);for(var a in o)["default"].indexOf(a)<0&&function(e){t.d(n,e,(function(){return o[e]}))}(a);n["default"]=r.a},248:function(e,n,t){"use strict";(function(e){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t={data:function(){return{form:{username:"",password:"",role:e.getStorageSync("login_role")||"nurse"},roleList:[{value:"nurse",label:"护工"},{value:"staff",label:"工作人员"},{value:"operator",label:"运营人员"}],site_name:""}},onReady:function(){},onShareAppMessage:function(){return{title:"医康养服务",path:"/pages/index/index"}},methods:{login:function(){var n=this;if(this.form.username&&this.form.password)if(this.form.role){var t=this,o=null;switch(this.form.role){case"nurse":o=this.$u.api.login;break;case"staff":o=this.$u.api.staffLogin;break;case"operator":o=this.$u.api.operatorLogin;break;default:return void e.showToast({title:"无效的角色选择",icon:"none"})}o({username:this.form.username,password:this.form.password}).then((function(o){if(console.log("res1",o),40002!==o.errcode){e.setStorageSync("login_role",n.form.role);var r=e.getStorageSync("login_role");"staff"===r?t.$u.vuex("vuex_token",o.token):"operator"===r?t.$u.vuex("vuex_token",o.access_token):t.$u.vuex("vuex_token",o.token),t.base.toast("登录成功",1500,(function(){e.login({provider:"weixin",success:function(n){var o=n.code;setTimeout((function(){var n=e.getStorageSync("login_role");"staff"===n?t.$u.api.appletLogin({code:o}).then((function(n){e.reLaunch({url:"/pages/index/staffIndex"})})).catch((function(e){console.error("静默登录失败",e)})):"operator"===n?e.reLaunch({url:"/pages/index/operatorIndex"}):t.$u.api.nurseAppletLogin({code:o}).then((function(n){e.switchTab({url:"/pages/index/index"})})).catch((function(e){console.error("静默登录失败",e)}))}),1500)},fail:function(e){console.error("获取微信code失败",e)}})}))}else t.base.toast("账号密码不正确")})).catch((function(e){console.error("登录失败",e),t.base.toast("登录失败,请稍后重试")}))}else e.showToast({title:"请选择登录角色",icon:"none"});else e.showToast({title:"请输入用户名和密码",icon:"none"})}}};n.default=t}).call(this,t(2)["default"])},249:function(e,n,t){"use strict";t.r(n);var o=t(250),r=t.n(o);for(var a in o)["default"].indexOf(a)<0&&function(e){t.d(n,e,(function(){return o[e]}))}(a);n["default"]=r.a},250:function(e,n,t){}},[[243,"common/runtime","common/vendor"]]]);
require('../common/vendor.js');(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["package_sub/login/login"],{243:function(e,n,t){"use strict";(function(e,n){var o=t(4);t(26);o(t(25));var r=o(t(244));e.__webpack_require_UNI_MP_PLUGIN__=t,n(r.default)}).call(this,t(1)["default"],t(2)["createPage"])},244:function(e,n,t){"use strict";t.r(n);var o=t(245),r=t(247);for(var a in r)["default"].indexOf(a)<0&&function(e){t.d(n,e,(function(){return r[e]}))}(a);t(249);var s,u=t(35),i=Object(u["default"])(r["default"],o["render"],o["staticRenderFns"],!1,null,"6126915d",null,!1,o["components"],s);i.options.__file="package_sub/login/login.vue",n["default"]=i.exports},245:function(e,n,t){"use strict";t.r(n);var o=t(246);t.d(n,"render",(function(){return o["render"]})),t.d(n,"staticRenderFns",(function(){return o["staticRenderFns"]})),t.d(n,"recyclableRender",(function(){return o["recyclableRender"]})),t.d(n,"components",(function(){return o["components"]}))},246:function(e,n,t){"use strict";var o;t.r(n),t.d(n,"render",(function(){return r})),t.d(n,"staticRenderFns",(function(){return s})),t.d(n,"recyclableRender",(function(){return a})),t.d(n,"components",(function(){return o}));try{o={uInput:function(){return Promise.all([t.e("common/vendor"),t.e("uview-ui/components/u-input/u-input")]).then(t.bind(null,415))}}}catch(u){if(-1===u.message.indexOf("Cannot find module")||-1===u.message.indexOf(".vue"))throw u;console.error(u.message),console.error("1. 排查组件名称拼写是否正确"),console.error("2. 排查组件是否符合 easycom 规范文档https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"),console.error("3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件")}var r=function(){var e=this,n=e.$createElement;e._self._c;e._isMounted||(e.e0=function(n,t){var o=arguments[arguments.length-1].currentTarget.dataset,r=o.eventParams||o["event-params"];t=r.item;e.form.role=t.value},e.e1=function(n){e.isRemeber=!e.isRemeber})},a=!1,s=[];r._withStripped=!0},247:function(e,n,t){"use strict";t.r(n);var o=t(248),r=t.n(o);for(var a in o)["default"].indexOf(a)<0&&function(e){t.d(n,e,(function(){return o[e]}))}(a);n["default"]=r.a},248:function(e,n,t){"use strict";(function(e){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t={data:function(){return{form:{username:"",password:"",role:e.getStorageSync("login_role")||"nurse"},roleList:[{value:"nurse",label:"护工"},{value:"staff",label:"工作人员"},{value:"operator",label:"运营人员"}],site_name:"",isRemeber:!0}},onReady:function(){},onShareAppMessage:function(){return{title:"医康养服务",path:"/pages/index/index"}},mounted:function(){this.form=this.vuex_saved_username_psd},methods:{login:function(){var n=this;if(this.form.username&&this.form.password)if(this.form.role){var t=this,o=null;switch(this.form.role){case"nurse":o=this.$u.api.login;break;case"staff":o=this.$u.api.staffLogin;break;case"operator":o=this.$u.api.operatorLogin;break;default:return void e.showToast({title:"无效的角色选择",icon:"none"})}o({username:this.form.username,password:this.form.password}).then((function(o){if(console.log("res1",o),40002!==o.errcode){e.setStorageSync("login_role",n.form.role);var r=e.getStorageSync("login_role");"staff"===r?t.$u.vuex("vuex_token",o.token):"operator"===r?t.$u.vuex("vuex_token",o.access_token):t.$u.vuex("vuex_token",o.token),n.isRemeber?n.$u.vuex("vuex_saved_username_psd",n.form):n.$u.vuex("vuex_saved_username_psd",{username:"",password:""}),t.base.toast("登录成功",1500,(function(){e.login({provider:"weixin",success:function(n){var o=n.code;setTimeout((function(){var n=e.getStorageSync("login_role");"staff"===n?t.$u.api.appletLogin({code:o}).then((function(n){e.reLaunch({url:"/pages/index/staffIndex"})})).catch((function(e){console.error("静默登录失败",e)})):"operator"===n?e.reLaunch({url:"/pages/index/operatorIndex"}):t.$u.api.nurseAppletLogin({code:o}).then((function(n){e.switchTab({url:"/pages/index/index"})})).catch((function(e){console.error("静默登录失败",e)}))}),1500)},fail:function(e){console.error("获取微信code失败",e)}})}))}else t.base.toast("账号密码不正确")})).catch((function(e){console.error("登录失败",e),t.base.toast("登录失败,请稍后重试")}))}else e.showToast({title:"请选择登录角色",icon:"none"});else e.showToast({title:"请输入用户名和密码",icon:"none"})}}};n.default=t}).call(this,t(2)["default"])},249:function(e,n,t){"use strict";t.r(n);var o=t(250),r=t.n(o);for(var a in o)["default"].indexOf(a)<0&&function(e){t.d(n,e,(function(){return o[e]}))}(a);n["default"]=r.a},250:function(e,n,t){}},[[243,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/package_sub/login/login.js.map

@ -1 +1 @@
<view class="container data-v-6126915d"><image class="bkg data-v-6126915d" mode="aspectFill" src="../static/login-bg.png"></image><view class="login data-v-6126915d"><view class="login-title data-v-6126915d"><view class="data-v-6126915d">Hello</view><view class="data-v-6126915d">欢迎登录护工端</view></view><view class="login-form data-v-6126915d"><view class="data-v-6126915d"><u-input bind:input="__e" vue-id="78a7c96e-1" border-color="#f5f5f5" placeholder="请输入用户名" value="{{form.username}}" data-event-opts="{{[['^input',[['__set_model',['$0','username','$event',[]],['form']]]]]}}" class="data-v-6126915d" bind:__l="__l"></u-input></view><view class="data-v-6126915d"><u-input bind:input="__e" vue-id="78a7c96e-2" border-color="#f5f5f5" type="password" placeholder="请输入密码" value="{{form.password}}" data-event-opts="{{[['^input',[['__set_model',['$0','password','$event',[]],['form']]]]]}}" class="data-v-6126915d" bind:__l="__l"></u-input></view></view><view class="role-select data-v-6126915d"><view class="role-title data-v-6126915d">请选择登录角色:</view><view class="role-options data-v-6126915d"><block wx:for="{{roleList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" data-event-params="{{({item})}}" class="role-item data-v-6126915d" bindtap="__e"><view class="{{['radio-box','data-v-6126915d',(form.role===item.value)?'active':'']}}"><block wx:if="{{form.role===item.value}}"><view class="radio-inner data-v-6126915d"></view></block></view><text class="role-label data-v-6126915d">{{item.label}}</text></view></block></view></view><view class="login-btn data-v-6126915d"><view data-event-opts="{{[['tap',[['login',['$event']]]]]}}" bindtap="__e" class="data-v-6126915d">立即登录</view></view></view></view>
<view class="container data-v-6126915d"><image class="bkg data-v-6126915d" mode="aspectFill" src="../static/login-bg.png"></image><view class="login data-v-6126915d"><view class="login-title data-v-6126915d"><view class="data-v-6126915d">Hello</view><view class="data-v-6126915d">欢迎登录护工端</view></view><view class="login-form data-v-6126915d"><view class="data-v-6126915d"><u-input bind:input="__e" vue-id="78a7c96e-1" border-color="#f5f5f5" placeholder="请输入用户名" value="{{form.username}}" data-event-opts="{{[['^input',[['__set_model',['$0','username','$event',[]],['form']]]]]}}" class="data-v-6126915d" bind:__l="__l"></u-input></view><view class="data-v-6126915d"><u-input bind:input="__e" vue-id="78a7c96e-2" border-color="#f5f5f5" type="password" placeholder="请输入密码" value="{{form.password}}" data-event-opts="{{[['^input',[['__set_model',['$0','password','$event',[]],['form']]]]]}}" class="data-v-6126915d" bind:__l="__l"></u-input></view></view><view class="role-select data-v-6126915d"><view class="role-title data-v-6126915d">请选择登录角色:</view><view class="role-options data-v-6126915d"><block wx:for="{{roleList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" data-event-params="{{({item})}}" class="role-item data-v-6126915d" bindtap="__e"><view class="{{['radio-box','data-v-6126915d',(form.role===item.value)?'active':'']}}"><block wx:if="{{form.role===item.value}}"><view class="radio-inner data-v-6126915d"></view></block></view><text class="role-label data-v-6126915d">{{item.label}}</text></view></block><view data-event-opts="{{[['tap',[['e1',['$event']]]]]}}" class="role-item data-v-6126915d" bindtap="__e"><view class="{{['radio-box','data-v-6126915d',(isRemeber)?'active':'']}}"><block wx:if="{{isRemeber}}"><view class="radio-inner data-v-6126915d"></view></block></view><text class="role-label data-v-6126915d">记住当前登录状态</text></view></view></view><view class="login-btn data-v-6126915d"><view data-event-opts="{{[['tap',[['login',['$event']]]]]}}" bindtap="__e" class="data-v-6126915d">立即登录</view></view></view></view>

@ -79,7 +79,6 @@
}
.container .role-select .role-options.data-v-6126915d {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.container .role-select .role-options .role-item.data-v-6126915d {

Loading…
Cancel
Save