WebForm之企业微信开发聊天工具栏(5)——获取userid,外部联系人id前端

发布时间 2023-03-28 14:16:26作者: 嬉戏_人间
<!DOCTYPE html>
<html lang="en">

<head>
    <title>工资条</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="../Content/bootstrap.min.css">
    <script src="../Scripts/jquery-3.6.4.min.js"></script>
    <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
    <script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
    
    
</head>
<body>

       <div class="container-fluid" id="container" style="display: none;">           
           <div class="card">
           <div class="card-header">
               <span>你好!</span>
               <span id="staffname"></span>
               <span>当前客户</span>
               <span id="username"></span>
           </div>
    </div>
  </div>
<script> $(function () {    var id = document.getElementById("HiddenField_WXWorkId").value; var signatureE = document.getElementById("HiddenField_signatureE").value; var timestamp = parseInt(document.getElementById("HiddenField_timestamp").value); var nonceStr = document.getElementById("HiddenField_nonceStr").value; var signature = document.getElementById("HiddenField_signature").value; $('#staffname').text(id); wx.config({ beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题 debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: 'wwfc0501b5df2630a9', // 必填,企业微信的corpID timestamp: timestamp, // 必填,生成签名的时间戳 nonceStr: nonceStr, // 必填,生成签名的随机串 signature: signatureE,// 必填,签名,见 附录-JS-SDK使用权限签名算法 jsApiList: ['getCurExternalContact'] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来 }); wx.ready(function () { // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 wx.agentConfig({ corpid: 'wwfc0501b5df2630a9', // 必填,企业微信的corpid,必须与当前登录的企业一致 agentid: '1000038', // 必填,企业微信的应用id (e.g. 1000247) timestamp: timestamp, // 必填,生成签名的时间戳 nonceStr: nonceStr, // 必填,生成签名的随机串 signature: signature,// 必填,签名,见附录-JS-SDK使用权限签名算法 jsApiList: ['getCurExternalContact'], //必填,传入需要使用的接口名称 success: function (res) { // 回调 //alert(res); wx.invoke('getCurExternalContact', { }, function (res) { if (res.err_msg == "getCurExternalContact:ok") { //alert(res); $('#username').text(res.userId); //返回当前外部联系人userId } else { //错误处理 //alert(res); } }); }, fail: function (res) { if (res.errMsg.indexOf('function not exist') > -1) { //alert('版本过低请升级'); } } }); }); wx.error(function (res) { // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 alert("config",res); }); }); </script> <form runat="server"> <asp:HiddenField ID="HiddenField_WXWorkId" runat="server" /> <asp:HiddenField ID="HiddenField_name" runat="server" /> <asp:HiddenField ID="HiddenField_timestamp" runat="server" /> <asp:HiddenField ID="HiddenField_nonceStr" runat="server" /> <asp:HiddenField ID="HiddenField_signature" runat="server" /> <asp:HiddenField ID="HiddenField_signatureE" runat="server" /> </form> </body> </html>