/// <summary>
        /// 获取JS-SDK权限验证的签名Signature
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="appSecret"></param>
        /// <param name="url">当前网页的URL,不包含#及其后面部分</param>
        /// <returns></returns>
        public static async Task <WeChatJsSDKSignatureResponse> GetSignatureAsync(string appId, string appSecret, string url)
        {
            var ticketResponse = await WeChartApi.GetJsAPITicket(appId, appSecret);

            string    ticket    = ticketResponse.Ticket;
            string    noncestr  = WeChatUtils.GetNoncestr();
            string    timestamp = WeChatUtils.GetTimestamp();
            Hashtable val       = new Hashtable();

            val.Add("jsapi_ticket", ticket);
            val.Add("noncestr", noncestr);
            val.Add("timestamp", timestamp);
            val.Add("url", url);
            return(new WeChatJsSDKSignatureResponse
            {
                AppId = appId,
                NonceStr = noncestr,
                Timestamp = timestamp,
                Signature = CreateSha1(val)
            });
        }