ASP.Net: EshineASPNet教程-公衆號開發與框架

完整教程鏈接:ASP.Net: EshineASPNet-基於ASP.Net敏捷開發開源框架

這裏的公衆號開發用的是另外一個第三方框架Senparc.Weixin,有詳細的教程,基本上就是配上自己的參數跟微信公衆號後臺匹配就能用。筆者拿服務號爲例,可以實現自動授權,這裏的方法是,點擊公衆號底部按鈕做跳轉的時候不是直接跳到目的地網頁,而是先去到一箇中轉網頁這裏是OAuth2page.aspx,授權之後再去目的地網頁,這樣就可以檢查是否從微信過來,如果從普通瀏覽器打開可以顯示“請從微信端訪問”這樣的文字。

protected void Page_Load(object sender, EventArgs e)
        {
            string str = base.Request.QueryString["q"];
            string url = "";
            switch (str)
            {
                case "1"://功能1
                    url = OAuthApi.GetAuthorizeUrl(Weixin.Appid,
                        "http://weixin.eshinelee.com/webpage/page1.aspx", "something", OAuthScope.snsapi_base, "code");
                    break;

                case "2"://功能2
                    url = OAuthApi.GetAuthorizeUrl(Weixin.Appid,
                        "http://weixin.eshinelee.com/webpage/page2.aspx", "cus", OAuthScope.snsapi_base, "code");
                    break;

            }
            base.Response.Redirect(url);
        }

以上是OAuth2page的代碼,授權之後直接跳轉到目的網頁。

        public void CheckUser(System.Web.HttpRequest Request)
        {
            //判斷用戶是否登陸
            if (Session["openid"] == null || Session["openid"].ToString()=="")
            {
                if (!string.IsNullOrEmpty(Request.QueryString["code"]))
                {
                    string openid = publicclass.getopenidbyOAuth2(Request.QueryString["code"], Request.QueryString["state"]);
                    if (openid != "" && !openid.Contains("錯誤"))
                    {
                        Session["openid"] = openid;
                    }
                }
                else
                {
                    Response.Redirect("~/webpage/lost.aspx", true);
                }
            }
        }

這裏就可以檢查是否從微信端過來,還是從普通網頁打開了。

這裏用到了第三方框架,還用到了Bootstrap, Kindeditor,本框架也是框架。用框架的好處就是相當於站在了巨人的肩膀上,讓自己的一小步可以實現一大步,好處自然是多多的。當然框架不斷會更新,也會不斷有更新的框架出來,活到老學到老。自己也可以發掘第三方框架的易用功能,比如筆者就使用了Kindeditor裏面的文件上傳功能來做圖片上傳,自己基本不用寫代碼了,而且都是JQuery體驗也還不錯。

第三方框架的弊處是開源的原因讓攻擊的可能性增加,黑客可以研究代碼更容易找到軟件的漏洞,比研究操作系統簡單多了。

本教程代碼參考
EshineASPNet\Senparc.Weixin.MP.Sample.WebForms\OAuth2page.aspx

完整教程鏈接:ASP.Net: EshineASPNet-基於ASP.Net敏捷開發開源框架

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章