config.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. var request = require('./http.js');
  2. var siteinfo = require('../../siteinfo.js'); //require这个js模块
  3. var wx = require('@/jweixin-module/lib/index.js');
  4. module.exports = function getWXSign(superid) {
  5. console.log(superid,"superid")
  6. // if(!superid){
  7. // console.log("ggg")
  8. // if(siteinfo.super_id){
  9. // superid=siteinfo.super_id;
  10. // }
  11. // }
  12. return new Promise((resolve, reject) => {
  13. var route;
  14. if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {
  15. if (navigator.userAgent.indexOf('iPhone') !== -1) {
  16. route = window.location.href.split('#')[0];
  17. }else {
  18. route = window.location.href.split('#')[0];
  19. }
  20. }else{
  21. route = window.location.href.split('#')[0];
  22. }
  23. let url = encodeURIComponent(route);
  24. request({
  25. url: "wxjs/wxJstoken",
  26. data: {
  27. url,
  28. superid:superid
  29. },
  30. is_agent: "server",
  31. }).then(e => {
  32. // console.log(e, "wxJstoken")
  33. if (e.code === '200') {
  34. var params = e.data;
  35. wx.config({
  36. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  37. appId: params.appid, // 必填,公众号的唯一标识
  38. timestamp: params.timestamp + "", // 必填,生成签名的时间戳
  39. nonceStr: params.noncestr, // 必填,生成签名的随机串
  40. signature: params.signature, // 必填,签名
  41. jsApiList: [
  42. "chooseImage",
  43. "previewImage",
  44. "uploadImage",
  45. "downloadImage",
  46. "openLocation",
  47. "getLocation",
  48. "chooseWXPay",
  49. "scanQRCode",
  50. "updateTimelineShareData",
  51. "updateAppMessageShareData",
  52. "onMenuShareAppMessage",
  53. "onMenuShareTimeline"
  54. ], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
  55. openTagList: ['wx-open-launch-weapp']
  56. })
  57. wx.ready((res) => {
  58. console.log(res, "ready")
  59. // alert(res)
  60. resolve(true);
  61. })
  62. wx.error((res) => {
  63. console.log(res, "error")
  64. // alert(res)
  65. reject(false);
  66. // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
  67. })
  68. }
  69. })
  70. })
  71. }