work.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. import {getWorkConfig,getWorkAgentConfig} from "@/api/work.js"
  2. // import {wx} from "@/utils/agent.js"
  3. export function initWxConfig() {
  4. return getTicket;
  5. }
  6. export function initAgentConfig() {
  7. return agentConfig;
  8. };
  9. const getTicket = new Promise((resolve, reject) => {
  10. getWorkConfig(location.href).then(res=>{
  11. if (/(iPhone|iPad|iPod|iOS|macintosh|mac os x)/i.test(navigator.userAgent)) {
  12. wx.config({
  13. beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  14. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  15. appId: res.data.appId, // 必填,企业微信的corpID
  16. timestamp:res.data.timestamp , // 必填,生成签名的时间戳
  17. nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
  18. signature: res.data.signature,// 必填,签名,见 附录-JS-SDK使用权限签名算法
  19. jsApiList: res.data.jsApiList // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
  20. });
  21. wx.ready(function() {
  22. // resolve(wx);
  23. setTimeout(()=>{
  24. getWorkAgentConfig(location.href).then(response=>{
  25. wx.agentConfig({
  26. corpid: response.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
  27. agentid: response.data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
  28. timestamp: response.data.timestamp, // 必填,生成签名的时间戳
  29. nonceStr: response.data.nonceStr, // 必填,生成签名的随机串
  30. signature: response.data.signature,// 必填,签名,见附录-JS-SDK使用权限签名算法
  31. // jsApiList: response.data.jsApiList, //必填,传入需要使用的接口名称
  32. jsApiList: ["getCurExternalContact", "getCurExternalChat", "getContext", "chooseImage","sendChatMessage","shareAppMessage"],
  33. success: function(data) {
  34. resolve(data);
  35. },
  36. fail: function(err) {
  37. if(err.errMsg.indexOf('function not exist') > -1){
  38. reject('版本过低请升级');
  39. }
  40. }
  41. });
  42. })
  43. },1000)
  44. })
  45. }else{
  46. // window.wx = window.jWeixin;
  47. jWeixin.config({
  48. beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  49. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  50. appId: res.data.appId, // 必填,企业微信的corpID
  51. timestamp:res.data.timestamp , // 必填,生成签名的时间戳
  52. nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
  53. signature: res.data.signature,// 必填,签名,见 附录-JS-SDK使用权限签名算法
  54. jsApiList: ["getCurExternalContact", "getCurExternalChat", "getContext", "chooseImage","sendChatMessage","shareAppMessage"] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
  55. });
  56. jWeixin.ready(function() {
  57. // resolve(wx);
  58. getWorkAgentConfig(location.href).then(response=>{
  59. jWeixin.agentConfig({
  60. corpid: response.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
  61. agentid: response.data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
  62. timestamp: response.data.timestamp, // 必填,生成签名的时间戳
  63. nonceStr: response.data.nonceStr, // 必填,生成签名的随机串
  64. signature: response.data.signature,// 必填,签名,见附录-JS-SDK使用权限签名算法
  65. // jsApiList: response.data.jsApiList, //必填,传入需要使用的接口名称
  66. jsApiList: ["getCurExternalContact", "getCurExternalChat", "getContext", "chooseImage","sendChatMessage","shareAppMessage"],
  67. success: function(data) {
  68. resolve(data);
  69. },
  70. fail: function(err) {
  71. if(err.errMsg.indexOf('function not exist') > -1){
  72. reject('版本过低请升级');
  73. }
  74. }
  75. });
  76. })
  77. })
  78. }
  79. }).catch(err=>{
  80. reject(err);
  81. })
  82. })
  83. const agentConfig = new Promise((resolve, reject)=>{
  84. getWorkAgentConfig(location.href).then(res=>{
  85. wx.agentConfig({
  86. corpid: res.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
  87. agentid: res.data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
  88. timestamp: res.data.timestamp, // 必填,生成签名的时间戳
  89. nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
  90. signature: res.data.signature,// 必填,签名,见附录-JS-SDK使用权限签名算法
  91. jsApiList: ["getCurExternalContact", "getCurExternalChat", "getContext", "chooseImage","sendChatMessage","shareAppMessage"]
  92. , //必填,传入需要使用的接口名称
  93. success: function(res) {
  94. resolve(res);
  95. },
  96. fail: function(res) {
  97. if(res.errMsg.indexOf('function not exist') > -1){
  98. reject('版本过低请升级');
  99. }
  100. }
  101. });
  102. })
  103. })