service.js 7.25 KB
const MD5 = require('../utils/md5.js');
const apiUrl = require('../config').apiUrl;

// appKey需要提供给商城使用,保持export
const app_key = require('../config').app_key; //dev
const secret = require('../config').secret; //dev

const header = {
  'Content-Type': 'application/x-www-form-urlencoded',
}
const getSession = () => {
  try {
    var value = wx.getStorageSync('session')
    if (value) {
      return value;
    }else{
      return 0;
    }
  } catch (e) {
    return 0;
  }
}

const getPostParameter = (request) => {
  var post_data = '';
  var param_array = new Object();
  let session = getSession();

  if (session && session > 0) {
    param_array.session = session;
  }

  param_array.format = 'json';
  param_array.sign_method = 'md5';
  param_array.timestamp = Date.parse(new Date());
  param_array.app_key = app_key;
  param_array.v = '1.0';
 

  for (var p in request) { // 方法
    if (request[p] != null && request[p] != undefined && typeof (request[p]) != "function") {
      param_array[p] = request[p];
    }
  }

  {
    var param_sign;
    var arrayKey = [];
    var strTemp;
    var arrayKeyTemp = [];
    for (var p in param_array) { // 方法
      if (typeof (param_array[p]) != "function") {
        arrayKeyTemp.push(p);
      }
    }
    // 最后显示所有的属性
    arrayKeyTemp.sort();
    var strTemp = secret;
    for (var i = 0; i < arrayKeyTemp.length; i++) {
      if (Array.isArray(param_array[arrayKeyTemp[i]])) {
        strTemp = strTemp + arrayKeyTemp[i] + JSON.stringify(param_array[arrayKeyTemp[i]]);
      } else {
        strTemp = strTemp + arrayKeyTemp[i] + param_array[arrayKeyTemp[i]];
      }
    }
    strTemp = strTemp + secret;
    param_sign = MD5.hexMD5(strTemp).toString().toUpperCase();
    post_data = 'sign=' + param_sign.toUpperCase();
    for (var i = 0; i < arrayKeyTemp.length; i++) {
      if (Array.isArray(param_array[arrayKeyTemp[i]])) {
        post_data = post_data + '&' + arrayKeyTemp[i] + '=' + encodeURI(JSON.stringify(param_array[arrayKeyTemp[i]]));
      } else {
        post_data = post_data + '&' + arrayKeyTemp[i] + '=' + encodeURI(param_array[arrayKeyTemp[i]]);
      }
    }
  }

  // // 本地环境
  // const LOCAL_URL = "http://192.168.80.8:9010/router?";
  // // 开发环境
  // const DEV_URL = "http://192.168.1.30:9010/router?";
  // // 测试环境
  // const TEST_URL = "http://www-test.herentech.com:9010/router?";
  // // 生产环境
  // const ONLINE_URL = "http://www.herentech.com:9010/router?";

  return post_data;
}


const xnService={
  // 登录
  login: (data, fn) => {
    data.method = "api.system.member.login";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`,
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },
  //  通过用户ID获取用户信息 id
  getUser: (data, fn) => {
    data.method = "api.master.system.user.get";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`, //仅为示例,并非真实的接口地址
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

  //  获取会员 id
  getMember: (data, fn) => {
    data.method = "api.master.membership.member.get";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`, //仅为示例,并非真实的接口地址
      header: header,
      method:'post',
      data: postParameter,
      success: function (response){
        if ( typeof fn == 'function'){
          fn(response.data);
        }
      }
    })
  },

  // 按会员查询汇总 memberId
  getSummaryByMember: (data, fn) => {
    data.method = "api.membership.summaryByMember.get";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`, //仅为示例,并非真实的接口地址
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

  // 查询积分交易记录 memberId  //积分
  pointTransactionsSearch: (data, fn) => {
    data.method = "api.membership.pointTransactions.search";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`, 
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

  // 查询订单头信息 memberId
  retailOrderHeadFind: (data, fn) => {
    data.method = "api.retail.orderHead.find";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`,
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

  // 查询充值交易记录 memberId   //余额 
  rechargeTransactionsSearch: (data, fn) => {
    data.method = "api.membership.rechargeTransactions.search";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`,
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

  // 模糊查询门店 memberId
  humanresourceShopFind: (data, fn) => {
    data.method = "api.master.humanresource.shop.find";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`,
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

  // 获取会员卡积分和余额 memberId
  memberBalanceAndPointGet: (data, fn) => {
    data.method = "api.membership.memberBalanceAndPoint.get";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`,
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

  // 高级查询优惠券号码 memberId
  promotionCouponEntityFind: (data, fn) => {
    data.method = "api.promotion.couponEntity.find";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`,
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

  // 高级查询优惠券定义 memberId
  promotionCouponDefinitionFind: (data, fn) => {
    data.method = "api.promotion.couponDefinition.find";
    var postParameter = getPostParameter(data);
    wx.request({
      url: `${apiUrl}`,
      header: header,
      method: 'post',
      data: postParameter,
      success: function (response) {
        if (typeof fn == 'function') {
          fn(response.data);
        }
      }
    })
  },

 
}

module.exports = xnService