Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
T treasure
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 12
    • Issues 12
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FE
  • treasure
  • Issues
  • #58

Closed
Open
Created Dec 31, 2021 by xingkai@kevin

企业微信 侧边栏开发经验

1. 企业微信如何开启调试模式

1.1 企业微信Mac版本调试

image

按下command+shift+control+D进入调试模式

1.2 Mac打开调试模式

帮助->开发调试选项->开启webView元素审查

image

1.3 内置浏览器右键

image

2. 如何监听js加载完成

html.js

       function setScript(url, cb) {
          var callback = cb || new Function();
          var script = document.createElement('script');
          if (script.addEventListener) {
            script.addEventListener('load', callback, false);
          } else if (script.attachEvent) {
            script.attachEvent('onreadystatechange', function() {
              var target = window.event.srcElement;
              if (
                target.readyState == 'loaded' ||
                target.readyState == 'complete'
              ) {
                callback.call(target);
              }
            });
          }
          document.getElementsByTagName('head')[0].appendChild(script);
          script.src = url;
        }
        var loaded = new Promise(function(res) {
          setScript(
            '//res.wx.qq.com/open/js/jweixin-1.2.0.js',
            function() {
              res();
            }
          );
        });
        var componentsLoaded = new Promise(function(res) {
          setScript(
            '//open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js',
            function() {
              res();
            }
          );
        });
        window.$QyWxPromise = Promise.all([loaded, componentsLoaded]);


需要使用页面

await window.$QyWxPromise;

3. 从企业微信3.0.24及以后版本(可通过企业微信UA判断版本号),无须先调用wx.config,可直接wx.agentConfig.直通车

4. 电脑能正常访问,手机端访问提示wx.agentConfig undefined

轮询判断wx.agentConfig不为undefined往下执行

   const t = setInterval(() => {
      const status = window.wx.agentConfig;
      if (status) {
        wx.agentConfig({
          corpid: result.corp_id, // 必填,企业微信的corpid,必须与当前登录的企业一致
          agentid: result.agent_id, // 必填,企业微信的应用id (e.g. 1000247)
          timestamp: result.timestamp, // 必填,生成签名的时间戳
          nonceStr: result.nonceStr, // 必填,生成签名的随机串
          signature: result.agent_signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
          jsApiList,
          success: function(res: any) {
            clearInterval(t);
            resolve(res);
          },
          fail: function(res: any) {
            clearInterval(t);
            Toast({ position: 'top', message: 'wx.agentConfig fail' });
            reject(res);
            if (res.errMsg.indexOf('function not exist') > -1) {
              alert('版本过低请升级');
            }
          },
        });
      }
    }, 100);

5. invoke 提示 no permission

image

检查企业微信后台是否配置了相应的权限

6. 企业微信授权登录时序图

image

Edited Dec 31, 2021 by xingkai
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking