平台管理模块接口调试完成
This commit is contained in:
parent
6b7a9803f4
commit
f5fe721ec3
|
|
@ -1,60 +1,50 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 登录方法
|
||||
export function login(username, password, code, uuid) {
|
||||
const data = {
|
||||
username,
|
||||
password,
|
||||
code,
|
||||
uuid
|
||||
}
|
||||
return request({
|
||||
url: '/login',
|
||||
headers: {
|
||||
isToken: false,
|
||||
repeatSubmit: false
|
||||
},
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
export function loginAPI(data) {
|
||||
return request({
|
||||
url: '/system/login',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 注册方法
|
||||
export function register(data) {
|
||||
return request({
|
||||
url: '/register',
|
||||
headers: {
|
||||
isToken: false
|
||||
},
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
return request({
|
||||
url: '/register',
|
||||
headers: {
|
||||
isToken: false,
|
||||
},
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 获取用户详细信息
|
||||
export function getInfo() {
|
||||
return request({
|
||||
url: '/getInfo',
|
||||
method: 'get'
|
||||
})
|
||||
return request({
|
||||
url: '/getInfo',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 退出方法
|
||||
export function logout() {
|
||||
return request({
|
||||
url: '/logout',
|
||||
method: 'post'
|
||||
})
|
||||
return request({
|
||||
url: '/logout',
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
|
||||
// 获取验证码
|
||||
export function getCodeImg() {
|
||||
return request({
|
||||
url: '/captchaImage',
|
||||
headers: {
|
||||
isToken: false
|
||||
},
|
||||
method: 'get',
|
||||
timeout: 20000
|
||||
})
|
||||
}
|
||||
return request({
|
||||
url: '/captchaImage',
|
||||
headers: {
|
||||
isToken: false,
|
||||
},
|
||||
method: 'get',
|
||||
timeout: 20000,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 获取平台管理列表数据
|
||||
export function getPlatformListAPI() {
|
||||
return request({
|
||||
url: '/platform/list',
|
||||
method: 'POST',
|
||||
data: {},
|
||||
})
|
||||
}
|
||||
|
||||
// 新增平台
|
||||
export function addPlatformAPI(data) {
|
||||
return request({
|
||||
url: '/platform/addPlantForm',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑平台
|
||||
export function editPlatformAPI(data) {
|
||||
return request({
|
||||
url: '/platform/updatePlantForm',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 删除平台
|
||||
export function delPlatformAPI(data) {
|
||||
return request({
|
||||
url: '/platform/delete',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
|
@ -38,6 +38,7 @@ import SizeSelect from '@/components/SizeSelect'
|
|||
import Search from '@/components/HeaderSearch'
|
||||
import RuoYiGit from '@/components/RuoYi/Git'
|
||||
import RuoYiDoc from '@/components/RuoYi/Doc'
|
||||
import { removeToken } from '@/utils/auth'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
|
@ -80,9 +81,11 @@ export default {
|
|||
type: 'warning',
|
||||
})
|
||||
.then(() => {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.href = '/login'
|
||||
})
|
||||
// this.$store.dispatch('LogOut').then(() => {
|
||||
// location.href = '/login'
|
||||
// })
|
||||
removeToken()
|
||||
location.href = '/login'
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">记住密码</el-checkbox>
|
||||
<el-checkbox v-model="rememberMe" style="margin: 0px 0px 25px 0px">记住密码</el-checkbox>
|
||||
<el-form-item style="width: 100%">
|
||||
<el-button
|
||||
:loading="loading"
|
||||
|
|
@ -37,6 +37,8 @@
|
|||
|
||||
<script>
|
||||
import Cookies from 'js-cookie'
|
||||
import { loginAPI } from '@/api/login'
|
||||
import { setToken } from '@/utils/auth'
|
||||
import { encrypt, decrypt } from '@/utils/jsencrypt'
|
||||
|
||||
export default {
|
||||
|
|
@ -44,10 +46,10 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
title: process.env.VUE_APP_TITLE,
|
||||
rememberMe: false,
|
||||
loginForm: {
|
||||
username: 'admin',
|
||||
password: '000000',
|
||||
rememberMe: false,
|
||||
},
|
||||
loginRules: {
|
||||
username: [{ required: true, trigger: 'blur', message: '请输入您的账号' }],
|
||||
|
|
@ -76,31 +78,31 @@ export default {
|
|||
this.loginForm = {
|
||||
username: username === undefined ? this.loginForm.username : username,
|
||||
password: password === undefined ? this.loginForm.password : decrypt(password),
|
||||
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
|
||||
}
|
||||
|
||||
this.rememberMe = rememberMe === undefined ? false : Boolean(rememberMe)
|
||||
},
|
||||
handleLogin() {
|
||||
this.$router.push({ path: this.redirect || '/platform' }).catch(() => {})
|
||||
// this.$refs.loginForm.validate((valid) => {
|
||||
// if (valid) {
|
||||
// this.loading = true
|
||||
// if (this.loginForm.rememberMe) {
|
||||
// Cookies.set('username', this.loginForm.username, { expires: 30 })
|
||||
// Cookies.set('password', encrypt(this.loginForm.password), { expires: 30 })
|
||||
// Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 })
|
||||
// } else {
|
||||
// Cookies.remove('username')
|
||||
// Cookies.remove('password')
|
||||
// Cookies.remove('rememberMe')
|
||||
// }
|
||||
// // 设置token并跳转
|
||||
// Cookies.set('Admin-Token', 'mock-token-' + Date.now())
|
||||
// setTimeout(() => {
|
||||
// this.loading = false
|
||||
// this.$router.push({ path: this.redirect || '/platform' }).catch(() => {})
|
||||
// }, 1000)
|
||||
// }
|
||||
// })
|
||||
this.$refs.loginForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.loading = true
|
||||
if (this.rememberMe) {
|
||||
Cookies.set('username', this.loginForm.username, { expires: 30 })
|
||||
Cookies.set('password', encrypt(this.loginForm.password), { expires: 30 })
|
||||
Cookies.set('rememberMe', this.rememberMe, { expires: 30 })
|
||||
} else {
|
||||
Cookies.remove('username')
|
||||
Cookies.remove('password')
|
||||
Cookies.remove('rememberMe')
|
||||
}
|
||||
// 设置token并跳转
|
||||
const res = await loginAPI(this.loginForm)
|
||||
setToken(res?.data)
|
||||
if (res.code === 200) {
|
||||
this.$router.push({ path: this.redirect || '/platform' }).catch(() => {})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="平台网址" prop="address">
|
||||
<el-input v-model="platformForm.address" />
|
||||
<el-form-item label="平台网址" prop="url">
|
||||
<el-input v-model="platformForm.url" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
</h3>
|
||||
|
||||
<el-form
|
||||
:key="item.id"
|
||||
:key="item.sid"
|
||||
:model="item"
|
||||
label-width="120px"
|
||||
class="account-form"
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="登录账号" prop="loginAccount">
|
||||
<el-input v-model="item.loginAccount" clearable placeholder="请输入登录账号" />
|
||||
<el-form-item label="登录账号" prop="userName">
|
||||
<el-input v-model="item.userName" clearable placeholder="请输入登录账号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
|
@ -62,13 +62,13 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="登录密码" prop="loginPassword">
|
||||
<el-input v-model="item.loginPassword" clearable placeholder="请输入登录密码" />
|
||||
<el-form-item label="登录密码" prop="password">
|
||||
<el-input v-model="item.password" clearable placeholder="请输入登录密码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="账号角色" prop="accountRole">
|
||||
<el-input v-model="item.accountRole" clearable placeholder="请输入账号角色" />
|
||||
<el-form-item label="账号角色" prop="roleName">
|
||||
<el-input v-model="item.roleName" clearable placeholder="请输入账号角色" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -77,30 +77,42 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { addPlatformAPI, editPlatformAPI } from '@/api/platform/index'
|
||||
export default {
|
||||
name: 'AddAndEditForm',
|
||||
props: {
|
||||
editRow: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
platformForm: {},
|
||||
platformForm: {
|
||||
name: '',
|
||||
url: '',
|
||||
isLogin: '',
|
||||
id: '',
|
||||
},
|
||||
accountForm: [
|
||||
{
|
||||
loginAccount: '',
|
||||
loginPassword: '',
|
||||
accountRole: '',
|
||||
id: Date.now(), // 给个唯一id 绑定key
|
||||
userName: '',
|
||||
password: '',
|
||||
roleName: '',
|
||||
sid: Date.now(), // 给个唯一id 绑定key
|
||||
},
|
||||
],
|
||||
// 表单验证
|
||||
platformFormRules: {
|
||||
name: [{ required: true, message: '请输入平台名称', trigger: 'blur' }],
|
||||
address: [{ required: true, message: '请输入平台网址', trigger: 'blur' }],
|
||||
url: [{ required: true, message: '请输入平台网址', trigger: 'blur' }],
|
||||
isLogin: [{ required: true, message: '请输入是否需要登录', trigger: 'blur' }],
|
||||
},
|
||||
|
||||
accountFormRules: {
|
||||
loginAccount: [{ required: true, message: '请输入登录账号', trigger: 'blur' }],
|
||||
loginPassword: [{ required: true, message: '请输入登录密码', trigger: 'blur' }],
|
||||
accountRole: [{ required: true, message: '请输入账号角色', trigger: 'blur' }],
|
||||
userName: [{ required: true, message: '请输入登录账号', trigger: 'blur' }],
|
||||
password: [{ required: true, message: '请输入登录密码', trigger: 'blur' }],
|
||||
roleName: [{ required: true, message: '请输入账号角色', trigger: 'blur' }],
|
||||
},
|
||||
}
|
||||
},
|
||||
|
|
@ -126,9 +138,56 @@ export default {
|
|||
return this.$refs[`accountFormRef${index}`][0].validate()
|
||||
})
|
||||
await Promise.all(promiseList)
|
||||
|
||||
// 组装参数
|
||||
|
||||
const { name, url, isLogin, id } = this.platformForm
|
||||
|
||||
const params = {
|
||||
name,
|
||||
url,
|
||||
isLogin,
|
||||
list: this.accountForm.map((item) => {
|
||||
return {
|
||||
userName: item.userName,
|
||||
password: item.password,
|
||||
roleName: item.roleName,
|
||||
}
|
||||
}),
|
||||
}
|
||||
|
||||
if (id) {
|
||||
params.id = id
|
||||
}
|
||||
|
||||
const API = id ? editPlatformAPI : addPlatformAPI
|
||||
const res = await API(params)
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess(id ? '编辑成功' : '新增成功')
|
||||
this.$emit('addSuccess')
|
||||
}
|
||||
} catch (error) {}
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
editRow: {
|
||||
handler(newVal) {
|
||||
if (Object.keys(newVal).length > 0) {
|
||||
const { name, url, isLogin, id } = newVal
|
||||
this.platformForm = { name, url, isLogin, id }
|
||||
this.accountForm = newVal.list.map((item) => {
|
||||
return {
|
||||
...item,
|
||||
sid: item.id,
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,27 +11,57 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table :data="tableData" style="width: 100%">
|
||||
<el-table-column align="center" prop="name" label="平台名称" />
|
||||
<el-table-column align="center" prop="description" label="平台地址" />
|
||||
<el-table-column align="center" prop="status" label="是否需要登录" />
|
||||
<el-table-column align="center" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" @click="handleEdit(scope.row)"> 编辑</el-button>
|
||||
<el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
:total="total"
|
||||
@pagination="getPlatformList"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
/>
|
||||
<el-row :gutter="8">
|
||||
<el-col :span="14">
|
||||
<el-table :data="tableData" style="width: 100%" @row-click="handleRowClick">
|
||||
<el-table-column align="center" prop="name" label="平台名称" />
|
||||
<el-table-column align="center" show-overflow-tooltip prop="url" label="平台地址" />
|
||||
<el-table-column align="center" label="是否需要登录">
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="mini" v-if="scope.row.isLogin === 1" type="success">是</el-tag>
|
||||
<el-tag size="mini" v-else type="warning">否</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
style="padding: 4px 6px"
|
||||
@click.stop="handleEdit(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="danger"
|
||||
style="padding: 4px 6px"
|
||||
@click="handleDelete(scope.row)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
:total="total"
|
||||
@pagination="getPlatformList"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-table :data="rightTableData" style="width: 100%">
|
||||
<el-table-column align="center" prop="userName" label="账号名称" />
|
||||
<el-table-column align="center" prop="password" label="登录密码" />
|
||||
<el-table-column align="center" prop="roleName" label="角色" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<DialogModal :dialogConfig="dialogConfig" @closeDialogOuter="handleCloseDialogOuter">
|
||||
<template #outerContent>
|
||||
<AddAndEditForm ref="addAndEditFormRef" />
|
||||
<AddAndEditForm :editRow="editRow" ref="addAndEditFormRef" @addSuccess="onHandleAddSuccess" />
|
||||
<el-row class="dialog-footer-btns">
|
||||
<el-button size="mini" type="info" @click="onHandleCancel">取消</el-button>
|
||||
<el-button size="mini" type="primary" @click="onHandleSave">保存</el-button>
|
||||
|
|
@ -44,6 +74,8 @@
|
|||
<script>
|
||||
import AddAndEditForm from './components/addAndEditForm.vue'
|
||||
import DialogModal from '@/components/DialogModel'
|
||||
|
||||
import { getPlatformListAPI, delPlatformAPI } from '@/api/platform/index'
|
||||
export default {
|
||||
name: 'Platform',
|
||||
components: {
|
||||
|
|
@ -54,6 +86,7 @@ export default {
|
|||
return {
|
||||
total: 0,
|
||||
tableData: [],
|
||||
rightTableData: [],
|
||||
// 页面数据
|
||||
queryParams: {
|
||||
name: '',
|
||||
|
|
@ -65,21 +98,40 @@ export default {
|
|||
outerVisible: false,
|
||||
outerWidth: '70%',
|
||||
},
|
||||
editRow: {},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getPlatformList()
|
||||
},
|
||||
methods: {
|
||||
handleEdit(row) {
|
||||
console.log(row)
|
||||
this.editRow = row
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
handleDelete(row) {
|
||||
console.log(row)
|
||||
this.$modal
|
||||
.confirm('确定删除该平台吗?')
|
||||
.then(async () => {
|
||||
const res = await delPlatformAPI({ id: row.id })
|
||||
console.log(res, '删除平台结果')
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('删除平台成功')
|
||||
this.getPlatformList()
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
getPlatformList() {
|
||||
console.log(this.queryParams)
|
||||
async getPlatformList() {
|
||||
const res = await getPlatformListAPI()
|
||||
this.tableData = res?.data
|
||||
this.total = res?.data?.length
|
||||
this.rightTableData = res?.data[0].list
|
||||
},
|
||||
|
||||
handleAdd() {
|
||||
console.log('新增')
|
||||
this.editRow = {}
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
|
|
@ -94,9 +146,17 @@ export default {
|
|||
|
||||
// 保存
|
||||
onHandleSave() {
|
||||
console.log('保存')
|
||||
this.$refs.addAndEditFormRef.submitForm()
|
||||
},
|
||||
|
||||
handleRowClick(row) {
|
||||
this.rightTableData = row.list
|
||||
},
|
||||
// 新增成功
|
||||
onHandleAddSuccess() {
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.getPlatformList()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue