vue-vben-admin 与.net core 结合实例 【自学与教学 小白教程】---第3节

ue-vben-admin 与.net core 结合实例 这里计划使用.net core 作为后端 。目标:打造好看 易用 开箱即用 的netcore一体化框架。Vue Vben Admin For NetCore 取命 hcrain-vvadmin 我不是前端人员 但有时开发还是要写一些界面。

之前使用layui是时候 狠心升级下了。

只为了好看----------于是  小白教程来了。可以根据 git提交一步步来重现我的实现。

【后面会发布到在线 效果预览   还没发布啊 我要将它改造成我自己想要的。要时间。这里占个坑而已。不回改文章了。】

目录

第3节---简单列表的增删查改

说在前面

1为简单点,先在复制一份原有的角色页相关内容

2创建业务无关的接口

3分析-》了解-》调整列表查询页

1怎样自定义调用后台Api入参(自由定义参数)  怎样获取到附带的表格查询条件

2因为我们返回的结构与table要求不一样,所以要这里指定下 

3删除记录的处理

4增加角色

git提交记录

本系列文章后在还说会什么?


第3节---简单列表的增删查改

说在前面

1  因为vue-vben-admin table  有高度的封装,如果你的是新项目,可以直接按它的接口风格来定义接口,这个会简单点。下面主要说  本来就有接口了,怎样让 vue-vben-admin table 与原有的自定义接口对接。

2 目前主流的前端在框架,都学了后端的搞多层架构 多层定义。对于我来说 太麻烦了。不够直接,开发也会慢,无法做到快速开发。所以专业的不要学本文。

3  我理想是  定义界面---定义json对象-----统一axios的接口(所有界面业务走统一的api接口 不会一个个去定义)  功能就实现了

这里以角色的管理为例。(可以看代码提交  在界面的代码上 我也很可能说明了 列表各参数的使用了)

1为简单点,先在复制一份原有的角色页相关内容

  同时添加路由

2创建业务无关的接口

post接口HcrainPost

get接口HcrainGet

//通用POST查询
export function HcrainPost(url, params: {}) {return defHcHttp.post<BasicFetchResultHc<{}>>({ url: url, params });
}//通用Get
export function HcrainGet(url) {return defHcHttp.get<BasicFetchResultHc<{}>>({ url: url});
}
//统一的返回
export interface BasicFetchResultHc<T> {data: T[];iTotalRecords: number;isSuccess: Boolean;message: string;
}

3分析-》了解-》调整列表查询页

Table封装有点强大,但我又不想学。所以下面的说法 不一定对,但能用。

1怎样自定义调用后台Api入参(自由定义参数)  怎样获取到附带的表格查询条件

  1利用beforeFetch 处理查询条件

   2api 参数里,定义后端要的数据。如下图。将它默认的  page, pageSize,分页字段 转为我要的  

page:page, length:pageSize,     同时带个查询栏的查询条件  queryKeyValue:postsearch,

注意 handleSearchInfoFn  在页面第一次加载没有触发,所以我使用了beforeFetch

3 注意我这里也使用了通用的post接口HcrainPost,直接定义url和参数,这就是我想要的,不要到处定义(这里后面应该还会改  还是要二次封 让看起来 不要太lose)

