從零開始,搭建博客系統MVC5+EF6搭建框架(4)下,前後臺佈局實現、發佈博客以及展示。

来源:http://www.cnblogs.com/M-LittleBird/archive/2016/10/10/5945832.html
-Advertisement-
Play Games

一、博客系統進度回顧 目前已經完成了,前臺展示,以及後臺發佈的功能,最近都在做這個,其實我在國慶的時候就可以弄完的,但是每天自己弄,突然最後國慶2天,連電腦都不想碰,所以就一直拖著,上一篇寫了前端實現用到的一些WebUI框架以及一些系統中用到的js插件,其實寫了這麼久,還是第一次,有人留言,不要爛尾 ...


一、博客系統進度回顧

   目前已經完成了,前臺展示,以及後臺發佈的功能,最近都在做這個,其實我在國慶的時候就可以弄完的,但是每天自己弄,突然最後國慶2天,連電腦都不想碰,所以就一直拖著,上一篇寫了前端實現用到的一些WebUI框架以及一些系統中用到的js插件,其實寫了這麼久,還是第一次,有人留言,不要爛尾的,感覺還是有點點價值的,至少有人關註。

  廢話不多說,現在開始上代碼。

二、博客系統後臺佈局實現

  2.1.這裡所用的是MVC的佈局頁來實現的,後臺主要分為三部分:導航、菜單、主要內容

image

代碼實現:

   這裡把後臺單獨放在一個區域裡面,所以我這裡建立一個admin的區域

image

在佈局頁_Layout.cshtml引入公共的一些css文件以及js文件

image

image

佈局頁代碼_Layout.cshtml:

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <meta charset="utf-8" />
  5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6     <title>@ViewBag.Title - 博客系統後臺管理</title>
  7     <link href="~/Content/CSS/zui.css" rel="stylesheet" />
  8     <link href="~/Content/CSS/zui-theme.css" rel="stylesheet" />
  9     <link href="//cdn.bootcss.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet">
 10     <link href="~/Content/lib/metisMenu/metisMenu.css" rel="stylesheet" />
 11     <link href="~/Content/CSS/index.css" rel="stylesheet" />
 12     @RenderSection("stylesheet", required: false)
 13     <script src="~/Content/JS/jquery-1.12.4.min.js"></script>
 14     <script src="~/Content/JS/zui.js"></script>
 15     <script src="~/Content/lib/metisMenu/metisMenu.js"></script>
 16     <script src="~/Content/JS/index.js"></script>
 17 
 18     <!--[if lt IE 9]>
 19     <script src="http://libs.useso.com/js/html5shiv/3.7/html5shiv.min.js"></script>
 20     <script src="http://libs.useso.com/js/respond.js/1.4.2/respond.min.js"></script>
 21     <script src="lib/ieonly/excanvas.js"></script>
 22     <![endif]-->
 23 
 24 </head>
 25 <body>
 26     <!--header-->
 27     <header>
 28         <div class="navbar navbar-inverse " role="navigation">
 29             <div class="navbar-header">
 30                 <!--移動設備上的導航切換按鈕-->
 31                 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse-example">
 32                     <span class="sr-only">切換導航</span>
 33                     <span class="icon-bar"></span>
 34                     <span class="icon-bar"></span>
 35                     <span class="icon-bar"></span>
 36                 </button>
 37                 <!--品牌名稱或logo-->
 38                 <a class="navbar-brand">系統後臺</a>
 39             </div>
 40             <div class="collapse navbar-collapse navbar-collapse-example">
 41                 <ul class="nav navbar-nav navbar-right">
 42                     <li><a><i class="icon icon-user"></i>&nbsp;&nbsp;您好,admin</a></li>
 43                     <li><a><i class="icon icon-exchange"></i>&nbsp;&nbsp;隱藏菜單</a></li>
 44                     <li><a href="/admin/Home"><i class="icon icon-home"></i>&nbsp;&nbsp;首頁</a></li>
 45                     <li><a><i class="icon icon-question-sign"></i>&nbsp;&nbsp;幫助</a></li>
 46                     <li><a><i class="icon icon-off"></i>&nbsp;&nbsp;退出</a></li>
 47                 </ul>
 48             </div>
 49         </div>
 50     </header>
 51     <!--header end-->
 52     <!--content-->
 53     <div class="clearfix">
 54         @Html.Partial("_sidebar")
 55         <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 rightmain">
 56             <div class="col-sm-12  col-md-12  rightcontent">
 57                 @RenderBody()
 58             </div>
 59         </div>
 60     </div>
 61     <!--content end-->
 62     <!--footer-->
 63     <footer class="col-md-12 footer footerstyle">
 64         <p>&copy; @DateTime.Now.Year - 我的博客系統</p>
 65     </footer>
 66     <!--footer end-->
 67 
 68     <script src="~/Scripts/jquery.validate.js"></script>
 69     <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
 70     <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
 71     @RenderSection("scripts", required: false)
 72 </body>
 73 </html>
