From 24f49422259f7467b993c5ccf8f15f0a4abe24ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=98=89=E7=8E=B2?= <14091858+softwork-wjl@user.noreply.gitee.com> Date: Thu, 28 Nov 2024 20:45:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?20241125/27=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\274\240\345\217\202\345\222\214model.md" | 118 +++++++++++ .../20241120-\344\275\234\344\270\232.md" | 5 +- ...40\351\200\222\345\217\202\346\225\260.md" | 166 +++++++++++++++ .../20241127-\350\247\206\345\233\276.md" | 194 ++++++++++++++++++ .../20241128-\351\232\217\346\234\272.md" | 115 +++++++++++ .../\345\233\276\347\211\207/image.png" | Bin 0 -> 22285 bytes 6 files changed, 597 insertions(+), 1 deletion(-) create mode 100644 "\345\220\264\345\230\211\347\216\262/20241118-\344\274\240\345\217\202\345\222\214model.md" rename "\345\220\264\345\230\211\347\216\262/20241120\344\275\234\344\270\232.md" => "\345\220\264\345\230\211\347\216\262/20241120-\344\275\234\344\270\232.md" (97%) create mode 100644 "\345\220\264\345\230\211\347\216\262/20241125-\344\274\240\351\200\222\345\217\202\346\225\260.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241127-\350\247\206\345\233\276.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/image.png" diff --git "a/\345\220\264\345\230\211\347\216\262/20241118-\344\274\240\345\217\202\345\222\214model.md" "b/\345\220\264\345\230\211\347\216\262/20241118-\344\274\240\345\217\202\345\222\214model.md" new file mode 100644 index 0000000..8b41f52 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241118-\344\274\240\345\217\202\345\222\214model.md" @@ -0,0 +1,118 @@ +# 笔记 +``` +//引入命名空间(但是在引入之间,如果不是sdk自带的包的话,需要先安装依赖包) +using Microsoft.AspNetCore.Mvc; +using System; + +// 新版的命名空间形式 +namespace Blog.Controllers; + +//控制器(本质其实就是1个类型,通过继承Contro1ler这个类型来获得所有关于控制器的功能) +public class BlogsController : Controller{ + // 专业名称叫action,本质上其实就是一个方法(方法三要素:方法名称、参数、返回值) + public string Index(){ + var id = 18; + return id.ToString(); + } + + public string Create(){ + var rnd = new Random(); + return rnd.Next().Tostring();//需要将int类型显式转换为字符串 + } +} +``` +## 控制器 +* 控制器:本质其实就是 一个类型,通过继承Controller这个类型来获取所有关于控制器的功能 + * 模型绑定- 如何给方法传递参数 + * Restful + * get + * get /blogs + * 获取很多博客文章列表 + * get /blogs/18 + * 获取指定id为18的博客文章 + * post post /blogs + * 新增一篇博者文章,内容在body + * put put /blogs/1 + * 修改id为1的博客,内容在在body + * delete delete /blogs/2 + * 删除id为2的博客 + * products + * get /products + * 获取商品列表 + * get /products/33 + * 获取id为33的商品信息 + * post /products + * 新路1个商品,商品信息在body中 + * put /products/99 + * 修改id为99的商品,修改信息在body中 + * delete /products/18 + * 删除id为18的商品 + * books + * get /books/13/comments + * 获取id为13的那本书的评论列表 + * post /books/13/comments + * 给id为13的那本书,新增一条评论 + * put /books/13/comments/99 + * 修改id为13的那本书的评论 + * xdelete /books/13/comments/39 + * 删除id13的那本书下,id为39的评论 + +### 传参 + +1. 第一步先定义字段 + + 在Model中创StudentsCreateDto.cs + + 内容: + ``` + namespace Blog.Models; + //第一步先定义字段 + Public class StudentsCreateDto{ + Public string StudentName{get;set;}=null!; + Public string Age{get;set;}=null!; + Public string Height{get;set;}=null!; + } + ``` + +2. 之后在控制器创建BlogsController.cs + + 内容: + ``` + Using Microsoft.AspNetCCore.Mvc; + Using Blog.Medols; + namespace Blog.Controllers; + + Public class BlogsController : Controller{ + Public IActionResult List(){ + return RedirectToAction("index"); + } + } + ``` +2.1 //使用字段(第二步) +``` +Public dynamic Index(){//序列化反序列化 +var obj = new StudentsCreateDto{ + StudentName = "小米", + Age = "18", + Height = "188" +}; +return View(obj); +} +``` + +3. 在View 创Blogs文件夹+index ++ 内容:(str是自己命名,注意分号;StudentName是Model里面定义的字段名 ) +``` +@{ + var str="文字"; + @ str; + +

