Foxtable(狐表)用户栏目专家坐堂 → 进入网页


  共有5816人关注过本帖树形打印复制链接

主题:进入网页

帅哥哟,离线,有人找我吗?
zhangjian222200
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/25 17:37:00 [显示全部帖子]

说的是

经过前面的提点,前面所说的函数1、2、3,大体内容是干什么的,大体了解了。
因为是菜鸟,全部看懂,可能性不大。
所以,想直接测试,在测试中摸索和理解,这样比较靠谱,测试前先再问个问题。

订单和jsapi表一样,如果确实需要,那么就都留下。订单表没有看到在保存数据,JSAPI表最后保存了数据,实在是不知道这2个表的区别,难道订单表是付款前的状态?还麻烦介绍下这2个表的关系,谢了


[此贴子已经被作者于2018/10/25 19:39:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/26 11:45:00 [显示全部帖子]

测试失败,提示:错误:JSAPI统一下单失败,无法发起支付!

错误提示:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:错误提示3332.txt
[此贴子已经被作者于2018/11/1 11:11:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/26 13:40:00 [显示全部帖子]

经过测试发现,函数api_UnifiedOrder代码,WxPayData内部值为null的字段是openid,麻烦看下下面代码中获取openid那句有问题。

获取openid的代码见前一个页面,即调用调用函数api_UnifiedOrder的页面,如下:
If annhm = 2 Then
msgbox(12)
    '首先获取用户的openid
    Dim OpenID As String
    Dim sb As New StringBuilder
    sb.AppendLine("<meta name='viewport' c>")
msgbox(13)
    If e.GetValues.ContainsKey("code") Then '如果通过授权链接跳转而来,就根据传递过来的code参数调用接口,获取用户的OpenID
msgbox(14) ’这里没有执行,其他msgbox都执行了(获取openid代码是从官方文档复制的
        Dim ul As String  = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code"
        ul = CExp(ul,"wxaa640e55d6f95bdd","d7674658f7662fd2649201928d125752",e.GetValues("code"))
        Dim hc As new HttpClient(ul)
        Dim jo As JObject = JObject.Parse(hc.GetData)
        If jo("openid") IsNot Nothing Then
            OpenID = jo("openid")
            'e.AppendCookie("openid",OpenID) '将openid存储在Cookie中
        End If
    'Else '不存储openid,每次支付时,独立获取
        'OpenId =  e.Cookies("openid") '否则从cookie中提取openid
    End If
[此贴子已经被作者于2018/11/1 11:13:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/26 14:52:00 [显示全部帖子]

单独写一个网页代码,像下面这样引入网页?
 Dim openid = Functions.Execute("api_UnifiedOrder",OpenID,dr("product_id"),"订单|女生押金|" & yuejbh,dr("orderfee"))

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/27 10:14:00 [显示全部帖子]

If e.path = "456.htm" Then '问题1:根据微信开发文档,http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权改成访问www.123.com/456.htm,这样可以吧?
    Dim OpenID As String
    Dim sb As New StringBuilder
    
sb.AppendLine("<meta name='viewport' c>")
    If e.GetValues.ContainsKey("code"Then '
如果通过授权链接跳转而来,就根据传递过来的code参数调用接口,获取用户的OpenID
        
Dim ul As String  = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code"
        ul = CExp(ul,"自己的appid","自己的appsecret",e.GetValues("code"))
        Dim hc As new HttpClient(ul)
        Dim jo As JObject = JObject.Parse(hc.GetData)
        If jo("openid"IsNot Nothing Then
            OpenID = jo("openid")
            e.AppendCookie("openid",OpenID'将openid存储在Cookie中
        End If
    Else
        OpenId =  e.Cookies("openid"'否则从cookie中提取openid
    End If
    'Dim Verified As Boolean
    'Dim dr As DataRow = DataTables("WXUsers").Find("openid  ='" & OpenID & "'"'根据openid找出对应的行 '我希望每次支付时,直接获得openid就行,考虑屏蔽这几行
    'If OpenId > "" AndAlso dr IsNot Nothing AndAlso dr("permit") = True '授权成功
        'Verified  = True
    'Else
    If e.GetValues.ContainsKey("code") = False Then '如果授权失败,且不是通过授权链接跳转而来,那么就跳转到授权链接
        Dim ul As String = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8acdb7df5beb68fd&redirect_uri=http%3a%2f%2fwexin.foxtable.com&response_type=code&scope=snsapi_base&state=123#wechat_redirect" '问题2:此行粉色部分,该如何让写?
        sb.Append("<meta http-equiv='Refresh' c>"'跳转到授权链接
        e.WriteString(sb.ToString)
        Return
    End If
    If Verified = False Then
        sb.AppendLine("你无权访问本系统")
    Else
        sb.AppendLine("Foxtable欢迎您, <a href='http://wexin.foxtable.com'>刷新页面</a>")
    End If
    e.WriteString(sb.ToString)

End
 If
[此贴子已经被作者于2018/10/27 10:17:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/27 11:18:00 [显示全部帖子]

openid成功获得,太感谢了
下面该考虑搬到支付里面了

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/27 14:15:00 [显示全部帖子]

支付发起后,处理支付页面http://www.123.com/per_xianx_yj_jinx.htm的代码:
    '首先获取用户的openid
    Dim OpenID As String
    Dim sb As New StringBuilder
    sb.AppendLine("<meta name='viewport' c>")
    If e.GetValues.ContainsKey("code") Then '如果通过授权链接跳转而来,就根据传递过来的code参数调用接口,获取用户的OpenID
       Dim ul As String  = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code"
       ul = CExp(ul,"wx8acdb7df5beb68fd","a5a3b06a790d4200a151e6b13c3dc263",e.GetValues("code")) '这是示例文档内容
       Dim hc As new HttpClient(ul)
       Dim jo As JObject = JObject.Parse(hc.GetData)
       If jo("openid") IsNot Nothing Then
          OpenID = jo("openid")
          e.AppendCookie("openid",OpenID) '将openid存储在Cookie中
       End If
    Else
       OpenId =  e.Cookies("openid") '否则从cookie中提取openid
    End If
    If e.GetValues.ContainsKey("code") = False Then '如果授权失败,且不是通过授权链接跳转而来,那么就跳转到授权链接
       Dim ul1 As String = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state={2}#wechat_redirect"
       Dim ul2 As String = UrlEncode("http://www.123.com/per_xianx_yj_jinx.htm")
       ul1 = CExp(ul1,"自己的appid",ul2,"123")
       sb.Append("<meta http-equiv='Refresh' c>") '因为这儿,跳转到授权链接,下面的支付流程就中断了,怎么办?(发起页面和js文件完全按文档做的)
       e.WriteString(sb.ToString)
       Return "" ’上述代码,httprequest里成功获得openid,现在改在函数里使用,所以这儿加上了双引号
    End If
msgbox("OpenId=" & OpenId) ’之前测试,可以正常获得openid的
    'If Verified0 = False Then '这是示例文件
        'sb.AppendLine("你无权访问本系统")
    'Else
        'sb.AppendLine("从相遇开始自助交友欢迎您, <a href='http://www.123.com'>刷新页面</a>")
    'End If
    e.WriteString(sb.ToString)
[此贴子已经被作者于2018/11/1 11:15:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/28 8:13:00 [显示全部帖子]

支付窗口只是弹出一下,然后就消失了,没有弹出支付窗口,测试好几次都这样
访问记录没有错误提示

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_2018102808052633333.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/30 13:14:00 [显示全部帖子]

微信开发者工具测试,结果与35楼相同

[此贴子已经被作者于2018/11/1 11:15:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1532 积分:10808 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/10/30 14:37:00 [显示全部帖子]

不必仿真,支付测试前后,2个账户都是我自己的

提示缺少参数,没有找到图片上说的参数(有点纠结,下图是一个参数,还是好几个参数?)
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1,如果是好几个参数,total_fee确认有值,其他没有找到

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20181001427444444444.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2018/10/30 14:48:08编辑过]

 回到顶部
总数 30 上一页 1 2 3 下一页