企微助手 ,仓库名 短剧

getWxConfig.ts 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import axios from './axios';
  2. import { getQueryString } from './common'
  3. function getAuthInfo(cb?: any, redirect_url?: any) {//jsapi通用授权数据
  4. axios.post('/api/h5/auth/commonAuthData', {
  5. corpid: getQueryString('corpid'),
  6. url: location.href.split('#')[0],
  7. }).then((res: any) => {
  8. if (redirect_url) {//构造网页授权链接回调
  9. redirect_url(res.rst)
  10. }
  11. if (cb) {
  12. initQYConfig(res.rst, cb);
  13. }
  14. }).catch((err) => {
  15. console.log(err, 'err')
  16. })
  17. }
  18. function initQYConfig(authInfo, cb) { // 企业
  19. wx.config({
  20. beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  21. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  22. appId: authInfo.corpid, // 必填,企业微信的corpID
  23. timestamp: authInfo.timestamp, // 必填,生成签名的时间戳
  24. nonceStr: authInfo.nonce_str, // 必填,生成签名的随机串
  25. signature: authInfo.signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法 企业签名
  26. jsApiList: ['getCurExternalContact'] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
  27. })
  28. wx.ready(function () {
  29. initYYConfig(authInfo, cb)
  30. })
  31. wx.error(function (res) {
  32. // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
  33. console.log(res, 'QYerror')
  34. })
  35. }
  36. function initYYConfig(authInfo, cb) { // 应用
  37. wx.agentConfig({
  38. debug: false,
  39. corpid: authInfo.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
  40. agentid: authInfo.agent_id, // 必填,企业微信的应用id (e.g. 1000247)
  41. timestamp: authInfo.timestamp, // 必填,生成签名的时间戳
  42. nonceStr: authInfo.nonce_str, // 必填,生成签名的随机串
  43. signature: authInfo.app_signature, // 必填,签名,见附录-JS-SDK使用权限签名算法 应用签名
  44. jsApiList: ['getCurExternalContact'], // 必填,传入需要使用的接口名称
  45. success: function (res) {
  46. cb ? cb(authInfo) : ''
  47. },
  48. fail: function (res) {
  49. if (res.errMsg.indexOf('function not exist') > -1) {
  50. alert('版本过低请升级')
  51. }
  52. }
  53. })
  54. }
  55. export default getAuthInfo