@str

//文字会变一级标题 + @Model.StudentName //调用的是Model的名字字段 + + //如果是多组用foreach遍历 + @foreach(var item in @Model){ +

@item.StudentName

+ + } +} +``` + + diff --git "a/\345\220\264\345\230\211\347\216\262/20241120\344\275\234\344\270\232.md" "b/\345\220\264\345\230\211\347\216\262/20241120-\344\275\234\344\270\232.md" similarity index 97% rename from "\345\220\264\345\230\211\347\216\262/20241120\344\275\234\344\270\232.md" rename to "\345\220\264\345\230\211\347\216\262/20241120-\344\275\234\344\270\232.md" index c3950ab..ab23235 100644 --- "a/\345\220\264\345\230\211\347\216\262/20241120\344\275\234\344\270\232.md" +++ "b/\345\220\264\345\230\211\347\216\262/20241120-\344\275\234\344\270\232.md" @@ -152,4 +152,7 @@ namespace MyMvcProject.Controllers ``` 11. 新增一个控制器,名为Products,该控制器具有一个名为Edit的Action,这个Action接受一个int类型的参数id,显示这个id -12. 在11题的新控制器中,新增一个名为Create的Action,该Action接受一个类型为Students(有姓名、年龄、体长属性)的参数,并展示该参数的姓名属性 \ No newline at end of file +12. 在11题的新控制器中,新增一个名为Create的Action,该Action接受一个类型为Students(有姓名、年龄、体长属性)的参数,并展示该参数的姓名属性 +![20241125215621](www.wikzn.store/20241125215621.png) +![alt text](./图片/image.png) + diff --git "a/\345\220\264\345\230\211\347\216\262/20241125-\344\274\240\351\200\222\345\217\202\346\225\260.md" "b/\345\220\264\345\230\211\347\216\262/20241125-\344\274\240\351\200\222\345\217\202\346\225\260.md" new file mode 100644 index 0000000..fdf1bef --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241125-\344\274\240\351\200\222\345\217\202\346\225\260.md" @@ -0,0 +1,166 @@ +# 专项练习-控制器传参 +1. 简单参数传递 在一个叫Blog控制器中,定义一个叫Index的Action,并且传递一个int类型的值,id为变量名 +``` +public class BlogsController : Controller +{ + // GET: Blog/Index/5 + public ActionResult Index(int id) + { + // 你的逻辑代码 + return View(); + } +} +``` +2. 简单参数传递 在一个叫Blog控制器中,定义一个叫Index_2的Action,并且传递一个string类型的值,id为变量名 +``` +public class BlogsController : Controller +{ + // GET: Blog/Index_2/someId + public ActionResult Index_2(string id) + { + // 你的逻辑代码 + return View(); + } +} +``` +3. 简单参数传递 在一个叫Blog控制器中,定义一个叫Index_3的Action,并且传递一个string类型的值,name为变量名 +``` +public class BlogsController : Controller +{ + // GET: Blog/Index_3/JohnDoe + public ActionResult Index_3(string name) + { + // 你的逻辑代码 + return View(); + } +} +``` +4. 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create的Action,并且传递一个BlogCreateDto类型的值,blogCreateDto为变量名 + + + PS BlogCreateDto类型具有Title、Author、Content自动属性 + 1. 定义BlogsCreateDto类: + ``` + public class BlogCreateDto + { + public string Title { get; set; } + public string Author { get; set; } + public string Content { get; set; } + } + ``` + 2. 你可以在 Blog 控制器中定义 Create Action 方法: + ``` + public class BlogController : Controller + { + [HttpPost] // 通常用于处理POST请求 + public ActionResult Create(BlogCreateDto blogCreateDto) + { + if (ModelState.IsValid) + { + // 你的逻辑代码,例如保存blogCreateDto到数据库 + + // 操作成功后,重定向到另一个Action或返回视图 + return RedirectToAction("Success"); + } + + // 如果模型无效,返回带有错误信息的视图 + return View(blogCreateDto); + } + } + ``` +5. 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create_1的Action,并且传递一个Products类型的值,productCreateDto为变量名 + + + PS Products类型具有Name、 Price、Stock自动属性 + 1. 定义Products类 + ``` + public class Products + { + public string Name { get; set; } + public decimal Price { get; set; } + public int Stock { get; set; } + } + ``` + + 2. 在 Blog 控制器中定义 Create_1 Action 方法: + ``` + public class BlogController : Controller + { + [HttpPost] // 通常用于处理POST请求 + public ActionResult Create_1(Products productCreateDto) + { + if (ModelState.IsValid) + { + // 你的逻辑代码,例如保存productCreateDto到数据库 + + // 操作成功后,重定向到另一个Action或返回视图 + return RedirectToAction("Success"); + } + + // 如果模型无效,返回带有错误信息的视图 + return View(productCreateDto); + } + } + ``` + +6. 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create_2的Action,并且传递一个Students类型的值,studentCreateDto为变量名 + + + PS Students类型具有StudentName、Sex、Age自动属性 + 1. 定义Students类 + ``` + public class Students + { + public string StudentName { get; set; } + public string Sex { get; set; } // 通常性别用 "Male" 或 "Female" 表示,但这里根据你的要求使用 string 类型 + public int Age { get; set; } + } + ``` + + 2. 在 Blog 控制器中定义 Create_2 Action 方法: + ``` + public class BlogController : Controller + { + [HttpPost] // 通常用于处理POST请求 + public ActionResult Create_2(Students studentCreateDto) + { + if (ModelState.IsValid) + { + // 你的逻辑代码,例如保存studentCreateDto到数据库 + + // 操作成功后,重定向到另一个Action或返回视图 + return RedirectToAction("Success"); + } + + // 如果模型无效,返回带有错误信息的视图 + return View(studentCreateDto); + } + } + ``` +# 专项练习-基础能力 +1. mvc生成一个随机整数,范围[0,100],注意是否包含 + 1. 你需要确保你的项目中已经引入了 System 命名空间,因为 Random 类位于该命名空间下。 + ``` + using System; + + public class BlogController : Controller + { + // GET: Blog/RandomNumber + public ActionResult RandomNumber() + { + // 创建Random类的实例 + Random random = new Random(); + + // 生成一个0到100之间的随机整数,包括0和100 + int randomNumber = random.Next(0, 101); // Upper bound is exclusive, so we use 101 + + // 将随机数传递给视图 + return View(randomNumber); + } + } + ``` + 2. 可以创建一个名为 RandomNumber.cshtml 的视图文件 + ``` + @model int + +

