/// <summary> /// 创建自定义菜单 /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-16 10:51:11 private void BtnCreate_Click(object sender, EventArgs e) { _baseInfo = GetBaseInfo(); string accessToken = _baseInfo.AccessToken; if (string.IsNullOrEmpty(accessToken)) { MessageBox.Show("请先获取Access_Token!"); } else { if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { if (string.IsNullOrEmpty(MenuCreate.Text)) { MessageBox.Show("不能创建空菜单!"); return; } ShowPrgCreate(); CreateMenu(accessToken); HidePrgCreate(); return; } MessageBox.Show("Access_Token已经过期,请重新获取!"); } }
/// <summary> /// 获取access_token /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-15 10:09:03 private void BtnAccessToken_Click(object sender, EventArgs e) { _baseInfo = GetBaseInfo(); //判access_token是否过期 if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { MessageBox.Show("该access_token没有过期,不需要重新获取!"); return; } ShowProgress(); TxtAccessToken.Text = ""; RequestAccessToken(); HideProgress(); }
/// <summary> /// 更新 /// </summary> /// <param name="info">实体类</param> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-20 09:51:11 public static bool UpdateBaseInfo(BaseInfo info) { StringBuilder sb = new StringBuilder(); if (info.Url != null) { sb.AppendFormat("Url='{0}',", info.Url); } if (info.Token != null) { sb.AppendFormat("Token='{0}',", info.Token); } if (info.Appid != null) { sb.AppendFormat("Appid='{0}',", info.Appid); } if (info.Appsecret != null) { sb.AppendFormat("Appsecret='{0}',", info.Appsecret); } if (info.AccessToken != null) { sb.AppendFormat("AccessToken='{0}',", info.AccessToken); } if (info.StartDateTime != null) { sb.AppendFormat("StartDateTime='{0}',", info.StartDateTime); } if (info.EndDateTime != null) { sb.AppendFormat("EndDateTime='{0}',", info.EndDateTime); } if (info.TimeSpace != null) { sb.AppendFormat("TimeSpace='{0}',", info.TimeSpace); } string content = sb.ToString().Trim(','); string sql = string.Format("Update Base_Info Set {0} where Id={1}", content, info.Id); int i = SqLiteHelper.ExecuteSql(sql); return i == 1; }
/// <summary> /// 重新获取access_token /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-15 15:01:17 private void RequestAccessToken() { _baseInfo = GetBaseInfo(); string url = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", _baseInfo.Appid, _baseInfo.Appsecret); string json = PublicFun.RequestGetData(url); AccessTokens tokens = json.ResolveJson(); if (tokens.access_token != null) { //获取成功,写入信息 TxtAccessToken.Text = tokens.access_token; BaseInfo info = new BaseInfo(); DateTime start = DateTime.Now; DateTime end = start.AddSeconds(Convert.ToDouble(_baseInfo.TimeSpace)); info.Id = _baseInfo.Id; info.StartDateTime = start.ToString("yyyy-MM-dd HH:mm:ss"); info.EndDateTime = end.ToString("yyyy-MM-dd HH:mm:ss"); info.AccessToken = TxtAccessToken.Text; BaseInfoDao.UpdateBaseInfo(info); //更新缓存 _cacheBaseInfo.Remove(PublicFileds.BaseInfo); _cacheBaseInfo.Insert(PublicFileds.BaseInfo, BaseInfoDao.SelectBaseInfo(info.Id)); } else { MessageBox.Show("获取失败!!!"); } }
/// <summary> /// 获取缓存实体类 /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-20 12:36:39 private BaseInfo GetBaseInfo() { _baseInfo = (BaseInfo)_cacheBaseInfo.Get(PublicFileds.BaseInfo); if (_baseInfo.Id > 0) { _baseInfo = BaseInfoDao.SelectBaseInfo(PublicFileds.UserName); } return _baseInfo; }
/// <summary> /// 上传多媒体文件到服务器 /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-18 11:07:34 private void BtnUpload_Click(object sender, EventArgs e) { _baseInfo = GetBaseInfo(); if (string.IsNullOrEmpty(TxtUploadUrl.Text)) { MessageBox.Show("请先选择需要上传的多媒体文件!"); return; } if (PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { MessageBox.Show("Access_Token已经过期,请重新获取!"); return; } ShowPrgUpload(); DoUpAndDown upAndDown = DoUploadFile; upAndDown.BeginInvoke(_baseInfo.AccessToken, AsyncCallbackUpload, upAndDown); }
/// <summary> /// 查询自定义菜单 /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-16 10:16:33 private void BtnSelect_Click(object sender, EventArgs e) { //获取数据 _baseInfo = GetBaseInfo(); string accessToken = _baseInfo.AccessToken; if (string.IsNullOrEmpty(accessToken)) { MessageBox.Show("请先获取Access_Token!"); } else { if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { ShowPrgSelect(); DoSelectCustomMenu selectCustomMenu = SelectMenu; selectCustomMenu.BeginInvoke(accessToken, AsyncCallbackSelect, selectCustomMenu); return; } MessageBox.Show("Access_Token已经过期,请重新获取!"); } }
/// <summary> /// 保存配置 /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-15 09:45:11 private void BtnSave_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(TxtUrl.Text) || string.IsNullOrEmpty(TxtToken.Text) || string.IsNullOrEmpty(TxtAppId.Text) || string.IsNullOrEmpty(TxtAppSecret.Text)) { MessageBox.Show("配置不能为空!!!"); } else { _baseInfo = new BaseInfo(); _baseInfo.Id = GetBaseInfo().Id; _baseInfo.Url = TxtUrl.Text; _baseInfo.Token = TxtToken.Text; _baseInfo.Appid = TxtAppId.Text; _baseInfo.Appsecret = TxtAppSecret.Text; if (BaseInfoDao.UpdateBaseInfo(_baseInfo)) { MessageBox.Show("保存成功!"); //更新缓存 _cacheBaseInfo.Remove(PublicFileds.BaseInfo); _cacheBaseInfo.Insert(PublicFileds.BaseInfo, BaseInfoDao.SelectBaseInfo(_baseInfo.Id)); return; } MessageBox.Show("保存失败!"); } }
/// <summary> /// 创建自定义菜单 /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-16 10:51:11 private void BtnCreate_Click(object sender, EventArgs e) { _baseInfo = GetBaseInfo(); string accessToken = _baseInfo.AccessToken; if (string.IsNullOrEmpty(accessToken)) { MessageBox.Show("请先获取Access_Token!"); } else { if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { if (string.IsNullOrEmpty(MenuCreate.Text)) { MessageBox.Show("不能创建空菜单!"); return; } ShowPrgCreate(); DoCreateCustomMenu createCustomMenu = CreateMenu; createCustomMenu.BeginInvoke(accessToken, AsyncCallbackCreate, createCustomMenu); return; } MessageBox.Show("Access_Token已经过期,请重新获取!"); } }
/// <summary> /// 获取access_token /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-15 10:09:03 private void BtnAccessToken_Click(object sender, EventArgs e) { _baseInfo = GetBaseInfo(); //判access_token是否过期 if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { MessageBox.Show("该access_token没有过期,不需要重新获取!"); return; } ShowProgress(); TxtAccessToken.Text = ""; DoRequestAccessToken invote = RequestAccessToken; invote.BeginInvoke(new Action(() => HidePrgCreate()),invote); }
/// <summary> /// 获取access_token /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-15 10:09:03 private void BtnAccessToken_Click(object sender, EventArgs e) { _baseInfo = GetBaseInfo(); //判access_token是否过期 if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { MessageBox.Show("该access_token没有过期,不需要重新获取!"); return; } SetDelege(); /*Thread t=new Thread(new ThreadStart(SetDelege)); t.IsBackground = true; t.Start();*/ }
/// <summary> /// 获取access_token /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-15 10:09:03 private void BtnAccessToken_Click(object sender, EventArgs e) { _baseInfo = GetBaseInfo(); //判access_token是否过期 if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { MessageBox.Show("该access_token没有过期,不需要重新获取!"); return; } ShowProgress(); DoRequestAccessToken invote = RequestAccessToken; invote.BeginInvoke(AsyncCallback, invote); }
/// <summary> /// 查询自定义菜单 /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-16 10:16:33 private void BtnSelect_Click(object sender, EventArgs e) { //获取数据 _baseInfo = GetBaseInfo(); string accessToken = _baseInfo.AccessToken; if (string.IsNullOrEmpty(accessToken)) { MessageBox.Show("请先获取Access_Token!"); } else { if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { ShowPrgSelect(); SelectMenu(accessToken); HidePrgSelect(); return; } MessageBox.Show("Access_Token已经过期,请重新获取!"); } }
/// <summary> /// 获取access_token /// </summary> /// Author : 俞立钢 /// Company : 绍兴标点电子技术有限公司 /// Created : 2014-10-15 10:09:03 private void BtnAccessToken_Click(object sender, EventArgs e) { _baseInfo = GetBaseInfo(); //判access_token是否过期 if (!PublicFun.JudgeAccessToken(_baseInfo.StartDateTime, _baseInfo.EndDateTime)) { MessageBox.Show("该access_token没有过期,不需要重新获取!"); return; } ThreadPool.QueueUserWorkItem(h => { ShowProgress(); TxtAccessToken.Text = ""; RequestAccessToken(); }); //SetDelege(); /*Thread t=new Thread(new ThreadStart(SetDelege)); t.IsBackground = true; t.Start();*/ }