示例#1
0
        public ActionResult JsSdkconfig()
        {
            var url    = _domain + Request.RawUrl;
            var config = JSSDKHelper.GetJsSdkUiPackage(_appId, _appsecret, url);

            return(PartialView(config));
        }
示例#2
0
        public Rtn <object> jssdk(string origin)
        {
            #region v13.6.4之前的写法
            ////获取时间戳
            //var timestamp = JSSDKHelper.GetTimestamp();
            ////获取随机码
            //var nonceStr = JSSDKHelper.GetNoncestr();
            //string ticket = JsApiTicketContainer.TryGetJsApiTicket(appId, secret);
            ////获取签名
            //var signature = JSSDKHelper.GetSignature(ticket, nonceStr, timestamp, Request.Url.AbsoluteUri);

            //ViewData["AppId"] = appId;
            //ViewData["Timestamp"] = timestamp;
            //ViewData["NonceStr"] = nonceStr;
            //ViewData["Signature"] = signature;
            #endregion

            // var url = "http://" + HttpContext.Request.Host + HttpContext.Request.Path + HttpContext.Request.QueryString;
            Console.WriteLine("url:" + origin);
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(WechatConfig.AppId, WechatConfig.secret, origin);
            //ViewData["JsSdkUiPackage"] = jssdkUiPackage;
            //ViewData["AppId"] = appId;
            //ViewData["Timestamp"] = jssdkUiPackage.Timestamp;
            //ViewData["NonceStr"] = jssdkUiPackage.NonceStr;
            //ViewData["Signature"] = jssdkUiPackage.Signature;
            Console.WriteLine("生成测试参数", jssdkUiPackage.Signature);
            return(Rtn <object> .Success(jssdkUiPackage));
        }
示例#3
0
        public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            // do something before the action executes
            TokenResult = JsonConvert.DeserializeObject <OAuthAccessTokenResult>(context.HttpContext.Session.GetString("OAuthAccessTokenResult"));
            var controller = context.RouteData.Values["controller"]?.ToString();
            var actionName = context.RouteData.Values["action"]?.ToString();

            if (controller?.ToUpper() == "SCHOOLBUS" && actionName?.ToUpper() != "REGISTER" && actionName?.ToUpper() != "SENDSMSCODE")
            {
                var result = await _schoolBusBusines.GetCardInfoByCodeAsync(TokenResult?.openid);

                if (result == null || string.IsNullOrEmpty(result.fcode) || string.IsNullOrEmpty(result.wxpkid))
                {
                    context.Result = new RedirectToActionResult("Register", "SchoolBus", null);
                    return;
                }
            }
            await next();

            // do something after the action executes
            if (!(ViewData.Model is Base_JSSDKVD vd))
            {
                return;
            }
            var model = vd;

            model.TokenResult    = TokenResult;
            model.PageRenderTime = DateTime.Now;
            model.JsSdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(Config.SenparcWeixinSetting.WeixinAppId,
                                                                 Config.SenparcWeixinSetting.WeixinAppSecret,
                                                                 Request.AbsoluteUri());
        }
        //
        // GET: /JSSDK/

        public ActionResult Index()
        {
            #region v13.6.4之前的写法
            ////获取时间戳
            //var timestamp = JSSDKHelper.GetTimestamp();
            ////获取随机码
            //var nonceStr = JSSDKHelper.GetNoncestr();
            //string ticket = JsApiTicketContainer.TryGetJsApiTicket(appId, secret);
            ////获取签名
            //var signature = JSSDKHelper.GetSignature(ticket, nonceStr, timestamp, Request.Url.AbsoluteUri);

            //ViewData["AppId"] = appId;
            //ViewData["Timestamp"] = timestamp;
            //ViewData["NonceStr"] = nonceStr;
            //ViewData["Signature"] = signature;
            #endregion

            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, secret, Request.Url.AbsoluteUri);
            //ViewData["JsSdkUiPackage"] = jssdkUiPackage;
            //ViewData["AppId"] = appId;
            //ViewData["Timestamp"] = jssdkUiPackage.Timestamp;
            //ViewData["NonceStr"] = jssdkUiPackage.NonceStr;
            //ViewData["Signature"] = jssdkUiPackage.Signature;

            return(View(jssdkUiPackage));
        }
示例#5
0
        public JsonResult GetWxShareData(string url = "")
        {
            var urlReferrer = string.IsNullOrEmpty(url)? Request.UrlReferrer != null?Request.UrlReferrer.ToString() : Request.Url.AbsoluteUri : url;

            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, secret, urlReferrer);

            return(Json(jssdkUiPackage));
        }
