Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.1 KiB |
@ -1,150 +0,0 @@ |
|||
<template> |
|||
<view class="u-page"> |
|||
<uni-section title="使用uni-ui表单" type="line"> |
|||
<uni-card :is-shadow="false" :isFull="true"> |
|||
<text> |
|||
使用uni-ui的组件创建表单,提交时使用的request.api.js中的网络请求方式,在VUEX里发起登录请求并将结果保存到本地。先调用VUEX,在VUEX中发送网络请求。 |
|||
</text> |
|||
</uni-card> |
|||
<uni-card title="uni-ui的表单" :thumbnail="avatar" sub-title="输入框为uni-easyinput" extra="使用uni-forms" note="Tips"> |
|||
<uni-forms ref="form" :modelValue="formData" :rules="rules"> |
|||
<uni-forms-item label="账号:" name="userName"> |
|||
<uni-easyinput prefixIcon="person" type="text" v-model="formData.userName" placeholder="请输入账号" /> |
|||
</uni-forms-item> |
|||
<uni-forms-item label="密码:" name="password"> |
|||
<uni-easyinput prefixIcon="locked" type="password" v-model="formData.password" placeholder="请输入密码" /> |
|||
</uni-forms-item> |
|||
</uni-forms> |
|||
<button @click="dologin">登录</button> |
|||
</uni-card> |
|||
</uni-section> |
|||
<uni-section title="使用uView表单" type="line"> |
|||
<uni-card :is-shadow="false" :isFull="true"> |
|||
<text> |
|||
使用uView的组件创建表单,提交时使用uview封装的网络请求,请求成功后再将返回的数据通过VUEX保存到本地。先发起网络请求,请求返回后再调用VUEX保存状态。 |
|||
</text> |
|||
</uni-card> |
|||
<uni-card title="uView表单" :thumbnail="vavatar" sub-title="输入框为u--input" extra="使用u--form" note="Tips"> |
|||
<u--form ref="vform" :model="formData" :rules="vrules" labelPosition="left"> |
|||
<u-form-item label="账号:" prop="userName"> |
|||
<u--input prefixIcon="account" v-model="formData.userName" type="text" placeholder="请输入账号" /> |
|||
</u-form-item> |
|||
<u-form-item label="密码:" prop="password"> |
|||
<u--input prefixIcon="lock" v-model="formData.password" type="password" placeholder="请输入密码" /> |
|||
</u-form-item> |
|||
</u--form> |
|||
<button @click="vdologin">登录</button> |
|||
</uni-card> |
|||
</uni-section> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/common/req.js' |
|||
export default { |
|||
data() { |
|||
return { |
|||
avatar: '/static/uniui.png', |
|||
vavatar: '/static/uview/common/logo.png', |
|||
// 表单数据 |
|||
formData: { |
|||
userName: '', |
|||
password: '' |
|||
}, |
|||
rules: { |
|||
// 对name字段进行必填验证 |
|||
name: { |
|||
rules: [ |
|||
{ |
|||
required: true, |
|||
errorMessage: '账号不可以为空' |
|||
} |
|||
] |
|||
}, |
|||
// 对passwd字段进行必填验证 |
|||
passwd: { |
|||
rules: [ |
|||
{ |
|||
required: true, |
|||
errorMessage: '密码不可以为空' |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
vrules: { |
|||
// 对name字段进行必填验证 |
|||
name: { |
|||
type: 'string', |
|||
required: true, |
|||
message: '账号不可以为空', |
|||
trigger: ['blur', 'change'] |
|||
}, |
|||
// 对passwd字段进行必填验证 |
|||
passwd: { |
|||
type: 'string', |
|||
required: true, |
|||
message: '密码不可以为空', |
|||
trigger: ['blur', 'change'] |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
dologin() { |
|||
let _this = this |
|||
this.$refs.form |
|||
.validate() |
|||
.then(r => { |
|||
_this.$store |
|||
.dispatch('login', _this.formData) |
|||
.then(uinfo => { |
|||
console.log('MMMM:', uinfo) |
|||
getApp().globalData.username = uinfo.name |
|||
getApp().globalData.token = uinfo.token |
|||
console.log('gd--:', getApp().globalData) |
|||
uni.redirectTo({ url: '/pages/index/index' }) |
|||
}) |
|||
.catch(er => { |
|||
console.log('EEEE:', er) |
|||
}) |
|||
}) |
|||
.catch(err => { |
|||
console.log('eeee:', err) |
|||
}) |
|||
}, |
|||
vdologin() { |
|||
let _this = this |
|||
this.$refs.vform |
|||
.validate() |
|||
.then(r => { |
|||
uni.showLoading() |
|||
// uni.showLoading({ |
|||
// mask: true, |
|||
// title: '请求中~~~' |
|||
// }) |
|||
req |
|||
.login(_this.formData) |
|||
.then(uinfo => { |
|||
uni.hideLoading() |
|||
console.log('vMMMM:', uinfo) |
|||
_this.$store.dispatch('logined', uinfo).then(() => { |
|||
getApp().globalData.username = uinfo.name |
|||
getApp().globalData.token = uinfo.token |
|||
console.log('vgd--:', getApp().globalData) |
|||
uni.redirectTo({ url: '/pages/index/index' }) |
|||
}) |
|||
}) |
|||
.catch(er => { |
|||
uni.hideLoading() |
|||
console.log('vEEEE:', er) |
|||
}) |
|||
}) |
|||
.catch(err => { |
|||
console.log('veeee:', err) |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style></style> |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.1 KiB |