以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]使用weui开发的自建应用web页面怎么直接调用企业微信通信录? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193830) |
-- 作者:YDS -- 发布时间:2024/10/18 16:52:00 -- [求助]使用weui开发的自建应用web页面怎么直接调用企业微信通信录? 使用weui开发的自建应用web页面怎么直接调用企业微信通信录?求大佬指点。 |
-- 作者:有点蓝 -- 发布时间:2024/10/18 16:55:00 -- 提交到后台通过接口调用:http://www.foxtable.com/mobilehelp/topics/0223.htm 如果要在前端使用js,可以调用jssdk:https://developer.work.weixin.qq.com/document/path/91793
|
-- 作者:YDS -- 发布时间:2024/10/18 18:13:00 -- jssdk.js要怎么写,我一直不对。 |
-- 作者:YDS -- 发布时间:2024/10/18 18:16:00 -- Dim e As RequestEventArgs = args(0) Dim wb As New weui wb.Title = "员工选择" wb.AppendHTML("<script src=\'https://res.wx.qq.com/open/js/jweixin-1.2.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 = "appid" Dim timestamp As Integer = CInt((Date.Now - st).TotalSeconds()) \'时间戳 Dim noncestr As String = Rand.NextString(16) \'随机字符 Dim url As String = "ryxz.htm" \'当前页面地址 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:[\'invoke\']});" wb.AppendHTML("<script>" & CExp(cfg, appid, timestamp, noncestr, signature) & "</script>", True) \'开始正常生成网页内容 wb.AddForm("", "form1", "ryxz.htm") With wb.AddInputGroup("form1", "ipg1", "人员选择") With .AddInputCell("ic1") .AddLabel("lry", "人员", 0) .AddInput("sry", "text", 1) .AddVcodeButton("ryxz", "人员选择", 2) End With End With With wb.AddButtonGroup("form1", "btg1", True) .Add("btn1", "确定", "submit") End With e.WriteString(wb.Build) \'生成网页
|
-- 作者:有点蓝 -- 发布时间:2024/10/19 8:47:00 -- 参考:http://www.foxtable.com/mobilehelp/topics/0248.htm |
-- 作者:YDS -- 发布时间:2024/10/25 9:52:00 -- index代码: Dim e As RequestEventArgs = args(0) Dim wb As New weui wb.Title = "会议系统" wb.AppendHTML("<script src=\'http://res.wx.qq.com/open/js/jweixin-1.2.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 = Functions.Execute("Get", "企业微信", 0) \'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({beta: true, appId:\'{0}\',timestamp:{1},nonceStr:\'{2}\',signature:\'{3}\',jsApiList:[\'selectEnterpriseContact\']});" wb.AppendHTML("<script>" & CExp(cfg, appid, timestamp, noncestr, signature) & "</script>", True) \'开始正常生成网页内容 wb.AddForm("", "form1", "index.htm") With wb.AddInputGroup("form1", "ipg1", "参会人员") With .AddInputCell("ic1") .AddLabel("lbh", "参会人员", 0) .AddVcodeButton("ryxz", "打开通信录选择人员", 1) \'增加人员选择按钮,2表示显示在右边 End With .AddTextArea("chry", 5).Placeholder = "您也可以直接输入参会人员!" End With With wb.AddButtonGroup("form1", "btg1", True) .Add("btn1", "确定", "submit") End With With wb.AddPageFooter("", "pf1", "Copyright © " & Date.Today.Year & " " & Functions.Execute("Get", "公司信息", 3).split(".")(Functions.Execute("Get", "公司信息", 3).split(".").Length - 2) & "." & Functions.Execute("Get", "公司信息", 3).split(".")(Functions.Execute("Get", "公司信息", 3).split(".").Length - 1)) .AddLink(Functions.Execute("Get", "公司信息", 0), Functions.Execute("Get", "公司信息", 3)) End With e.WriteString(wb.Build) \'生成网页 GetJsSignature代码: Static CreateTime As Date \'记录最近一次生成Ticket 的时间 Static Ticket As String \'记录最近一次生成的Ticket Dim tp As TimeSpan = Date.Now - CreateTime Dim ul As String = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token={0}" If tp.TotalSeconds > 3600 Then Dim hc As New HttpClient(CExp(ul, Functions.Execute("GetQYAccessToken"))) 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") = "0" Then Ticket = jo("ticket") Else Dim errmsg As String = "内部函数【GetJsSignature】反馈,获取jsapi_ticket失败的原因是:" & jo.ToString Functions.Execute("ErrMsg", errmsg) End If End If Dim signature As String = CExp("jsapi_ticket={0}&noncestr={1}×tamp={2}&url={3}", Ticket, args(0), args(1), args(2)) Return Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signature, "SHA1").ToLower() jssdk.js代码: |
-- 作者:有点蓝 -- 发布时间:2024/10/25 9:59:00 -- 什么地方有问题? |
-- 作者:YDS -- 发布时间:2024/10/25 11:09:00 -- 1.Dim url As String = e.Request.URL.ToString \'当前页面地址 这里获取的网址带端口,我服务器有反代的,所以签名老是出问题
2、企业微信选人后的名字是备注名,我需要用户名。 |
-- 作者:有点蓝 -- 发布时间:2024/10/25 11:17:00 -- 1、这个要去反代里设置,返回正确的地址 2、这个自行看看微信文档,有就能用,没有也没有办法
|