예제 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("输入你的微信appid然后回车:");
            var appid = Console.ReadLine();

            Console.WriteLine("输入你的微信appsecret然后回车:");
            var appsecret = Console.ReadLine();

            Console.WriteLine($"您目前的微信AccessToken为:{WeixinAccessToken.GetToken(appid, appsecret)}");
            Console.WriteLine($"您目前的微信JSSDKTicket为:{WeixinJSSDKTicket.GetToken(appid, appsecret)}");
            Console.WriteLine("按任意键退出");
            Console.ReadKey();
        }
예제 #2
0
        /// <summary>
        /// 生成微信客户端菜单
        /// </summary>
        /// <returns></returns>
        private string CreateWeixinClientMenu()
        {
            //if (currentUserInfo.WeixinIsEnableMenu == null || currentUserInfo.WeixinIsEnableMenu == 0)
            //{
            //    return "请先在 微信平台-公众号配置  页面中启用自定义菜单。";
            //}
            //if (string.IsNullOrEmpty(currentUserInfo.WeixinAppId) || string.IsNullOrEmpty(currentUserInfo.WeixinAppSecret))
            //{
            //    return "请先在 微信平台-公众号配置 页面中填写 AppId与 AppSecret";
            //}

            //

            //获取AccessToken
            string accessToken = bllWeixin.GetAccessToken();

            if (accessToken == string.Empty)
            {
                return("AppId 或AppSecret 不正确,请在 微信公众号-公众号接口配置 页面中检查");
            }
            //获取AccessToken

            List <WeixinMenu> lstFirstLevel = bllWeixin.GetList <WeixinMenu>(string.Format("UserID='{0}' and PreID=0", currentUserInfo.UserID)).OrderBy(p => p.MenuSort).ToList();


            //构造菜单字符串
            StringBuilder sbMenu = new StringBuilder();

            sbMenu.Append("{\"button\":[");
            for (int i = 0; i < lstFirstLevel.Count; i++)
            {
                List <WeixinMenu> lstSendcondLevel = bllWeixin.GetList <WeixinMenu>(string.Format("UserID='{0}' and PreID={1}", currentUserInfo.UserID, lstFirstLevel[i].MenuID)).OrderByDescending(p => p.MenuSort).ToList();
                sbMenu.Append("{");
                if (lstSendcondLevel.Count == 0)//无子菜单
                {
                    sbMenu.AppendFormat("\"type\":\"{0}\",", lstFirstLevel[i].Type.Trim());
                    sbMenu.AppendFormat("\"name\":\"{0}\",", lstFirstLevel[i].NodeName);
                    if (lstFirstLevel[i].Type.Trim().Equals("click"))
                    {
                        sbMenu.AppendFormat("\"key\":\"{0}\"", lstFirstLevel[i].KeyOrUrl);
                    }
                    else
                    {
                        sbMenu.AppendFormat("\"url\":\"{0}\"", lstFirstLevel[i].KeyOrUrl);
                    }
                }
                else//有子菜单
                {
                    sbMenu.AppendFormat("\"name\":\"{0}\",", lstFirstLevel[i].NodeName);
                    sbMenu.Append("\"sub_button\":[");

                    for (int j = 0; j < lstSendcondLevel.Count; j++)
                    {
                        sbMenu.Append("{");

                        sbMenu.AppendFormat("\"type\":\"{0}\",", lstSendcondLevel[j].Type.Trim());
                        sbMenu.AppendFormat("\"name\":\"{0}\",", lstSendcondLevel[j].NodeName);
                        if (lstSendcondLevel[j].Type.Trim().Equals("click"))
                        {
                            sbMenu.AppendFormat("\"key\":\"{0}\"", lstSendcondLevel[j].KeyOrUrl);
                        }
                        else
                        {
                            sbMenu.AppendFormat("\"url\":\"{0}\"", lstSendcondLevel[j].KeyOrUrl);
                        }

                        sbMenu.Append("}");
                        if (j < lstSendcondLevel.Count - 1)
                        {
                            sbMenu.Append(",");
                        }
                    }
                    sbMenu.Append("]");
                }
                sbMenu.Append("}");

                if (i < lstFirstLevel.Count - 1)
                {
                    sbMenu.Append(",");
                }
            }
            sbMenu.Append("]}");

            //构造菜单字符串

            WeixinAccessToken result = bllWeixin.CreateWeixinClientMenu(accessToken, sbMenu.ToString());

            return(bllWeixin.GetCodeMessage(result.errcode));
        }