Esempio n. 1
0
        /// <summary>
        /// 获取短信余额
        /// </summary>
        /// <param name="websiteowner">站点</param>
        /// <returns></returns>
        public bool GetSmsDeposit(string websiteowner, out int deposit, out string msg)
        {
            deposit = 0;
            msg     = "";
            string timeStamp = Math.Round(GetTimeStamp(DateTime.Now), 0).ToString();
            SortedDictionary <string, string> dic = new SortedDictionary <string, string>();

            dic.Add("userName", websiteowner);
            dic.Add("timestamp", timeStamp);
            string sign = CreateSign(timeStamp);

            dic.Add("sign", sign);
            ZentCloud.Common.HttpInterFace request = new Common.HttpInterFace();
            string par    = LinkPar(dic);
            JToken result = JToken.Parse(request.GetWebRequest(par, string.Format("http://{0}/serv/api/sms/status.ashx", ZentCloud.Common.ConfigHelper.GetConfigString("SmsDomain")), Encoding.UTF8));

            if (bool.Parse(result["status"].ToString()))
            {
                deposit = int.Parse(result["result"]["deposit"].ToString());
                msg     = "获取短信余额成功";
                return(true);
            }
            else
            {
                msg = result["msg"].ToString();
                return(false);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 短信充值
 /// </summary>
 /// <param name="websiteowner">站点</param>
 /// <param name="orderId">订单号</param>
 /// <param name="point">短信条数</param>
 /// <param name="msg">提示消息</param>
 /// <returns></returns>
 public bool SmsRecharge(string websiteowner, string orderId, int point, out string msg)
 {
     msg = "";
     try
     {
         string timeStamp = Math.Round(GetTimeStamp(DateTime.Now), 0).ToString();
         SortedDictionary <string, string> dic = new SortedDictionary <string, string>();
         dic.Add("userName", websiteowner);
         dic.Add("timestamp", timeStamp);
         dic.Add("orderId", orderId);
         dic.Add("point", point.ToString());
         string sign = CreateSign(timeStamp);
         dic.Add("sign", sign);
         ZentCloud.Common.HttpInterFace request = new Common.HttpInterFace();
         string par    = LinkPar(dic);
         JToken result = JToken.Parse(request.GetWebRequest(par, string.Format("http://{0}/serv/api/sms/recharge.ashx", ZentCloud.Common.ConfigHelper.GetConfigString("SmsDomain")), Encoding.UTF8));
         if (bool.Parse(result["status"].ToString()))
         {
             msg = "充值成功";
             return(true);
         }
         else
         {
             msg = result["msg"].ToString();
             return(false);
         }
     }
     catch (Exception ex)
     {
         msg = ex.ToString();
         return(false);
     }
 }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        /// <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);
        }
Esempio n. 9
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;
            }
        }
Esempio n. 10
0
        ///// <summary>
        ///// 发送短信 大汉三通
        ///// </summary>
        ///// <param name="mobile">手机号,多个手机号用,分隔</param>
        ///// <param name="message">短信内容</param>
        ///// <param name="sign">短信签名示例【大汉三通】</param>
        ///// <returns></returns>
        //public bool SendSmsdh3t(string mobile, string message, string sign)
        //{
        //    string userId = System.Configuration.ConfigurationManager.AppSettings["DahanSantongUserId"];
        //    string password = System.Configuration.ConfigurationManager.AppSettings["DahanSantongPassword"];
        //    var postData = new
        //    {
        //        account = userId,
        //        password = ZentCloud.Common.DEncrypt.GetMD5(password),
        //        phones = mobile,
        //        content = message,
        //        sign = sign
        //    };
        //    ZentCloud.Common.HttpInterFace request = new Common.HttpInterFace();
        //    string result = request.PostWebRequest(ZentCloud.Common.JSONHelper.ObjectToJson(postData), "http://www.dh3t.com/json/sms/Submit", Encoding.UTF8);
        //    JToken jToken = JToken.Parse(result);
        //    if (jToken["result"].ToString() == "0")
        //    {
        //        return true;
        //    }
        //    return false;


        //}
        /// <summary>
        /// 发送短信
        /// </summary>
        /// <param name="websiteOwner">站点所有者</param>
        /// <param name="mobile">手机号</param>
        /// <param name="message">短信内容</param>
        /// <returns></returns>
        public bool SendSms(string websiteOwner, string mobile, string message)
        {
            //BLLJIMP.BLLUser bllUser = new BLLUser();

            //UserInfo websiteOwnerUserInfo = bllUser.GetUserInfo(websiteOwner, websiteOwner);

            //Common.HttpInterFace webRequest1 = new Common.HttpInterFace();
            //string parm = string.Format("userName={0}&userPwd={1}&mobile={2}&content={3}&pipeID=membertrigger", websiteOwnerUserInfo.UserID, websiteOwnerUserInfo.Password, mobile, message);
            //string returnCode = webRequest1.PostWebRequest(parm, "http://sms.comeoncloud.net/Serv/SubmitSMSAPI.aspx", System.Text.Encoding.GetEncoding("gb2312"));
            //if (!string.IsNullOrEmpty(returnCode) && (returnCode.ToString().Equals("0")))
            //{
            //    return true;
            //}
            //else
            //{
            //    return false;
            //}


            //}

            string timeStamp = Math.Round(GetTimeStamp(DateTime.Now), 0).ToString();
            SortedDictionary <string, string> dic = new SortedDictionary <string, string>();

            dic.Add("userName", websiteOwner);
            dic.Add("mobile", mobile);
            dic.Add("content", message);
            dic.Add("pipeID", "membertrigger");
            dic.Add("timestamp", timeStamp);
            string sign = CreateSign(timeStamp);

            dic.Add("sign", sign);
            ZentCloud.Common.HttpInterFace request = new Common.HttpInterFace();
            string par    = LinkPar(dic);
            JToken result = JToken.Parse(request.GetWebRequest(par, string.Format("http://{0}/serv/api/sms/send.ashx", ZentCloud.Common.ConfigHelper.GetConfigString("SmsDomain")), Encoding.UTF8));

            if (bool.Parse(result["status"].ToString()))
            {
                return(true);
            }
            else
            {
                return(false);
            }


            //string userName = "******";
            //string key = System.Configuration.ConfigurationManager.AppSettings["LUOSIMAOKEY"];
            //string url = "http://sms-api.luosimao.com/v1/send.json";
            //byte[] byteArray = Encoding.UTF8.GetBytes("mobile=" + mobile + "&message=" + message);
            //HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(url));
            //string auth = "Basic " + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(userName + ":" + key));
            //webRequest.Headers.Add("Authorization", auth);
            //webRequest.Method = "POST";
            //webRequest.ContentType = "application/x-www-form-urlencoded";
            //webRequest.ContentLength = byteArray.Length;

            //Stream newStream = webRequest.GetRequestStream();
            //newStream.Write(byteArray, 0, byteArray.Length);
            //newStream.Close();

            //HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
            //StreamReader srReader = new StreamReader(response.GetResponseStream(), Encoding.Default);
            //string result = srReader.ReadToEnd();
            //if (result.Contains("\"error\":0"))
            //{
            //    return true;
            //}
            //else
            //{
            //    try
            //    {
            //        using (StreamWriter sw = new StreamWriter(@"D:\SmsLog.txt", true, Encoding.GetEncoding("gb2312")))
            //        {
            //            sw.WriteLine(string.Format("{0}  {1}", DateTime.Now.ToString(), result + message));
            //        }
            //    }
            //    catch { }
            //}
            //return false;
        }
Esempio n. 11
0
        /// <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));
        }