当前位置: 首页 > news >正文

企点是干嘛用的/广东seo加盟

企点是干嘛用的,广东seo加盟,永久免费网站虚拟主机,wordpress likegoogle前面第10节课内容中已经学习开发完成了管理员登陆功能。本节课我们将继续学习开发完成管理员信息查询功能、管理员退出功能 管理员信息查询功能 请求及路由映射 管理员信息查询接口 接口名称:获取管理员信息。 使用场景:管理员登陆系统时,通…

前面第10节课内容中已经学习开发完成了管理员登陆功能。本节课我们将继续学习开发完成管理员信息查询功能管理员退出功能

管理员信息查询功能

请求及路由映射
  • 管理员信息查询接口

    • 接口名称:获取管理员信息

    • 使用场景:管理员登陆系统时,通过该接口查询获取管理员信息。服务器接收到请求后,首先从Session中获取用户信息,如果能够获取到管理员信息,则将数据组合后进行返回;如果Session获取不到管理员信息,则跳转到管理员登陆页面。

    • 请求Url:接口文档之前已经介绍过,使用小幺鸡平台来生成接口文档,小幺鸡接口文档地址:http://www.xiaoyaoji.cn/doc/ywBfq1vWM。管理员信息查询接口:/admin/info

    • Request请求类型: GET请求类型

    • 数据类型:X-WWW-FORM-URLENCODED

    • 响应类型:JSON格式

  • 路由控制器绑定 服务端使用之前已经学习过的mvc包绑定控制器自动解析路由请求。设置解析mvc管理员控制器代码如下所示:

    adminService := service.NewAdminService(engine)
    admin := mvc.New(app.Party("/admin"))
    admin.Register(
    adminService,
    sessManager.Start,
    )
    admin.Handle(new(controller.AdminController))

    AdminController负责处理管理员模块的请求业务逻辑处理,具体的请求路由的自动映射关系在之前的课程中我们已经介绍过:

    • 使用app.Party("/admin")路由组来解析管理员模块的请求

    • 请求url为info,请求类型为Get。因此,在AdminController中声明GetInfo方法来处理获取管理员信息的请求。

    • 请求处理返回值类型为mvc.Result,该类型是专门用于处理请求的返回值类型。在使用过程中,还可以使用mvc.Response以及mvc.View

Controller业务逻辑处理

GetInfo方法中处理/admin/info的业务逻辑主要步骤如下:

  • Session中获取管理员信息

    userByte := ac.Session.Get(ADMIN)
  • 如果获取不到管理员信息,组装数据进行返回,返回数据包含一下字段:

    ```
    mvc.Response{
    Object: map[string]interface{}{
    "status": utils.RECODE_UNLOGIN,//未登陆
    "type":   utils.EEROR_UNLOGIN,//未登陆类型
    "message": utils.Recode2Text(utils.EEROR_UNLOGIN),//提示语未登陆
    }
    ```
  • 如果能够获取到管理员信息数据,将管理员数据信息进行组装并返回,返回数据包含以下字段:

    mvc.Response{
    Object: map[string]interface{}{
    "status": utils.RECODE_OK,
    "data":   admin.AdminToRespDesc(),
    },
    }

    其中返回的data字段中包含的即是管理员的相关信息。此处,我们通过AdminToRespDesc方法将管理员结构体数据转化成所需要的键值信息,该方法定义如下:

        func (this *Admin) AdminToRespDesc() interface{} {
              respDesc := map[string]interface{}{
          "user_name":   this.AdminName,
          "id":         this.AdminId,
          "create_time": this.CreateTime,
          "status":     this.Status,
          "avatar":     this.Avatar,
          "city":       this.CityName,
          "admin":       "管理员",
          }
      return respDesc
    }
adminService查询管理员记录信息
  • GetByAdminNameAndPassword查询用户信息 在开发用户登陆功能时,我们调用过该方法,该方法是使用我们的数据库操作引擎来查询管理员用户信息,并来返回内容并且将查询后的用户信息保存到了session当中:

      ac.engine.Where(" user_name = ? and pwd = ? ", username, password).Get(&admin)

    条件查询使用两个语法:

    • where:添加查询限制条件

    • get:将查询结果赋值给结构体变量

  • SQL语句 我们使用数据库引擎操作查询管理员信息,其实最终执行的SQL语句如下:

select * from admin where user_name = '' and pwd = ''

管理员退出功能

请求及路由映射
  • 管理员退出接口:

    接口详细内容可以参考小幺鸡接口文档:http://www.xiaoyaoji.cn/doc/yyRPCzC5M

  • 路由控制器绑定

    管理员退出功能依然是Get请求,接口url为singout,因此我们在AdminController中定义如下方法用于处理用户退出功能请求:

    func (ac *AdminController) GetSingout() mvc.Result {

      //删除session,下次需要从新登录
      ac.Session.Delete(ADMIN);
      return mvc.Response{
    Object: map[string]interface{}{
    "status": utils.RECODE_OK,
    "success":     utils.Recode2Text(utils.RESPMSG_SIGNOUT),
    },
      }
    }
  • 删除Session 用户退出系统,即是清除掉当前登陆状态。在本实战项目中,我们直接通过清除Session中的管理员信息即可实现对登陆状态的清除。

ac.Session.Delete(ADMIN);

转载于:https://www.cnblogs.com/qfDavie/p/10685022.html

http://www.jmfq.cn/news/5256397.html

相关文章:

  • 百度霸屏推广/seo搜索引擎排名优化
  • 门户网站建设策划/seo是什么职业
  • 网站建设与管理读后感/建一个app平台的费用多少
  • 个人办公室装修效果图/站长工具seo综合查询 分析
  • 营销型网站建设费用怎么这么大/分发平台
  • 企业网站怎么做才能留住客户/重庆seo整站优化设置
  • 建立网站时什么可以使用中文/百度入驻
  • 东莞海外网络推广/南京网站seo
  • 阿里巴巴国际站网页设计教程/国内免费建网站
  • 怎么做企业招聘网站/国家认可的教育培训机构
  • 网站建设宣传预算/手机怎么制作网页
  • 郑州做网站网站建设费用/广州今日新闻最新消息
  • 中药网站模板/搜索指数的数据来源
  • 武汉做网站便宜公司哪家好/百度统计app下载
  • 网站运营者网址/百度电话人工服务
  • 毕业设计难度适中的网站开发项目题目/百度app免费下载安装
  • 做网站应该买哪一种服务器/友情链接收录
  • 中国做类似 esty的网站/怎么联系百度客服人工服务
  • 怎么把自己做的网站发布/宁波网站关键词优化代码
  • 住房城乡建设局网站/seo关键词排名查询
  • 微信网站模板源码/深圳华强北
  • 做网站时的电话图标/百度快速seo
  • 有人做彩票网站吗/sem优化托管
  • 电子商务网站开发的题/义乌百度广告公司
  • 广告网站建设价格/免费创建网站平台
  • 如何做的网站排第一/网站发布与推广
  • 网上做家教哪个网站/西安seo霸屏
  • web网站发布/seo长尾关键词排名
  • 怎么做棋牌网站/如何在百度推广网站
  • 怎样卸载电脑上的wordpress/企业网站seo方案案例