Random Number

+

The generated random number is: @Model

+ ``` + diff --git "a/\345\220\264\345\230\211\347\216\262/20241127-\350\247\206\345\233\276.md" "b/\345\220\264\345\230\211\347\216\262/20241127-\350\247\206\345\233\276.md" new file mode 100644 index 0000000..e198773 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241127-\350\247\206\345\233\276.md" @@ -0,0 +1,194 @@ +## 一、关于Action的返回值 + +1. 基础数据类型, 如int、string、List<>等等 +2. IActionResult,返回响应的状态码 + - 视图 + - 重定向 +3. ActionResult,是前面2个的结合体,意思为既可以返回基础数据类型,也可以返回响应状态 +4. 内容响应:JsonResult、ContentResult +5. POCO(比较老的类型对象) + +## 二、视图 + +1. Razor 专业说法 模版引擎 + - 大部分时候,我们都是通过View函数,传入数据(ViewModel)给视图,这样一来,视图中就可以通过@Model这个属性来取得这些数据 + + ``` + //在index写 + @{ + var str = "尝尝鱿鱼" + } + @str + +

@str

+ ``` + + - 实际上,我们可以通过声明视图模型的类型,来获得自动提示或者自动感知 +2. 在视图上显示数据的几个玩法 + - 在视图上定义简单数据,在视图上显示(在视图上定义对象数据,在视图上定义集合数据,显示的问题) + + - 后端传回来的对象数据,在视图上显示 + - 在后端传回来集合数据,在视图上显示 + +# 传参 +## 1. 第一步先定义字段 + + 在Model中创StudentsCreateDto.cs + + 内容: + ``` + namespace Blog.Models; + //第一步先定义字段 + Public class StudentsCreateDto{ + Public string StudentName{get;set;}=null!; + Public string Age{get;set;}=null!; + Public string Height{get;set;}=null!; + } + ``` + +2. 之后在控制器创建BlogsController.cs + + 内容: + ``` + Using Microsoft.AspNetCCore.Mvc; + Using Blog.Medols; + namespace Blog.Controllers; + + Public class BlogsController : Controller{ + Public IActionResult List(){ + return RedirectToAction("index"); + } + } + ``` +2.1 //使用字段(第二步) +``` +Public dynamic Index(){//序列化反序列化 +var obj = new StudentsCreateDto{ + StudentName = "小米", + Age = "18", + Height = "188" +}; +return View(obj); +} +``` + +3. 在View 创Blogs文件夹+index ++ 内容:(str是自己命名,注意分号;StudentName是Model里面定义的字段名 ) +``` +@{ + var str="文字"; + @ str; + +

