示例#1
0
        /// <summary>
        /// 添加配置记录
        /// </summary>
        /// <param name="item">WeixinAgentItem对象</param>
        /// <returns>处理结果</returns>
        public WeixinAgentItem AddItem(WeixinAgentItem item)
        {
            item.id = this.GetIdentity();

            List <WeixinAgentItem> items = this.GetItems();

            items.Add(item);

            WeixinAgent weixinAgent = new WeixinAgent();

            weixinAgent.agentItem = items.ToArray();

            try
            {
                string path = configPath;
                XmlHelper.XmlSerializeToFile(weixinAgent, path, System.Text.Encoding.UTF8);
            }
            catch (Exception ex)
            {
                item = null;
                logs.Debug("AddItem", ex);
            }


            return(item);
        }
示例#2
0
        /// <summary>
        /// 删除配置记录
        /// </summary>
        /// <param name="id">记录ID</param>
        /// <returns>处理结果</returns>
        public bool DelItem(int id)
        {
            bool            r    = false;
            WeixinAgentItem item = this.GetItem(id);

            if (item != null)
            {
                List <WeixinAgentItem> items = this.GetItems();

                WeixinAgent weixinAgent = new WeixinAgent();
                items.Remove(item);
                weixinAgent.agentItem = items.ToArray();

                try
                {
                    string path = configPath;
                    XmlHelper.XmlSerializeToFile(weixinAgent, path, System.Text.Encoding.UTF8);
                    r = true;
                }
                catch (Exception ex)
                {
                    r = false;
                    logs.Debug("DelItem", ex);
                }
            }

            return(r);
        }
示例#3
0
        /// <summary>
        /// 分派信息配置对象状态
        /// </summary>
        /// <returns></returns>
        public bool GetAgentStatus(WeixinAgentItem item)
        {
            string begin = item.begin; //.ToString("yyyy-MM-dd");
            string end   = item.end;   //.ToString("yyyy-MM-dd");

            return(DateTimeManger.Availability(DateTime.Parse(begin), DateTime.Parse(end), DateTime.Now));;
        }
示例#4
0
        public MsgEntity PostAgent(WeixinAgentItem item)
        {
            MsgEntity r;

            if (item.id == 0)
            {
                if (!agentConfig.IsExist(item.id))
                {
                    item = agentConfig.AddItem(item);

                    if (item != null && item.id > 0)
                    {
                        r = ResponseMsg.SetEntity(out r, 1000);
                    }
                    else
                    {
                        r = ResponseMsg.SetEntity(out r, 1101);
                    }
                }
                else
                {
                    r = ResponseMsg.SetEntity(out r, 1100);
                }
            }
            else
            {
                r = ResponseMsg.SetEntity(out r, 1102);
            }

            return(r);
        }
示例#5
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            int             id              = 99999;
            AgentConfig     agentConfig     = new AgentConfig();
            WeixinAgentItem weixinAgentItem = agentConfig.GetItem(id);

            if (weixinAgentItem != null)
            {
                string host      = "http://" + HttpContext.Current.Request.Url.Host;
                string nonce_str = Util.GetRandomString(32, true, true, true, false, "");
                string timestamp = Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString();
                string sn        = weixinAgentItem.sn;

                Hashtable ht = new Hashtable();
                ht.Add("nonce_str", nonce_str);
                ht.Add("timestamp", timestamp);
                ht.Add("id", id);

                string sign = GetSignX(ht, sn);

                string requestUrl = host + "/api/access_token/";
                requestUrl += "?nonce_str=" + nonce_str + "&timestamp=" + timestamp + "&id=" + id;
                requestUrl += "&sign=" + sign;

                context.Response.Write(HttpService.Get(requestUrl));
            }
            else
            {
                context.Response.Write("示例配置记录不存在");
            }
        }
示例#6
0
        /// <summary>
        /// 根据记录ID读取配置内容对象
        /// </summary>
        /// <param name="id">记录ID</param>
        /// <returns>WeixinAgentItem对象</returns>
        public WeixinAgentItem GetItem(int id)
        {
            WeixinAgentItem r           = null;
            WeixinAgent     weixinAgent = GetConfig();

            Array arr =
                (from weixinAgentItem in weixinAgent.agentItem
                 where (weixinAgentItem.id == id)
                 select weixinAgentItem).ToArray <WeixinAgentItem>();

            if (arr.Length > 0)
            {
                r = (WeixinAgentItem)arr.GetValue(0);
            }

            return(r);
        }
示例#7
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            int             id              = 99999;
            AgentConfig     agentConfig     = new AgentConfig();
            WeixinAgentItem weixinAgentItem = agentConfig.GetItem(id);

            if (weixinAgentItem != null)
            {
                string host     = "http://" + HttpContext.Current.Request.Url.Host;
                string redirect = host + "/example/index.html"; //context.Request["redirect"];
                redirect = context.Server.UrlEncode(redirect);

                //***
                string scope = "snsapi_base";
                if (context.Request["scope"] != null)
                {
                    scope = context.Request["scope"];
                }

                string sn        = weixinAgentItem.sn;
                string nonce_str = Util.GetRandomString(32, true, true, true, false, "");
                string timestamp = Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString();

                Hashtable ht = new Hashtable();
                ht.Add("nonce_str", nonce_str);
                ht.Add("timestamp", timestamp);
                ht.Add("id", id);

                string sign = GetSignX(ht, sn);

                string requestUrl = host + "/api/authorize/";
                requestUrl += "?scope=" + scope + "&redirect=" + redirect;
                requestUrl += "&nonce_str=" + nonce_str + "&timestamp=" + timestamp + "&id=" + id;
                requestUrl += "&sign=" + sign;

                context.Response.Redirect(requestUrl);
            }
            else
            {
                context.Response.Write("示例配置记录不存在");
            }
        }
