/// <summary> /// 第三方注册登录 /// </summary> /// <param name="oAccessUsersInfo"></param> /// <param name="oUsers"></param> /// <param name="result"></param> /// <returns></returns> public LoginedUsers RegisterLogin(AccessUsersInfo oAccessUsersInfo, Users oUsers, out int result) { string spName = "Wap.AccessUsers_Register_Union"; var p = new DynamicParameters(); p.Add("@ClientId", oAccessUsersInfo.ClientId); p.Add("@UserId", oAccessUsersInfo.UserId); p.Add("@UserName", oAccessUsersInfo.UserName); p.Add("@Platform", oAccessUsersInfo.Platform); p.Add("@OpenId", oAccessUsersInfo.OpenId); p.Add("@AccessToken", oAccessUsersInfo.AccessToken); p.Add("@NickName", oAccessUsersInfo.NickName); p.Add("@Icon", oAccessUsersInfo.Icon); p.Add("@Phone", oAccessUsersInfo.Phone); p.Add("@Email", oAccessUsersInfo.Email); p.Add("@RecentLoginTime", oAccessUsersInfo.RecentLoginTime); p.Add("@IsLogin", oAccessUsersInfo.IsLogin); p.Add("@LoginInvalidTime", oAccessUsersInfo.LoginInvalidTime); p.Add("@UserAgent", oAccessUsersInfo.UserAgent); p.Add("@IMSI", oAccessUsersInfo.IMSI); p.Add("@IMEI", oAccessUsersInfo.IMEI); p.Add("@Version", oAccessUsersInfo.Version); p.Add("@ChannelId", oAccessUsersInfo.ChannelId); p.Add("@SourceType", oAccessUsersInfo.SourceType); p.Add("@Status", oAccessUsersInfo.Status); p.Add("@AddTime", oAccessUsersInfo.AddTime); p.Add("@Fee", oUsers.Fee); p.Add("@GuestUserName", oUsers.UserName); p.Add("@UserIcon", oUsers.Icon); p.Add("@UserPhone", oUsers.Phone); p.Add("@UnionId", oAccessUsersInfo.UnionId); p.Add("@ROut", dbType: DbType.Int32, direction: ParameterDirection.Output); LoginedUsers loginedUsers = DbManage.Query <LoginedUsers>(spName, p, CommandType.StoredProcedure).FirstOrDefault(); result = p.Get <int>("@ROut"); return(loginedUsers); }
protected string Notify(string QrCodeAppId, string QrCodeAppKey, string AuthAppId, string AuthAppKey, string CallbackUrl) { string url = ""; if (!string.IsNullOrEmpty(Code) && !string.IsNullOrEmpty(State) && string.Compare(State, currentUser.State, true) == 0) { WeChatConnect connect = new WeChatConnect(QrCodeAppId, QrCodeAppKey, AuthAppId, AuthAppKey, State, UrlParameterHelper.UrlEncode(CallbackUrl)); if (connect != null && connect.GetAccessTokenByCode(Code) && !string.IsNullOrEmpty(connect.AccessToken)) { currentUser.Token = connect.AccessToken; string result = string.Empty; WeChatConnect.UserInfo model = new WeChatConnect.UserInfo(); if (connect.GetUserInfo(out result, out model) && !string.IsNullOrEmpty(connect.OpenId) && !string.IsNullOrEmpty(result) && string.IsNullOrEmpty(model.errcode)) { currentUser.OpenId = connect.OpenId; currentUser.NickName = model.nickname; string nickName = string.Empty; AccessUsersInfo accessUsersInfo = new AccessUsersInfo(); accessUsersInfo = GetClientLogInfo(accessUsersInfo) as AccessUsersInfo; accessUsersInfo.AccessToken = currentUser.Token; accessUsersInfo.UserName = ""; accessUsersInfo.NickName = currentUser.NickName; accessUsersInfo.Email = ""; accessUsersInfo.Icon = model.headimgurl; accessUsersInfo.Phone = ""; accessUsersInfo.Platform = Constants.AccessUserPlatform.wechat.ToString(); accessUsersInfo.OpenId = currentUser.OpenId; accessUsersInfo.AccessToken = currentUser.Token; accessUsersInfo.LoginInvalidTime = DateTime.Now; accessUsersInfo.RecentLoginTime = DateTime.Now; accessUsersInfo.AddTime = DateTime.Now; accessUsersInfo.Status = (int)Constants.Status.yes; accessUsersInfo.UnionId = model.unionid; Users users = new Users(); users.Fee = 0; users.UserName = CreateUserName(out nickName); users.Icon = ""; users.Phone = ""; int rel = 0; LoginedUsers loginedUsers = null; if ((loginedUsers = _accessUsersService.RegisterLogin(accessUsersInfo, users, out rel)) != null && rel == (int)ErrorMessage.成功) { currentUser.UserId = loginedUsers.Id; currentUser.UserName = loginedUsers.UserName; currentUser.NickName = loginedUsers.NickName; SaveUserInfo(currentUser); //ChapterReadLogSync(loginedUsers.UserName, loginedUsers.Id); url = GetReturnUrl(State); } } } } return(url); }