global.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. //网关对应地址
  2. var api = "http://192.168.2.40:8080/api/";
  3. //批次号
  4. var batch = getUrlParam("batch");
  5. //列序号
  6. var columnSort = getUrlParam("columnSort");
  7. //二维码值
  8. var qrCode = getUrlParam("qrCode");
  9. //当前url
  10. var currentUrl = location.href.split('#')[0];
  11. //缓存中的accessToken
  12. var accessToken = localStorage.getItem("access_token") || "";
  13. //封装ajax请求,自动在请求头中加入access_token
  14. jQuery.extend({
  15. authAjax: function (options) {
  16. if (accessToken == "" && (typeof(options.data) == "undefined" || options.data.oauthCode == null)) {
  17. alert("accessToken失效,请重新扫码");
  18. return false;
  19. }
  20. var data = options.data || {};
  21. data.batch = batch;
  22. data.columnSort = columnSort;
  23. data.qrCode = qrCode;
  24. options.data = data;
  25. return $.ajax($.extend({
  26. headers: {"access_token":accessToken}
  27. },options));
  28. }
  29. });
  30. //获取url中的参数
  31. function getUrlParam(name) {
  32. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
  33. var r = window.location.search.substr(1).match(reg); //匹配目标参数
  34. if(r != null){
  35. return decodeURIComponent(r[2]);//路径后面的参数形式为参数名=参数值,而第一个字符为参数名,第二个为=,第三个就为参数值
  36. }
  37. return null;//返回参数值
  38. }
  39. //获取js-sdk签名
  40. function createJsapiSignature(url) {
  41. $.authAjax({
  42. type : "GET",
  43. url : api+"marketing/weixin/createJsapiSignature",
  44. async: false,
  45. data: {url: url},
  46. dataType:"json",
  47. success : function(data) {
  48. wx.config({
  49. beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  50. // debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  51. appId: data.appId, // 必填,企业微信的corpID
  52. timestamp: data.timestamp, // 必填,生成签名的时间戳
  53. nonceStr: data.nonceStr, // 必填,生成签名的随机串
  54. signature: data.signature,// 必填,签名,见附录1
  55. jsApiList: [
  56. 'checkJsApi',
  57. 'openLocation',// 使用微信内置地图查看地理位置接口
  58. 'getLocation' // 获取地理位置接口
  59. ]
  60. });
  61. }
  62. });
  63. }
  64. //获取用户位置
  65. function getLocation(successFun, cancelFun) {
  66. wx.getLocation({
  67. success : function(res) {
  68. var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
  69. var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
  70. var speed = res.speed; // 速度,以米/每秒计
  71. var accuracy = res.accuracy; // 位置精度
  72. successFun(latitude,longitude);
  73. },
  74. cancel : function (res) {
  75. if(typeof cancelFun != 'undefined' && cancelFun instanceof Function){
  76. cancelFun();
  77. }
  78. },
  79. fail : function(res) {
  80. alert("获取位置失败");
  81. }
  82. });
  83. }
  84. //回首页
  85. function hrefIndex() {
  86. $.authAjax({
  87. url: api+"marketing/weixin/redirectUrl",
  88. async: false,
  89. success: function (res) {
  90. location.href = res;
  91. }
  92. })
  93. // location.href = api+"marketing/weixin/redirectAuthUrl?batch="+batch+"&columnSort="+columnSort+"&qrCode="+qrCode;
  94. }
  95. //拼接url
  96. function spliceUrl(url) {
  97. return url + "batch="+batch+"&columnSort="+columnSort+"&qrCode="+qrCode;
  98. }