示例#1
0
        public ActionResult Index()
        {
            ViewBag.Title = "JSSDK demo";
            var appId     = WeixinConfig.AppID;
            var nonceStr  = JSAPI.CreateNonce_str();
            var timestamp = JSAPI.CreatenTimestamp();
            var domain    = System.Configuration.ConfigurationManager.AppSettings["Domain"];
            var url       = domain + Request.Url.PathAndQuery;
            var jsTickect = WeixinConfig.TokenHelper.GetJSTickect();
            var string1   = "";
            var signature = JSAPI.GetSignature(jsTickect, nonceStr, timestamp, url, out string1);
            var model     = new JSSDKModel
            {
                appId       = appId,
                nonceStr    = nonceStr,
                signature   = signature,
                timestamp   = timestamp,
                shareUrl    = url,
                jsapiTicket = jsTickect,
                shareImg    = domain + Url.Content("/images/ad.jpg"),
                string1     = string1,
            };

            return(View(model));
        }
示例#2
0
        public ActionResult Index()
        {
            var appId     = WeixinConfig.AppID;
            var appSecret = WeixinConfig.AppSecret;

            var nonceStr  = Util.CreateNonce_str();
            var timestamp = Util.CreateTimestamp();
            var domain    = System.Configuration.ConfigurationManager.AppSettings["Domain"];
            var url       = domain + Request.Url.PathAndQuery;
            var jsTickect = "";

            using (CommanderServiceClient client = new CommanderServiceClient())
            {
                jsTickect = client.GetJsTicket(appId, appSecret, false);
            }
            var string1   = "";
            var signature = JSAPI.GetSignature(jsTickect, nonceStr, timestamp, url, out string1);
            var model     = new JSSDKModel
            {
                appId       = appId,
                nonceStr    = nonceStr,
                signature   = signature,
                timestamp   = timestamp,
                shareUrl    = url,
                jsapiTicket = jsTickect,
                shareImg    = domain + Url.Content("/images/ad.jpg"),
                string1     = string1,
            };

            return(View(model));
        }
示例#3
0
        /// <summary>
        /// 分享到朋友圈参数自定义
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public JsSDKResponse GetJsSDKTicket(string url)
        {
            var jssdk_ticket = JSAPI.GetJsSDKTicket(WxPayConfig.APPID, WxPayConfig.APPSECRET);
            var nonceStr     = WxPayApi.GenerateNonceStr();
            var timestamp    = WxPayApi.GenerateTimeStamp();
            //var domain = weChat.BackDomain;
            //url = domain + url;
            var string1   = "";
            var signature = JSAPI.GetSignature(jssdk_ticket, nonceStr, timestamp, url, out string1);
            var model     = new JsSDKResponse
            {
                Debug       = true,
                AppId       = WxPayConfig.APPID,
                Timestamp   = WxPayApi.GenerateTimeStamp(),
                NonceStr    = WxPayApi.GenerateNonceStr(),
                Signature   = signature,
                ShareUrl    = url,
                JsapiTicket = jssdk_ticket,
                //ShareImg = domain + Url.Content("/images/noimg.jpg"),
                String1   = string1,
                JsApiList = System.Configuration.ConfigurationManager.AppSettings["jsApiList"].Split(','),
            };

            return(model);
        }
示例#4
0
    public static string ShareConfig(string shareurl)
    {
        var access_token = "";

        //if (HttpContext.Current.Cache.Get("access_token_js") == null)
        //{
        access_token = JSAPI.getToken();
        //    HttpContext.Current.Cache.Insert("access_token_js", access_token,null,DateTime.Now.AddSeconds(720),new TimeSpan(0,0,12));
        //}
        //else
        //{
        //    access_token = HttpContext.Current.Cache.Get("access_token_js").ToString();
        //}

        var ticket = JSAPI.GetTickect(access_token);

        var result = new ShareConfigContract();

        result.appid        = WxPayConfig.APPID;
        result.timestamp    = WxPayApi.GenerateTimeStamp();
        result.nonceStr     = WxPayApi.GenerateNonceStr();
        result.jsapi_ticket = ticket;
        var str = "";

        result.signture = JSAPI.GetSignature(ticket, result.nonceStr, result.timestamp, shareurl, out str);
        result.str      = str;

        return(JsonConvert.SerializeObject(result));
    }