View Code

菜單部分頁_sidebar.cshtml代碼

  1 @{
  2     string url = Request.Url.ToString().ToLower();
  3 }
  4 @if (url.Contains("home"))
  5 {
  6     <aside class="col-sm-3 col-md-2 sidebar">
  7         <nav class="sidebar-nav">
  8             <ul class="metismenu" id="menu">
  9                 <li class="active">
 10                     <a href="#" aria-expanded="true">
 11                         <i class="icon icon-github"></i>
 12                         系統統計<i class="fa arrow fa-fw"></i>
 13                     </a>
 14                     <ul aria-expanded="true">
 15                         <li>
 16                             <a href="/admin/statistics/visitor">
 17                                 <i class="icon icon-list"></i>
 18                                 訪問統計
 19                             </a>
 20                         </li>
 21                         <li>
 22                             <a href="/admin/statistics/usesr">
 23                                 <i class="icon icon-github"></i>
 24                                 用戶統計
 25                             </a>
 26                         </li>
 27                     </ul>
 28                 </li>
 29                 <li>
 30                     <a href="#" aria-expanded="false">博客管理<i class="fa arrow fa-fw"></i></a>
 31                     <ul aria-expanded="false">
 32                         <li><a href="/admin/BlogArticle/Index">博客列表</a></li>
 33                         <li><a href="/admin/BlogArticle/Add">發佈博客</a></li>
 34                     </ul>
 35                 </li>
 36                 <li>
 37                     <a href="#" aria-expanded="false">廣告管理<i class="fa arrow fa-fw"></i></a>
 38                     <ul aria-expanded="false">
 39                         <li><a href="@Url.Action("index", "Advertisement")">輪播圖管理</a></li>
 40                     </ul>
 41                 </li>
 42                 <li>
 43                     <a href="#" aria-expanded="false">用戶管理<i class="fa arrow fa-fw"></i></a>
 44                     <ul aria-expanded="false">
 45                         <li><a href="#">修改信息</a></li>
 46                         <li><a href="#">修改密碼</a></li>
 47                         <li>
 48                             <a href="#" aria-expanded="false">用戶信息管理<span class="fa plus-times"></span></a>
 49                             <ul aria-expanded="false">
 50                                 <li><a href="#">修改信息</a></li>
 51                                 <li><a href="#">修改密碼</a></li>
 52                             </ul>
 53                         </li>
 54                     </ul>
 55                 </li>
 56                 <li>
 57                     <a href="#" aria-expanded="false">許可權管理<i class="fa arrow fa-fw"></i></a>
 58                     <ul aria-expanded="false">
 59                         <li><a href="#">用戶授權</a></li>
 60                         <li><a href="#">用戶組管理</a></li>
 61                         <li><a href="#">用戶組授權</a></li>
 62                     </ul>
 63                 </li>
 64                 <li>
 65                     <a href="#" aria-expanded="false">日誌管理<i class="fa arrow fa-fw"></i></a>
 66                     <ul aria-expanded="false">
 67                         <li><a href="#">用戶日誌</a></li>
 68                         <li><a href="#">系統日誌</a></li>
 69                     </ul>
 70                 </li>
 71             </ul>
 72         </nav>
 73     </aside>
 74 }
 75 else if (url.Contains("blogarticle"))
 76 {
 77     <aside class="col-sm-3 col-md-2 sidebar">
 78         <nav class="sidebar-nav">
 79             <ul class="metismenu" id="menu">
 80                 <li>
 81                     <a href="#" aria-expanded="true">
 82                         <i class="icon icon-github"></i>
 83                         系統統計<i class="fa arrow fa-fw"></i>
 84                     </a>
 85                     <ul aria-expanded="true">
 86                         <li>
 87                             <a href="/admin/statistics/visitor">
 88                                 <i class="icon icon-list"></i>
 89                                 訪問統計
 90                             </a>
 91                         </li>
 92                         <li>
 93                             <a href="/admin/statistics/usesr">
 94                                 <i class="icon icon-github"></i>
 95                                 用戶統計
 96                             </a>
 97                         </li>
 98                     </ul>
 99                 </li>
100                 <li class="active">
101                     <a href="#" aria-expanded="false">博客管理<i class="fa arrow fa-fw"></i></a>
102                     <ul aria-expanded="false">
103                         <li><a href="/admin/BlogArticle/Index">博客列表</a></li>
104                         <li><a href="/admin/BlogArticle/Add">發佈博客</a></li>
105                     </ul>
106                 </li>
107                 <li>
108                     <a href="#" aria-expanded="false">廣告管理<i class="fa arrow fa-fw"></i></a>
109                     <ul aria-expanded="false">
110                         <li><a href="@Url.Action("index", "Advertisement")">輪播圖管理</a></li>
111                     </ul>
112                 </li>
113                 <li>
114                     <a href="#" aria-expanded="false">用戶管理<i class="fa arrow fa-fw"></i></a>
115                     <ul aria-expanded="false">
116                         <li><a href="#">修改信息</a></li>
117                         <li><a href="#">修改密碼</a></li>
118                         <li>
119                             <a href="#" aria-expanded="false">用戶信息管理<span class="fa plus-times"></span></a>
120                             <ul aria-expanded="false">
121                                 <li><a href="#">修改信息</a></li>
122                                 <li><a href="#">修改密碼</a></li>
123                             </ul>
124                         </li>
125                     </ul>
126                 </li>
127                 <li>
128                     <a href="#" aria-expanded="false">許可權管理<i class="fa arrow fa-fw"></i></a>
129                     <ul aria-expanded="false">
130                         <li><a href="#">用戶授權</a></li>
131                         <li><a href="#">用戶組管理</a></li>
132                         <li><a href="#">用戶組授權</a></li>
133                     </ul>
134                 </li>
135                 <li>
136                     <a href="#" aria-expanded="false">日誌管理<i class="fa arrow fa-fw"></i></a>
137                     <ul aria-expanded="false">
138                         <li><a href="#">用戶日誌</a></li>
139                         <li><a href="#">系統日誌</a></li>
140                     </ul>
141                 </li>
142             </ul>
143         </nav>
144     </aside>
145 }
146 else if (url.Contains("advertisement"))
147 {
148     <aside class="col-sm-3 col-md-2 sidebar">
149         <nav class="sidebar-nav">
150             <ul class="metismenu" id="menu">
151                 <li>
152                     <a href="#" aria-expanded="true">
153                         <i class="icon icon-github"></i>
154                         系統統計<i class="fa arrow fa-fw"></i>
155                     </a>
156                     <ul aria-expanded="true">
157                         <li>
158                             <a href="/admin/statistics/visitor">
159                                 <i class="icon icon-list"></i>
160                                 訪問統計
161                             </a>
162                         </li>
163                         <li>
164                             <a href="/admin/statistics/usesr">
165                                 <i class="icon icon-github"></i>
166                                 用戶統計
167                             </a>
168                         </li>
169                     </ul>
170                 </li>
171                 <li >
172                     <a href="#" aria-expanded="false">博客管理<i class="fa arrow fa-fw"></i></a>
173                     <ul aria-expanded="false">
174                         <li><a href="/admin/BlogArticle/Index">博客列表</a></li>
175                         <li><a href="/admin/BlogArticle/Add">發佈博客</a></li>
176                     </ul>
177                 </li>
178                 <li class="active">
179                     <a href="#" aria-expanded="false">廣告管理<i class="fa arrow fa-fw"></i></a>
180                     <ul aria-expanded="false">
181                         <li><a href="@Url.Action("index", "Advertisement")">輪播圖管理</a></li>
182                     </ul>
183                 </li>
184                 <li>
185                     <a href="#" aria-expanded="false">用戶管理<i class="fa arrow fa-fw"></i></a>
186                     <ul aria-expanded="false">
187                         <li><a href="#">修改信息</a></li>
188                         <li><a href="#">修改密碼</a></li>
189                         <li>
190                             <a href="#" aria-expanded="false">用戶信息管理<span class="fa plus-times"></span></a>
191                             <ul aria-expanded="false">
192                                 <li><a href="#">修改信息</a></li>
193                                 <li><a href="#">修改密碼</a></li>
194                             </ul>
195                         </li>
196                     </ul>
197                 </li>
198                 <li>
199                     <a href="#" aria-expanded="false">許可權管理<i class="fa arrow fa-fw"></i></a>
200                     <ul aria-expanded="false">
201                         <li><a href="#">用戶授權</a></li>
202                         <li><a href="#">用戶組管理</a></li>
203                         <li><a href="#">用戶組授權</a></li>
204                     </ul>
205                 </li>
206                 <li>
207                     <a href="#" aria-expanded="false">日誌管理<i class="fa arrow fa-fw"></i></a>
208                     <ul aria-expanded="false">
209                         <li><a href="#">用戶日誌</a></li>
210                         <li><a href="#">系統日誌</a></li>
211                     </ul>
212                 </li>
213             </ul>
214         </nav>
215     </aside>
216 }
View Code

