예제 #1
0
파일: WeiboAPI.cs 프로젝트: uvbs/mmp
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="data"></param>
        /// <param name="url"></param>
        /// <param name="method"></param>
        /// <returns></returns>
        public T GetCommand <T>(string data, string url, string method = "get")
        {
            data += "&access_token=" + accessTokenBase;

            string result = string.Empty;

            try
            {
                if (method.Equals("get", StringComparison.OrdinalIgnoreCase) || method.Equals(""))
                {
                    result = m.GetWebRequest(data, url, encodingBase);
                }
                else if (method.Equals("post", StringComparison.OrdinalIgnoreCase))
                {
                    result = m.PostWebRequest(data, url, encodingBase);
                }

                if (result == "[]" || string.IsNullOrWhiteSpace(result))
                {
                    return(default(T));
                }
                return(JsonConvert.DeserializeObject <T>(result));
            }
            catch (Exception ex)
            {
                return(default(T));
                //throw ex;
            }
        }
예제 #2
0
파일: BLLWeixinOpen.cs 프로젝트: uvbs/mmp
        /// <summary>
        /// 获取授权方的公众号帐号基本信息
        /// </summary>
        /// <param name="authorizerAppId">授权公众号AppId</param>
        /// <returns></returns>
        public string GetAuthorizerInfo(string authorizerAppId)
        {
            var dataObj = new
            {
                component_appid  = ComponentAppId,
                authorizer_appid = authorizerAppId
            };
            string data = ZentCloud.Common.JSONHelper.ObjectToJson(dataObj);

            ZentCloud.Common.HttpInterFace webRequest = new Common.HttpInterFace();
            var result = webRequest.PostWebRequest(data, string.Format("https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info?component_access_token={0}", GetComponentAccessToken()), Encoding.UTF8);

            return(result);
        }
예제 #3
0
파일: BLLWeixinOpen.cs 프로젝트: uvbs/mmp
        /// <summary>
        /// 获取预授权码
        /// </summary>
        /// <returns></returns>
        public string GetPreAuthCode()
        {
            string accessToken = GetComponentAccessToken();
            var    systemSet   = GetSysSet();
            var    dataObj     = new
            {
                component_appid = systemSet.ComponentAppId
            };
            string data = ZentCloud.Common.JSONHelper.ObjectToJson(dataObj);

            ZentCloud.Common.HttpInterFace webRequest = new Common.HttpInterFace();
            var result = webRequest.PostWebRequest(data, string.Format("https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token={0}", accessToken), Encoding.UTF8);

            ComponentPreAuthCodeModel model = ZentCloud.Common.JSONHelper.JsonToModel <ComponentPreAuthCodeModel>(result);

            return(model.pre_auth_code);
        }
예제 #4
0
파일: BLLWeixinOpen.cs 프로젝트: uvbs/mmp
        /// <summary>
        /// 使用授权码换取公众号的接口调用凭据和授权信息
        /// </summary>
        /// <returns></returns>
        public AuthorizationInfoModel GetQueryAuth(string authCode)
        {
            var systemSet = GetSysSet();
            var dataObj   = new
            {
                component_appid    = systemSet.ComponentAppId,
                authorization_code = authCode
            };
            string data = ZentCloud.Common.JSONHelper.ObjectToJson(dataObj);

            ZentCloud.Common.HttpInterFace webRequest = new Common.HttpInterFace();
            var result = webRequest.PostWebRequest(data, string.Format("https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token={0}", GetComponentAccessToken()), Encoding.UTF8);

            AuthorizationInfoModel model = ZentCloud.Common.JSONHelper.JsonToModel <AuthorizationInfoModel>(result);

            return(model);
        }
