Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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));;
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        /// <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);
        }
Пример #8
0
        /// <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);
        }