其實我這個菜單選中的效果做的很垃圾,我自己都覺得不要,但是目前我也只能想到這個方法,因為每次載入一個嵌套的頁面就會從新去載入一次佈局頁_Layout.cshtml的內容,我這個菜單是有一個active選中的樣式的,這個是菜單插件裡面已經寫好了,這裡遇到的問題就是每次刷新都會把頁面選中效果設置到預設的菜單上,假如點擊了發佈博客菜單應該顯示博客管理這個菜單內容,但是從新載入的時候就會回到預設的系統統計菜單上,所以這裡就用地址路徑來判斷應該顯示那個菜單,方法真的很笨,見諒,各位。

2.2博客信息添加功能實現

   在model層的Models文件創建一個BlogArticle類,然後在創建一個文件VeiwModels,Models文件夾裡面的類是用來生成資料庫對應的表,而VeiwModels文件夾裡面對應的類是用來在view視圖頁面展示數據用的,當你一個表欄位很多不需要所有數據都展示,或者要做一些處理計算的類,這樣就需要一個VeiwModels類來分離。

BlogArticle類:

  1 namespace Wchl.WMBlog.Model.Models
  2 {
  3     /// <summary>博客文章
  4     /// 
  5     /// </summary
  6     public class BlogArticle
  7     {
  8         /// <summary>
  9         /// 
 10         /// </summary>
 11         public int bID { get; set; }
 12         /// <summary>創建人
 13         /// 
 14         /// </summary>
 15         public string bsubmitter { get; set; }
 16 
 17         /// <summary>博客標題
 18         /// 
 19         /// </summary>
 20         public string btitle { get; set; }
 21 
 22         /// <summary>類別
 23         /// 
 24         /// </summary>
 25         public string bcategory { get; set; }
 26 
 27         /// <summary>內容
 28         /// 
 29         /// </summary>
 30         public string bcontent { get; set; }
 31 
 32         /// <summary>
 33         /// 訪問量
 34         /// </summary>
 35         public int btraffic { get; set; }
 36 
 37         /// <summary>
 38         /// 評論數量
 39         /// </summary>
 40         public int bcommentNum { get; set; }
 41 
 42         /// <summary> 修改時間
 43         /// 
 44         /// </summary>
 45         public DateTime bUpdateTime { get; set; }
 46 
 47         /// <summary>
 48         /// 創建時間
 49         /// </summary>
 50         public System.DateTime bCreateTime { get; set; }
 51         /// <summary>備註
 52         /// 
 53         /// </summary>
 54         public string bRemark { get; set; }
 55     }
 56 }
