使用支付宝微信商城支付时,需要有一个过度的页面,
提示用户用
浏览器要打开页面,用户在浏览器上打开WeChat(微信支付后再在这个时候还
显示过多的页面),过多的页面需要跳转到订单
详情页面,那么这overpage知道它需要跳
你目前所能想到的就是用sigbalr通知发送到overpage跳。
第一步,添加sigbalr相关DLL。第一
第二步,定制集线器
公共课myhub:轮毂
{
公共覆盖连通(
任务)
{
返回base.onconnected();
}
}
第三、自定义useridprovider因为我们需要发送通知,一跳一个指定用户
公共课customeruseridprovider:iuseridprovider
{
公共字符串GetUserId(irequest请求)
{
获取当前用户
登录 VAR客户= enginecontext.current.resolve(CurrentCustomer);
如果(客户= NULL)
{
返回;
}其他
{
返回当前用户ID
返回customer.id.tostring();
}
}
}
第四步是登记在
启动自定义useridprovider
/ / signlr
无功idprovider =新customeruseridprovider();
globalhost.dependencyresolver.register(typeof(iuseridprovider),(idprovider)= >);
App.MapSignalR();
在第五步中,Alipay支付了异步通知这行代码发送通知和
输入订单号
参数,这里的消费者为CustomerID发送通知,
命令CustomerID和当前登录ID,这样你就可以收到信息是相同的。
无功myhub = globalhost.connectionmanager.gethubcontext();
MyHub.Clients.User(order.ordercustomerid.tostring()),RedirctOrderDetails(订货。订货);
第六步是在overpage
执行 一个
代理语句,指向集线器,记住
连接后面的第一个字母。
方法必须小写,这就是我使用别名的
原因。
VaR connection.chinookhub
聊天=美元;
这是登记呼叫/中心,和1个不同的需求之后,chat.client登记,1是不需要的
chat.client.redirctorderdetails =
功能(oerdernumber){
window.location.href = /客户/ myorderdetailspage = 4ordernumber =+ oerdernumber;
};
chat.client.redirctmoneyaccountdetail =
函数(){
window.location.href = / / /客户accountdetail钱;
};
启动/连接
connection.hub.start()美元;
这样,在跳转页面完成后,您就可以完成付款了。目前我想不出更好的办法了。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多
支持。