mirror of
https://gitee.com/xiangheng/x_admin.git
synced 2025-10-06 08:37:12 +08:00
修复部分验证码问题
This commit is contained in:
@@ -2,19 +2,17 @@
|
||||
"version" : "1.0",
|
||||
"configurations" : [
|
||||
{
|
||||
"playground" : "custom",
|
||||
"playground" : "standard",
|
||||
"type" : "uni-app:app-android"
|
||||
},
|
||||
{
|
||||
"app-plus" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"mp-weixin" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"type" : "uniCloud"
|
||||
}
|
||||
{
|
||||
"app-plus" : {
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"mp-weixin" : {
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"type" : "uniCloud"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
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
573
x_admin_app/components/verify/verifyPoint/verifyPoint.vue
Normal file
573
x_admin_app/components/verify/verifyPoint/verifyPoint.vue
Normal file
File diff suppressed because one or more lines are too long
684
x_admin_app/components/verify/verifySlider/verifySlider.vue
Normal file
684
x_admin_app/components/verify/verifySlider/verifySlider.vue
Normal file
File diff suppressed because one or more lines are too long
@@ -33,33 +33,12 @@
|
||||
let text = ["Fota", "轻松管理"];
|
||||
|
||||
|
||||
let baseList = [
|
||||
// {
|
||||
// icon: "/static/index/product.png",
|
||||
// path: "/pages/product/product",
|
||||
// title: "产品",
|
||||
// },
|
||||
// {
|
||||
// icon: "/static/index/group.png",
|
||||
// path: "/pages/group/group",
|
||||
// title: "分组",
|
||||
// },
|
||||
// {
|
||||
// icon: "/static/index/version.png",
|
||||
// path: "/pages/version/version",
|
||||
// title: "版本",
|
||||
// },
|
||||
{
|
||||
let baseList = [{
|
||||
icon: "/static/index/equipment.png",
|
||||
path: "/pages/monitor_project/index",
|
||||
title: "项目监控",
|
||||
},
|
||||
|
||||
{
|
||||
icon: "/static/index/equipment.png",
|
||||
path: "/pages/equipment/equipment",
|
||||
title: "设备管理",
|
||||
},
|
||||
|
||||
{
|
||||
icon: "scan",
|
||||
@@ -83,26 +62,8 @@
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
icon: "/static/index/equipmentLog.png",
|
||||
path: "/pages/statistics/statistics",
|
||||
title: "销量统计",
|
||||
},
|
||||
// {
|
||||
// icon: "/static/index/sysUp.png",
|
||||
// path: "/pages/log/sysUp/sysUp",
|
||||
// title: "上行日志",
|
||||
// },
|
||||
// {
|
||||
// icon: "/static/index/sysDown.png",
|
||||
// path: "/pages/log/sysDown/sysDown",
|
||||
// title: "下行日志",
|
||||
// },
|
||||
// {
|
||||
// icon: "/static/index/log.png",
|
||||
// path: "/pages/log/sysLog/sysLog",
|
||||
// title: "系统日志",
|
||||
// },
|
||||
|
||||
|
||||
];
|
||||
|
||||
function toList(item) {
|
||||
|
@@ -1,176 +1,138 @@
|
||||
<template>
|
||||
<view>
|
||||
<uv-form
|
||||
class="form"
|
||||
ref="form"
|
||||
labelWidth="60"
|
||||
labelAlign="right"
|
||||
:model="model"
|
||||
:rules="rules"
|
||||
>
|
||||
<uv-form-item class="hide">
|
||||
<uv-input
|
||||
class="hide"
|
||||
v-model="model.username"
|
||||
placeholder="请输入账号"
|
||||
:rules="[{ required: true, message: '请填写账号' }]"
|
||||
/>
|
||||
</uv-form-item>
|
||||
<uv-form-item class="hide">
|
||||
<uv-input
|
||||
type="password"
|
||||
v-model="model.password"
|
||||
placeholder="请输入密码"
|
||||
:rules="[{ required: true, message: '请填写密码' }]"
|
||||
/>
|
||||
</uv-form-item>
|
||||
<uv-form-item label="账号" name="username" prop="username">
|
||||
<uv-input
|
||||
v-model="model.username"
|
||||
placeholder="请输入账号"
|
||||
:rules="[{ required: true, message: '请填写账号' }]"
|
||||
/>
|
||||
</uv-form-item>
|
||||
<uv-form-item label="密码" name="password" prop="password">
|
||||
<uv-input
|
||||
type="password"
|
||||
v-model="model.password"
|
||||
placeholder="请输入密码"
|
||||
:rules="[{ required: true, message: '请填写密码' }]"
|
||||
/>
|
||||
</uv-form-item>
|
||||
<view>
|
||||
<uv-form class="form" ref="form" labelWidth="60" labelAlign="right" :model="model" :rules="rules">
|
||||
<uv-form-item class="hide">
|
||||
<uv-input class="hide" v-model="model.username" placeholder="请输入账号"
|
||||
:rules="[{ required: true, message: '请填写账号' }]" />
|
||||
</uv-form-item>
|
||||
<uv-form-item class="hide">
|
||||
<uv-input type="password" v-model="model.password" placeholder="请输入密码"
|
||||
:rules="[{ required: true, message: '请填写密码' }]" />
|
||||
</uv-form-item>
|
||||
<uv-form-item label="账号" name="username" prop="username">
|
||||
<uv-input v-model="model.username" placeholder="请输入账号"
|
||||
:rules="[{ required: true, message: '请填写账号' }]" />
|
||||
</uv-form-item>
|
||||
<uv-form-item label="密码" name="password" prop="password">
|
||||
<uv-input type="password" v-model="model.password" placeholder="请输入密码"
|
||||
:rules="[{ required: true, message: '请填写密码' }]" />
|
||||
</uv-form-item>
|
||||
|
||||
<Verify
|
||||
@success="VerifySuccess"
|
||||
:mode="'pop'"
|
||||
:captchaType="'blockPuzzle'"
|
||||
ref="verifyRef"
|
||||
:imgSize="{ width: '310px', height: '155px' }"
|
||||
></Verify>
|
||||
<Verify :mode="'pop'" :captchaType="'blockPuzzle'" ref="verifyRef"
|
||||
:imgSize="{ width: '310px', height: '155px' }" @success="VerifySuccess"></Verify>
|
||||
|
||||
<view class="footer">
|
||||
<!-- -->
|
||||
|
||||
<view class="footer">
|
||||
<!-- -->
|
||||
|
||||
<wd-button class="btn" size="large" @click="VerifyShow" block
|
||||
>VerifyShow</wd-button
|
||||
>
|
||||
|
||||
<wd-button class="btn" size="large" @click="handleSubmit" block
|
||||
>登录</wd-button
|
||||
>
|
||||
</view>
|
||||
</uv-form>
|
||||
</view>
|
||||
<wd-button class="btn" size="large" @click="VerifyShow" block>登录</wd-button>
|
||||
</view>
|
||||
</uv-form>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, reactive } from "vue";
|
||||
import { v1 as uuid_v1 } from "uuid";
|
||||
import { ref, reactive } from "vue";
|
||||
|
||||
import Verify from "@/components/verifition/verify";
|
||||
import Verify from "@/components/verify/verify.vue";
|
||||
|
||||
import { login } from "@/api/user.js";
|
||||
import { setLocalStorage } from "@/utils/storage.js";
|
||||
import { toast } from "@/utils/utils.js";
|
||||
// import appicon from "@/static/appicon.png";
|
||||
import { login } from "@/api/user.js";
|
||||
import { setLocalStorage } from "@/utils/storage.js";
|
||||
import { alert } from "@/utils/utils.js";
|
||||
// import appicon from "@/static/appicon.png";
|
||||
|
||||
import { useUserStore } from "@/stores/user";
|
||||
import { useUserStore } from "@/stores/user";
|
||||
|
||||
const userStore = useUserStore();
|
||||
const userStore = useUserStore();
|
||||
|
||||
const model = reactive({
|
||||
username: "",
|
||||
password: "",
|
||||
});
|
||||
const rules = {
|
||||
username: [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写账号",
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
password: [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写密码",
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
};
|
||||
const form = ref();
|
||||
const verifyRef = ref();
|
||||
function VerifyShow(e) {
|
||||
verifyRef.value.show();
|
||||
}
|
||||
function VerifySuccess(e) {
|
||||
console.log("VerifySuccess", e);
|
||||
|
||||
const model = reactive({
|
||||
username: "",
|
||||
password: "",
|
||||
});
|
||||
const rules = {
|
||||
username: [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写账号",
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
password: [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写密码",
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
handleSubmit(e);
|
||||
}
|
||||
function handleSubmit(verify) {
|
||||
form.value
|
||||
.validate()
|
||||
.then((res) => {
|
||||
let data = {
|
||||
username: model.username,
|
||||
password: model.password,
|
||||
|
||||
};
|
||||
const form = ref();
|
||||
const verifyRef=ref()
|
||||
function VerifyShow(e) {
|
||||
verifyRef.value.show()
|
||||
}
|
||||
function VerifySuccess(e) {
|
||||
console.log('VerifySuccess',e);
|
||||
...verify,
|
||||
};
|
||||
|
||||
handleSubmit(e)
|
||||
}
|
||||
function handleSubmit(verify) {
|
||||
form.value
|
||||
.validate()
|
||||
.then((res) => {
|
||||
let data = {
|
||||
username: model.username,
|
||||
password: model.password,
|
||||
// userStore.getUser();
|
||||
|
||||
...verify
|
||||
};
|
||||
login(data)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
setLocalStorage("token", res.data.token);
|
||||
|
||||
// userStore.getUser();
|
||||
|
||||
login(data)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
setLocalStorage("token", res.data.token);
|
||||
|
||||
userStore.getInfo().then((res) => {
|
||||
uni.switchTab({
|
||||
url: "/pages/index/index",
|
||||
});
|
||||
});
|
||||
} else {
|
||||
|
||||
toast(res.message);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
toast(err.message);
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
toast(err.message);
|
||||
});
|
||||
}
|
||||
userStore.getInfo().then((res) => {
|
||||
uni.switchTab({
|
||||
url: "/pages/index/index",
|
||||
});
|
||||
});
|
||||
} else {
|
||||
alert(res.message);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
alert(err.message);
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
alert(err.message);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.hide {
|
||||
height: 0 !important;
|
||||
padding: 0 !important;
|
||||
.hide {
|
||||
height: 0 !important;
|
||||
padding: 0 !important;
|
||||
|
||||
border: 0 !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
border: 0 !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.form {
|
||||
margin: 200rpx 20rpx;
|
||||
.form {
|
||||
margin: 200rpx 20rpx;
|
||||
|
||||
.captchaImage {
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
.captchaImage {
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
|
||||
.footer {
|
||||
padding: 60rpx 20rpx 200rpx;
|
||||
.footer {
|
||||
padding: 60rpx 20rpx 200rpx;
|
||||
|
||||
.btn {
|
||||
background-color: #00b294;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
background-color: #00b294;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user