View Code

BlogViewModels類:

  1 namespace Wchl.WMBlog.Model.VeiwModels
  2 {
  3     /// <summary>
  4     /// 博客信息展示類
  5     /// </summary>
  6     public class BlogViewModels
  7     {
  8         /// <summary>
  9         /// 
 10         /// </summary>
 11         public int bID { get; set; }
 12         /// <summary>創建人
 13         /// 
 14         /// </summary>
 15         public string bsubmitter { get; set; }
 16 
 17         /// <summary>博客標題
 18         /// 
 19         /// </summary>
 20         public string btitle { get; set; }
 21 
 22         /// <summary>摘要
 23         /// 
 24         /// </summary>
 25         public string digest { get; set; }
 26 
 27         /// <summary>
 28         /// 上一篇
 29         /// </summary>
 30         public string previous { get; set; }
 31 
 32         /// <summary>
 33         /// 上一篇id
 34         /// </summary>
 35         public int previousID { get; set; }
 36 
 37         /// <summary>
 38         /// 下一篇
 39         /// </summary>
 40         public string next { get; set; }
 41 
 42         /// <summary>
 43         /// 下一篇id
 44         /// </summary>
 45         public int nextID { get; set; }
 46 
 47         /// <summary>類別
 48         /// 
 49         /// </summary>
 50         public string bcategory { get; set; }
 51 
 52         /// <summary>內容
 53         /// 
 54         /// </summary>
 55         public string bcontent { get; set; }
 56 
 57         /// <summary>
 58         /// 訪問量
 59         /// </summary>
 60         public int btraffic { get; set; }
 61 
 62         /// <summary>
 63         /// 評論數量
 64         /// </summary>
 65         public int bcommentNum { get; set; }
 66 
 67         /// <summary> 修改時間
 68         /// 
 69         /// </summary>
 70         public DateTime bUpdateTime { get; set; }
 71 
 72         /// <summary>
 73         /// 創建時間
 74         /// </summary>
 75         public System.DateTime bCreateTime { get; set; }
 76         /// <summary>備註
 77         /// 
 78         /// </summary>
 79         public string bRemark { get; set; }
 80     }
 81 }