示例#6
0
        //配置 js-sdk
        public ActionResult JsSdkConfig()
        {
            string url = $"http://wx.lingnian.xin{Request.RawUrl}";
            //方法中的参数就是每一个需要使用接口的页面地址
            JsSdkUiPackage jssdkpackge = JSSDKHelper.GetJsSdkUiPackage(appID, appsecret, url);

            return(PartialView(jssdkpackge));
        }
示例#7
0
        public ActionResult Index(string url, string callback)
        {
            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, appSecret, url);



            return(Content($"{callback}({ JsonConvert.SerializeObject(jssdkUiPackage)})"));
        }
示例#8
0
        public ActionResult ReceiptAudit()
        {
            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, appSecret, Request.AbsoluteUri().Split('#')[0]);

            Logger.Info("JSSDKPackage:" + Common.JSONConvert.SerializeCamelCase(jssdkUiPackage));

            return(View("Wechat/factory/ReceiptAudit", jssdkUiPackage));
        }
        //配置js-sdk
        public ActionResult JsSdkConfig()
        {
            //方法中的参数就是每一个需要使用的页面地址
            string         url          = $"{Domin}{Request.RawUrl}";
            JsSdkUiPackage jssdkpackage = JSSDKHelper.GetJsSdkUiPackage(appID, appsecret, url);

            return(PartialView(jssdkpackage));
        }
示例#10
0
        public ActionResult JsSdkConfig()
        {
            //构造url地址,注意是包含域名的
            string         url            = $"{Domin}{Request.RawUrl}";
            JsSdkUiPackage jssdkuipackage = JSSDKHelper.GetJsSdkUiPackage(appID, appsecret, url);

            return(PartialView(jssdkuipackage));
        }
示例#11
0
        public JsonResult GetJsSdkParmmaters(string url)
        {
            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(CorpId, CorpSecret, url);

            logger.Debug("ViewBag.corpId={0}\r\n, ViewBag.noncestr={1}\r\n, ViewBag.timestamp={2}\r\n, ViewBag.signature={3}\r\n, Request.Url.AbsoluteUri={4}", CorpId, jssdkUiPackage.NonceStr, jssdkUiPackage.Timestamp, jssdkUiPackage.Signature, url);

            return(Json(jssdkUiPackage, JsonRequestBehavior.AllowGet));
        }
示例#12
0
        public JsSdkUiPackage GetJsSdkUiPackage(string url)
        {
            var appid     = _settingManager.GetSettingValue(AppSettings.Weixin.AppId);
            var appsecret = _settingManager.GetSettingValue(AppSettings.Weixin.AppSecret);
            var data      = JSSDKHelper.GetJsSdkUiPackage(appid, appsecret, url);

            return(data);
        }
示例#13
0
        public async Task <IActionResult> WxPayIndex()
        {
            // 获取openId
            var openId = HttpContext.Session.GetString("OpenId");

            if (string.IsNullOrEmpty(openId))
            {
                return(Json(Url.Action("Index", "Home")));
            }
            var accessToken = HttpContext.Session.GetString("accessToken");

            HttpContext.Session.SetString("SiteUrl", _siteUrl);

            // 根据openId 查询用户
            var user = _authSrv.GetUserByExternalId(openId, 1);

            // 获取微信用户信息
            OAuthUserInfo userInfo = OAuthApi.GetUserInfo(accessToken, openId);

            // 用户存在则获取信息,不存在则创建用户
            if (user == null)
            {
                var newUser = new BaseUser {
                    UserName = openId, ExternalId = openId, ExternalType = 1, ExternalName = userInfo.nickname
                };
                var result = await _authSrv.CreateUser(newUser, openId);

                if (result.Succeeded)
                {
                    var role = await _authSrv.AddRolesAsync(openId, new string[] { "SysUser" });
                }
                user = newUser;
            }
            var paidOrders = _orderSrv.GetPaidOrders().Where(q => (q.OrderType == OrderType.BuyInStore || q.OrderType == OrderType.BuyOnline) && q.BuyerIdentity == openId);

            // Card
            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(TenPayV3Info.AppId, TenPayV3Info.AppSecret, Request.AbsoluteUri());
            var api_ticket     = WxCardApiTicketContainer.TryGetWxCardApiTicket(TenPayV3Info.AppId, TenPayV3Info.AppSecret);

            // var openId = HttpContext.Session.GetString("OpenId");
            var timeStamp = TenPayV3Util.GetTimestamp();
            var nonceStr  = TenPayV3Util.GetNoncestr();
            var sign      = JSSDKHelper.GetcardExtSign(api_ticket, timeStamp, "pukHe541WmaHEBgW3gACiBCD4EbY", nonceStr);
            var cardExt   = new { timestamp = timeStamp, signature = sign, nonce_str = nonceStr };

            // 登陆Identity用户
            await _authSrv.Login(user);

            ViewData["credit"]         = user.Credit;
            ViewData["biz"]            = _biz;
            ViewData["userInfo"]       = userInfo;
            ViewData["paidOrders"]     = paidOrders;
            ViewData["jssdkUiPackage"] = jssdkUiPackage;
            ViewData["cardExt"]        = JsonConvert.SerializeObject(cardExt);

            return(View());
            // 前端菜单:直接支付,跳转js支付,余额支付跳转/Home/CreditPay,套餐支付:
        }