@str

//文字会变一级标题 + @Model.StudentName //调用的是Model的名字字段 + + //如果是多组用foreach遍历 + @foreach(var item in @Model){ +

@item.StudentName

+ + } +} +``` +# 作业 +1. 渲染简单数据到页面 ++ Model代码: + ``` + namespace Blog.Models; + + //第一步先定义字段 + + public class StudentsCreateDto{ + public string StudentName{get;set;}=null!; + public string Age{get;set;}=null!; + public string Height{get;set;}=null!; + + } + ``` ++ 控制器代码 + ``` + //控制器 + using Microsoft.AspNetCore.Mvc; + using Blog.Models; + + namespace Blog.Controllers; + + public class BlogsController : Controller { + public IActionResult List(){ + return RedirectToAction("index"); + } + //第二步再使用Model里面的字段 + public dynamic Index(){//序列化反序列化 + + var obj= new StudentsCreateDto{ + StudentName="小米", + Age = "18", + Height ="188" + }; + return View(obj); + + } + } + ``` ++ 视图代码: + ``` + @{ + var str= "试试"; + } + @str + +

@str

+ + ``` +效果: +![20241127213836](www.wikzn.store/20241127213836.png) +2. 渲染复杂数据到页面 + Model,控制器如上; + 视图如下: + ``` + @Model.StudentName + +

@Model.Age

+ ``` +![20241127220347](www.wikzn.store/20241127220347.png) +3. 渲染集合数据到页面 ++ Model代码如上 ++ 控制器代码: + ``` + using Microsoft.AspNetCore.Mvc; + using Blog.Models; + + namespace Blog.Controllers; + + public class BlogsController : Controller { + public IActionResult List(){ + return RedirectToAction("index"); + } + + //第二步再使用Model里面的字段 + public dynamic Index(){//序列化反序列化 + var list=new List{ + new StudentsCreateDto { + StudentName="oppo", + Age = "18", + Height ="178" + }, + new StudentsCreateDto { + StudentName="vivo", + Age = "19", + Height ="178" + }, + new StudentsCreateDto { + StudentName="荣耀", + Age = "20", + Height ="155" + }, + }; + return View(list); + } + } + ``` ++ 效果: + ![20241127220105](www.wikzn.store/20241127220105.png) +3. 视图里调用: + ``` + @foreach(var item in @Model){ +

@item.StudentName

+ } + ``` \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" "b/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" new file mode 100644 index 0000000..d41c539 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" @@ -0,0 +1,115 @@ +# 笔记 + + +# 作业 +1. 生成一个随机整数,范围[0,100],注意是否包含 +2. 生成一个随机整数,范围(0,100],注意是否包含 ++ 控制器 + ``` + using Microsoft.AspNetCore.Mvc; + using Blog.Models; + + namespace Blog.Controllers; + + public class BlogsController : Controller{ + public IActionResult Test(){ + var ranTer = new Random(); + var ranNum = ranTer.Next(0,101); + + return Content(ranNum.ToString()); + } + } + ``` + +3. 生成10个随机整数,范围[5,80],注意是否包含 + +4. 定义一个字符串,字符串中有100个中文字符,需要从中随机取1个字符串 ++ 控制器 + ``` + public class BlogsController : Controller{ + public IActionResult Test(){ + + var ranTer = new Random(); + var ranNum = ranTer.Next(0,5); + + var str = "我是新东方"; + var ranStr =str[ranNum]; + + return Content(ranStr.ToString()); + + } + } + ``` +# 随机组合姓名第六题第七题: ++ 控制器 +```c# +using Microsoft.AspNetCore.Mvc; +using Blog.Models; + +namespace Blog.Controllers; + +public class WjlController : Controller +{ + //Xing 和 Chinese 是两个私有的只读字符串字段,分别存储了百家姓和中文字符。 + private readonly string Xing = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万柯咎管卢莫经房裘缪干解应宗宣丁贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄魏加封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷郏车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘姜詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲台从鄂索咸籍赖卓蔺屠蒙池乔阴郁胥能苍双"; + private readonly string Chinese = "的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制其应上的以要大由来一九开义又应有会着活更现面且斗则要由明看能事制受后定包干能老国将义相要论据到理系及定规学管"; + + // Blogs 方法是控制器的入口点,当用户访问根url时会被调用。 + // 调用 GetRandomNames(100) 方法生成100个随机姓名。 + // 使用 View 方法将生成的姓名列表传递给视图进行渲染。 + public IActionResult Blogs() + { + var names = GetRandomNames(100); + return View(names); + } + + // GetRandomNames: + // 这是一个私有方法,用于生成指定数量的随机姓名。 + private List GetRandomNames(int count) + { + // 创建一个 Random 实例用于生成随机数。 + var random = new Random(); + + // 创建一个空的字符串列表 names 用于存储生成的姓名。 + var names = new List(); + + // 使用 for 循环生成指定数量的姓名: + for (int i = 0; i < count; i++) + { + //使用 random.Next(Xing.Length) 从 Xing 字符串中随机选择一个索引,然后使用该索引获取一个姓。 + int xingIndex = random.Next(Xing.Length);//获取随机整数 + + string surname = Xing[xingIndex].ToString(); + + //使用 random.Next(1, 3) 生成1到2之间的随机数,决定从 Chinese 中选择多少个字符。 + int charCount = random.Next(1, 3); // 随机1到2个字符 + + // 使用 random.Next(Chinese.Length - charCount + 1) 生成字符的起始索引。 + int charIndex = random.Next(Chinese.Length - charCount + 1); + + // 使用 Substring 方法从 Chinese 中提取指定数量的字符。 + string firstName = Chinese.Substring(charIndex, charCount); + names.Add(surname + firstName);//将姓和名拼接成完整的姓名,并添加到 names 列表中。 + } + + return names;//最后返回包含所有生成姓名的列表 + } +} +``` + ++ 视图: +``` +@model List +@{ + ViewData["Title"] = "名字"; +} + +