View Code

在maps文件夾中添加相應的約束

BlogArticleMap類:

  1 namespace Wchl.WMBlog.Model.Maps
  2 {
  3     public class BlogArticleMap: EntityTypeConfiguration<BlogArticle>
  4     {
  5         public BlogArticleMap()
  6         {
  7             this.HasKey(p => p.bID);
  8             this.Property(p => p.btitle).HasMaxLength(256);
  9             this.Property(p => p.bsubmitter).HasMaxLength(60);
 10             this.Property(p => p.bcontent).HasColumnType("Text").IsMaxLength();
 11         }
 12     }
 13 }
View Code

然後在控制台使用更新資料庫命令:update database -force,一定要選擇model層

image

創建好了表,然後就是在倉儲層以及業務層創建相應的介面和實現類

IBlogArticleRepository類:

  1 namespace Wchl.WMBlog.IRepository
  2 {

              
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 當運行一個 Asp.Net Core 應用的時候, WebHostBuilder 根據環境變數來判斷當前運行的是哪個環境,可能是 Development,Staging或者Production.你也可以設置成隨便的一個字元串. 這個鏈接將會告訴你 如何在各種平臺各種環境中設置環境變數.但如果你使用 ...
  • 修飾符 訪問許可權 public 關鍵字是類型和類型成員的訪問修飾符。 公共訪問是允許的最高訪問級別。 對訪問公共成員沒有限制 private 私有訪問是允許的最低訪問級別。 私有成員只有在聲明它們的類和結構體中才是可訪問的 protected 受保護的,訪問許可權於包含類或包含類派生的類型 inter ...
  • 最初接觸時,感覺很好玩,然後就自己研究了下,做了個demo,然後整理下,下次可以直接使用啦,英文大小寫,點擊可以切換 上代碼了。。。。 頁面代碼: <img id="Img" src="/Login/GetCheckCode" /> 這個是頁面JQuery點擊更換方法 $("#Img").click ...
  • 摘要:.NET中的枚舉分為簡單枚舉和標誌枚舉,這次主要總結一下標誌枚舉適用條件,以及它的使用方法,併在文章的最後列舉枚舉使用的一些規範。 在剛接觸.NET的枚舉時,只用簡單的枚舉,對於標記枚舉,只知道是在枚舉類型加上 特性,然後給枚舉值賦予十六進位的值,並且書中還特別明確規定值必須是以2的指數才可以 ...
  • 最近發現easyui時間控制項的值格式不支持帶斜杠的日期(2016/10/31),必須是2016-10-31這類的才能正常使用,否則預設初始化為當前時間 斜杠顯示異常:顯示的是當前系統日期 如上換成橫杠之後正常顯示: 如上,必須把value換成帶橫杠 的日期格式才能正常初始化,已測試過easyui1. ...
  • 說到 Microsoft Bot Framework 其實微軟發佈了已經有一段時間了,有很多朋友可能還不太瞭解,微軟Bot的功能今天我給大家簡單的介紹一下,Bot Framework的開發基礎以及如何使用Bot Framework和我們的一個現有的三方客服(例如一個微信的公共號)集成起來。 ...
  • 背景 本地環境:Win7,Visual Studio 2013, IIS 7.5 WebForm 項目,添加一個http介面給別人調用。 我的做法是添加了一個Controller,Application_Start 裡面添加路由。 然後本地測試通過。 發佈 發佈機器環境: Window Server ...
  • 目錄 1. ASP.NET 路由 註冊路由 動態映射HttpHandler 2. WebAPI 路由 註冊路由 調用GetRouteData 3. 2個路由系統銜接 GlobalConfiguration HostedHttpRoute 4. 補充 路由是進入Web API的第一扇門.目的用於確定C ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...