api.js 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. var QQMapWX = require("./qqmap.js");
  2. const loadPrevMerchant = req => {
  3. return new Promise((resolve, reject) => {
  4. req.g('/api/merchant/default', res => {
  5. resolve(res);
  6. });
  7. });
  8. };
  9. /**
  10. * 初始化距离
  11. * @param {*} form
  12. */
  13. const initRange = (data, form, success, req) => {
  14. console.log('initRange==' + data, form);
  15. var timestamp = Date.parse(new Date());
  16. data.time = timestamp + 1 * 60 * 1000
  17. if (!form.latitude || !form.longitude) {
  18. if (data && data.type == 5) {
  19. data.merchantDTO.time = timestamp + 1 * 60 * 1000
  20. req.setStorage('smallShop', data);
  21. req.setStorage('MERCHANT', data.merchantDTO);
  22. } else {
  23. req.setStorage('MERCHANT', data);
  24. req.removeStorage('smallShop');
  25. }
  26. success.call(this, data); // req.setStorage('MERCHANT', data);
  27. return false;
  28. }
  29. // console.log(data, "/**");
  30. QQMapWX.initMap(); // const form = { latitude: point.lat, longitude: point.lng };
  31. if (!data.lat || !data.lng) {
  32. if (data && data.type == 5) {
  33. data.merchantDTO.time = timestamp + 1 * 60 * 1000
  34. req.setStorage('smallShop', data);
  35. req.setStorage('MERCHANT', data.merchantDTO);
  36. } else {
  37. req.setStorage('MERCHANT', data);
  38. req.removeStorage('smallShop');
  39. }
  40. } else {
  41. const to = {
  42. latitude: data.lat,
  43. longitude: data.lng
  44. };
  45. QQMapWX.reverseGeocoder(to, resp => {
  46. console.log('地理位置数据22222>>>>>>>==',resp);
  47. req.setStorage('loctionAddressMap', resp.ad_info);
  48. });
  49. QQMapWX.calculateDistance(form, [to], response => {
  50. // console.log('地理位置数据>>>>>>>==',response);
  51. if (response) {
  52. data.range = Math.round(response.elements[0].distance / 1000);
  53. data.mDistance = response.elements[0].distance;
  54. }
  55. if (data && data.type == 5) {
  56. data.merchantDTO.time = timestamp + 1 * 60 * 1000
  57. req.setStorage('smallShop', data);
  58. req.setStorage('MERCHANT', data.merchantDTO);
  59. } else {
  60. req.setStorage('MERCHANT', data);
  61. req.removeStorage('smallShop');
  62. }
  63. success.call(this, data);
  64. });
  65. }
  66. };
  67. const initMerchant = (req, point, success) => {
  68. //初始化门店信息
  69. //获取本地缓存门店信息
  70. // let merchant = req.getStorage("MERCHANT");
  71. // if (merchant) success.call(this, merchant);
  72. // else {
  73. //获取上次选择的门店
  74. loadPrevMerchant(req).then(data => {
  75. if (!data || !data.id) {
  76. let userPid
  77. if (!JSON.parse(req.getStorage('configRes')).User_Limit_Store || JSON.parse(req.getStorage(
  78. 'configRes'))
  79. .User_Limit_Store != 1) {
  80. } else {
  81. if (!req.getStorage('userInfo').pid) {
  82. userPid = 1
  83. } else {
  84. delete point.lat
  85. delete point.lng
  86. point.pid = req.getStorage('userInfo').pid
  87. }
  88. }
  89. //获取最近的门店
  90. req.getRequest('/api/merchant/getMerchantList', point, res => {
  91. // if (point.type == "shopindex") {AA
  92. // res = res.filter(it => it.isDefault != 1);
  93. // }
  94. if (userPid == 1) {
  95. res = res.filter(it => it.isDefault == 1);
  96. }
  97. console.log('最近的门店==')
  98. initRange(res[0], {
  99. latitude: point.lat,
  100. longitude: point.lng
  101. }, success, req);
  102. });
  103. } else {
  104. console.log('上次有门店==')
  105. initRange(data, {
  106. latitude: point.lat,
  107. longitude: point.lng
  108. }, success, req);
  109. }
  110. })
  111. // }
  112. };
  113. // 获取默认门店
  114. const defaultMerchant = (req, point, success) => {
  115. // let merchant = req.getStorage('defaultMerchant');
  116. // if(merchant){
  117. // req.setStorage('defaultMerchant', merchant);
  118. // if(JSON.parse(req.getStorage('configRes')).Many_Store == 0){
  119. // success.call(this,merchant);
  120. // }
  121. // }else{
  122. req.getRequest('/api/merchant/getIsdefault', {}, res => {
  123. // 默认门店
  124. // console.log(res);
  125. // if (point && point.type == "index") {
  126. // initRange(data[0], {
  127. // latitude: point.lat,
  128. // longitude: point.lng
  129. // }, success, req);
  130. // }
  131. req.setStorage('defaultMerchant', res);
  132. if (JSON.parse(req.getStorage('configRes')).Many_Store == 0) {
  133. success.call(this, res);
  134. }
  135. if(req.getStorage('isVideoScene')) {
  136. success.call(this, res);
  137. }
  138. });
  139. // }
  140. };
  141. // 获取门店
  142. const getMerchant = (query, req, success) => {
  143. console.log('api+query' + JSON.stringify(query))
  144. if(req.getStorage('isVideoScene')){
  145. console.log('视频号')
  146. defaultMerchant(req, query, success);
  147. } else{
  148. defaultMerchant(req, query, success);
  149. if (JSON.parse(req.getStorage('configRes')).Many_Store == 0) {
  150. // defaultMerchant(req, query, res=>{success.call(this, res)})
  151. } else {
  152. let merchant
  153. if (query.merchantId && query.merchantId != 'undefined') {
  154. console.log('query有门店id');
  155. let from = {};
  156. if (query.shopId != null && query.shopId != undefined && query.shopId != "") {
  157. from.id = query.shopId;
  158. } else {
  159. from.id = query.merchantId;
  160. }
  161. req.getRequest('/api/merchant/detail', from, data => {
  162. if (!data.id) {
  163. req.msg('该门店不存在' + (JSON.parse(req.getStorage('configRes')).User_Limit_Store != 1 ?
  164. ',请切换门店' : ''))
  165. } else {
  166. if (!data.isBusiness) {
  167. req.msg('该门店暂未营业' + (JSON.parse(req.getStorage('configRes')).User_Limit_Store !=
  168. 1 ? ',请切换门店' : ''))
  169. setTimeout(() => {
  170. success.call(this, data);
  171. }, 800)
  172. } else {
  173. var timestamp = Date.parse(new Date());
  174. data.time = timestamp + 1 * 60 * 1000
  175. if (data.type == 5) {
  176. data.merchantDTO.time = timestamp + 1 * 60 * 1000
  177. req.setStorage("smallShop", data), req.setStorage("MERCHANT", data
  178. .merchantDTO);
  179. } else {
  180. req.setStorage("MERCHANT", data);
  181. }
  182. success.call(this, data);
  183. }
  184. }
  185. // console.log(data, "执行+++++++++++++++++++++");
  186. });
  187. } else {
  188. console.log('query--没有门店id');
  189. var timestamp = Date.parse(new Date());
  190. if (req.getStorage('configRes') && JSON.parse(req.getStorage('configRes')).User_Limit_Store && JSON
  191. .parse(
  192. req.getStorage('configRes'))
  193. .User_Limit_Store == 1) {
  194. if (req.getStorage('smallShop')) {
  195. merchant = req.getStorage('smallShop');
  196. } else if (req.getStorage('MERCHANT')) {
  197. merchant = req.getStorage('MERCHANT');
  198. }
  199. } else {
  200. // console.log(req.getStorage('smallShop').time, "=================================", req.getStorage(
  201. // 'MERCHANT').time, req.getStorage('smallShop').time > timestamp,req.getStorage('MERCHANT').time > timestamp)
  202. if (req.getStorage('smallShop') && req.getStorage('smallShop').time > timestamp) {
  203. merchant = req.getStorage('smallShop');
  204. } else if (req.getStorage('MERCHANT') && req.getStorage('MERCHANT').time > timestamp) {
  205. merchant = req.getStorage('MERCHANT');
  206. }
  207. }
  208. if (merchant) {
  209. merchant.mDistance = parseInt(merchant.mDistance);
  210. merchant.range = parseInt(merchant.range);
  211. success.call(this, merchant);
  212. } else {
  213. if (JSON.parse(req.getStorage('configRes')).User_Limit_Store && JSON.parse(req.getStorage(
  214. 'configRes'))
  215. .User_Limit_Store == 1) {
  216. initMerchant(req, {}, data => {
  217. if (data) {
  218. data.mDistance = parseInt(data.mDistance);
  219. data.range = parseInt(data.range); // if(data.isDefault!=1){
  220. success.call(this, data);
  221. }
  222. });
  223. } else {
  224. req.getLocation(res => {
  225. if (res == 1 || res == 2) {
  226. success.call(this, req.getStorage("defaultMerchant"));
  227. } else {
  228. let form = {
  229. lat: res.latitude,
  230. lng: res.longitude
  231. }
  232. if (query.type) {
  233. form.type = query.type
  234. }
  235. initMerchant(req, form, data => {
  236. if (data) {
  237. data.mDistance = parseInt(data.mDistance);
  238. data.range = parseInt(data.range); // if(data.isDefault!=1){
  239. success.call(this, data);
  240. }
  241. });
  242. }
  243. });
  244. }
  245. }
  246. }
  247. }
  248. }
  249. };
  250. const locationShow = () => {
  251. uni.showModal({
  252. title: '温馨提示',
  253. content: '获取定位失败,请前往设置打开定位权限',
  254. showCancel: false,
  255. success(res) {
  256. if (res.confirm) {
  257. // console.log('用户点击确定');
  258. uni.openSetting({
  259. success(res) {
  260. // console.log(res.authSetting); // res.authSetting = {
  261. }
  262. });
  263. }
  264. }
  265. });
  266. }
  267. module.exports = {
  268. initMerchant: initMerchant,
  269. defaultMerchant: defaultMerchant,
  270. getMerchant: getMerchant,
  271. // poi位置
  272. get_nearby_dialogue: '/api/v3/moments/getNearbyDialogue',//获取附近话题
  273. // 团队管理
  274. create_user_team: '/api/v3/cloud/user/team',//创建团队get,修改团队put
  275. user_team_page: '/api/v3/cloud/user/team/page',//团队列表
  276. user_team_list: '/api/v3/cloud/user/team/list',//我的团队列表
  277. user_team_info: '/api/v3/cloud/user/team/',//团队详情{id}
  278. user_team_users: '/api/v3/cloud/user/team/users',//团队成员
  279. user_team_follow: '/api/v3/cloud/user/team/follow',//加入团队
  280. user_team_remove: '/api/v3/cloud/user/team/remove',//移除团队成员
  281. // 优惠券
  282. coupon_exchange: '/api/v3/coupon/exchange',//兑换码兑换优惠券
  283. //关注用户
  284. follow_user_list: '/api/v3/behavior/getFollowUserList',//关注用户列表
  285. };