示例#14
0
        public ActionResult Index(int id)
        {
            JsSdkUiPackage package = JSSDKHelper.GetJsSdkUiPackage(TF.QR.Config.AppId, TF.QR.Config.AppSecret, base.Request.Url.AbsoluteUri);

            base.ViewData["jssdk"] = package;
            var product = Config.Helper.SingleById <DbProduct>(id);

            return(View(product));
        }
示例#15
0
        public ActionResult JsSdkConfig()
        {
            //生成需要注册的完整的URl(包含前缀和域名)
            var url = _domain + Request.RawUrl;
            //获取JS SDK的配置信息
            var config = JSSDKHelper.GetJsSdkUiPackage(_appId, _appsecret, url);

            return(PartialView(config));
        }
示例#16
0
        public ActionResult ForBuy(int id)
        {
            JsSdkUiPackage package = JSSDKHelper.GetJsSdkUiPackage(TF.QR.Config.AppId, TF.QR.Config.AppSecret, base.Request.Url.AbsoluteUri);

            base.ViewData["jssdk"] = package;
            var buy = Config.Helper.SingleById <DbBuy>(id);

            return(View(buy));
        }
示例#17
0
        public ActionResult Index()
        {
            var accessToken = AccessTokenContainer.TryGetAccessToken(appId, secret);

            TempData["AccessToken"] = accessToken;
            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, secret, Request.AbsoluteUri());

            return(View(jssdkUiPackage));
        }
示例#18
0
        public async Task <JsonResult> GetJsTicketParameters()
        {
            string appId = await SettingManager.GetSettingValueForTenantAsync(WechatSettings.General.AppId, InfrastructureSession.TenantId.Value);

            string appSecret = await SettingManager.GetSettingValueForTenantAsync(WechatSettings.General.Secret, InfrastructureSession.TenantId.Value);

            JsSdkUiPackage jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, appSecret, Request.UrlReferrer.ToString());

            return(Json(jssdkUiPackage));
        }
示例#19
0
        //#region 注册

        public ActionResult Register()
        {
            ViewBag.Title = "注册";

            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(AppConfig.Instance.AppId, AppConfig.Instance.AppSecret, Request.Url.AbsoluteUri);

            ViewBag.JsPackage = jssdkUiPackage;

            return(View());
        }
示例#20
0
        public async Task <ActionResult> HandWrite(string id)
        {
            //using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.MustHaveTenant))
            //{
            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, appSecret, Request.AbsoluteUri().Split('#')[0]);

            ViewBag.Ids = id;
            //var path = await ProcessTaskManager.GetTaskSheetImagePath(id);
            //ViewBag.ImgPath = $"/sheets/{currentTenantId}/CountingPic/{tenantId}/{partUrl}.png";
            return(View("WeChat/process/handWrite", jssdkUiPackage));
            //}
        }
示例#21
0
 /// <summary>
 /// 获取公众号JSSDK注册信息
 /// </summary>
 /// <returns></returns>
 public ActionResult GetWXConfig()
 {
     try
     {
         var s = JSSDKHelper.GetJsSdkUiPackage(appId, secret, Request.UrlReferrer.ToString().Split('#')[0]);
         return(Json(SysEnum.成功, s, "获取成功"));
     }
     catch (Exception ex)
     {
         return(Json(SysEnum.失败, "获取失败:" + ex.ToString()));
     }
 }
示例#22
0
        public ActionResult Index()
        {
            ViewBag.Title = "用户中心";

            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(AppConfig.Instance.AppId, AppConfig.Instance.AppSecret, Request.Url.AbsoluteUri);

            ViewBag.JsPackage = jssdkUiPackage;

            var vip = _dal.Get <Vip>(CurrentVip.VipId);

            return(View(vip));
        }
示例#23
0
        /// <summary>
        /// {"appid":"wx41a2bf0afed3b33d","noncestr":"USUtYzXJw4wELBKX","sign":"ed18cbd26d2f82b44dd2fb70743b484e68e68d3c","timestamp":"1438746212"}
        /// </summary>
        /// <returns></returns>
        public ActionResult sign(int appId, string url)
        {
            var config = WeChatCommonService.GetWeChatConfigByID(appId);
            var ret    = JSSDKHelper.GetJsSdkUiPackage(config.WeixinCorpId, config.WeixinCorpSecret, url);

            return(Json(new
            {
                appid = ret.AppId,
                noncestr = ret.NonceStr,
                sign = ret.Signature,
                timestamp = ret.Timestamp
            }, JsonRequestBehavior.AllowGet));
        }