示例#8
0
        /// <summary>
        /// 修改配置记录
        /// </summary>
        /// <param name="item">WeixinAgentItem对象</param>
        /// <returns>处理结果</returns>
        public bool UpdateItem(WeixinAgentItem item)
        {
            bool r = false;

            if (item != null && this.IsExist(item.id))
            {
                List <WeixinAgentItem> items = this.GetItems();

                WeixinAgent weixinAgent = new WeixinAgent();

                List <WeixinAgentItem> newItems = new List <WeixinAgentItem>();
                foreach (WeixinAgentItem i in items)
                {
                    if (i.id == item.id)
                    {
                        newItems.Add(item);
                    }
                    else
                    {
                        newItems.Add(i);
                    }
                }
                weixinAgent.agentItem = newItems.ToArray();

                try
                {
                    string path = configPath;
                    XmlHelper.XmlSerializeToFile(weixinAgent, path, System.Text.Encoding.UTF8);
                    r = true;
                }
                catch (Exception ex)
                {
                    r = false;
                    logs.Debug("UpdateItem Exception", ex);
                }
            }

            return(r);
        }
示例#9
0
        public MsgEntity PutAgent(WeixinAgentItem item)
        {
            MsgEntity r;

            if (agentConfig.IsExist(item.id))
            {
                if (agentConfig.UpdateItem(item))
                {
                    r = ResponseMsg.SetEntity(out r, 2000);
                }
                else
                {
                    r = ResponseMsg.SetEntity(out r, 2101);
                }
            }
            else
            {
                r = ResponseMsg.SetEntity(out r, 2100);
            }

            return(r);
        }
示例#10
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //context.Response.Write("Hello World");

            AgentConfig agentConfig = new AgentConfig();

            //根据记录ID读取配置内容对象
            //WeixinAgentItem item = agentConfig.GetItem(15);
            //context.Response.Write(item.name);


            //获取SN
            //string sn = agentConfig.CreateSN();
            //context.Response.Write(sn);


            //读取全部配置内容对象
            //List<WeixinAgentItem> items = agentConfig.GetItems();
            //foreach (WeixinAgentItem item in items)
            //{
            //    context.Response.Write(item.name + "\n\r");
            //}


            //获取申请用户
            //List<string> agentNames = agentConfig.GetAgentName();
            //foreach (string name in agentNames)
            //{
            //    context.Response.Write(name + "\n\r");
            //}


            //分派信息配置对象状态
            //WeixinAgentItem item = agentConfig.GetItem(15);
            //bool status = agentConfig.GetAgentStatus(item);
            //context.Response.Write(status);


            //创建记录时获取配置项ID
            //int id = agentConfig.GetIdentity();
            //context.Response.Write(id);


            //添加配置记录
            //List<WeixinAgentItem> items = agentConfig.GetItems();
            //context.Response.Write("countA:" + items.Count + "\n\r");

            //WeixinAgentItem item = new WeixinAgentItem();
            //item.id = agentConfig.GetIdentity();
            //item.agent = agentConfig.GetAgentName()[0];
            //item.name = "项目A";
            //item.authorize = true;
            //item.token = true;
            //item.signature = true;
            //item.url = "www.baidu.com";
            //item.sn = agentConfig.CreateSN();
            //item.begin = "2017-01-01";// DateTime.Parse("2017-01-01");
            //item.end = "2017-12-31";// DateTime.Parse("2017-12-31");

            //context.Response.Write("add:" + agentConfig.AddItem(agentConfig, item) + "\n\r");

            //AgentConfig agentConfig2 = new AgentConfig();
            //List<WeixinAgentItem> items2 = agentConfig2.GetItems();
            //context.Response.Write("countB:" + items2.Count + "\n\r");


            //修改配置记录
            WeixinAgentItem item = agentConfig.GetItem(995);

            if (item != null)
            {
                item.name = "更新NAME-995";

                context.Response.Write("update:" + agentConfig.UpdateItem(item) + "\r\n");
            }

            List <WeixinAgentItem> items = agentConfig.GetItems();

            foreach (WeixinAgentItem i in items)
            {
                context.Response.Write("id:" + i.id + "     ***   name:" + i.name + "\n\r");
            }


            //删除配置记录
            //context.Response.Write("del:" + agentConfig.DelItem(agentConfig, 559) + "\r\n");
            //List<WeixinAgentItem> items = agentConfig.GetItems();
            //foreach (WeixinAgentItem i in items)
            //{
            //    context.Response.Write("id:" + i.id + "     ***   name:" + i.name + "\n\r");
            //}
        }