api: async ({ page, pageSize,e }) => {//转化api查询入参console.log(postsearch);const res = await HcrainPost("/api/SysRole/Search",{page:page,length:pageSize,queryKeyValue:postsearch,orderByFiled:' id desc'});/** 一定要返回改格式的数据 */return res;},beforeFetch: (prams) => {//请求之前对参数进行处理,转化为自己要的结构postsearch=[];for (let pS in prams) {if(pS!="page" && pS!="pageSize")postsearch.push({fieldName:pS,fieldValue:prams[pS]});}},//可拿到查询时的值 开启表单后,在请求之前处理搜索条件参数handleSearchInfoFn: (prams) => {//这里会有一个问题 第一次加载 不会进来这里// postsearch=[];// for (let pS in prams) {//      postsearch.push({//       fieldName:pS,//       fieldValue:prams[pS]//      });//   }},

2因为我们返回的结构与table要求不一样,所以要这里指定下 

  fetchSetting:{listField: 'data',//数据列表字段---返回的数据组字段totalField: 'iTotalRecords',  //数据总量字段----返回的数据数据字段},

3删除记录的处理

我还是使用通用的get 方法。(后台的删除是get 不要问为什么不是detelte 哈)

function handleDelete(record: Recordable) {console.log(record); console.log(1111111);const { createMessage } = useMessage();HcrainGet('/api/SysRole/Delete?id='+record['id']) .then((a) => {console.log(77777777);console.log(a);createMessage.success(a["message"]);reload();//emit('success');//这个成列表 有关  会让列表自动查询一次}).catch(() => {// createMessage.error('修改角色状态失败');}).finally(() => {});}

4增加角色

这里使用是使用通用的接口HcrainPost

区分添加或删除,这里异常不用管,底层Api访问层处理了,但这个是否合适,有待业务增加后分析

async function handleSubmit() {try {const values = await validate();setDrawerProps({ confirmLoading: true });const { createMessage } = useMessage();var url="/api/SysRole/Create";if (unref(isUpdate)) url='/api/SysRole/Update';HcrainPost(url,values).then((a) => {createMessage.success(a["message"]);closeDrawer();emit('success');//这个成列表 有关  会让列表自动查询一次}).catch(() => {// createMessage.error('修改角色状态失败');}).finally(() => {});console.log(values);//closeDrawer();//emit('success');} finally {setDrawerProps({ confirmLoading: false });}}

git提交记录

本次因不了解和工作的原因,前后有点长了。不好意思 

本系列文章后在还说会什么?

1菜单权限的管理的实现

2组织架构的实现

3文件管理的实现

4怎样让二次开发 很简单

5下一节的复杂表单  复杂查询的了解

6.net core代码的整理共享

7目标快速简单的开发框架 只要会复制就可以实现新业务-----

多谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/234707.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux网络的命令和配置

目录 一、网络配置命令 1、配置和管理网络接口 1.1 ifconfig 1.2 ip 1.2.1 ip link 1.2.2 ip addr 1.3 修改网络接口名 1.3.1 临时修改网络接口名 1.3.2 永久修改网络接口名 1.4 永久配置单网卡 1.5 永久配置双网卡 1.6 ethtool 2、查看和设置主机中路由表信息…

“第四个中国人民警察节”细语

今&#xff08;2024年1月10日&#xff09;天&#xff0c;是第四个中国人民警察节&#xff0c;本“人民体验官”推广人民日报官方微博文化产品《一起致敬人民警察&#xff01;》。 图&#xff1a;来源“人民体验官”推广平台 笔者认同“平安的密码叫110”这个洽当比喻。因为人民…

开源了,免费使用GPT4(Windows/Linux/Mac 一键启动脚本)

开源了&#xff0c;免费使用GPT4&#xff08;Windows一键启动脚本&#xff09; 大家好&#xff0c;我打算每日花1小时来写一篇文章&#xff0c;这一小时包括文章主题思考和实现&#xff0c;连续日更几天&#xff0c;看看能不能被官方推荐。&#xff08;帮我点点赞哦&#xff5…

Java IO学习和总结(超详细)

一、理解 I/O 是输入和输出的简写&#xff0c;指的是数据在计算机内部和外部设备之间的流动。简单来说&#xff0c;当你从键盘输入数据、从鼠标选择操作&#xff0c;或者在屏幕上看到图像&#xff0c;这些都是 I/O 操作。它就像是计算机与外部世界沟通的桥梁&#xff0c;没有 I…

【思扬赠书 | 第2期】语义解析为何作为连接自然语言与机器智能的桥梁?

⛳️ 写在前面参与规则&#xff01;&#xff01;&#xff01; ✅参与方式&#xff1a;关注博主、点赞、收藏、评论&#xff0c;任意评论&#xff08;每人最多评论三次&#xff09; ⛳️本次送书1~4本【取决于阅读量&#xff0c;阅读量越多&#xff0c;送的越多】 文章目录 01 …

esp32UART串口外设(Arduino)

通用异步接收器/发送器 &#xff08;UART&#xff09; 介绍 通用异步接收器/发送器 &#xff08;UART&#xff09; 是一种硬件功能&#xff0c;它使用广泛采用的异步串行通信接口&#xff08;如 RS232、RS422 和 RS485&#xff09;处理通信&#xff08;即时序要求和数据成帧&…

小白兼职做抖店,一个月能做到5000利润吗?抖店现状问题解答

我是王路飞。 全职状态下做抖店的话&#xff0c;精细化操作的单店月利润保守数据在10000-30000&#xff08;该数据来自醒醒团队内部学员一般水平下月营收数据均值&#xff0c;仅供参考&#xff09; 但如果是新手小白&#xff08;没有电商经验&#xff09;&#xff0c;且是兼职…

ES-极客学习第二部分ES 入门

基本概念 索引、文档、节点、分片和API json 文档 文档的元数据 需要通过Kibana导入Sample Data的电商数据。具体参考“2.2节-Kibana的安装与界面快速浏览” 索引 kibana 管理ES索引 在系统中找到kibana配置文件&#xff08;我这里是etc/kibana/kibana.yml&#xff09; vim /…

spring boot 自动扫描Controller、Service、Component原理

项目里面为什么不加上ComponentScan("com.yym.*")注解&#xff0c;也能加载到子目录里面的Controller&#xff0c;Service&#xff0c;Component的bean呢&#xff1f; 启动类没有ComponentScan注解 SpringBootApplication public class BootStrap {public static v…

【unity】基于Obi的绳/杆蓝图、绳杆区别及其创建方法

绳索 是通过使用距离和弯曲约束将粒子连接起来而形成的。由于规则粒子没有方向(只有位置)&#xff0c;因此无法模拟扭转效应(维基百科)&#xff0c;绳子也无法保持其静止形状。然而&#xff0c;与杆不同的是&#xff0c;绳索可以被撕裂/劈开&#xff0c;并且可以在运行时改变其…

java碳排放数据信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web碳排放数据信息管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为…

行为型设计模式——模板方法模式

学习难度&#xff1a;⭐ &#xff0c;比较常用 模板方法模式 在面向对象程序设计过程中&#xff0c;程序员常常会遇到这种情况&#xff1a;设计一个系统时知道了算法所需的关键步骤&#xff0c;而且确定了这些步骤的执行顺序&#xff0c;但某些步骤的具体实现还未知&#xff0…

【重学C语言】一、C语言简介

【重学C语言】一、C语言简介 什么是编程语言&#xff1f;编程语言 C语言发展史C语言标准变迁开发软件CLion安装步骤 VIsual Studio安装步骤 Clion 和 VS2022 绑定 电脑常识 什么是编程语言&#xff1f; 人类语言&#xff1a;语言就是人类进行沟通交流的表达方式&#xff0c;应…

鸿鹄云商B2B2C:JAVA实现的商家间直播带货商城系统概览

【saas云平台】打造全行业全渠道全场景的saas产品&#xff0c;为经营场景提供一体化解决方案&#xff1b;门店经营区域化、网店经营一体化&#xff0c;本地化、全方位、一站式服务&#xff0c;为多门店提供统一运营解决方案&#xff1b;提供丰富多样的营销玩法覆盖所有经营场景…

HarmonyOS 应用开发学习笔记 状态管理概述

移动端开发&#xff0c;最重要的一点就是数据的处理&#xff0c;并且正确的显示渲染UI。 变量在页面和组件、组件和组件之间有时候并不能实时共享&#xff0c;而有时候&#xff0c;又不需要太多的作用域&#xff08;节省资源&#xff09;&#xff0c;作用就需要根据不同场景&am…

Appium,多应用程序平台的 UI 自动化

Appium是一个开源的移动应用程序自动化测试工具&#xff0c;可以用于跨平台的UI自动化&#xff0c;包括iOS、Android、Web和Windows应用程序。它基于WebDriver协议&#xff0c;支持多种编程语言&#xff0c;如Java、Python、Ruby,Javascript、C#等。 Appium的设计理念是“一次…

ProtoBuf一些踩坑记录

一、Protobuf学习基础 学习的资料很多也很全&#xff0c;这里添加几个链接进行Protobuf的基础学习的链接&#xff0c;链接中的案例使用C编辑&#xff1a; 链接&#xff1a;Protobuf介绍及简单使用(上&#xff09;_google_protobuf_version-CSDN博客 Protobuf介绍及简单使用(下&…

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步

目录 关键词平台说明一、C/S port interface 定义1.1在Davinci developer中的创建 二、同步调用和异步调用2.1 同步2.1.1同步code2.1.2同步处理时序图 2.2 异步2.2.1异步code2.2.2异步处理时序图2.2.2.1 poling2.2.2.2 waiting2.2.2.3none 三、server端的mapping到task详解 关键…

伦茨科技Apple Find My认证芯片-ST17H6x芯片

深圳市伦茨科技有限公司&#xff08;以下简称“伦茨科技”&#xff09;发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家&#xff0c;该平台提供可通过Apple Find My认证的Apple查找&#xff08;Find My&#xff09;功能集成解决方案。…

【unity小技巧】实现没有动画的FPS武器摇摆和摆动效果

文章目录 前言开始完结 前言 添加程序摇摆和摆动是为任何FPS游戏添加一些细节的非常简单的方法。但是并不是所以的模型动画都会配有武器摆动动画效果&#xff0c;在本文中&#xff0c;将实现如何使用一些简单的代码实现武器摇摆和摆动效果&#xff0c;这比设置动画来尝试实现类…