示例#24
0
        /// <summary>
        /// 重写虚方法,此方法将在Init事件前执行
        /// </summary>
        protected override void ShowPage()
        {
            int    weixinId = DTRequest.GetQueryInt("wxid");
            string url      = "http://" + DTRequest.GetHost() + HttpContext.Current.Request.RawUrl;

            BLL.weixin_account   wxBll  = new BLL.weixin_account();
            Model.weixin_account modelt = wxBll.GetModel(weixinId);
            if (modelt != null)
            {
                string ticket = JsApiTicketContainer.TryGetJsApiTicket(modelt.appid, modelt.appsecret);
                jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(modelt.appid, modelt.appsecret, url);
            }
            this.Init += new EventHandler(article_show_Init);
        }
示例#25
0
        /// <summary>
        /// 绑定
        /// </summary>
        /// <returns></returns>
        public ActionResult Bind()
        {
            if (Session["ID"] == null || Session["User"] != null)
            {
                return(RedirectToAction("Profile", "NewUser"));
            }
            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(GetAppSettings.AppID, GetAppSettings.AppSecret, "https://lib.xmu.edu.cn/seatwx/NewUser/Bind");

            //SeatManage.SeatManageComm.WriteLog.Write(jssdkUiPackage.AppId.ToString());
            //SeatManage.SeatManageComm.WriteLog.Write(jssdkUiPackage.NonceStr.ToString());
            //SeatManage.SeatManageComm.WriteLog.Write(jssdkUiPackage.Signature.ToString());
            //SeatManage.SeatManageComm.WriteLog.Write(jssdkUiPackage.Timestamp.ToString());
            return(View(jssdkUiPackage));
        }
示例#26
0
 public static JsSdkUiPackage GetJsSdkUiPackage(string url)
 {
     //webCall 传的url 不知道为什么会有   ,/HttpApi.App.WeiXin.WeChatHelper.axd   带这么一串
     url = url.Split(',')[0];
     try
     {
         return(JSSDKHelper.GetJsSdkUiPackage(AppID, AppSecret, url));
         //return new JsSdkUiPackage("", "", "", "");
     }
     catch
     {
         return(new JsSdkUiPackage("", "", "", ""));
     }
 }
        private object GetJssdkUiPackage(string url)
        {
            string appId          = ConfigurationManager.AppSettings["WeixinAppId"];
            string secret         = ConfigurationManager.AppSettings["WeixinAppSecret"];
            var    jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, secret, url);

            return(new
            {
                appId = jssdkUiPackage.AppId,
                nonceStr = jssdkUiPackage.NonceStr,
                signature = jssdkUiPackage.Signature,
                timestamp = jssdkUiPackage.Timestamp
            });
        }
示例#28
0
        protected override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (ViewData.Model is Base_TenPayV3VD)
            {
                var model = ViewData.Model as Base_TenPayV3VD;

                var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(Service.Config.AppId, Service.Config.AppSecret,
                                                                   Request.Url.AbsoluteUri);

                model.JsSdkUiPackage = jssdkUiPackage;
            }

            base.OnActionExecuted(filterContext);
        }
示例#29
0
        public async Task <ActionResult> ReportView(int id)
        {
            //todo:需要验证当前微信用户是否可以属于报工信息对应企业的策略提醒人
            var remindPersons = (await TacticManager.GetRemindPersonsByReport(id)).Select(o => o.Person);

            var currentPerson = await PersonManager.GetPersonByWeUserOrInsert(WeUser);

            if (!remindPersons.Contains(currentPerson))
            {
                return(Redirect("/WeiXin/Error?msg=" + "无权查看此报工信息".UrlEncode()));
            }

            var jssdkUiPackage = JSSDKHelper.GetJsSdkUiPackage(appId, appSecret, Request.AbsoluteUri());

            return(View(jssdkUiPackage));
        }
示例#30
0
        public ActionResult Index(string deviceName)
        {
            var jsSdkPackage = JSSDKHelper.GetJsSdkUiPackage(MvcApplication.WeiXinAppId, MvcApplication.WeiXinSecret, Request.Url.AbsoluteUri);

            ViewBag.JsSdkPackageAppId     = jsSdkPackage.AppId;
            ViewBag.JsSdkPackageTimestamp = jsSdkPackage.Timestamp;
            ViewBag.JsSdkPackageNonceStr  = jsSdkPackage.NonceStr;
            ViewBag.JsSdkPackageSignature = jsSdkPackage.Signature;

            Client entity = new Client();

            entity.DeviceName = string.IsNullOrEmpty(deviceName) ? "Device001" : deviceName;
            entity.City       = "Chengdu";

            return(View(entity));
        }