后台代码
public class Comman
{
HuoClassLibrary.DbHelperOleDb db = new HuoClassLibrary.DbHelperOleDb("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + System.Web.HttpContext.Current.Server.MapPath("/db/js_infercetext.mdb"));
//获取noncestr,timestamp
public static string[] GetNoncestrAndTimestamp()
{
string[] ss = new string[2];
string str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
string noncestr = "";
Random rn=new Random();
for (int i = 0; i < 16; i++)
{
noncestr += str.Substring(rn.Next(0, str.Length - 1));
}
int timestamp = Comman.ConvertDateTimeInt(DateTime.Now);
ss[0] = noncestr;
ss[1] = timestamp.ToString();
return ss;
}
/// <summary>
/// 时间戳转换
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
public static int ConvertDateTimeInt(System.DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
return (int)(time - startTime).TotalSeconds;
}
//获取返回的ticket
public string SelectTicket()
{
string ticket = "";
//判断是否有产生过有效的ticket
string sql = "select top 1 * from ticket where dttime<='" + DateTime.Now.AddHours(2).ToString("yyyy年MM月dd日 HH:mm:ss") + "' order by dttime desc";
var dt = db.ExecuteQuery(sql);
if (dt.Rows.Count > 0)
{
ticket = dt.Rows[0]["ticket"].ToString();
}
else
{
//appid是指定的公众号的appid,appsecret是指定的公众号的appsecret
string[] ss = GetJsapi_ticket("appid", "appsecret");
string sql2 = "insert into ticket values(1,'"+ss[0]+"','"+ss[1]+"','" + DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss") + "')";
int res = db.ExecuteNonQuery(sql2);