Exemple #1
0
        public IActionResult Post(RowMode.Request request)
        {
            try
            {
                UserService.RowService service = new UserService.RowService();
                // Request验证
                if (request == null)
                {
                    throw new Exception("Request无效!");
                }
                // 指向具体执行的方法
                switch (request.Function.Name.ToLower())
                {
                case "bywechatno":
                    return(base.ResponseOk(
                               request.ToResponse(
                                   service.ByWeChatNo(request.Function.Args[0] ?? "", ToParams(request.Function.Args, 1))
                                   )
                               ));

                case "bywechatopenid":
                    return(base.ResponseOk(
                               request.ToResponse(
                                   service.ByWeChatOpenId(request.Function.Args[0] ?? "", ToParams(request.Function.Args, 1))
                                   )
                               ));

                case "bymobile":
                    return(base.ResponseOk(
                               request.ToResponse(
                                   service.ByMobile(request.Function.Args[0] ?? "", ToParams(request.Function.Args, 1))
                                   )
                               ));

                default:
                    if (string.IsNullOrEmpty(request.Function.Name) || request.Function.Name.ToLower().Equals("byid"))
                    {
                        return(base.ResponseOk(
                                   request.ToResponse(
                                       service.ById(int.Parse(request.Function.Args[0] ?? ""), ToParams(request.Function.Args, 1))
                                       )
                                   ));
                    }
                    else
                    {
                        throw new Exception("未发现对应函数方法!");
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public IActionResult WeChatVerify(string code)
        {
            WeChatEntity entity = JsonConvert.DeserializeObject <WeChatEntity>(
                HttpGetRequestAsync(
                    @"https://api.weixin.qq.com/sns/jscode2session",
                    new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>("appid", "wx1682ca244fe65dc6"),
                new KeyValuePair <string, string>("secret", "a620028546bf65c286e968f9bd416cce"),
                new KeyValuePair <string, string>("js_code", code),
                new KeyValuePair <string, string>("grant_type", "authorization_code")
            },
                    CONTENT_TYPE.APPLICATION_X_WWW_FORM_URLENCODED
                    )
                );

            // 微信认证判断
            if (entity != null && entity.OpenId != null)
            {
                var user = new UserService.RowService().ByWeChatOpenId(entity.OpenId);
                // 已有用户
                if (user != null)
                {
                    return(new JsonResult(new {
                        result = true,
                        message = "微信认证成功,并找到对应系统用户!",
                        token = GenerateToken(user),
                        weChatEntity = entity,
                        user = new { userId = user.Id, userName = user.Name, realName = user.RealName, weChatOpenId = user.WeChatOpenId }
                    }));
                }
                else
                {
                    return(new JsonResult(new {
                        result = true,
                        message = "微信认证成功,但没有找到对应系统用户!",
                        token = new {},
                        weChatEntity = entity,
                        user = new { }
                    }));
                }
            }
            else
            {
                return(new JsonResult(new { result = false, message = "微信认证失败", token = new {}, weChatEntity = new { }, user = new { } }));
            }
        }
        public IActionResult GetTokenByMobile(string mobile)
        {
            var user = new UserService.RowService().ByMobile(mobile);

            if (user != null)
            {
                return(new JsonResult(new {
                    result = true,
                    message = "认证成功",
                    token = GenerateToken(user),
                    user = new { userId = user.Id, userName = user.Name, realName = user.RealName, weChatOpenId = user.WeChatOpenId }
                }));
            }
            else
            {
                return(new JsonResult(new
                {
                    result = false,
                    message = "认证失败",
                    token = new { },
                    user = new { }
                }));
            }
        }