/// <summary> /// 创建临时二维码 /// </summary> public async Task <WcReply <WcQrcode> > Create(WcAccessToken token, int sceneId) { string url = string.Format(URL_QRCODE_CREATE, token.Token); var obj = new { action_name = "QR_LIMIT_SCENE", action_info = new { scene = new { scene_id = sceneId } } }; var res = await HttpHelper.HttpPostAsync(url, JsonConvert.SerializeObject(obj)); if (res.IndexOf("errcode") >= 0) { WcReply <WcQrcode> error = JsonConvert.DeserializeObject <WcReply <WcQrcode> >(res); _logger.LogError(error.ToString()); return(error); } WcQrcode data = JsonConvert.DeserializeObject <WcQrcode>(res); return(new WcReply <WcQrcode> { Data = data, ErrCode = 0 }); }
/// <summary> /// 更新用户标签 /// </summary> public async Task <WcReply <string> > UpdateUserTag(WcAccessToken token, int tagId, string name) { string url = string.Format(URL_TAG_UPDATE, token.Token); var res = await HttpHelper.HttpPostAsync(url, "{\"tag\":{\"id\":" + tagId + ", \"name\":\"" + name + "\"}}"); WcReply <string> rsp = JsonConvert.DeserializeObject <WcReply <string> >(res); if (rsp.ErrCode != 0) { _logger.LogError(rsp.ToString()); } return(rsp); }
/// <summary> /// 更新用户备注名 /// </summary> public async Task <WcReply <string> > UpdateUserRemark(WcAccessToken token, string openid, string remark) { string url = string.Format(URL_USER_REMARK_UPDATE, token.Token); var res = await HttpHelper.HttpPostAsync(url, "{\"openid\":\"" + openid + "\", \"remark\":\"" + remark + "\"}"); WcReply <string> rsp = JsonConvert.DeserializeObject <WcReply <string> >(res); if (rsp.ErrCode != 0) { _logger.LogError(rsp.ToString()); } return(rsp); }
/// <summary> /// 取得用户标签列表 /// </summary> public async Task <WcReply <WcUserTagListRsp> > GetUserTagListAsync(WcAccessToken token) { var res = await HttpHelper.HttpGetAsync(string.Format(URL_TAGS_GET, token.Token)); if (res.IndexOf("errcode") >= 0) { WcReply <WcUserTagListRsp> error = JsonConvert.DeserializeObject <WcReply <WcUserTagListRsp> >(res); _logger.LogError(error.ToString()); return(error); } WcUserTagListRsp data = JsonConvert.DeserializeObject <WcUserTagListRsp>(res); return(new WcReply <WcUserTagListRsp> { Data = data, ErrCode = 0 }); }
/// <summary> /// 取得微信用户信息 /// </summary> public async Task <WcReply <WcUserDetailRsp> > GetUserDetailAsync(WcAccessToken token, string openId) { var res = await HttpHelper.HttpGetAsync(string.Format(URL_USERS_DETAIL, token.Token, openId)); if (res.IndexOf("errcode") >= 0) { WcReply <WcUserDetailRsp> error = JsonConvert.DeserializeObject <WcReply <WcUserDetailRsp> >(res); _logger.LogError(error.ToString()); return(error); } WcUserDetailRsp data = JsonConvert.DeserializeObject <WcUserDetailRsp>(res); return(new WcReply <WcUserDetailRsp> { Data = data, ErrCode = 0 }); }
/// <summary> /// 创建用户标签 /// </summary> public async Task <WcReply <WcUserTagCreateRsp> > CreateUserTag(WcAccessToken token, string name) { string url = string.Format(URL_TAG_CREATE, token.Token); var res = await HttpHelper.HttpPostAsync(url, "{\"tag\":{\"name\":\"" + name + "\"}}"); if (res.IndexOf("errcode") >= 0) { WcReply <WcUserTagCreateRsp> error = JsonConvert.DeserializeObject <WcReply <WcUserTagCreateRsp> >(res); _logger.LogError(error.ToString()); return(error); } WcUserTagCreateRsp data = JsonConvert.DeserializeObject <WcUserTagCreateRsp>(res); return(new WcReply <WcUserTagCreateRsp> { Data = data, ErrCode = 0 }); }
private async Task SyncOneOpenidAsync(IDapper dapper, WcAccessToken token, long accountId, string openid) { if (openid.IsNullOrEmpty()) { return; } //取得微信用户信息 var rsp = await wcUserTool.GetUserDetailAsync(token, openid); if (rsp.ErrCode != 0) { _logger.LogError(rsp.ToString()); return; } var wcUser = rsp.Data; //取得本地用户信息 var user = await dapper.QueryOneAsync <WxUser>(new { AccountId = accountId, OpenId = openid }); if (user == null) { if (wcUser.Subscribe == 1) { //创建新用户 user = new WxUser { Id = ID.NewID(), AccountId = accountId, OpenId = openid, UnionId = wcUser.Unionid, IsSubscribe = true, NickName = wcUser.Nickname, HeadImgUrl = wcUser.Headimgurl, Sex = (EmSex)wcUser.Sex, Country = wcUser.Country, Province = wcUser.Province, City = wcUser.City, Language = wcUser.Language, Remark = wcUser.Remark, SubscribeTime = new DateTime(1970, 1, 1).AddSeconds(wcUser.SubscribeTime), UserTags = string.Join(",", wcUser.TagidList), CreateTime = DateTime.Now, IsDeleted = false, }; await dapper.InsertAsync(user); } } else { //更新当前信息 if (wcUser.Subscribe == 1) { var item = new { UnionId = wcUser.Unionid, IsSubscribe = true, NickName = wcUser.Nickname, HeadImgUrl = wcUser.Headimgurl, Sex = (EmSex)wcUser.Sex, Country = wcUser.Country, Province = wcUser.Province, City = wcUser.City, Language = wcUser.Language, Remark = wcUser.Remark, SubscribeTime = new DateTime(1970, 1, 1).AddSeconds(wcUser.SubscribeTime), UserTags = string.Join(",", wcUser.TagidList), }; await dapper.UpdateAsync <WxUser>(item, new { user.Id }); } else { await dapper.UpdateAsync <WxUser>(new { IsSubscribe = false }, new { user.Id }); } } }