以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]有谁测试过扫码么?我怎么权限未获取呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97135)

--  作者:浙江仔
--  发布时间:2017/3/6 19:43:00
--  [求助]有谁测试过扫码么?我怎么权限未获取呢?

图片点击可在新窗口打开查看此主题相关图片如下:k7{a`ika.png
图片点击可在新窗口打开查看


        Dim wb As New weui
        wb.AppendHTML("<script src=\'http://res.wx.qq.com/open/js/jweixin-1.0.0.js\'></script>",True) \'引入JS-SDK库
        wb.AppendHTML("<script src=\'./lib/jssdk.js\'></script>") \'引入脚本文件
        \'在页面注入权限验证配置
        Dim st As New Date(1970,1,1,8,0,0)
        Dim appid As String = Vars("CorpID")  \'CorpID
        Dim timestamp As Integer = CInt((Date.Now - st).TotalSeconds()) \'时间戳
        Dim noncestr As String = Rand.NextString(16) \'随机字符
        Dim url As String  = e.Request.URL.ToString \'当前页面地址
        Dim signature As String = Functions.Execute("GetJsSignature", noncestr, timestamp, url) \'生成权限验证签名
        Dim cfg As String = "wx.config({appId:\'{0}\',timestamp:{1},nonceStr:\'{2}\',signature:\'{3}\',jsApiList:[\'checkJsApi\',\'chooseImage\',\'previewImage\',\'uploadImage\',\'downloadImage\',\'getNetworkType\',\'openLocation\',\'getLocation\',\'scanQRCode\']});"
        wb.AppendHTML("<script>" & CExp(cfg,appid,timestamp,noncestr,signature) & "</script>",True)
        \'开始正常生成网页内容
        wb.AddForm("","form1","test.htm")
        With wb.AddInputGroup("form1","ipg1","产品输入")
            .AddInput("product","产品","text")
            With .AddInputCell("ic1")
                .AddLabel("lbh","编号",0)
                .AddInput("number","text",1)
                .AddVcodeButton("scan","扫码输入",2) \'增加二维码扫描按钮,2表示显示在右边
            End With
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "submit")
        End With
        e.WriteString(wb.Build) \'生成网页

--  作者:浙江仔
--  发布时间:2017/3/6 19:44:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170306194307.png
图片点击可在新窗口打开查看
点扫码后,如图

--  作者:有点蓝
--  发布时间:2017/3/6 20:37:00
--  
GetAccessToken函数的开发者id和开发者密钥改了吗?

你的企业号还是服务号,使用的是企业号还是服务号的例子?

--  作者:浙江仔
--  发布时间:2017/3/6 20:42:00
--  
企业号
Static CreateTime As Date \'记录最近一次生成access_token的时间
Static AccessTocken As String \'记录最近一次生成的access_token
\'Dim CorpID As String=  "wxa31aba4cd83af57e" \'企业号的CorpID
\'Dim Secret As String = "6a5e1ed1168740ca9fd0f865d3c8baea5a6165fe6dc54568a09c2d916b59e90f" \'管理组的Secret
Dim tp As TimeSpan = Date.Now - CreateTime
If tp.TotalSeconds > 3600 Then
    Dim url As String = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}"
    Dim hc As New HttpClient(CExp(url, Vars("CorpID"), Vars("Secret ")))
    Dim ret As String = hc.GetData()
    If ret = "" Then \'如果失败,再尝试一次
        hc.GetData()
    End If
    CreateTime = Date.Now()
    Dim jo As JObject = JObject.Parse(ret)
    If jo("errcode") Is Nothing Then
        AccessTocken = jo("access_token")
        Dim r As Row =Tables("表A").AddNew
        r("第一列")=AccessTocken
        r("第二列")=now.Date
    Else
        MessageBox.show("获取access_token失败,原因:" & vbcrlf & jo.ToString)
    End If
End If

Return AccessTocken

--  作者:浙江仔
--  发布时间:2017/3/6 20:54:00
--  




--  作者:浙江仔
--  发布时间:2017/3/6 20:59:00
--  
我用花生壳的问题
本机的url变成带端口了,晕死
http://yunhua2121.xicp.net:8900/scan.htm

--  作者:浙江仔
--  发布时间:2017/3/6 21:06:00
--  
        Dim url As String  = e.Request.URL.ToString.replace(":8900","") \'当前页面地址

处理了一下,搞定了

花生壳非80端口映射为外网80口,需要类似这么处理一下


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170306210557.png
图片点击可在新窗口打开查看