コード例 #1
0
        public async Task <ActionResult <ApiResult <UserInfo> > > Login([FromQuery] string code, [FromServices] IUserInfoService service)
        {
            var res = await WeixinHelper.GetLoginInfoAsync(code);

            var json   = JObject.Parse(res);
            var result = new ApiResult <UserInfo>();
            var openId = json["openid"].Value <string>();
            var user   = await service.GetUserByOpenIdAsync(openId);

            if (user == null)
            {
                // 用户第一次登陆
                user = new UserInfo {
                    OpenId = openId
                };
                await service.AddAsync(user);
            }
            result.Result  = user;
            result.Message = "requst:ok";
            return(result);
        }