예제 #5
0
파일: BLLWeixinOpen.cs 프로젝트: uvbs/mmp
        /// <summary>
        /// 获取组件AccessToken
        /// </summary>
        /// <param name="componentAppId">组件AppId</param>
        /// <param name="componentAppsecret">组件AppSecret</param>
        /// <param name="componentVerifyTicket">组件VerifyTicket</param>
        /// <returns>ComponentAccessToken</returns>
        private string GetComponentAccessToken(string componentAppId, string componentAppsecret, string componentVerifyTicket)
        {
            //string token = string.Empty;
            var dataObj = new
            {
                component_appid         = componentAppId,
                component_appsecret     = componentAppsecret,
                component_verify_ticket = componentVerifyTicket
            };
            string data = ZentCloud.Common.JSONHelper.ObjectToJson(dataObj);

            ZentCloud.Common.HttpInterFace webRequest = new Common.HttpInterFace();
            var result = webRequest.PostWebRequest(data, "https://api.weixin.qq.com/cgi-bin/component/api_component_token", Encoding.UTF8);

            ComponentAccessTokenModel componentAccessTokenModel = ZentCloud.Common.JSONHelper.JsonToModel <ComponentAccessTokenModel>(result);

            return(componentAccessTokenModel.component_access_token);
        }
예제 #6
0
파일: BLLWeixinOpen.cs 프로젝트: uvbs/mmp
        /// <summary>
        /// 获取授权公众号的接口调用凭据(令牌)
        /// </summary>
        /// <param name="authorizerAppId">授权公众号AppId</param>
        /// <param name="authorizerRefreshToken">授权公众号刷新Token</param>
        /// <param name="websiteOwner">站点所有者s</param>
        /// <returns></returns>
        private string GetAuthorizerToken(string authorizerAppId, string authorizerRefreshToken, string websiteOwner)
        {
            BLLWeixin bllWeixin = new BLLWeixin();

            bllWeixin.ToBLLWeixinLog("GetAuthorizerToken Open");
            var systemSet = GetSysSet();
            var dataObj   = new
            {
                component_appid          = systemSet.ComponentAppId,
                authorizer_appid         = authorizerAppId,
                authorizer_refresh_token = authorizerRefreshToken
            };

            string data = ZentCloud.Common.JSONHelper.ObjectToJson(dataObj);

            bllWeixin.ToBLLWeixinLog("GetAuthorizerToken Open,data:" + data);

            ZentCloud.Common.HttpInterFace webRequest = new Common.HttpInterFace();
            var result = webRequest.PostWebRequest(data, string.Format("https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token={0}", GetComponentAccessToken()), Encoding.UTF8);

            bllWeixin.ToBLLWeixinLog("result" + result);
            AuthorizerAccessTokenModel model = ZentCloud.Common.JSONHelper.JsonToModel <AuthorizerAccessTokenModel>(result);

            bllWeixin.ToBLLWeixinLog("GetAuthorizerToken Open,AuthorizerAccessTokenModel:" + data);

            //
            //更新 authorizer_access_token
            //
            var currentWebsiteInfo = GetWebsiteInfoModelFromDataBase(websiteOwner);

            if (!string.IsNullOrEmpty(model.authorizer_access_token))
            {
                currentWebsiteInfo.AuthorizerAccessTokenUpdateTime = DateTime.Now;
                currentWebsiteInfo.AuthorizerAccessToken           = model.authorizer_access_token;
                currentWebsiteInfo.AuthorizerRefreshToken          = model.authorizer_refresh_token;
                Update(currentWebsiteInfo);
            }
            //
            return(model.authorizer_access_token);
        }
예제 #7
0
파일: BllKuaidi100.cs 프로젝트: uvbs/mmp
        /// <summary>
        /// 订阅请求
        /// </summary>
        /// <returns></returns>
        public bool Poll(string expressCompanyCode, string expressNumber, out string msg)
        {
            msg = "";
            string data = "";
            string url  = "http://www.kuaidi100.com/poll";

            ZentCloud.Common.HttpInterFace request = new Common.HttpInterFace();
            var parameters = new
            {
                callbackurl = string.Format("http://{0}/kuaidi100/callback.ashx", HttpContext.Current.Request.Url.Host),

                salt     = key,
                resultv2 = ""
            };
            var body = new
            {
                company    = expressCompanyCode,
                from       = "",
                to         = "",
                number     = expressNumber,
                key        = key,
                parameters = parameters
            };

            data = ZentCloud.Common.JSONHelper.ObjectToJson(body);
            var resultStr = request.PostWebRequest(string.Format("param={0}", data), url, Encoding.UTF8);

            ResultModel result = ZentCloud.Common.JSONHelper.JsonToModel <ResultModel>(resultStr);

            msg = result.message;
            if (result.result.ToLower() == "true" && result.returnCode == "200")
            {
                return(true);
            }
            return(false);
        }
