医院管理系统带万字文档医院预约挂号管理系统基于spingboot和vue的前后端分离java项目java课程设计java毕业设计
文章目录
- 仓库管理系统
- 一、项目演示
- 二、项目介绍
- 三、万字项目文档
- 四、部分功能截图
- 五、部分代码展示
- 六、底部获取项目源码带万字文档(9.9¥带走)
仓库管理系统
一、项目演示
医院管理系统
二、项目介绍
基于springboot+vue的前后端分离医院管理系统
语言: Java 数据库:MySQL 前后端分离
前端技术 : Vue2 + ElementUl
后端技术 : SpringBoot2 + MyBatisPlus + Redis
系统角色:管理员、医生、患者
管理员:登录、医生信息管理、患者信息管理、挂号信息管理、药物信息管理、检查项目管理、病床信息管理、排班信息管理、数据统计分析
医生:登录、首页、今日挂号列表、历史挂号列表、住院申请管理、个人信息查询
患者:注册登录、首页、预约挂号、我的挂号、住院信息、个人信息
三、万字项目文档


四、部分功能截图








五、部分代码展示
package com.bear.hospital.controller;import com.bear.hospital.pojo.Admin;
import com.bear.hospital.pojo.Doctor;
import com.bear.hospital.service.AdminService;
import com.bear.hospital.service.DoctorService;
import com.bear.hospital.service.OrderService;
import com.bear.hospital.service.PatientService;
import com.bear.hospital.utils.JwtUtil;
import com.bear.hospital.utils.ResponseData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.HashMap;
import java.util.Map;@RestController
@RequestMapping("admin")
public class AdminController {@Autowiredprivate AdminService adminService;@Autowiredprivate DoctorService doctorService;@Autowiredprivate PatientService patientService;@Autowiredprivate OrderService orderService;/*** 登录数据验证*/@PostMapping("/login")@ResponseBodypublic ResponseData login(@RequestParam("aId") int aId, @RequestParam("aPassword") String aPassword) {Admin admin = this.adminService.login(aId, aPassword);if (admin != null) {Map<String,String> map = new HashMap<>();map.put("aName", admin.getAName());map.put("aId", String.valueOf(admin.getAId()));String token = JwtUtil.getToken(map);map.put("token", token);return ResponseData.success("登录成功", map);} else {return ResponseData.fail("登录失败,密码或账号错误");}}/*** 分页模糊查询所有医护人员信息*/@RequestMapping("findAllDoctors")public ResponseData findAllDoctors(@RequestParam(value = "pageNumber") int pageNumber, @RequestParam(value = "size") int size, @RequestParam(value = "query") String query){return ResponseData.success("返回医护人员信息成功", this.doctorService.findAllDoctors(pageNumber, size, query));}/*** 根据id查找医生*/@RequestMapping("findDoctor")public ResponseData findDoctor(@RequestParam(value = "dId") int dId) {return ResponseData.success("查询医生成功", this.doctorService.findDoctor(dId));}/*** 增加医生信息*/@RequestMapping("addDoctor")@ResponseBodypublic ResponseData addDoctor(Doctor doctor) {Boolean bo = this.doctorService.addDoctor(doctor);if (bo) {return ResponseData.success("增加医生信息成功");}return ResponseData.fail("增加医生信息失败!账号或已被占用");}/*** 删除医生信息*/@RequestMapping("deleteDoctor")public ResponseData deleteDoctor(@RequestParam(value = "dId") int dId) {Boolean bo = this.doctorService.deleteDoctor(dId);if (bo){return ResponseData.success("删除医生信息成功");}return ResponseData.fail("删除医生信息失败");}/*** 修改医生信息* bug: dState会自动更新为0*/@RequestMapping("modifyDoctor")@ResponseBodypublic ResponseData modifyDoctor(Doctor doctor) {this.doctorService.modifyDoctor(doctor);return ResponseData.success("修改医生信息成功");}/*** 分页模糊查询所有患者信息*/@RequestMapping("findAllPatients")public ResponseData findAllPatients(@RequestParam(value = "pageNumber") int pageNumber, @RequestParam(value = "size") int size, @RequestParam(value = "query") String query){return ResponseData.success("返回患者信息成功", this.patientService.findAllPatients(pageNumber, size, query));}/*** 删除患者信息*/@RequestMapping("deletePatient")public ResponseData deletePatient(@RequestParam(value = "pId") int pId) {Boolean bo = this.patientService.deletePatient(pId);if (bo){return ResponseData.success("删除患者信息成功");}return ResponseData.fail("删除患者信息失败");}/*** 分页模糊查询所有挂号信息*/@RequestMapping("findAllOrders")public ResponseData findAllOrders(@RequestParam(value = "pageNumber") int pageNumber, @RequestParam(value = "size") int size, @RequestParam(value = "query") String query){return ResponseData.success("返回挂号信息成功", this.orderService.findAllOrders(pageNumber, size, query));}/*** 删除挂号信息*/@RequestMapping("deleteOrder")public ResponseData deleteOrder(@RequestParam(value = "oId") int oId) {Boolean bo = this.orderService.deleteOrder(oId);if (bo){return ResponseData.success("删除挂号信息成功");}return ResponseData.fail("删除挂号信息失败");}}
package com.bear.hospital.controller;import com.bear.hospital.pojo.Bed;
import com.bear.hospital.service.BedService;
import com.bear.hospital.utils.ResponseData;
import com.bear.hospital.utils.TodayUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("bed")
public class BedController {@Autowiredprivate BedService bedService;/*** 查找所有空床位*/@RequestMapping("findNullBed")public ResponseData findNullBed(){return ResponseData.success("查找所有空床位成功", this.bedService.findNullBed());}/*** 增加床位信息*/@RequestMapping("updateBed")public ResponseData updateBed(Bed bed) {if (this.bedService.updateBed(bed))return ResponseData.success("增加床位成功!");return ResponseData.fail("增加床位失败!");}/*** 根据pId查询住院*/@RequestMapping("findBedByPid")public ResponseData findBedByPid(@RequestParam(value = "pId") int pId){return ResponseData.success("根据pId查询住院成功", this.bedService.findBedByPid(pId)) ;}/*** 分页模糊查询所有床位信息*/@RequestMapping("findAllBeds")public ResponseData findAllBeds(int pageNumber, int size, String query){return ResponseData.success("返回所有床位信息成功", this.bedService.findAllBeds(pageNumber, size, query));}/*** 根据id查找床位*/@RequestMapping("findBed")public ResponseData findBed(int bId){return ResponseData.success("根据id查找床位成功", this.bedService.findBed(bId));}/*** 增加床位信息*/@RequestMapping("addBed")@ResponseBodypublic ResponseData addBed(Bed bed) {Boolean bo = this.bedService.addBed(bed);if (bo) {return ResponseData.success("增加床位信息成功");}return ResponseData.fail("增加床位信息失败!床号或已被占用");}/*** 删除药物信息*/@RequestMapping("deleteBed")public ResponseData deleteBed(@RequestParam(value = "bId") int bId) {Boolean bo = this.bedService.deleteBed(bId);if (bo){return ResponseData.success("删除床位信息成功");}return ResponseData.fail("删除床位信息失败");}/*** 清空床位信息*/@RequestMapping("emptyBed")public ResponseData emptyBed(int bId){if(this.bedService.emptyBed(bId))return ResponseData.success("清空床位信息成功");return ResponseData.fail("清空床位信息失败");}/*** 统计今天挂号人数*/@RequestMapping("bedPeople")public ResponseData bedPeople(){String bStart = TodayUtil.getTodayYmd();return ResponseData.success("统计今天住院人数成功", this.bedService.bedPeople(bStart));}
}
package com.bear.hospital.controller;import com.bear.hospital.pojo.Doctor;
import com.bear.hospital.service.DoctorService;
import com.bear.hospital.service.OrderService;
import com.bear.hospital.service.PatientService;
import com.bear.hospital.utils.JwtUtil;
import com.bear.hospital.utils.ResponseData;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;@RestController
@RequestMapping("doctor")
public class DoctorController {@Autowiredprivate DoctorService doctorService;@Autowiredprivate OrderService orderService;@Autowiredprivate PatientService patientService;/*** 登录数据验证*/@RequestMapping(value = "login", method = RequestMethod.POST)@ResponseBodypublic ResponseData login(@RequestParam(value = "dId") int dId, @RequestParam(value = "dPassword") String dPassword) {Doctor doctor = this.doctorService.login(dId, dPassword);if (doctor != null) {Map<String,String> map = new HashMap<>();map.put("dName", doctor.getdName());map.put("dId", String.valueOf(doctor.getdId()));String token = JwtUtil.getToken(map);map.put("token", token);//response.setHeader("token", token);return ResponseData.success("登录成功", map);} else {return ResponseData.fail("登录失败,密码或账号错误");}}/*** 查看当天挂号列表*/@RequestMapping("findOrderByNull")public ResponseData findOrderByNull(@Param(value = "dId") int dId, @RequestParam(value = "oStart") String oStart){System.out.println("账号时间为"+dId+oStart);return ResponseData.success("返回当天挂号信息成功", this.orderService.findOrderByNull(dId,oStart));}/*** 根据患者id查询患者信息*/@RequestMapping("findPatientById")public ResponseData findPatientById(int pId){return ResponseData.success("返回患者信息成功!", this.patientService.findPatientById(pId));}/*** 分页根据科室查询所有医生信息*/@RequestMapping("findDoctorBySectionPage")public ResponseData findDoctorBySectionPage(int pageNumber, int size, String query, String arrangeDate, String dSection){return ResponseData.success("分页根据科室查询所有医生信息成功", this.doctorService.findDoctorBySectionPage(pageNumber, size, query, arrangeDate, dSection));}/*** 用户评价*/@RequestMapping("updateStar")public ResponseData updateStar(int dId, Double dStar){if(this.doctorService.updateStar(dId, dStar))return ResponseData.success("评价成功");return ResponseData.fail("评价失败");}/*** 上传Excel导入数据*/@RequestMapping(value = "uploadExcel", method = RequestMethod.POST)@ResponseBodypublic ResponseData uploadExcel(@RequestParam("file") MultipartFile multipartFile) throws Exception {if (this.doctorService.uploadExcel(multipartFile))return ResponseData.success("上传Excel导入数据成功");return ResponseData.fail("上传Excel导入数据失败");}/*** Excel导出数据*/@RequestMapping("downloadExcel")public ResponseData downloadExcel(HttpServletResponse response) throws IOException {if (this.doctorService.downloadExcel(response))return ResponseData.success("Excel导出数据成功");return ResponseData.fail("Excel导出数据失败");}
}
package com.bear.hospital.controller;import com.bear.hospital.pojo.Orders;
import com.bear.hospital.service.OrderService;
import com.bear.hospital.utils.ResponseData;
import com.bear.hospital.utils.TodayUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.ArrayList;@RestController
@RequestMapping("order")
public class OrderController {@Autowiredprivate OrderService orderService;/*** 根据id更新挂号信息*/@PostMapping("updateOrder")@ResponseBodypublic ResponseData updateOrder(@RequestBody Orders orders) {if (this.orderService.updateOrder(orders))return ResponseData.success("更新挂号信息成功");return ResponseData.fail("更新挂号信息失败!");}/*** 根据id设置缴费状态*/@RequestMapping("updatePrice")public ResponseData updatePrice(int oId){if (this.orderService.updatePrice(oId))return ResponseData.success("根据id设置缴费状态成功");return ResponseData.success("根据id设置缴费状态失败");}/*** 查找医生已完成的挂号单*/@RequestMapping("findOrderFinish")public ResponseData findOrderFinish(int pageNumber, int size, String query, int dId){return ResponseData.success("查找医生已完成的挂号单完成!", this.orderService.findOrderFinish(pageNumber, size, query, dId));}/*** 根据dId查询挂号*/@RequestMapping("findOrderByDid")public ResponseData findOrderByDid(int pageNumber, int size, String query, int dId){return ResponseData.success("返回挂号信息成功", this.orderService.findOrderByDid(pageNumber, size, query, dId)) ;}/*** 统计今天挂号人数*/@RequestMapping("orderPeople")public ResponseData oderPeople(){String oStart = TodayUtil.getTodayYmd();return ResponseData.success("统计今天挂号人数成功", this.orderService.orderPeople(oStart));}/*** 统计今天某个医生挂号人数*/@RequestMapping("orderPeopleByDid")public ResponseData orderPeopleByDid(int dId){String oStart = TodayUtil.getTodayYmd();return ResponseData.success("统计今天挂号人数成功", this.orderService.orderPeopleByDid(oStart, dId));}/*** 获取过去七天的挂号人数*/@RequestMapping("orderSeven")public ResponseData orderSeven(){ArrayList<Integer> list = new ArrayList<>();String oStart = null;for(int i = 20; i > 0;i--){oStart = TodayUtil.getPastDate(i);int people = this.orderService.orderPeople(oStart);list.add(people);}return ResponseData.success("获取过去20天的挂号人数成功", list);}/*** 统计挂号男女人数*/@RequestMapping("orderGender")public ResponseData orderGender(){return ResponseData.success("统计挂号男女人数", this.orderService.orderGender());}/*** 增加诊断及医生意见*/@PostMapping("updateOrderByAdd")@ResponseBodypublic ResponseData updateOrderByAdd(@RequestBody Orders order){if (this.orderService.updateOrderByAdd(order))return ResponseData.success("增加诊断及医生意见成功");return ResponseData.fail("增加诊断及医生意见失败");}/*** 判断诊断之后再次购买药物是否已缴费*/@RequestMapping("findTotalPrice")public ResponseData findTotalPrice(int oId){if(this.orderService.findTotalPrice(oId))return ResponseData.success("未缴费");return ResponseData.fail("无需缴费");}/*** 请求挂号时间段*/@RequestMapping("findOrderTime")public ResponseData findOrderTime(String arId){return ResponseData.success("请求挂号时间段成功", this.orderService.findOrderTime(arId));}/*** 统计过去20天挂号科室人数*/@RequestMapping("orderSection")public ResponseData orderSection(){return ResponseData.success("统计过去20天挂号科室人数成功", this.orderService.orderSection());}}
六、底部获取项目源码带万字文档(9.9¥带走)
有问题,或者需要协助调试运行项目的也可以
相关文章:
医院管理系统带万字文档医院预约挂号管理系统基于spingboot和vue的前后端分离java项目java课程设计java毕业设计
文章目录 仓库管理系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档(9.9¥带走) 仓库管理系统 一、项目演示 医院管理系统 二、项目介绍 基于springbootvue的前后端分离医院管…...
爬虫技术在物联网数据采集中的应用
爬虫技术在物联网数据采集中的应用案例主要包括以下几个方面: 电商平台数据采集:例如,使用Python编写的网络爬虫可以用于爬取京东网页相关数据,如品牌、标题、价格、店铺等,并进行数据处理及可视化展示。这种方法不仅可…...
spring boot初始化的几个总结
spring intializr File->New->Project 注意:Spring Initializer中 Java版本选择模块已经不支持1.8了。 Spring Boot 3.x要求 Java最低版本为17, 最新的SpringBoot版本已经要求Java22了 所以,你可以升级Java版本,使用Spri…...
springcloud第4季 seata报could not find any implementation for class
一 问题说明 1.1 描述 在使用seata2.0alibaba-cloud 2022.0.0.0-RC2nacos 2.2.3 模拟下订单分布式事务场景,出现如下问题:java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 查看服务端:java.util.ServiceCo…...
IT之家最新科技热点
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…...
对象实例化过程
目录 一、Java对象实例化在JVM中的过程: 类加载与初始化 分配内存 初始化对象内存 设置对象头 执行初始化方法 构造方法执行 二、对象的创建过程 一、Java对象实例化在JVM中的过程: 类加载与初始化: 当JVM需要实例化一个对象时,它…...
常见漏洞之XSS
一、XSS简介 XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的网络攻击方式,通过在网页中注入恶意脚本,当其他用户浏览这些网页时,这些嵌入的恶意脚本会在其浏览器上执行,从而进行各种恶意…...
Python变量的命名规则与赋值方式
第二章:Python 基础语法 第一节:变量的命名规则与赋值方式 2.1.1 引言 在编程中,变量是存储数据的基本单元。变量的命名和赋值是编程语言中表达和操作数据的基础。了解和遵循变量命名规则对于编写清晰、可维护的代码至关重要。 2.1.2 变量…...
昇思25天学习打卡营第7天|网络构建
昇思25天学习打卡营第7天|网络构建 前言函数式自动微分函数与计算图微分函数与梯度计算Stop GradientAuxiliary data神经网络梯度计算 个人任务打卡(读者请忽略)个人理解与总结 前言 非常感谢华为昇思大模型平台和CSDN邀请体验昇思大模型!从今…...
扩展阅读:什么是中断
如果用一句话概括操作系统的原理,那就是:整个操作系统就是一个中断驱动的死循环,用最简单的代码解释如下: while(true){doNothing(); } 其他所有事情都是由操作系统提前注册的中断机制和其对应的中断处理函数完成的。我们点击一下鼠标,敲击一下键盘,执行一个程序,…...
git 命令学习之branch 和 tag 操作
引言 在项目一个迭代过程结束之时,或是一个版本发布之后,我们要进行 新版本的开发,这时就需要对原来的项目代码进行封存,以及新项目代码的开始,这时就需要用到 branch 和 tag 操作。下面简单说说对这两个操作的理解。…...
如何理解 IEEE 754 单精度浮点型能表示的最小绝对值、最大绝对值
文章目录 解答最小绝对值最大绝对值总结 细节理解1. 为什么非规格化数的指数偏移量为126(而不是127)?规格化数与非规格化数非规格化数的指数偏移量非规格化数的尾数非规格化数的值示例 解答 IEEE 754单精度浮点数使用32位来表示一个数值&…...
LeetCode 算法:二叉树的右视图 c++
原题链接🔗:二叉树的右视图 难度:中等⭐️⭐️ 题目 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4…...
Java 并发编程常见问题
1、线程状态它们之间是如何扭转的? 1、谈谈对于多线程的理解? 1、对于多核CPU,多线程可以提升CPU的利用率; 2、对于多IO操作的程序,多线程可以提升系统的整体性能及吞吐量; 3、使用多线程在一些场景下可…...
网络基础:静态路由
静态路由是一种由网络管理员手动配置的路由方式,用于在网络设备(如路由器或交换机)之间传递数据包。与动态路由不同,静态路由不会根据网络状态的变化自动调整。 不同厂商的网络设备在静态路由的配置上有些许差异;下面…...
库存管理系统基于spingboot vue的前后端分离仓库库存管理系统java项目java课程设计java毕业设计
文章目录 库存管理系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 库存管理系统 一、项目演示 库存管理系统 二、项目介绍 基于spingboot和vue前后端分离的库存管理系统 功能模块ÿ…...
【ArcGIS AddIn插件】【可用于全国水旱灾害风险普查】全网最强洪水淹没分析插件-基于8邻域种子搜索算法-有源淹没分析算法
最近有很多GIS小伙伴咨询我关于基于8邻域种子搜索算法的有源淹没分析插件的使用方法及原理,咱们通过这篇文章给大家详细介绍下这款插件的运行机制。 一、插件类型及适用版本 本插件属于ArcGIS AddIn工具条插件,基于ArcGIS Engine10.2.2的开发环境开发的&…...
==和equals的区别(面试题)
和equals有什么区别 对于基本数据类型,比较的是值是否相等,对于引用类型则是比较的地址是否相等;对于equals来说,基本数据类型没有equals方法,对于引用类型equals比较的是引用对象是否相同 那针对以上结论,…...
本地项目上传到GitHub上(李豆)
本地项目上传到GitHub上(李豆) 准备工作: 本地需要有 git 也需要有一个 GitHub 账号 首先需要在 GitHub 新建一个空仓库 在想要上传项目的文件夹中使用 Git 命令操作 初始化: git init与 github 仓库进行链接 :git remote add origin …...
碧海威L7云路由无线运营版 confirm.php/jumper.php 命令注入漏洞复现(XVE-2024-15716)
0x01 产品简介 碧海威L7网络设备是 北京智慧云巅科技有限公司下的产品,基于国产化ARM硬件平台,采用软硬一体协同设计方案,释放出产品最大效能,具有高性能,高扩展,产品性能强劲,具备万兆吞吐能力,支持上万用户同时在线等高性能。其采用简单清晰的可视化WEB管理界面,支持…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