名字

+ +
    + @foreach (var name in Model) + { +
  • @name
  • + } +
+``` \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/image.png" "b/\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/image.png" new file mode 100644 index 0000000000000000000000000000000000000000..15414b89a50974fbc9ae117cc8b65141f074feae GIT binary patch literal 22285 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 xQfc;U$_{|-gkC9K|HU(vJ6at7(KooXjX Date: Sat, 30 Nov 2024 23:23:50 +0800 Subject: [PATCH 2/2] =?UTF-8?q?20241130=E9=9A=8F=E6=9C=BA=E5=92=8Ccrue?= =?UTF-8?q?=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20241128-\351\232\217\346\234\272.md" | 98 ++++++++++++++++++ .../\345\233\276\347\211\207/CRUD.png" | Bin 0 -> 37737 bytes 2 files changed, 98 insertions(+) create mode 100644 "\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/CRUD.png" diff --git "a/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" "b/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" index d41c539..cd0d9da 100644 --- "a/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" +++ "b/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" @@ -112,4 +112,102 @@ public class WjlController : Controller
  • @name
  • } +``` +# Crud列表 ++ 效果图 +![20241130231840](www.wikzn.store/20241130231840.png) +![alt text](./图片/CRUD.png) + ++ 控制器 +```c# +using Models; +using Microsoft.AspNetCore.Mvc; + +public class CredController : Controller { + public ActionResult Index(){ + var obj = new { + + title="152" + + }; + return View(obj); +} +} +``` + ++ Model +```c# +namespace Models; + +public class CredCreateDto{ + public string Title { get; set; }=null!; + public string Author { get; set; }=null!; + public string Content { get; set; }=null!; +} +``` + ++ 视图 +```c# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ID标题内容作者
    1222333 + 编辑| + 详情| + 删除 +
    2222333 + 编辑 | + 详情 | + 删除 +
    3222333 + 编辑| + 详情| + 删除 +
    4222333 + 编辑| + 详情| + 删除 +
    + +@Model.title ``` \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/CRUD.png" "b/\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/CRUD.png" new file mode 100644 index 0000000000000000000000000000000000000000..3f767c472b455ffb4c36e69bad1e0c0dc60e439c GIT binary patch literal 37737 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