/// <summary> /// 获取Csv数据,支持大数据下载 /// </summary> /// <param name="inEnt"></param> /// <param name="sqlStr"></param> /// <returns></returns> public async Task <ResultObj <List <byte> > > QueryExecuteCsv(QuerySearchDto inEnt) { ResultObj <List <byte> > reObj = new ResultObj <List <byte> >(); List <byte> reEnt = new List <byte>(); SysQueryEntity query = await dal.Single(i => i.code == inEnt.code); if (query == null) { return(reObj); } JObject cfg = TypeChange.JsonToObject(query.queryCfgJson); Dictionary <string, string> dict = new Dictionary <string, string>(); foreach (var item in cfg) { try { dict.Add(item.Key, item.Value["title"].ToString()); } catch { } } string whereStr = ""; string AllSql = MakeSql(inEnt, query.queryConf, ref whereStr); //如果条件为空 if (!string.IsNullOrEmpty(whereStr)) { if (!whereStr.Trim().ToLower().StartsWith("where")) { whereStr = "where " + whereStr; } AllSql = string.Format(@" SELECT T.* FROM ( {0} ) T {1} ", AllSql, whereStr); } try { reObj.msg = AllSql; reObj.data = dal.ExecuteBytesAsync(AllSql, null, dict); } catch (Exception e) { reObj.msg = e.Message; reObj.success = false; return(reObj); } return(reObj); }
/// <summary> /// 获取用户基本信息 /// </summary> /// <param name="openid"></param> /// <returns></returns> public static WxUserEntity GetUserInfo(string openid) { var msgStr = Fun.HttpGetJson($"https://api.weixin.qq.com/cgi-bin/user/info?access_token={ReadAccessToken()}&openid={openid}"); var ticketDict = TypeChange.JsonToObject(msgStr); if (ticketDict.ContainsKey("errcode")) { throw new Exception(ticketDict.GetValue("errmsg").ToString()); } return(TypeChange.JsonToObject <WxUserEntity>(msgStr));; }
/// <summary> /// 设置菜单 /// </summary> /// <param name="accessToken"></param> /// <param name="menuStr"></param> /// <returns></returns> public static string SetMenu(string accessToken, string menuStr) { var msgStr = Fun.HttpPostJson("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + accessToken, menuStr); var ticketDict = TypeChange.JsonToObject <Dictionary <string, string> >(msgStr); if (ticketDict.ContainsKey("errcode")) { msgStr = ticketDict["errcode"]; } return(msgStr); }
public static WxUserEntity GetWebpageUserInfo(string access_token, string openid) { string url = $"https://api.weixin.qq.com/sns/userinfo?access_token={access_token}&openid={openid}&lang=zh_CN"; string reJson = Fun.HttpGetJson(url); var t = TypeChange.JsonToObject(reJson); if (t.ContainsKey("openid")) { return(TypeChange.JsonToObject <WxUserEntity>(reJson)); } throw new Exception(reJson); }
/// <summary> /// 获取网页授权access_token /// </summary> /// <param name="appid"></param> /// <param name="secret"></param> /// <param name="code">网页授权地址返回的code</param> /// <returns></returns> public static WebpageToken GetWebpageToken(string appid, string secret, string code) { var url = $"https://api.weixin.qq.com/sns/oauth2/access_token?appid={appid}&secret={secret}&code={code}&grant_type=authorization_code"; string reJson = Fun.HttpGetJson(url); var t = TypeChange.JsonToObject(reJson); if (t.ContainsKey("openid")) { return(TypeChange.JsonToObject <WebpageToken>(reJson)); } throw new Exception(reJson); }
/// <summary> /// jsapi_ticket是公众号用于调用微信JS接口的临时票据 /// </summary> /// <param name="accessToken"></param> /// <returns></returns> public static string GetJsapiTicket(string accessToken) { var ticket = ""; ticket = Fun.HttpGetJson("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + accessToken + "&type=jsapi"); var ticketDict = TypeChange.JsonToObject <Dictionary <string, string> >(ticket); if (ticketDict.ContainsKey("ticket")) { ticket = ticketDict["ticket"]; } return(ticket); }
/// <summary> /// 获取维护关注公众号带参数的二维码 /// </summary> /// <param name="token"></param> /// <param name="postEnt"></param> /// <returns></returns> public static string GetQrCodeTicket(string token, string postEnt = null) { var ticket = ""; if (string.IsNullOrEmpty(postEnt)) { postEnt = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"etc_test\"}}}"; } ticket = Fun.HttpPostJson("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + token, postEnt); var ticketDict = TypeChange.JsonToObject <Dictionary <string, string> >(ticket); if (ticketDict.ContainsKey("ticket")) { ticket = ticketDict["ticket"]; } return(ticket); }
/// <summary> /// 获取微信的token /// </summary> /// <param name="appid"></param> /// <param name="secret"></param> /// <returns></returns> public static string GetAccessToken(string appid, string secret) { if (string.IsNullOrEmpty(appid)) { appid = Global.appConfig.WeiXin.Appid; } if (string.IsNullOrEmpty(secret)) { secret = Global.appConfig.WeiXin.Secret; } var token = ""; string access_tokenJson = Fun.HttpGetJson(string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret)); var dict = TypeChange.JsonToObject <Dictionary <string, string> >(access_tokenJson); if (dict.ContainsKey("access_token")) { token = dict["access_token"]; } return(token); }