当前位置: 首页 > news >正文

从 PHP 到 AI + Golang,程序员自救转型手记(四十四):管理员账号管理

管理员账号管理
管理员账号管理接口之前已经创建好了,同时受益于基类的极大通用性,准备好的现成的接口有:

/admin/auth/admin/list
/admin/auth/admin/create
/admin/auth/admin/delete
/admin/auth/admin/get/pk
/admin/auth/admin/update/pk
回到前端,我们可以利用 src\api\table.ts 中的 TableManagerAPI 表格API请求函数生成类,一次性生成好请求以上接口的 请求函数,如下:

const api = new TableManagerAPI(‘/admin/auth/admin/’),对应:

api.get(pk)
api.list(filter)
// …
但是生成好的 api 实例,不是我们自己使用的,而是直接传递给 表格管家 即可,而初始化表格管家时,最核心的是写好 table.column(列定义数据),代码如下:

import PopupForm from ‘./popupForm.vue’
import { TableManagerAPI } from ‘/@/api/table’
import { useTableManager } from ‘/@/hooks/useTableManager’

const api = new TableManagerAPI(‘/admin/auth/admin/’)

const tableManager = useTableManager({
api,
table: {
column: [
{ type: ‘selection’, align: ‘center’, operator: false },
{ label: ‘ID’, prop: ‘id’, align: ‘center’, operator: ‘eq’, width: 70 },
{ label: t(‘auth.admin.username’), prop: ‘username’, align: ‘center’, operator: ‘eq’, quickSearch: true },
{ label: t(‘auth.admin.nickname’), prop: ‘nickname’, align: ‘center’, operator: ‘LIKE’, quickSearch: true },
{ label: t(‘auth.admin.avatar’), prop: ‘avatar’, align: ‘center’, render: ‘image’, operator: false },
{ label: t(‘common.email’), prop: ‘email’, width: 180, align: ‘center’, operator: ‘LIKE’ },
{ label: t(‘common.mobile’), prop: ‘mobile’, align: ‘center’, operator: ‘LIKE’ },
{
label: t(‘common.operate’),
align: ‘center’,
width: ‘100’,
render: ‘buttons’,
buttons: optButtons,
operator: false,
},
],
filter: {
sort: ‘created_at’,
order: ‘desc’,
},
dblClickNotEditColumn: [‘status’],
}
})

tableManager.getData()
为保证可阅读性,以上代码略有简化,接下来,将 表格管家 实例,传递给 table 组件即可,如下:

<PopupForm :manager="tableManager" v-model:form-items="tableManager.form.items!" /> </div>
这三个组件所需要的 props,基本都可以通过 表格管家 实例取得。

此时,如果忽略掉 ./popupForm.vue 的代码,管理员账号管理的功能,最起码是基础的 CRUD 的功能,已经完成了,样子大概是这样的:

在这里插入图片描述

是的,增删改查齐备,之所以这么简单,全部是受益前几章的铺垫;接下来就是表格的 新增 / 编辑 表单了,但这更加简单,你基本上可以理解为,使用 el-form + el-form-item 写一个普普通通的表单就行了,绑定值与提交方法等,全部都提前准备好了,且如果需要表单验证,也可以使用 buildValidatorRule 快速生成,示例如下:

在这里插入图片描述

http://www.cnnetsun.cn/news/3777623.html

相关文章:

  • G-Helper完整实战指南:5个技巧彻底释放华硕笔记本性能
  • C# WinForm控件透明背景实现原理与四大实战方案详解
  • Matlab中3次B样条曲线优化实践与性能提升
  • ChatBI PoC怎么设计才靠谱:一套可落地的场景、指标与验收模型
  • HTML 特殊字符(实体字符)详解学习博客
  • 《Flow Of War》如何通过自动化采集与波次防守重构RTS策略体验
  • 基于Matlab的车牌识别停车场系统开发实践
  • 终极免费Flash反编译工具:JPEXS FFDec新手完整指南
  • LCD、LED、OLED显示技术与DC/PWM调光原理及嵌入式实战
  • Linux实时文件同步:rsync+sersync架构部署与性能调优指南
  • 短剧系统搭建实战:源码功能与商业变现效果全景展示
  • 企业指标管理混乱如何整改?标准化指标管理落地流程是什么?
  • 拆解集群账号乱象:一机多号行为识别、客诉溯源与风控优化实践
  • leetcode34题 在排序数组中查找元素的第一个和最后一个位置
  • 158、TinyML模型训练最佳实践:持续学习
  • Java浮点数精度处理:BigDecimal、DecimalFormat等5种保留小数方法详解
  • UniApp混合开发:自定义Application与Activity实现双击返回键退出
  • AI写论文靠谱吗?2026年学长实测的正确打开方式
  • 嵌入式调试核心指南:JTAG/SWD协议与J-Link/ST-Link调试器选型实战
  • MLP国配第一季翻译问题分析:文化差异与本地化策略
  • 《炼金与魔法》:国产沙盒游戏的炼金系统与双人联机体验
  • 《吞食天地2:蜀汉英雄传》1.5版深度攻略:系统解析与全流程图文指南
  • 电容式触摸屏原理与架构解析:从自互电容到In-Cell技术
  • 动态规划状态机精解:买卖股票的最佳时机 III 问题
  • Unity异步场景加载优化:基于UniTask的状态机设计与性能实践
  • 朴素贝叶斯分类器原理与文本分类实战
  • 跨境电商物流自动化实践:基于DHL/FedEx/UPS API的运费优化与渠道选型算法
  • Hive大数据分析入门:从SQL到分布式查询引擎的实战指南
  • HideMockLocation终极指南:3步轻松隐藏模拟位置不被检测
  • 老年人跌倒检测物联网数据集:用于实时跌倒监测的多模态可穿戴与环境传感器数据