var QQMapWX = require("./qqmap.js"); const loadPrevMerchant = req => { return new Promise((resolve, reject) => { req.g('/api/merchant/default', res => { resolve(res); }); }); }; /** * 初始化距离 * @param {*} form */ const initRange = (data, form, success, req) => { console.log('initRange==' + data, form); var timestamp = Date.parse(new Date()); data.time = timestamp + 1 * 60 * 1000 if (!form.latitude || !form.longitude) { if (data && data.type == 5) { data.merchantDTO.time = timestamp + 1 * 60 * 1000 req.setStorage('smallShop', data); req.setStorage('MERCHANT', data.merchantDTO); } else { req.setStorage('MERCHANT', data); req.removeStorage('smallShop'); } success.call(this, data); // req.setStorage('MERCHANT', data); return false; } // console.log(data, "/**"); QQMapWX.initMap(req.public.mapLBSKEY); // const form = { latitude: point.lat, longitude: point.lng }; if (!data.lat || !data.lng) { if (data && data.type == 5) { data.merchantDTO.time = timestamp + 1 * 60 * 1000 req.setStorage('smallShop', data); req.setStorage('MERCHANT', data.merchantDTO); } else { req.setStorage('MERCHANT', data); req.removeStorage('smallShop'); } } else { const to = { latitude: data.lat, longitude: data.lng }; QQMapWX.reverseGeocoder(to, resp => { console.log('地理位置数据22222>>>>>>>==', resp); req.setStorage('loctionAddressMap', resp); // req.setStorage('loctionAddressMap', resp.ad_info); }); QQMapWX.calculateDistance(form, [to], response => { // console.log('地理位置数据>>>>>>>==',response); if (response) { data.range = Math.round(response.elements[0].distance / 1000); data.mDistance = response.elements[0].distance; } if (data && data.type == 5) { data.merchantDTO.time = timestamp + 1 * 60 * 1000 req.setStorage('smallShop', data); req.setStorage('MERCHANT', data.merchantDTO); } else { req.setStorage('MERCHANT', data); req.removeStorage('smallShop'); } success.call(this, data); }); } }; const initMerchant = (req, point, success) => { //初始化门店信息 //获取本地缓存门店信息 // let merchant = req.getStorage("MERCHANT"); // if (merchant) success.call(this, merchant); // else { //获取上次选择的门店 loadPrevMerchant(req).then(data => { if (!data || !data.id) { let userPid if (!JSON.parse(req.getStorage('configRes')).User_Limit_Store || JSON.parse(req.getStorage( 'configRes')) .User_Limit_Store != 1) { } else { if (!req.getStorage('userInfo').pid) { userPid = 1 } else { delete point.lat delete point.lng point.pid = req.getStorage('userInfo').pid } } //获取最近的门店 req.getRequest('/api/merchant/getMerchantList', point, res => { // if (point.type == "shopindex") {AA // res = res.filter(it => it.isDefault != 1); // } if (userPid == 1) { res = res.filter(it => it.isDefault == 1); } console.log('最近的门店==') initRange(res[0], { latitude: point.lat, longitude: point.lng }, success, req); }); } else { console.log('上次有门店==') initRange(data, { latitude: point.lat, longitude: point.lng }, success, req); } }) // } }; // 获取租户的默认门店 const defaultMerchant = (req, point, success) => { req.getRequest('/api/merchant/getIsdefault', {}, res => { req.setStorage('defaultMerchant', res); success.call(this, res); }); }; // 获取门店 const getMerchant = (query, req, success) => { defaultMerchant(req, query, success); //判断是否开启多门店, if (JSON.parse(req.getStorage('configRes')).Many_Store == 0 || !JSON.parse(req.getStorage('configRes')) .Many_Store) { //无多门店 success.call(this, 1) } else { //是多门店 let merchant if (req.getStorage('user_merchantId') || (query.merchantId && query.merchantId != 'undefined')) { console.log('query有门店id'); let from = {}; if (req.getStorage('user_merchantId')) { from.id = req.getStorage('user_merchantId'); } else { from.id = query.merchantId; } req.getRequest('/api/merchant/detail', from, data => { if (!data.id) { req.msg('该门店不存在' + (JSON.parse(req.getStorage('configRes')).User_Limit_Store != 1 ? ',请切换门店' : '')) } else { if (!data.isBusiness) { req.msg('该门店暂未营业' + (JSON.parse(req.getStorage('configRes')).User_Limit_Store != 1 ? ',请切换门店' : '')) setTimeout(() => { success.call(this, data); }, 800) } else { var timestamp = Date.parse(new Date()); data.time = timestamp + 1 * 60 * 1000 if (data.type == 5) { data.merchantDTO.time = timestamp + 1 * 60 * 1000 req.setStorage("smallShop", data), req.setStorage("MERCHANT", data .merchantDTO); } else { req.setStorage("MERCHANT", data); } success.call(this, data); } } }); } else { console.log('query--没有门店id'); var timestamp = Date.parse(new Date()); if (req.getStorage('configRes') && JSON.parse(req.getStorage('configRes')).User_Limit_Store && JSON .parse( req.getStorage('configRes')) .User_Limit_Store == 1) { if (req.getStorage('smallShop')) { merchant = req.getStorage('smallShop'); } else if (req.getStorage('MERCHANT')) { merchant = req.getStorage('MERCHANT'); } } else { // console.log(req.getStorage('smallShop').time, "=================================", req.getStorage( // 'MERCHANT').time, req.getStorage('smallShop').time > timestamp,req.getStorage('MERCHANT').time > timestamp) if (req.getStorage('smallShop') && req.getStorage('smallShop').time > timestamp) { merchant = req.getStorage('smallShop'); } else if (req.getStorage('MERCHANT') && req.getStorage('MERCHANT').time > timestamp) { merchant = req.getStorage('MERCHANT'); } } if (merchant) { merchant.mDistance = parseFloat(merchant.mDistance); merchant.range = parseFloat(merchant.range); success.call(this, merchant); } else { if (JSON.parse(req.getStorage('configRes')).User_Limit_Store && JSON.parse(req.getStorage( 'configRes')) .User_Limit_Store == 1) { initMerchant(req, {}, data => { if (data) { data.mDistance = parseFloat(data.mDistance); data.range = parseFloat(data.range); // if(data.isDefault!=1){ success.call(this, data); } }); } else { req.getLocation(res => { if (res == 1 || res == 2) { success.call(this, req.getStorage("defaultMerchant")); } else { let form = { lat: res.latitude, lng: res.longitude } if (query.type) { form.type = query.type } initMerchant(req, form, data => { if (data) { data.mDistance = parseFloat(data.mDistance); data.range = parseFloat(data.range); // if(data.isDefault!=1){ success.call(this, data); } }); } }); } } } } }; const locationShow = () => { uni.showModal({ title: '温馨提示', content: '获取定位失败,请前往设置打开定位权限', showCancel: false, success(res) { if (res.confirm) { uni.openSetting({ success(res) {} }); } } }); } module.exports = { initMerchant: initMerchant, defaultMerchant: defaultMerchant, getMerchant: getMerchant, locationShow: locationShow, //驿站相关接口 merchant_save: '/api/merchant/save', //添加门店 merchant_isMerchant: '/api/merchant/isMerchant', //是否添加门店 merchant_detail: '/api/merchant/detail', //门店详情 settlement_create: '/api/v3/settlement/create', //申请驿站 settlement_info: '/api/v3/settlement/info', //进件信息 merchant_order_list: '/api/order/merchant/list', //门店订单列表 order_deliver_split: '/api/v3/order/deliver/split', //拆单 merchantCent_count: '/api/merchantCent/count', //门店收入 merchantCent_page: '/api/merchantCent/page', //门店收益明细 manage_clue_pool: '/manage/clue/pool', //线索池子 manage_clue_delete: '/manage/clue/delete', //删除线索 manage_clue_distribution: '/manage/clue/distribution', //线索分配 manage_clue_info: '/manage/clue/info', //线索详情 manage_clue_invalid: '/manage/clue/invalid', //标记线索失效 manage_clue_list: '/manage/clue/list', //线索列表 manage_clue_logsList: '/manage/clue/logsList', //线索日志 manage_clue_save: '/api/v3/assistant/clueSave', //新建或修改线索 manage_clue_update: '/manage/clue/update', //更新线索 manage_clue_source: '/manage/clue/source', //线索详情源数据 manage_clue_total: '/api/v3/assistant/clueCensus', //线索统计 manage_clue_totalV2: '/manage/clue/totalV2', //客户统计数据 manage_source_list: '/manage/source/list', //线索来源 manage_sysdict_list: '/manage/sysDict/getList', //需求类型和客户类型接口 manage_demand_list: '/api/v3/assistant/demand/list', //线索需求类型列表 manage_demand_create: '/api/v3/assistant/demand/create', //创建需求类型 manage_demand_delete: '/api/v3/assistant/demand/delete', //删除标签 manage_clue_contact: '/manage/clue/contact', //联系方式类型 customer_followUp: '/manage/customer/followUp', //设置跟进 manage_clue_followUp: '/manage/clue/followUp', //跟进方式 manage_logs_journey: '/manage/logs/journey', //客户旅程 manage_logs_last: '/manage/logs/last', //最后的客户旅程 manage_logs_info: '/manage/logs/info', //获取客户、线索基本信息 userinfo: '/api/user/info', //用户数据 weixin_mobile: '/api/weixin/mobile', //绑定微信手机号(成为会员) user_info: '/api/user/info', //我的 banner: '/api/banner', //广告 manage_clue_importance: '/manage/clue/importance', //打星星 manage_clue_topping: '/manage/clue/topping', //置顶 manage_clue_read: '/manage/clue/read', //标记为已读 manage_logs_logAnnotation: '/manage/logs/logAnnotation', //提交批注 manage_group_list: '/api/v3/assistant/group/list', //客户标签列表 manage_group_create: '/manage/group/create', //创建客户标签分组 manage_group_delete: '/manage/group/delete', //删除客户标签分组 //需求类型 manage_scrm_label_list: '/api/v3/assistant/labelList', //需求类型列表 // 销售业绩 perfomance_statistics: '/api/v3/distribution/commission/index', //业绩统计首页 perfomance_statistics_charts: '/api/v3/distribution/commission/indexChart', //销售统计 personal_achievementList: '/api/v3/distribution/commission/achievementList', //个人业绩统计 team_achievementList: '/api/v3/distribution/commission/teamAchievementList', //团队业绩统计 team_nextDept: '/api/v3/distribution/commission/nextDept', //用户管理的部门 team_personAchievementList: '/api/v3/distribution/commission/personAchievementList', //团队成员销售业绩统计 // 次卡 card_page: '/api/v3/secondary/card/page', //次卡列表 card_polymerization: '/api/v3/secondary/card/polymerization', //次卡聚合列表 card_detail: '/api/v3/secondary/card/detail', //次卡详情 card_useList: '/api/v3/secondary/card/useList', //用户未使用次卡列表 // 集成数据中心 commission_customer: '/api/v3/distribution/commission/customer', //推广合伙人我的客户 commission_marketChart: '/api/v3/distribution/commission/marketChart', //市场数据 //名片 api_isCompany: '/api/addressList/isCompany', //是创建了名片 api_addressList_info: '/api/addressList/myCompany', //名片详情-自己 api_addressList_infoV2: '/api/addressList/infoV2', //名片详情-别人查看,传入名片id api_addressList_save: '/api/addressList/save', //保存名片 api_addressList_update: '/api/addressList/update', //修改名片 api_company_visits_save: '/api/company/visits/save', //名片浏览记录 api_company_visits_count: '/api/company/visits/count', //统计 api_addressList_getCompanyCode: '/api/addressList/getCompanyCode', //获取名片码 // 名片 card_userInfo: '/api/v3/visiting/card/userInfo', //用户名片信息 card_info: '/api/v3/visiting/card/info', //名片信息 card_saveOrUpdate: '/api/v3/visiting/card/saveOrUpdate', //创建或更新名片信息 card_isExit: '/api/v3/visiting/card/isExist', //判断用户是否存在 //企业管理 company_detail: '/api/v3/recruit/company/detail', //企业详情 company_my: '/api/v3/recruit/company/detail/my', //我的企业 company_list: '/api/v3/recruit/company/list', //企业列表 company_save: '/api/v3/recruit/company/save', //企业保存post company_industry: '/manage/company/industry', //行业分类列表 // 优惠券 coupon_exchange: '/api/v3/coupon/exchange', //兑换码兑换优惠券 upload: '/api/upload', //上传文件 api_position_list: '/api/position/list', //职位管理 webchat_appId: '/api/v3/oauth/web-chat/appId', //获取租户的公众号ID wechat_loginV2: '/api/wechat/loginV2', //公众号静默授权登录 // 登录 mobile_bind_mobile: '/api/bind/mobile', //手机号绑定 sms_bind_mobile: '/api/send/bind/mobile', //发送绑定手机短信 sms_login: '/api/sms/login', //发送登录验证手机短信 mobile_login: '/api/mobileLogin', //手机验证码登录 wechat_login: '/api/wxapp/login', //微信登录 // 验证码登录 api_sms_login: '/api/sms/login', //发送登录验证码 api_mobile_login: '/api/mobileLogin', //发送登录验证码 // 赛事报名 enlist_create: '/api/v3/enlist/create', //创建报名记录 enlist_launchCrowd: '/api/v3/enlist/launchCrowd', //发起支付或转为众筹 enlist_orderweixin_pay: '/api/orderweixin/pay', //直接支付 调用第三方支付下单支付 enlist_again_pay: '/api/match/again-pay', //重新支付更改订单状态 match_avatar_list: '/api/match/avatar/list', //虚拟报名头像 // 签到 enlist_select: '/api/v3/enlist/select', //查询报名信息 enlist_sign_sms: '/api/sms/enlist/sign', //报名签到发送验证码 enlist_sign_v2: '/api/v3/enlist/sign/v2', //报名签到 // 在线挂号 unified_tree_list: '/api/v3/unified/tree/list', //科室type=2 doctor_list: '/api/v3/sysUser/getDoctor', //医生列表 doctor_listV2: '/api/v3/sysUser/getDoctorV2', //首页医生列表 doctor_info: '/api/v3/sysUser/info', //医生详情 doctor_rostering: '/api/rostering/v3/getDoctorRostering', //医生排班列表 rostering_msg: '/api/rostering/v3/register/msg', //医生排班列表 rostering_create: '/api/rostering/v3/create', //创建挂号订单 rostering_info: '/api/rostering/v3/register/info', //挂号订单详情 orderRefund_whole: '/api/orderRefund/whole', //取消挂号 rostering_isReservation: '/api/rostering/v3/isReservation', //检查是否预约 };