예제 #8
0
        /// <summary>
        /// 发送定时短信
        /// </summary>
        /// <param name="phone">手机号</param>
        /// <param name="msgContent">短信内容</param>
        /// <param name="sendTime">发送时间</param>
        /// <param name="smsSignature">短信签名</param>
        /// <param name="isSuccess">是否成功</param>
        /// <param name="msg"></param>
        public void SendSmsMisson(string phone, string msgContent, string sendTime, string smsSignature, out bool isSuccess, out string msg)
        {
            isSuccess = false;
            msg       = "";
            if (string.IsNullOrEmpty(smsSignature))
            {
                smsSignature = "至云";
            }
            string   sendContent          = string.Format("{0}【{1}】", msgContent, smsSignature);
            UserInfo websiteOwnerUserInfo = GetCurrWebSiteUserInfo();

            Common.HttpInterFace webRequest = new Common.HttpInterFace();
            string parm       = string.Format("userName={0}&userPwd={1}&mobile={2}&content={3}&pipeID=membermission&attime={4}", websiteOwnerUserInfo.UserID, websiteOwnerUserInfo.Password, phone, sendContent, sendTime);
            string returnCode = webRequest.PostWebRequest(parm, "http://sms.comeoncloud.net/Serv/SubmitSMSAPI.aspx", System.Text.Encoding.GetEncoding("gb2312"));

            if (!string.IsNullOrEmpty(returnCode) && (returnCode.ToString().Equals("0")))
            {
                isSuccess = true;
            }
            else
            {
                msg = returnCode;
            }
        }
예제 #9
0
파일: Handler.ashx.cs 프로젝트: uvbs/mmp
        /// <summary>
        /// 投票
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string SubmitInfoDali(HttpContext context)
        {
            string voteId      = context.Request["vid"];
            string phone       = context.Request["phone"];
            var    recordCount = bllVote.GetCount <SMSDetails>(string.Format("PlanID={0} And Receiver='{1}'", voteId, currentUserInfo.UserID));

            if (recordCount == 1)
            {
                resp.errcode = -1;
                resp.errmsg  = "不能再继续抽奖";
                return(Common.JSONHelper.ObjectToJson(resp));
            }
            string   token      = "";
            DateTime dtSendTime = DateTime.Now;

            if (dtSendTime.Hour >= 19)
            {
                dtSendTime = Convert.ToDateTime(dtSendTime.ToString("yyyy-MM-dd"));
                dtSendTime = dtSendTime.AddDays(1).AddHours(9);
            }
            Random rand  = new Random();
            int    index = rand.Next(1, 3);

            switch (index)
            {
            case 1:
                token = "我的时尚";
                break;

            case 2:
                token = "加油";
                break;

            default:
                break;
            }
            string sendMsg = string.Format("感谢参与,您的密令为 “{0}”,点击 c.tb.cn/c.ZIW7y 立刻前往官方店联系客服领取!【The.Me】", token);


            UserInfo websiteOwnerUserInfo = bllVote.GetCurrWebSiteUserInfo();

            Common.HttpInterFace webRequest = new Common.HttpInterFace();
            string parm       = string.Format("userName={0}&userPwd={1}&mobile={2}&content={3}&pipeID=membermission&attime={4}", websiteOwnerUserInfo.UserID, websiteOwnerUserInfo.Password, phone, sendMsg, dtSendTime.ToString());
            string returnCode = webRequest.PostWebRequest(parm, "http://sms.comeoncloud.net/Serv/SubmitSMSAPI.aspx", System.Text.Encoding.GetEncoding("gb2312"));

            if (!string.IsNullOrEmpty(returnCode) && (returnCode.ToString().Equals("0")))
            {
                resp.errmsg = "ok";
                SMSDetails model = new SMSDetails();
                model.PlanID   = voteId;
                model.Receiver = currentUserInfo.UserID;
                bllSms.Add(model);
            }
            else
            {
                resp.errcode = -1;
                resp.errmsg  = "code:" + returnCode;
                //if (returnCode=="1002")//余额不足
                //{
                //    resp.errcode = 0;
                //}
                return(Common.JSONHelper.ObjectToJson(resp));
            }
            return(Common.JSONHelper.ObjectToJson(resp));
        }