• 7、ABPZero系列教程之拼多多卖家工具 修改注册功能


      本篇开始进入重头戏,之前的几篇文章都是为了现在的功能作准备。前面教程已经讲到修改User表结构,接下来就需要修改注册逻辑代码。

    注册页面

    修改Register.cshtml,备注如下代码:

    文件路径:D:abp versionaspnet-zero-3.4.0aspnet-zero-3.4.0srcMyCompanyName.AbpZeroTemplate.WebViewsAccountRegister.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 versionaspnet-zero-3.4.0aspnet-zero-3.4.0srcMyCompanyName.AbpZeroTemplate.WebModelsAccountRegisterViewModel.cs

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

    修改AccountController.cs,备注如下代码:

     文件路径:D:abp versionaspnet-zero-3.4.0aspnet-zero-3.4.0srcMyCompanyName.AbpZeroTemplate.WebControllersAccountController.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 versionaspnet-zero-3.4.0aspnet-zero-3.4.0srcMyCompanyName.AbpZeroTemplate.CoreLocalizationAbpZeroTemplateAbpZeroTemplate-zh-CN.xml

    <text name="EmailRegister" value="邮箱注册" />

     AccountRegister.cshtml,修改如下代码:

     文件路径:D:abp versionaspnet-zero-3.4.0aspnet-zero-3.4.0srcMyCompanyName.AbpZeroTemplate.WebViewsAccountRegister.cshtml

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

     生成项目,注册一个测试看效果

     

    可以看到,注册成功,激活邮件也发过来了。接下来修改上面2个图的页面。

    修改RegisterResult.cshtml,备注以下代码:

    文件路径:D:abp versionaspnet-zero-3.4.0aspnet-zero-3.4.0srcMyCompanyName.AbpZeroTemplate.WebViewsAccountRegisterResult.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 versionaspnet-zero-3.4.0aspnet-zero-3.4.0srcMyCompanyName.AbpZeroTemplate.CoreAuthorizationUsersUserEmailer.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角色授于任何权限。

    至此,邮箱注册功能修改完成,下一篇加入手机注册功能。

    返回总目录

  • 相关阅读:
    完整的UED流程
    curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
    部署方案模板
    商城项目合作
    架构师分类
    k8s视图
    虚拟化通信技术
    AxureRP8 实现时间功能
    在AxureRP8中实现广告文字滚动效果
    获取当前网络中的电脑数目及MAC-通过MAC查找IP-通过IP查询机器名
  • 原文地址:https://www.cnblogs.com/shensigzs/p/8289020.html
Copyright © 2020-2023  润新知