Files
g.hnyhua.cn/Mtxfw.VipSite/admin_weixin_menulist.aspx.cs
2026-02-07 15:48:27 +08:00

354 lines
17 KiB
C#

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data;
namespace Mtxfw.VipSite
{
public partial class admin_weixin_menulist : Mtxfw.Utility.MemberBase
{
public Mtxfw.DAL.Article daoArt = new Mtxfw.DAL.Article();
public string strtitle = "微信菜单", strtitle2 = "微信菜单";
public Mtxfw.Utility.Config config = new Mtxfw.Utility.Config("");
public int gtype = 0;
#region
private bool _refreshState;
private bool _isRefresh;
/// <summary>
/// 判断页面是否刷新
/// </summary>
public bool IsRefresh
{
get
{
return _isRefresh;
}
}
protected override void LoadViewState(object savedState)
{
object[] allStates = (object[])savedState;
base.LoadViewState(allStates[0]);
_refreshState = (bool)allStates[1];
_isRefresh = _refreshState == (bool)Session["__ISREFRESH"];
}
protected override object SaveViewState()
{
Session["__ISREFRESH"] = _refreshState;
object[] allStates = new object[2];
allStates[0] = base.SaveViewState();
allStates[1] = !_refreshState;
return allStates;
}
#endregion
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
string hostname = Request.Url.Host;
if (!IsPostBack)
{
if (Session["IFPassword"] == null)
{
Response.Redirect("/Member_IFPassword.aspx?Url=/admin_weixin_menulist.aspx");
}
if (IFStores != 1)
{
Mtxfw.Utility.Tools.Message("您没有权限!", "/gl.aspx");
}
if (MemberJS.IndexOf("微信菜单管理") == -1)
{
Mtxfw.Utility.Tools.Message("您没有权限!", "/gl.aspx");
}
Page.Title = "微信菜单管理 - " + GetWebName;
Data_Bindlb();
Data_Bind();
if (Request.QueryString["ParentID"] != null)
{
strtitle = "添加微信菜单";
strtitle2 = "添加微信菜单";
Btn_Insert.Text = "添加二级菜单";
for (int i = 0; i < Drop_parentid.Items.Count; i++)
{
if (Drop_parentid.Items[i].Value == Request.QueryString["ParentID"].ToString())
{
Drop_parentid.Items[i].Selected = true;
}
else
{
Drop_parentid.Items[i].Selected = false;
}
}
}
if (Request.QueryString["ID"] != null)
{
Btn_Insert.Visible = false;
strtitle = "修改微信菜单";
strtitle2 = "修改微信菜单";
Mtxfw.Model.Article model = daoArt.GetModel(int.Parse(Request.QueryString["ID"]));
if (model != null)
{
Text_Title.Text = model.Title;
Text_Paths.Text = model.Paths;
Text_LinkID.Text = model.LinkID.ToString();
for (int i = 0; i < Drop_parentid.Items.Count; i++)
{
if (Drop_parentid.Items[i].Value == model.CategoryId.ToString())
{
Drop_parentid.Items[i].Selected = true;
}
else
{
Drop_parentid.Items[i].Selected = false;
}
}
}
}
else
{
Btn_Insert.Text = "添加菜单";
Btn_Update.Visible = false;
}
}
Btn_Insert.Click += delegate(object s, EventArgs ex)
{
Mtxfw.Model.Article model = new Mtxfw.Model.Article();
model.senderid = 0;
model.receiverid = 0;
model.Title = Text_Title.Text;
model.KeyWords = "";
model.ParentID = 12;
model.CategoryId = Drop_parentid.SelectedItem.Value;
model.AddTime = DateTime.Now;
model.Author = "";
model.Content = "";
model.Content2 = "";
model.Paths = Text_Paths.Text;
model.Seef = (model.CategoryId == "0" ? 1 : 2);
model.wtype = 0;
model.LinkID = Convert.ToInt32(Text_LinkID.Text);
model.Content2 = "";
model.KeyWords = "";
model.Paths2 = "";
model.media_id = "";
model.thumb_media_id = "";
model.gtype = gtype;
daoArt.Add(model);
Response.Redirect("admin_weixin_menulist.aspx");
};
Btn_Update.Click += delegate(object s, EventArgs ex)
{
Int32 ID = int.Parse(Request.QueryString["ID"]);
Mtxfw.Model.Article model = daoArt.GetModel(ID);
model.senderid = 0;
model.receiverid = 0;
model.Title = Text_Title.Text;
model.CategoryId = Drop_parentid.SelectedItem.Value;
model.AddTime = DateTime.Now;
model.Author = "";
model.Paths = Text_Paths.Text;
model.Seef = (model.CategoryId == "0" ? 1 : 2);
model.LinkID = Convert.ToInt32(Text_LinkID.Text);
model.id = ID;
daoArt.Update(model);
Response.Redirect("admin_weixin_menulist.aspx");
};
UpdateWeiXin.Click += delegate(object s, EventArgs ex)
{
WriteWeiXin();
};
}
public void WriteWeiXin()
{
try
{
string module_menu = "{\"button\":[";
string modulemenus = "";
DataSet ds = daoArt.GetList1("id,Title,Paths", "gtype=" + gtype + " and ParentID=12 And CategoryId=0 Order by LinkID desc");
if (ds.Tables[0].Rows.Count > 0)
{
int i = 0, ii = 0;
foreach (DataRow drv in ds.Tables[0].Rows)
{
string strid = drv["id"].ToString();
string strwangz = drv["Paths"].ToString();
string strTitle = drv["Title"].ToString();
if (strwangz == "")
{
modulemenus += "<li id=\"modulemenus" + ii + "\" onmouseout=\"hidemodulemenus(" + ii + ",event,this)\"><a href=\"javascript:void()\" onclick=\"showmodulemenus(" + ii + ")\" onmouseover=\"showmodulemenus(" + ii + ")\" id=\"amodulemenus" + ii + "\">" + strTitle + "<span class=\"moreico\"></span></a><div><ul>";
module_menu += "{";
module_menu += "\"name\":\"" + strTitle + "\",";
module_menu += "\"sub_button\":[";
DataSet ds2 = daoArt.GetList1("Id,Title,Paths", "gtype=" + gtype + " and ParentID=12 And CategoryId=" + strid + " Order by LinkID desc");
if (ds2.Tables[0].Rows.Count > 0)
{
int i2 = 0;
foreach (DataRow drv2 in ds2.Tables[0].Rows)
{
string strId2 = drv2["Id"].ToString();
string strwangz2 = drv2["Paths"].ToString();
string strTitle2 = drv2["Title"].ToString();
if (strwangz2.Trim() == "")
{
modulemenus += "<li><a href=\"/\">" + strTitle2 + "</a></li>";
module_menu += "{\"type\": \"click\",";
module_menu += "\"name\": \"" + strTitle2 + "\",";
module_menu += "\"key\":\"kong\"}";
}
else if (strwangz2.IndexOf("media_id=") != -1)
{
string strpid = strwangz2.Replace("media_id=", "");
modulemenus += "<li><a href=\"/mobile/about.aspx?id=" + strpid + "\">" + strTitle2 + "</a></li>";
module_menu += "{\"type\": \"click\",";
module_menu += "\"name\": \"" + strTitle2 + "\",";
module_menu += "\"key\":\"menu_" + strpid + "\"}";
}
else if (strwangz2.IndexOf("media2_id=") != -1)
{
string strpid = strwangz2.Replace("media2_id=", "");
if (strTitle2 == "联系我们")
{
modulemenus += "<li><a href=\"/shop_guests.aspx\">" + strTitle2 + "</a></li>";
}
else
{
modulemenus += "<li><a href=\"/mobile/about2.aspx?id=" + strpid + "\">" + strTitle2 + "</a></li>";
}
module_menu += "{\"type\": \"click\",";
module_menu += "\"name\": \"" + strTitle2 + "\",";
module_menu += "\"key\":\"menu2_" + strpid + "\"}";
}
else
{
modulemenus += "<li><a href=\"" + strwangz2 + "\">" + strTitle2 + "</a></li>";
module_menu += "{\"type\":\"view\",";
module_menu += "\"name\":\"" + strTitle2 + "\",";
module_menu += "\"url\":\"" + (strwangz2.IndexOf("http") == -1 ? config.webUrl + strwangz2 : strwangz2) + "\"";
module_menu += "}";
}
if (i2 != ds2.Tables[0].Rows.Count - 1)
{
module_menu += ",";
}
i2 += 1;
}
}
ds2.Clear();
module_menu += "]}";
modulemenus += "</ul></div></li>";
ii += 1;
}
else if (strwangz == "0" || strwangz == "1" || strwangz == "2" || strwangz == "3")
{
modulemenus += "<li id=\"modulemenus" + ii + "\" onmouseout=\"hidemodulemenus(" + ii + ",event,this)\"><a href=\"javascript:void()\" onclick=\"showmodulemenus(" + ii + ")\" onmouseover=\"showmodulemenus(" + ii + ")\" id=\"amodulemenus" + ii + "\">" + strTitle + "<span class=\"moreico\"></span></a><div><ul>";
module_menu += "{";
module_menu += "\"name\":\"" + strTitle + "\",";
module_menu += "\"sub_button\":[";
DataSet ds2 = daoArt.GetList1("Id,Title,Paths", "gtype=" + gtype + " and ParentID=6 And CategoryId=" + strwangz + " Order by LinkID desc");
if (ds2.Tables[0].Rows.Count > 0)
{
int i2 = 0;
foreach (DataRow drv2 in ds2.Tables[0].Rows)
{
string strId2 = drv2["Id"].ToString();
string strwangz2 = "/mobile/about2.aspx?id=" + strId2 + "";
string strTitle2 = drv2["Title"].ToString();
modulemenus += "<li><a href=\"" + strwangz2 + "\">" + strTitle2 + "</a></li>";
module_menu += "{\"type\":\"view\",";
module_menu += "\"name\":\"" + strTitle2 + "\",";
module_menu += "\"url\":\"" + (strwangz2.IndexOf("http") == -1 ? config.webUrl + strwangz2 : strwangz2) + "\"";
module_menu += "}";
if (i2 != ds2.Tables[0].Rows.Count - 1)
{
module_menu += ",";
}
i2 += 1;
}
}
ds2.Clear();
module_menu += "]}";
modulemenus += "</ul></div></li>";
ii += 1;
}
else
{
if (strwangz.IndexOf("media_id=") != -1)
{
string strpid = strwangz.Replace("media_id=", "");
string strPaths = daoArt.Getzd("Paths", "Id=" + strpid).ToString();
modulemenus += "<li><a href=\"" + config.webUrl + "\">" + strTitle + "</a></li>";
module_menu += "{\"type\": \"click\",";
module_menu += "\"name\": \"" + strTitle + "\",";
module_menu += "\"key\":\"menu_" + strpid + "\"";
module_menu += "}";
}
else
{
modulemenus += "<li><a href=\"" + strwangz + "\">" + strTitle + "</a></li>";
module_menu += "{\"type\":\"view\",";
module_menu += "\"name\":\"" + strTitle + "\",";
module_menu += "\"url\":\"" + (strwangz.IndexOf("http") == -1 ? config.webUrl + strwangz : strwangz) + "\"";
module_menu += "}";
}
}
if (i != ds.Tables[0].Rows.Count - 1)
{
module_menu += ",";
}
i += 1;
}
}
ds.Clear();
module_menu += "]}";
modulemenus += "<li class=\"gettop\"><a href=\"#\">TOP</a></li>";
string str = Mtxfw.Utility.Common.getaccess_token(HttpContext.Current, config.webappKey, config.webappSecret, config);
string strResponse = Mtxfw.Utility.Common.GetResponseData(module_menu, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + str,"utf-8");
Mtxfw.Utility.Common.WriteHtml("/weixin/weixin.txt", module_menu + str);
Mtxfw.Utility.Common.WriteHtml("/weixin/weixin0.txt", strResponse);
/* string strMaster = Mtxfw.Utility.Common.LoadTemplet("/Telesatemp0.Master");
strMaster = strMaster.Replace("<!--mobilemenus-->", modulemenus);
Mtxfw.Utility.Common.WriteHtml("/Telesatemp.Master", strMaster);*/
Mtxfw.Utility.Tools.Message("更新成功!", "admin_weixin_menulist.aspx");
}
catch (Exception err)
{
Mtxfw.Utility.Common.WriteHtml("/weixin/err.txt", err.ToString());
}
}
protected void Data_Bindlb()
{
Drop_parentid.DataSource = daoArt.GetList1("id,Title", "gtype=" + gtype + " and ParentID=12 and categoryid=0 Order by LinkID desc");
Drop_parentid.DataBind();
Drop_parentid.Items.Insert(0, new ListItem("==请选择==", "0"));
}
protected void Data_Bind()
{
Mtxfw.Utility.Tools.ToBind(Repeater1, daoArt.GetList("", "gtype=" + gtype + " and ParentID=12 Order by LinkID desc"));
}
protected void Delete_Click(object s, CommandEventArgs ex)
{
Int32 ID = int.Parse(ex.CommandName);
daoArt.Delete(ID);
System.Collections.IDictionaryEnumerator CacheEnum = Cache.GetEnumerator();
while (CacheEnum.MoveNext())
{
Cache.Remove(CacheEnum.Key.ToString());
}
Response.Redirect(Request.Url.AbsoluteUri);
}
}
}