第四章 .net core作一個簡單的登陸 第三章 搭建一個通用的權限管理系統 ASP.NET Core 中文文檔 第三章 原理(13)管理應用程序狀態

項目目標部署環境:CentOS 7+css

項目技術點:.netcore2.0 + Autofac +webAPI + NHibernate5.1 + mysql5.6 + nginxhtml

 開源地址:https://github.com/wmowm/nh.core前端

上篇咱們已經講了權限管理的實現,傳送門:mysql

第三章 搭建一個通用的權限管理系統

此次我換一種講解,項目與博客,二者同時進行,gogogojquery

第一步,找個酷炫的登陸頁面linux

本身寫頁面是不可能的,這輩子都不可能的,設計又不會,css又不精通,只有在jq22上面偷頁面才能維持的了生活的樣子nginx

最近的那個貓頭鷹捂眼睛挺火啊,就是它了,先偷回來,再本身改造git

先在mvc項目裏建立一個登陸github

話說.net core添加視圖是真心慢啊,要等半天,趁這時間吐槽一下web

 

頁面也很是簡單,抄襲過來是這個樣子,咱們對它改造一下

改造效果以下

坑1字體圖標問題

我也不知道它這個字體圖標怎麼選,先F12看看它是什麼玩意

原來是這個,百度一下,如今最新的都是4.7了,我之前用的是4.4,乾脆直接把之前的拿來用了

如今繼續去實現驗證碼功能,仍是用咱們比較熟悉的GDI+繪製圖片

在.net core裏須要引入ZKWeb.System.Drawing包,據說部署到linux上,會有毛病,這個咱們後面部署的時候再說

每次點擊驗證碼,都會獲取新的圖片,而後把這個驗證碼md5加密保存到session裏面

HttpContext.Session.SetString("pic_code", pic_code);//存入session

會直接報錯

Session 尚未在這個應用程序或請求中配置好。

直接百度就好,園子裏大神真是多,我是參考這篇文章實現的

ASP.NET Core 中文文檔 第三章 原理(13)管理應用程序狀態

如今作一個簡單的提交,之前咱們都是習慣這樣ajax提交表單,.net core裏已經沒有了這種方式,那沒辦法,咱們只有換一種形式了

據說jquery-ajax-unobtrusive.js這個插件不錯,用的玩玩,效果還不錯

<form asp-controller="Home" asp-action="Login"  data-ajax="true" data-ajax-mode="replace" data-ajax-loading="ValidateLog" data-ajax-success="tips(data)" data-ajax-method="post" class="container offset1 loginform">

驗證碼成功,就跳轉到home/index頁面,失敗就刷新驗證碼,並給出提示

    //登陸回調函數
    function tips(data) {
        if (data.status == "0") {
            window.location.href = data.returnUrl;
        } else
        {
            $("#imgcode").attr("src", "/Home/GetAuthCode?time=" + Math.random());
            alert(data.msg);
         }
    }

 咱們繼續優化它,還須要一個好看的loading,直接去jq22上面找,而後整合到外面項目中來

放在這裏,效果仍是挺不錯的,而後完美繼續優化彈出的提示框

作到這裏基本上實現了整個功能,先將它發佈到Linux上,看看效果

苦逼了,nginx這塊尚未弄好,如今是一次只能代理一個端口,晚上繼續研究

2018-4-25 8:21

關於nginx,網上資料不少,是本身弄複雜了,如今簡單說下

最後一段,引入服務器的配置信息,它會讀取/conf.d/目錄下全部包含conf後綴的配置文件

 default.conf 內容以下:

這裏代理轉發了兩個站點,映射端口分別爲8081與80,如今尚未作靜態資源轉發

說說昨天遇到最大的深坑IIS Express崩潰,一個晚上都在弄,太可怕了

說說IIS Express崩潰的一些怪象

怪象1.沒法正常的生成解決方案,會報錯程序被佔用,我必須手動關掉IIS Express進程

怪象2.mvc路由絮亂

咱們直接說怪象2,怎麼一個絮亂呢,舉個栗子,mvc路由設置/home/index 爲初始頁面,此時我輸入/home/login顯示的內容仍是index的內容,並且調試不會命中斷點

除了啓動的時候,會命中/home/index的控制器斷點,後續全部刷新都不會命中斷點,嘗試用不一樣瀏覽器排除了緩存,加上GUID,發現每次GUID的值都會變化,前端抓包,排除301轉發

重啓電腦,也沒法解決

沒辦法了,我只能讓羣友那邊跑個人代碼,有兩位羣友跑過,顯示正常,我意識到多是個人iis容器出現了問題,我嘗試直接使用控制檯做爲容器,一切正常

作完這個,發現一個因細節疏忽,致使js出錯,這個錯誤又調試了很久

模板頁的引用,母版頁引用會致使js衝突,項目中可能同時存在兩個相同的jq引用,致使部分方法失效,因此必定要檢查是否使用母版頁

如不使用母版頁,頁面加上

@{
    Layout = null;
}

以爲對你有幫助的,能夠去給我開源項目點個星星

開源地址:https://github.com/wmowm/nh.core

相關文章
相關標籤/搜索