源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用c#开发公众平台自定义菜单功能

  • 时间:2021-11-30 20:00 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用c#开发公众平台自定义菜单功能
[u]复制代码[/u] 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="cm.aspx.cs" Inherits="guotaotao_weixin.cm" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>test</title> </head> <body>     <form id="form1" runat="server">     <div>      <asp:Literal ID="lt_msg" runat="server" ></asp:Literal>     </div>     </form> </body> </html>
[u]复制代码[/u] 代码如下:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; namespace guotaotao_weixin {     public partial class cm : System.Web.UI.Page     {         protected void Page_Load(object sender, EventArgs e)         {             if (!IsPostBack)             {                 weixin wx = new weixin();                 //lt_msg.Text = wx.GetAccessToken();                 lt_msg.Text = wx.DelMenu();                 lt_msg.Text += wx.SetMenu();             }         }     } }
[u]复制代码[/u] 代码如下:
namespace guotaotao_weixin {         public partial class cm {         /// <summary>         /// form1 控件。         /// </summary>         /// <remarks>         /// 自动生成的字段。         /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。         /// </remarks>         protected global::System.Web.UI.HtmlControls.HtmlForm form1;         /// <summary>         /// lt_msg 控件。         /// </summary>         /// <remarks>         /// 自动生成的字段。         /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。         /// </remarks>         protected global::System.Web.UI.WebControls.Literal lt_msg;     } }
[u]复制代码[/u] 代码如下:
using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using guotaotao_weixin.database; using guotaotao.database; namespace guotaotao_weixin {     public class guotaotao     {         private string _content = "";         private string _FromUserName = "";         public int msgType = 0;         public int isFirst = 0;         public int pid = 0;         #region "构造函数"             public guotaotao()             {             }             public guotaotao(string content)             {                 this._content = content;             }             public guotaotao(string content,string FromUserName)             {                 this._content = content;                 this._FromUserName = FromUserName;             }         #endregion                  public string createMenuDate()         {             string postData = "{" + "\r\n";             postData += "\"button\":[ " + "\r\n";             postData += "{ " + "\r\n";             postData += "\"name\":\"产品\"," + "\r\n";             postData += "\"sub_button\":[" + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"click\"," + "\r\n";             postData += "   \"name\":\"无糖系列\", " + "\r\n";             postData += "   \"key\":\"gtt_menu_001001\"" + "\r\n";             postData += "}," + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"click\"," + "\r\n";             postData += "   \"name\":\"干果系列\", " + "\r\n";             postData += "   \"key\":\"gtt_menu_001002\"" + "\r\n";             postData += "}," + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"click\"," + "\r\n";             postData += "   \"name\":\"休闲系列\", " + "\r\n";             postData += "   \"key\":\"gtt_menu_001003\"" + "\r\n";             postData += "}," + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"click\"," + "\r\n";             postData += "   \"name\":\"儿童系列\", " + "\r\n";             postData += "   \"key\":\"gtt_menu_001004\"" + "\r\n";             postData += " }]" + "\r\n";             postData += "}," + "\r\n";             postData += "{" + "\r\n";             postData += "\"name\":\"活动\", " + "\r\n";             postData += "\"sub_button\":[" + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"click\"," + "\r\n";             postData += "   \"name\":\"抽奖\", " + "\r\n";             postData += "   \"key\":\"gtt_menu_002001\"" + "\r\n";             postData += "}," + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"view\"," + "\r\n";             postData += "   \"name\":\"获奖名单\", " + "\r\n";             postData += "   \"url\":\"http://www.aaa.com/apps/honor_list.aspx\"" + "\r\n";             postData += "}," + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"click\"," + "\r\n";             postData += "   \"name\":\"优惠券\", " + "\r\n";             postData += "   \"key\":\"gtt_menu_002003\"" + "\r\n";             postData += " }]" + "\r\n";             postData += "}," + "\r\n";             postData += "{" + "\r\n";             postData += "\"name\":\"帮助\"," + "\r\n";             postData += "\"sub_button\":[" + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"view\"," + "\r\n";             postData += "   \"name\":\"关于我们\", " + "\r\n";             postData += "   \"url\":\"http://www.aaa.com/apps/aboutus.aspx\"" + "\r\n";             postData += "}," + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"view\"," + "\r\n";             postData += "   \"name\":\"联系我们\", " + "\r\n";             postData += "   \"url\":\"http://www.aaa.com/apps/contactus.aspx\"" + "\r\n";             postData += "}," + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"view\"," + "\r\n";             postData += "   \"name\":\"查询订单\", " + "\r\n";             postData += "   \"url\":\"http://www.aaa.com/apps/orders_chaxun.aspx\"" + "\r\n";             postData += "}," + "\r\n";             postData += "{ " + "\r\n";             postData += "   \"type\":\"view\"," + "\r\n";             postData += "   \"name\":\"留言反馈\", " + "\r\n";             postData += "   \"url\":\"http://www.aaa.com/apps/feedback.aspx\"" + "\r\n";             postData += " }]" + "\r\n";             postData += "}]" + "\r\n";             postData += "}" + "\r\n";             return postData;         }     } }
菜单中的URL地址换成自己的
[u]复制代码[/u] 代码如下:
using System; using System.Web.Security; using System.Xml; using aaa_weixin.database; using Newtonsoft.Json; namespace aaa_weixin {     public class weixin     {         private string Token = ""; //微信里面开发者模式Token         private string devlopID = "";//微信里面开发者模式:开发者ID         private string devlogPsw = "";//微信里面开发者模式: 开发者密码         public string AccessToken = ""; //获取的通行证         public void Auth()         {             string echoStr = System.Web.HttpContext.Current.Request.QueryString["echoStr"];             if (CheckSignature())             {                 if (!string.IsNullOrEmpty(echoStr))                 {                     System.Web.HttpContext.Current.Response.Write(echoStr);                     System.Web.HttpContext.Current.Response.End();                 }             }         }         public string GetAccessToken() //获取通行证         {                        string url_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + devlopID + "&secret=" + devlogPsw;             string result = func.webRequestGet(url_token);             accessToken deserializedProduct = (accessToken)JsonConvert.DeserializeObject(result, typeof(accessToken));             this.AccessToken  = deserializedProduct.access_Token;             return this.AccessToken;         }         public string GetMenu() //获取当前菜单情况         {             string url_Menu_Get = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=" + this.AccessToken;             string output = func.webRequestGet(url_Menu_Get);             //wxErr deserializedProduct = (wxErr)JsonConvert.DeserializeObject(output, typeof(wxErr));             //return deserializedProduct.errmsg;             return output;         }         public string SetMenu() //设置最新菜单         {             string url_Menu_Create = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + this.GetAccessToken();             aaa gtt = new aaa();             string postData = gtt.createMenuDate();             string result = func.webRequestPost(url_Menu_Create,postData);             return result;         }         public string DelMenu() //删除菜单         {             string url_Menu_Delete = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" + this.GetAccessToken();             string result = func.webRequestGet(url_Menu_Delete);             return result;         }         /// <summary>         /// 验证微信签名         /// </summary>         /// * 将token、timestamp、nonce三个参数进行字典序排序         /// * 将三个参数字符串拼接成一个字符串进行sha1加密         /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。         /// <returns></returns>         private bool CheckSignature()         {             string signature = System.Web.HttpContext.Current.Request.QueryString["signature"];             string timestamp = System.Web.HttpContext.Current.Request.QueryString["timestamp"];             string nonce = System.Web.HttpContext.Current.Request.QueryString["nonce"];             string[] ArrTmp = { Token, timestamp, nonce };             Array.Sort(ArrTmp);     //字典排序             string tmpStr = string.Join("", ArrTmp);             tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");             tmpStr = tmpStr.ToLower();             if (tmpStr == signature)             {                 return true;             }             else             {                 return false;             }         }     }     public class wxErr     {         private int Errcode;         public int errcode         {             get { return Errcode; }             set { Errcode = value; }         }         private string Errmsg;         public string errmsg         {             get { return Errmsg; }             set { Errmsg = value; }         }     }     public class accessToken     {         private string access_token;         public string access_Token         {             get { return access_token; }             set { access_token = value; }         }         private int expires_in;         public int expires_In         {             get { return expires_in; }             set { expires_in = value; }         }     }  }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部