示例#5
0
        public ActionResult Pay()
        {
            var appId       = WeixinConfig.AppID;
            var nonceStr    = Util.CreateNonce_str();
            var timestamp   = Util.CreateTimestamp();
            var domain      = System.Configuration.ConfigurationManager.AppSettings["Domain"];
            var url         = domain + Request.Url.PathAndQuery;
            var jsTickect   = WeixinConfig.TokenHelper.GetJSTickect();
            var string1     = "";
            var signature   = JSAPI.GetSignature(jsTickect, nonceStr, timestamp, url, out string1);
            var userAgent   = Request.UserAgent;
            var userVersion = userAgent.Substring(userAgent.LastIndexOf("/") + 1);//微信版本号高于或者等于5.0才支持微信支付
            var model       = new JSPayModel
            {
                appId       = appId,
                nonceStr    = nonceStr,
                signature   = signature,
                timestamp   = timestamp,
                jsapiTicket = jsTickect,
                string1     = string1,
                userAgent   = userAgent,
                userVersion = userVersion,
            };

            return(View(model));
        }
示例#6
0
        public ActionResult JsApi(string shareUrl = "")
        {
            string url       = "";
            var    appId     = WeixinConfig.AppID;
            var    nonceStr  = Util.CreateNonce_str();
            var    timestamp = Util.CreateTimestamp();
            var    domain    = System.Configuration.ConfigurationManager.AppSettings["Domain"];

            if (string.IsNullOrEmpty(shareUrl))
            {
                url = domain + Request.Url.PathAndQuery;
            }
            else
            {
                url = shareUrl;
            }
            var jsTickect = WeixinConfig.TokenHelper.GetJSTickect();
            var string1   = "";
            var signature = JSAPI.GetSignature(jsTickect, nonceStr, timestamp, url, out string1);
            var model     = new JSSDKModel
            {
                appId       = appId,
                nonceStr    = nonceStr,
                signature   = signature,
                timestamp   = timestamp,
                shareUrl    = url,
                jsapiTicket = jsTickect,
                //shareImg = domain + Url.Content("/images/ad.jpg"),
                string1 = string1,
            };

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
示例#7
0
        public ActionResult Get(string uri)
        {
            ResultMsg resultMsg = new ResultMsg();
            var       nonceStr  = Util.CreateNonce_str();
            var       timestamp = Util.CreateTimestamp();
            string    str       = string.Empty;

            if (string.IsNullOrEmpty(uri))
            {
                uri = "http://dc.orangenet.com.cn/#/shop";
            }

            var sign = JSAPI.GetSignature(WeixinConfig.JsSdkTicket, nonceStr, timestamp, uri, out str);

            resultMsg.data = new { nonceStr, timestamp, sign, appId = WeixinConfig.AppID };
            return(Json(resultMsg, JsonRequestBehavior.AllowGet));
        }
示例#8
0
        // GET: api/WxConfig/5
        public WxConfig Get(int id)
        {
            string _appid     = "wx6aae9a42791c0cdf";
            string _appsecret = "71201c6d9ca47d1375ca2de8dbdf1c93";
            long   _timestamp = Util.CreateTimestamp();
            string _nonceStr  = Util.CreateNonce_str();
            string _signature = "";
            string string1    = "";
            var    ic         = Redis.Create("127.0.0.1", 7);

            ic.Log = XTrace.Log;

            var access_token = ic.Get <string>("access_token");
            var jsapi_ticket = ic.Get <string>("jsapi_ticket");


            if (access_token != null && jsapi_ticket != null)
            {
                _signature = JSAPI.GetSignature(jsapi_ticket, _nonceStr, _timestamp, "", out string1);
            }
            else
            {
                var access_token_json = BasicAPI.GetAccessToken(_appid, _appsecret);

                ic.Set("access_token", access_token_json.access_token, 7200);

                var jsapi_ticket_json = JSAPI.GetTickect(access_token_json.access_token);

                ic.Set("jsapi_ticket", jsapi_ticket_json.ticket, 7200);

                _signature = JSAPI.GetSignature(jsapi_ticket_json.ticket, _nonceStr, _timestamp, "", out string1);
            }

            return(new WxConfig
            {
                appId = _appid,
                timestamp = _timestamp,
                nonceStr = _nonceStr,
                signature = _signature
            });
        }