| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <template>
- <app-statusbar class="login">
- <app-navback class="login-navback" />
- <div class="login-logo"></div>
- <Form class="login-form" @submit="formSubmit">
- <CellGroup>
- <Field v-model="user.LoginID" name="account" label="用户名" size="large" placeholder="请输入用户名"
- :rules="[{ required: true, message: '请输入用户名' }]" />
- <Field v-model="user.LoginPWD" name="password" type="password" label="密码" size="large" placeholder="请输入密码"
- :rules="[{ required: true, message: '请输入密码' }]" autocomplete="off" />
- </CellGroup>
- <div class="button-link">
- <span @click="navigationTo('UserRegister')">用户注册</span>
- <span @click="navigationTo('UserForget')">忘记密码</span>
- </div>
- <div class="button-submit">
- <Button type="primary" native-type="submit" round block>登录</Button>
- </div>
- </Form>
- <div class="login-footer">
- <div class="login-footer__trem">
- <Checkbox shape="square" icon-size=".32rem" v-model="checked">我已阅读并同意</Checkbox>
- <span @click="routerTo('rules-zcxy')" style="color:#E92020">《用户注册协议》</span>
- <span>、</span>
- <span @click="routerTo('rules-yhkhfxgzs')" style="color:#E92020">《用户开户风险告知书》</span>
- <span>、</span>
- <span @click="routerTo('rules-yszc')" style="color:#E92020">《隐私政策》</span>
- </div>
- <div class="login-footer__version" v-if="appVersion">
- <span>v{{ appVersion }}</span>
- </div>
- </div>
- </app-statusbar>
- </template>
- <script lang="ts" setup>
- import { shallowRef } from 'vue'
- import { Button, Field, CellGroup, Form, Checkbox, showFailToast, showSuccessToast, showToast } from 'vant'
- import { fullloading } from '@/utils/vant'
- import { useAuth } from '@/business/auth'
- import { useNavigation } from '@/hooks/navigation'
- import service from '@/services'
- import plus from '@/utils/h5plus'
- const { routerBack, routerTo } = useNavigation()
- const { user, login } = useAuth()
- const checked = shallowRef(false) // 是否同意协议管理
- const appVersion = shallowRef('') // 应用版本号
- // 导航跳转
- const navigationTo = (name: string) => {
- fullloading((hideLoading) => {
- service.onReady().then(() => {
- hideLoading()
- routerTo(name)
- }).catch(() => {
- showFailToast('初始化失败')
- })
- }, '加载中...')
- }
- const formSubmit = () => {
- if (checked.value) {
- fullloading((hideLoading) => {
- login().then(() => {
- hideLoading()
- routerBack()
- showSuccessToast('登录成功')
- }).catch((err) => {
- showFailToast(err)
- })
- }, '登录中...')
- } else {
- showToast('请先同意使用条款')
- }
- }
- // 获取当前应用版本号
- plus.getVersion((version) => {
- appVersion.value = version
- })
- </script>
- <style lang="less">
- @import './index.less';
- </style>
|