7、ABPZero系列教程之拼多多賣家工具 修改注冊功能


  本篇開始進入重頭戲,之前的幾篇文章都是為了現在的功能作准備。前面教程已經講到修改User表結構,接下來就需要修改注冊邏輯代碼。

注冊頁面

修改Register.cshtml,備注如下代碼:

文件路徑:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Views\Account\Register.cshtml

 

@*<p class="hint">
        @L("PersonalInformations")
    </p>
    <div class="form-group">
        <label class="control-label visible-ie8 visible-ie9">@L("Name")</label>
        <input class="form-control placeholder-no-fix" type="text" placeholder="@L("Name")" name="Name" required value="@Model.Name" maxlength="@MyCompanyName.AbpZeroTemplate.Authorization.Users.User.MaxNameLength" />
    </div>
    <div class="form-group">
        <label class="control-label visible-ie8 visible-ie9">@L("Surname")</label>
        <input class="form-control placeholder-no-fix" type="text" placeholder="@L("Surname")" name="Surname" required value="@Model.Surname" maxlength="@MyCompanyName.AbpZeroTemplate.Authorization.Users.User.MaxSurnameLength" />
    </div>
    <div class="form-group">
        <label class="control-label visible-ie8 visible-ie9">@L("EmailAddress")</label>
        <input class="form-control placeholder-no-fix" type="email" placeholder="@L("EmailAddress")" name="EmailAddress" required value="@Model.EmailAddress" maxlength="@MyCompanyName.AbpZeroTemplate.Authorization.Users.User.MaxEmailAddressLength" />
    </div>*@

 

 

 把EmailAddress輸入框相關代碼復制到“帳號設置”里面

<div class="form-group">
            <label class="control-label visible-ie8 visible-ie9">@L("EmailAddress")</label>
            <input class="form-control placeholder-no-fix" type="email" placeholder="@L("EmailAddress")" name="EmailAddress" required value="@Model.EmailAddress" maxlength="@MyCompanyName.AbpZeroTemplate.Authorization.Users.User.MaxEmailAddressLength" />
        </div>

 

保存查看如下圖所示 

 

修改RegisterViewModel.cs,備注如下代碼:

 文件路徑:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Models\Account\RegisterViewModel.cs

 

//[Required]
        //[StringLength(User.MaxNameLength)]
        //public string Name { get; set; }

        //[Required]
        //[StringLength(User.MaxSurnameLength)]
        //public string Surname { get; set; }

 

 

修改AccountController.cs,備注如下代碼:

 文件路徑:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Controllers\AccountController.cs

 403行代碼備注:

var user = new User
                {
                    TenantId = tenant.Id,
                    //Name = model.Name,
                    //Surname = model.Surname,
                    EmailAddress = model.EmailAddress,
                    IsActive = isNewRegisteredUserActiveByDefault
                };

 

876行代碼備注:

var viewModel = new RegisterViewModel
            {
                TenancyName = tenancyName,
                EmailAddress = loginInfo.Email,
                //Name = name,
                //Surname = surname,
                IsExternalLogin = true
            };

 

AbpZeroTemplate-zh-CN.xml文件添加如下鍵值對:

文件路徑:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Localization\AbpZeroTemplate\AbpZeroTemplate-zh-CN.xml

<text name="EmailRegister" value="郵箱注冊" />

 Account\Register.cshtml,修改如下代碼:

 文件路徑:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Views\Account\Register.cshtml

<h3>@L("EmailRegister")</h3>

 

 

 生成項目,注冊一個測試看效果

 

 

可以看到,注冊成功,激活郵件也發過來了。接下來修改上面2個圖的頁面。

修改RegisterResult.cshtml,備注以下代碼:

文件路徑:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Views\Account\RegisterResult.cshtml

 

<ul>
    @*<li><span class="text-muted">@L("NameSurname"):</span> @Model.NameAndSurname</li>
    <li><span class="text-muted">@L("TenancyName"):</span> @Model.TenancyName</li>*@
    <li><span class="text-muted">@L("UserName"):</span> @Model.UserName</li>
    <li><span class="text-muted">@L("EmailAddress"):</span> @Model.EmailAddress</li>
</ul>

 

 

修改UserEmailer.cs,備注以下代碼:

 文件路徑:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Authorization\Users\UserEmailer.cs

 

//mailMessage.AppendLine("<b>" + L("NameSurname") + "</b>: " + user.Name + " " + user.Surname + "<br />");

            //if (!tenancyName.IsNullOrEmpty())
            //{
            //    mailMessage.AppendLine("<b>" + L("TenancyName") + "</b>: " + tenancyName + "<br />");
            //}

 

 

生成項目,數據庫刪除剛剛注冊的帳號,重新注冊,效果如下:

 

 

 注:這里的域名端口在web.config文件修改,以后整合微信模塊會說到這個配置,現在激活帳號,需要替換成自己配置在IIS的端口。

 

 

復制激活連接,把端口號改成自己在IIS配置的端口號,瀏覽器訪問,出現如上圖所示,說明帳號激活成功,可以正常登錄。

 

可以看到,登錄后什么菜單都沒有,因為帳號注冊默認是User角色,而我並沒有給User角色授於任何權限。

至此,郵箱注冊功能修改完成,下一篇加入手機注冊功能。

 

返回總目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM