@conecli/cone-render 0.10.1-shop3.12 → 0.10.1-shop3.121

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +1 -1
  2. package/dist/api/index.ts +1 -1
  3. package/dist/common/accessibility.h5.ts +1 -0
  4. package/dist/common/accessibility.ts +1 -0
  5. package/dist/common/const.ts +1 -1
  6. package/dist/common/index.h5.ts +1 -1
  7. package/dist/common/index.jd.ts +1 -1
  8. package/dist/common/index.ts +1 -1
  9. package/dist/common/index.weapp.ts +1 -1
  10. package/dist/common/jdplayerSdk.weapp.tsx +1 -0
  11. package/dist/common/jssdk.ts +1 -1
  12. package/dist/common/jssdk.weapp.ts +1 -0
  13. package/dist/common/pageType.ts +1 -1
  14. package/dist/common/token/index.h5.ts +1 -1
  15. package/dist/common/token/token.jd.ts +1 -1
  16. package/dist/common/wxappApi.ascf.ts +1 -0
  17. package/dist/common/wxappApi.ts +1 -1
  18. package/dist/components/ErrorBoundary.tsx +1 -1
  19. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  20. package/dist/components/base/CountDown/index.tsx +1 -1
  21. package/dist/components/base/CountDownForApp/index.module.scss +52 -0
  22. package/dist/components/base/CountDownForApp/index.tsx +1 -0
  23. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  24. package/dist/components/base/CustomVideo/index.tsx +1 -1
  25. package/dist/components/base/CustomVideo/index.weapp.tsx +1 -0
  26. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  27. package/dist/components/base/ExposureSmart/index.tsx +1 -1
  28. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  29. package/dist/components/base/InOrOutViewObserver/index.weapp.tsx +1 -0
  30. package/dist/components/base/InViewRender/index.tsx +1 -1
  31. package/dist/components/base/LazyLayoutLoad/index.module.scss +9 -9
  32. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  33. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  34. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  35. package/dist/components/base/MobileCommonHeader/index.weapp.tsx +1 -0
  36. package/dist/components/base/NetworkDataError/const.ts +1 -1
  37. package/dist/components/base/NetworkDataError/index.module.scss +118 -72
  38. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  39. package/dist/components/base/Price/Base/index.module.scss +12 -0
  40. package/dist/components/base/Price/Base/index.tsx +1 -1
  41. package/dist/components/base/Price/Double/index.module.scss +25 -1
  42. package/dist/components/base/Price/Double/index.tsx +1 -1
  43. package/dist/components/base/ShopLeGaoTag/index.h5.module.scss +35 -0
  44. package/dist/components/base/ShopLeGaoTag/index.h5.tsx +1 -0
  45. package/dist/components/base/ShopLeGaoTag/index.module.scss +33 -0
  46. package/dist/components/base/ShopLeGaoTag/index.tsx +1 -0
  47. package/dist/components/debug/DebugLayout/index.module.scss +2 -2
  48. package/dist/components/floorItem.tsx +1 -1
  49. package/dist/components/isv/Floor/index.tsx +1 -1
  50. package/dist/components/remoteFloorItem.tsx +1 -1
  51. package/dist/config/env.ts +1 -1
  52. package/dist/interface/common.ts +1 -1
  53. package/dist/interface/component.ts +1 -1
  54. package/dist/interface/jumpEventReport.ts +1 -1
  55. package/dist/interface/service.ts +1 -1
  56. package/dist/jumpEventReport/base.ts +1 -1
  57. package/dist/jumpEventReport/const.ts +1 -1
  58. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  59. package/dist/jumpEventReport/index.h5.ts +1 -1
  60. package/dist/jumpEventReport/index.jd.ts +1 -1
  61. package/dist/jumpEventReport/index.weapp.ts +1 -1
  62. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  63. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  64. package/dist/jumpEventReport/logEventConfig.h5.ts +1 -0
  65. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  66. package/dist/jumpEventReport/web/report.ts +1 -1
  67. package/dist/jumpEventReport/web.base.ts +1 -1
  68. package/dist/jumpEventReport/web.jd.ts +1 -1
  69. package/dist/jumpEventReport/web.pc.ts +1 -1
  70. package/dist/jumpEventReport/web.tjm.ts +1 -1
  71. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  72. package/dist/language/en_US.json +397 -0
  73. package/dist/language/zh_CN.json +397 -0
  74. package/dist/language/zh_HK.json +397 -0
  75. package/dist/libs/openShopBridge.js +161 -0
  76. package/dist/libs/openShopBridge.min.js +1 -0
  77. package/dist/libs/taroAppReport.js +2 -2
  78. package/dist/modules/ContainerFloorList/index.h5.module.scss +16 -2
  79. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  80. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  81. package/dist/modules/DecorateContainerFloorList/index.weapp.tsx +1 -0
  82. package/dist/open/api/environment.ts +1 -1
  83. package/dist/open/api/shopMember.ts +1 -1
  84. package/dist/open/api/shopMember.weapp.ts +1 -0
  85. package/dist/open/api/track.ts +1 -1
  86. package/dist/open/api/util.ts +1 -1
  87. package/dist/open/components/index.ts +1 -1
  88. package/dist/open/index.ts +1 -1
  89. package/dist/sass/app.h5.scss +19 -2
  90. package/dist/sass/base.scss +8 -4
  91. package/dist/service/fetchGateway.ts +1 -1
  92. package/dist/service/fetchGateway.weapp.ts +1 -1
  93. package/dist/service/fetchJsonp.weapp.ts +1 -0
  94. package/dist/service/http/const.ts +1 -1
  95. package/dist/service/http/h5Http.ts +1 -1
  96. package/dist/service/http/httpInterceptors.weapp.ts +1 -0
  97. package/dist/service/requestServer.h5.ts +1 -1
  98. package/dist/service/requestServer.ts +1 -1
  99. package/dist/service/requestServer.weapp.ts +1 -1
  100. package/dist/utils/connectNativeJsBridge.ts +1 -1
  101. package/dist/utils/h5Utils.ts +1 -1
  102. package/dist/utils/harmonyCallRouter.h5.ts +1 -0
  103. package/dist/utils/harmonyCallRouter.ts +0 -0
  104. package/dist/utils/index.h5.ts +1 -1
  105. package/dist/utils/index.ts +1 -1
  106. package/dist/utils/index.weapp.ts +1 -1
  107. package/dist/utils/jumpExtMapUtil.ts +1 -0
  108. package/dist/utils/jumpExtMapUtil.weapp.ts +1 -0
  109. package/dist/utils/log.ts +1 -0
  110. package/dist/utils/{sColor.js → sColor.ts} +1 -1
  111. package/dist/utils/sColor.weapp.ts +1 -0
  112. package/dist/utils/utils.ts +1 -1
  113. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  114. package/dist/wxapp/common/user_info.js +1 -1
  115. package/package.json +166 -141
  116. package/dist/jumpEventReport/web/wqshop.report.ts +0 -1
  117. package/dist/utils/priceUtils.js +0 -1
  118. /package/dist/utils/{jumpExtMapUtil.js → jumpExtMapUtil.h5.ts} +0 -0
@@ -1 +1 @@
1
- import Taro from "@tarojs/taro";
2
1
  WXAPP_LOGIN,
3
2
  WXAPP_BIZ,
4
3
  WXAPP_USER_INFO,
5
4
  WXAPP_NAVIGATOR,
6
5
  WXAPP_REPORT_GDT,
7
6
  WXAPP_PARAMS_SIGN,
8
7
  WXAPP_FINGER_REPORT,
9
8
  WXAPP_REPORT_MANAGE,
10
9
  WXAPP_SUBS_GUIDER,
11
10
  BUSINESS_TYPE,
12
11
  SHOP_MENU_ID_TYPE,
13
12
  SHOP_MENU_ID_NAME,
14
13
  SECTION_HOME_TAB_NAME_TYPE,
15
14
  SECTION_HOME_TAB_TYPE,
16
15
  TaroEventType,
17
16
  WX_BUSINESS_TYPE,
18
17
  WXAPP_BIZ_KEY,
19
18
  WXAPP_BIZ_SHOP_LIGHT_KEY,
20
19
  getSystemInfos,
21
20
  getTaroStorageKeyValue,
22
21
  getWxAppCookieStr,
23
22
  objectToUrlEncode,
24
23
  abTestLabels: {},
25
24
  loginState: jdUserLoginState,
26
25
  cookiesStr: "",
27
26
  userInfo: userPinKey,
28
27
  pageInfo: {
29
28
  wxBusinessType: WX_BUSINESS_TYPE.SHOP,
30
29
  address: "",
31
30
  addressCommaStr: "",
32
31
  un_area: "",
33
32
  vapptype: "1",
34
33
  pageType: "home",
35
34
  dataType: BUSINESS_TYPE.ONLINE,
36
35
  floorExposureInfo: {},
37
36
  floorVideInfo: {},
38
37
  productVideInfo: {},
39
38
  tabsLoadAllDataInfo: {
40
39
  [SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_WELL_CHOSEN]]:
41
40
  false,
42
41
  [SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY]]: true,
43
42
  },
44
43
  updateShopInfosAllState: false,
45
44
  isVipShop: false,
46
45
  isJdShowNativeImmersivePlayer: false,
47
46
  ...shopConfig,
48
47
  pageScrollTop: 0,
49
48
  pageIdxHeightInfo: {
50
49
  list: [],
51
50
  },
52
51
  shopNavBarHeight: 0,
53
52
  },
54
53
  defaultQueryLogInfo: {
55
54
  sourceType: "JDshop",
56
55
  sourceValue: "",
57
56
  moduleId: "none",
58
57
  entrance: "none",
59
58
  },
60
59
  originQueryInfo: {},
61
60
  sysInfo: {
62
61
  windowWidth: 0,
63
62
  windowHeight: 0,
64
63
  netWorkType: "4g",
65
64
  jdBottomBarHeight: 0,
66
65
  jdNativeHeaderHeight: 0,
67
66
  },
68
67
  queryInfo: {},
69
68
  shopInfo: {},
70
69
  openAppData: {},
71
70
  public info: CommonInterFace.BaseConfigInfo;
72
71
  public config: {
73
72
  [key: string]: any;
74
73
  };
75
74
  public lazyContainer: CommonInterFace.lazyContainer;
76
75
  public rootEleNode: HTMLElement | null;
77
76
  public miniApplogUtil: CommonInterFace.MiniApplogUtil;
78
77
  public miniAppLogInstance: CommonInterFace.MiniAppLog | null;
79
78
  public checkStatusAndLoginPromise: object | null;
80
79
  public wxAppLoginInstance: CommonInterFace.WxAppLogin;
81
80
  public wxAppBizInstance: CommonInterFace.WxAppUserInfo;
82
81
  public wxAppUserInfoInstance: CommonInterFace.WxAppUserInfo;
83
82
  public wxAppReportManageInstance: CommonInterFace.wxAppReportManage;
84
83
  public wxAppReportGDTInstance: CommonInterFace.WxAppReportGDT;
85
84
  public wxAppNavigatorInstance: CommonInterFace.WxAppNavigator;
86
85
  public wxAppParamsSignInstance: CommonInterFace.wxAppParamsSign;
87
86
  public wxAppFingerReportInstance: CommonInterFace.wxAppParamsSign;
88
87
  public wxAppSubsGuider: CommonInterFace.wxAppParamsSign;
89
88
  public loadJsSdkList: Array<any>
90
89
  public loadJsSdkListCachePromise: any
91
90
  constructor(opt) {
92
91
  this.info = this._getConfig(opt);
93
92
  this.config = {};
94
93
  this.lazyContainer = {
95
94
  [SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_WELL_CHOSEN]]: {
96
95
  appLazyContainerList: [],
97
96
  appLazyFinishContainerList: [],
98
97
  },
99
98
  [SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_PROMOTION]]: {
100
99
  appLazyContainerList: [],
101
100
  appLazyFinishContainerList: [],
102
101
  },
103
102
  };
104
103
  this.loadJsSdkList = []
105
104
  this.loadJsSdkListCachePromise = {}
106
105
  this.rootEleNode = null;
107
106
  this.miniApplogUtil = MiniAppLogUtil;
108
107
  this.miniAppLogInstance = null;
109
108
  this.checkStatusAndLoginPromise = null;
110
109
  this.wxAppLoginInstance = WXAPP_LOGIN;
111
110
  this.wxAppBizInstance = WXAPP_BIZ;
112
111
  this.wxAppUserInfoInstance = WXAPP_USER_INFO;
113
112
  this.wxAppReportManageInstance = WXAPP_REPORT_MANAGE;
114
113
  this.wxAppReportGDTInstance = WXAPP_REPORT_GDT;
115
114
  this.wxAppNavigatorInstance = WXAPP_NAVIGATOR;
116
115
  this.wxAppParamsSignInstance = WXAPP_PARAMS_SIGN;
117
116
  this.wxAppFingerReportInstance = WXAPP_FINGER_REPORT
118
117
  ? new WXAPP_FINGER_REPORT()
119
118
  : {};
120
119
  this.wxAppSubsGuider = WXAPP_SUBS_GUIDER;
121
120
  }
122
121
  _getConfig(opt) {
123
122
  return Object.assign({}, DefaultConfig, opt);
124
123
  }
125
124
 
126
125
  taskTimeoutPromise(callBack, timeout = 2000) {
127
126
  return new Promise((resolve) => {
128
127
  setTimeout(() => {
129
128
  const getCallBackRes = typeof callBack === "function" && callBack();
130
129
  return resolve(getCallBackRes || false);
131
130
  }, timeout);
132
131
  });
133
132
  }
134
133
 
135
134
  updateBusinessDomainAndApi(domain, api) {
136
135
  console.log("=================>", "updateBusinessDomainAndApi");
137
136
  }
138
137
 
139
138
  getFullScreenHeight(systemInfo) {
140
139
  const { screenHeight, statusBarHeight, isAndroid } = systemInfo;
141
140
  let result = screenHeight;
142
141
  if (statusBarHeight > 20 && isAndroid) {
143
142
  result = screenHeight + statusBarHeight;
144
143
  }
145
144
  return result;
146
145
  }
147
146
 
148
147
  getTabBarHeight(systemInfo) {
149
148
  const { statusBarHeight, isAndroid, isIOS } = systemInfo;
150
149
  let result = 50;
151
150
  if (statusBarHeight > 20) {
152
151
  if (isIOS) {
153
152
  result = 84;
154
153
  } else if (isAndroid) {
155
154
  result = 53;
156
155
  }
157
156
  }
158
157
  return result;
159
158
  }
160
159
 
161
160
  getSystemInfo() {
162
161
  const info: UtilsInterFace.taroGetSystemInfoSyncRes =
163
162
  getSystemInfos() || {};
164
163
  const actualNavBarHeight =
165
164
  (info?.navBarHeight || 0) + (info?.navBarExtendHeight || 0);
166
165
  const headerHeight = actualNavBarHeight + (info?.statusBarHeight || 0);
167
166
  const fullScreenHeight = this.getFullScreenHeight(info);
168
167
  const tabBarHeight = this.getTabBarHeight(info);
169
168
  const safeContentHeight = fullScreenHeight - headerHeight;
170
169
  this.info.sysInfo = {
171
170
  ...this.info.sysInfo,
172
171
  ...info,
173
172
  actualNavBarHeight,
174
173
  headerHeight,
175
174
  fullScreenHeight,
176
175
  tabBarHeight,
177
176
  safeContentHeight,
178
177
  };
179
178
  if (this.info.sysInfo["hostVersionName"]) {
180
179
  this.info.sysInfo["hostAppVersion"] = Number(
181
180
  this.info.sysInfo["hostVersionName"].replace(/\./g, "")
182
181
  );
183
182
  }
184
183
  this.info.sysInfo["wifiVideoAutoPlay"] = false;
185
184
  this.getNetWorkType();
186
185
  console.log("获取系统信息", this.info.sysInfo);
187
186
  }
188
187
  async updateMPaasConfig() {}
189
188
 
190
189
  getNetWorkType() {
191
190
  Taro.getNetworkType().then((getRes) => {
192
191
  getRes &&
193
192
  getRes.networkType &&
194
193
  (this.info.sysInfo["netWorkType"] = getRes.networkType);
195
194
  });
196
195
  }
197
196
  getAPPUseStraightCorner () {
198
197
  return Promise.resolve(false)
199
198
  }
200
199
 
201
200
  checkStatusAndLogin(options = {}) {
202
201
  this.checkStatusAndLoginPromise = new Promise((resolve, reject) => {
203
202
  console.log(
204
203
  "微信小程序登录状态及获取cookie状态的promise,之前登录状态",
205
204
  this.info.loginState
206
205
  );
207
206
  this.toLogin(options)
208
207
  .then((res) => {
209
208
  console.log("微信小程序登录状态结果,成功", res);
210
209
  this.info.loginState = true;
211
210
  resolve(res);
212
211
  })
213
212
  .catch((err) => {
214
213
  console.log("微信小程序登录异常状态结果", err);
215
214
  this.doLogin(options)
216
215
  .then((res2) => {
217
216
  console.log("微信小程序wxDoLogin强制登陆成功:", res2);
218
217
  this.info.loginState = true;
219
218
  resolve(res2);
220
219
  })
221
220
  .catch((err2) => {
222
221
  console.log("微信小程序wxDoLogin强制登陆失败:", err2);
223
222
  this.checkStatusAndLoginPromise = null;
224
223
  reject(err2);
225
224
  });
226
225
  });
227
226
  });
228
227
  return this.checkStatusAndLoginPromise;
229
228
  }
230
229
 
231
230
  checkJdStatusAndLogin(
232
231
  options = {
233
232
  loginColor: {
234
233
  biz: WXAPP_BIZ_SHOP_LIGHT_KEY,
235
234
  dpin: 0,
236
235
  },
237
236
  }
238
237
  ) {
239
238
  return this.checkStatusAndLogin(options);
240
239
  }
241
240
 
242
241
  toLogin(options = {}): Promise<any> {
243
242
  return this.wxAppLoginInstance
244
243
  .getLoginPromise({
245
244
  mode: "common",
246
245
  loginColor: {
247
246
  biz: WXAPP_BIZ_KEY,
248
247
  dpin: 1,
249
248
  },
250
249
  ...options,
251
250
  })
252
251
  .then((res) => {
253
252
  console.log("微信app登录返回信息,微信侧返回code为0表示成功", res);
254
253
  setTimeout(() => {
255
254
  console.log(
256
255
  "微信app登录返回成功后,后台会写入cookie,有延迟,这里延迟500ms去获取最新cookie"
257
256
  );
258
257
  this.getLoginCookie(`${Date.now()}`);
259
258
  }, 500);
260
259
  })
261
260
  .catch((err) => {
262
261
  console.log("微信app登录异常返回信息,也获取cookie", err);
263
262
  this.getLoginCookie(`${Date.now()}`);
264
263
  });
265
264
  }
266
265
 
267
266
  doLogin(options = {}) {
268
267
  const getParams = {
269
268
  loginColor: {
270
269
  biz: WXAPP_BIZ_KEY,
271
270
  dpin: 1,
272
271
  },
273
272
  ...options,
274
273
  };
275
274
  if (isPublishToWxapp) {
276
275
  getParams[
277
276
  "returnUrl"
278
277
  ] = `/pages/shopx/pages/index/index?${objectToUrlEncode({
279
278
  ...this.info.originQueryInfo,
280
279
  loadShopxType: "redirect",
281
280
  })}`;
282
281
  }
283
282
  return this.wxAppLoginInstance.doLogin(getParams).then((res) => {
284
283
  console.log("微信小程序强制登录返回信息,微信侧返回code为0表示成功", res);
285
284
  setTimeout(() => {
286
285
  console.log(
287
286
  "微信强制登录后,后台会写入cookie,有延迟,这里延迟500ms去获取最新cookie"
288
287
  );
289
288
  this.getLoginCookie(`${Date.now()}`);
290
289
  }, 500);
291
290
  return res;
292
291
  });
293
292
  }
294
293
 
295
294
  doLoginForJdPin(options = {}) {
296
295
  return this.doLogin({
297
296
  loginColor: {
298
297
  biz: WXAPP_BIZ_SHOP_LIGHT_KEY,
299
298
  dpin: 0,
300
299
  },
301
300
  ...options,
302
301
  });
303
302
  }
304
303
 
305
304
  getLoginCookie(updateKey = "wxapp") {
306
305
  return new Promise((resolve) => {
307
306
  console.log("开始获取更新wxapp中的cookie信息", updateKey);
308
307
  if (
309
308
  this.config.wqCookie &&
310
309
  this.config.wqCookieStr &&
311
310
  this.config.getWqCookieKey === updateKey
312
311
  ) {
313
312
  console.log("已有存储wxapp中的cookie信息,直接返回", this.config);
314
313
  resolve({
315
314
  wqCookie: this.config.wqCookie,
316
315
  wqCookieStr: this.config.wqCookieStr,
317
316
  });
318
317
  } else {
319
318
  if (isPublishToWxapp) {
320
319
  const getWxappCookieObj = getTaroStorageKeyValue("cookies") || null;
321
320
  if (getWxappCookieObj) {
322
321
  const getCookieObj = getWxappCookieObj["_data"];
323
322
  const { wqCookie, wqCookieStr } = getWxAppCookieStr(getCookieObj);
324
323
  const {
325
324
  pin = "",
326
325
  visitkey = "-1",
327
326
  wq_unionid = "",
328
327
  wxapp_openid = "",
329
328
  } = wqCookie;
330
329
  this.info.loginState = true;
331
330
  this.info.userInfo.wqCookie = wqCookieStr;
332
331
  this.info.userInfo.wqVisitkey = visitkey;
333
332
  console.log("获取用户完整cookie信息", getCookieObj);
334
333
  const getUserAddress = this.wxAppUserInfoInstance.getAddress();
335
334
  console.log("获取微信用户地址信息", getUserAddress);
336
335
  if (getUserAddress) {
337
336
  this.info.pageInfo.address = getUserAddress?.areaId;
338
337
  this.info.pageInfo.addressCommaStr = this.info.pageInfo.address
339
338
  ? this.info.pageInfo.address.replace(/_/g, ",")
340
339
  : "";
341
340
  this.info.pageInfo.un_area = this.info.pageInfo.address;
342
341
  Taro.eventCenter.trigger(
343
342
  TaroEventType.USER_AREA_UPDATE,
344
343
  this.info.pageInfo.address
345
344
  );
346
345
  }
347
346
  if (this.miniAppLogInstance) {
348
347
  this.miniAppLogInstance.set({
349
348
  account: pin,
350
349
  unionid: wq_unionid,
351
350
  openid: wxapp_openid,
352
351
  });
353
352
  }
354
353
  this.config.wqCookie = wqCookie;
355
354
  this.config.wqCookieStr = wqCookieStr;
356
355
  this.config.getWqCookieKey = updateKey;
357
356
  console.log("解析wxapp中的cookie信息成功,返回后存储", this.config);
358
357
  resolve({
359
358
  wqCookie,
360
359
  wqCookieStr,
361
360
  });
362
361
  } else {
363
362
  console.log(
364
363
  "解析wxapp中的cookie信息异常,返回异常结果",
365
364
  this.config
366
365
  );
367
366
  resolve({
368
367
  wqCookie: false,
369
368
  wqCookieStr: false,
370
369
  });
371
370
  }
372
371
  } else {
373
372
  resolve({
374
373
  wqCookie: false,
375
374
  wqCookieStr: false,
376
375
  });
377
376
  }
378
377
  }
379
378
  });
380
379
  }
381
380
 
382
381
 
383
382
  checkLoginStatus() {
384
383
  return this.getLoginCookie();
385
384
  }
386
385
 
387
386
  getAddressCachePromise = () => {
388
387
  return Promise.reject("该方法只在APP内适用");
389
388
  };
390
389
 
391
390
  updatePageAndLogInfo(updateQuery = {}) {
392
391
  const createUpdateQueryInfo: {
393
392
  query: {
394
393
  shopId?: string | number;
395
394
  venderId?: string | number;
396
395
  };
397
396
  updateShopInfoState: boolean;
398
397
  } = Object.assign(
399
398
  {},
400
399
  {
401
400
  query: {},
402
401
  updateShopInfoState: false,
403
402
  },
404
403
  updateQuery
405
404
  );
406
405
  console.log(
407
406
  "获取当前下发的店铺查询参数",
408
407
  updateQuery,
409
408
  "获取之前保存的shopInfo店铺查询参数",
410
409
  this.info?.shopInfo
411
410
  );
412
411
  const { query, updateShopInfoState } = createUpdateQueryInfo;
413
412
  const { shopId, venderId } = query;
414
413
  if (updateShopInfoState) {
415
414
  this.info.queryInfo = {
416
415
  ...this.info.queryInfo,
417
416
  ...query,
418
417
  };
419
418
  if (shopId && venderId) {
420
419
  this.info.shopInfo = {
421
420
  shopId: `${shopId}`,
422
421
  venderId: `${venderId}`,
423
422
  };
424
423
  }
425
424
  } else {
426
425
  this.info.queryInfo = {
427
426
  ...query,
428
427
  };
429
428
  this.info.originQueryInfo = {
430
429
  ...query,
431
430
  };
432
431
  if (
433
432
  this.info.shopInfo?.shopId &&
434
433
  this.info.shopInfo?.venderId &&
435
434
  (this.info.shopInfo.shopId == shopId ||
436
435
  this.info.shopInfo.venderId == venderId)
437
436
  ) {
438
437
  this.info.queryInfo.shopId = this.info.shopInfo.shopId;
439
438
  this.info.queryInfo.venderId = this.info.shopInfo.venderId;
440
439
  console.log(
441
440
  "当前存储的店铺shopId和venderId与下发的店铺信息shopId或者venderId为同一个,补充shopId或者venderId查询参数",
442
441
  this.info.queryInfo
443
442
  );
444
443
  }
445
444
  }
446
445
  this.info.queryInfo["shopId"] &&
447
446
  (this.info.queryInfo["shopId"] = `${this.info.queryInfo["shopId"]}`);
448
447
  this.info.queryInfo["venderId"] &&
449
448
  (this.info.queryInfo["venderId"] = `${this.info.queryInfo["venderId"]}`);
450
449
  console.log(
451
450
  "weapp===获取店铺下发查询参数\n",
452
451
  query,
453
452
  "\n获取店铺最后查询参数\n",
454
453
  this.info.queryInfo,
455
454
  "\n是否为更新店铺状态\n",
456
455
  updateShopInfoState
457
456
  );
458
457
  }
459
458
 
460
459
  getDynamicConfig(key: string) {
461
460
  console.warn(
462
461
  "调用微信小程序的 getDynamicConfig(),注意,此方法还未实现!"
463
462
  );
464
463
  return null;
465
464
  }
466
465
  renderNextTickLoadSdk(){
467
466
  console.warn("暂未实现 index.weapp.ts")
468
467
  }
469
468
  loadOtherSdk(){
470
469
  console.warn('暂未实现 index.weapp.ts')
471
470
  }
472
471
  loadItemSdkPromise() {
473
472
  console.warn('暂未实现 index.weapp.ts')
474
473
  }
474
+ import Taro from '@tarojs/taro';
475
475
  WXAPP_LOGIN,
476
476
  WXAPP_BIZ,
477
477
  WXAPP_USER_INFO,
478
478
  WXAPP_NAVIGATOR,
479
479
  WXAPP_REPORT_GDT,
480
480
  WXAPP_PARAMS_SIGN,
481
481
  WXAPP_FINGER_REPORT,
482
482
  WXAPP_REPORT_MANAGE,
483
483
  WXAPP_SUBS_GUIDER,
484
484
  WXAPP_ADDRESS_V2_API,
485
485
  BUSINESS_TYPE,
486
486
  SHOP_MENU_ID_TYPE,
487
487
  SHOP_MENU_ID_NAME,
488
488
  SECTION_HOME_TAB_NAME_TYPE,
489
489
  SECTION_HOME_TAB_TYPE,
490
490
  TaroEventType,
491
491
  WX_BUSINESS_TYPE,
492
492
  WXAPP_BIZ_KEY,
493
493
  WXAPP_BIZ_SHOP_LIGHT_KEY,
494
494
  getSystemInfos,
495
495
  getTaroStorageKeyValue,
496
496
  getWxAppCookieStr,
497
497
  objectToUrlEncode,
498
498
  languageNowType,
499
499
  isAscfApp,
500
500
  abTestLabels: {},
501
501
  nonSellableSkuids: {},
502
502
  loginState: jdUserLoginState,
503
503
  cookiesStr: '',
504
504
  userInfo: userPinKey,
505
505
  isImmersive: false,
506
506
  baseAddCartSwitch: true,
507
507
  pageInfo: {
508
508
  wxBusinessType: WX_BUSINESS_TYPE.SHOP,
509
509
  address: '',
510
510
  addressCommaStr: '',
511
511
  un_area: '',
512
512
  fullAddress: '',
513
513
  userLbsAddress: '',
514
514
  vapptype: '1',
515
515
  pageType: 'home',
516
516
  dataType: BUSINESS_TYPE.ONLINE,
517
517
  floorExposureInfo: {},
518
518
  floorVideInfo: {},
519
519
  productVideInfo: {},
520
520
  tabsLoadAllDataInfo: {
521
521
  [SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_WELL_CHOSEN]]: false,
522
522
  [SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY]]: true,
523
523
  },
524
524
  updateShopInfosAllState: false,
525
525
  isVipShop: false,
526
526
  isJdShowNativeImmersivePlayer: false,
527
527
  isSuperBrandShop: false,
528
528
  ...shopConfig,
529
529
  pageScrollTop: 0,
530
530
  pageIdxHeightInfo: {
531
531
  list: [],
532
532
  },
533
533
  shopNavBarHeight: 0,
534
534
  },
535
535
  defaultQueryLogInfo: {
536
536
  sourceType: 'JDshop',
537
537
  sourceValue: '',
538
538
  moduleId: 'none',
539
539
  entrance: 'none',
540
540
  },
541
541
  originQueryInfo: {},
542
542
  sysInfo: {
543
543
  windowWidth: 0,
544
544
  windowHeight: 0,
545
545
  netWorkType: '4g',
546
546
  jdBottomBarHeight: 0,
547
547
  jdNativeHeaderHeight: 0,
548
548
  },
549
549
  queryInfo: {},
550
550
  shopInfo: {},
551
551
  openAppData: {},
552
552
  public info: CommonInterFace.BaseConfigInfo;
553
553
  public config: {
554
554
  [key: string]: any;
555
555
  };
556
556
  public lazyContainer: CommonInterFace.lazyContainer;
557
557
  public rootEleNode: HTMLElement | null;
558
558
  public miniApplogUtil: CommonInterFace.MiniApplogUtil;
559
559
  public miniAppLogInstance: CommonInterFace.MiniAppLog | null;
560
560
  public checkStatusAndLoginPromise: object | null;
561
561
  public wxAppLoginInstance: CommonInterFace.WxAppLogin;
562
562
  public wxAppBizInstance: CommonInterFace.WxAppUserInfo;
563
563
  public wxAppUserInfoInstance: CommonInterFace.WxAppUserInfo;
564
564
  public wxAppReportManageInstance: CommonInterFace.wxAppReportManage;
565
565
  public wxAppReportGDTInstance: CommonInterFace.WxAppReportGDT;
566
566
  public wxAppNavigatorInstance: CommonInterFace.WxAppNavigator;
567
567
  public wxAppParamsSignInstance: CommonInterFace.wxAppParamsSign;
568
568
  public wxAppFingerReportInstance: CommonInterFace.wxAppParamsSign;
569
569
  public wxAppSubsGuider: CommonInterFace.wxAppParamsSign;
570
570
  public wxAppAddressV2apiInstance: CommonInterFace.wxAppAddressV2api;
571
571
  public loadJsSdkList: Array<any>;
572
572
  public loadJsSdkListCachePromise: any;
573
573
  public lbsAddressCachePromise: Promise<any> | null;
574
574
  public languageJsonData: any | null;
575
575
  public businessWorkerReady: boolean;
576
576
  public jdWorkerReadyPromise: any | null;
577
577
  constructor(opt) {
578
578
  this.info = this._getConfig(opt);
579
579
  this.config = {};
580
580
  this.lazyContainer = {
581
581
  [SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_WELL_CHOSEN]]: {
582
582
  appLazyContainerList: [],
583
583
  appLazyFinishContainerList: [],
584
584
  },
585
585
  [SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_PROMOTION]]: {
586
586
  appLazyContainerList: [],
587
587
  appLazyFinishContainerList: [],
588
588
  },
589
589
  };
590
590
  this.loadJsSdkList = [];
591
591
  this.loadJsSdkListCachePromise = {};
592
592
  this.rootEleNode = null;
593
593
  this.miniApplogUtil = MiniAppLogUtil;
594
594
  this.miniAppLogInstance = null;
595
595
  this.checkStatusAndLoginPromise = null;
596
596
  this.wxAppLoginInstance = WXAPP_LOGIN;
597
597
  this.wxAppBizInstance = WXAPP_BIZ;
598
598
  this.wxAppUserInfoInstance = WXAPP_USER_INFO;
599
599
  this.wxAppReportManageInstance = WXAPP_REPORT_MANAGE;
600
600
  this.wxAppReportGDTInstance = WXAPP_REPORT_GDT;
601
601
  this.wxAppNavigatorInstance = WXAPP_NAVIGATOR;
602
602
  this.wxAppParamsSignInstance = WXAPP_PARAMS_SIGN;
603
603
  this.wxAppFingerReportInstance = WXAPP_FINGER_REPORT ? new WXAPP_FINGER_REPORT() : {};
604
604
  this.wxAppSubsGuider = WXAPP_SUBS_GUIDER;
605
605
  this.wxAppAddressV2apiInstance = WXAPP_ADDRESS_V2_API;
606
606
  this.lbsAddressCachePromise = null;
607
607
  this.languageJsonData = langeJsonDataForCn;
608
608
  this.businessWorkerReady = false;
609
609
  this.jdWorkerReadyPromise = Promise.resolve(false);
610
610
  }
611
611
  _getConfig(opt) {
612
612
  return Object.assign({}, DefaultConfig, opt);
613
613
  }
614
614
  loadApiSafeSteadyReayPromise() {
615
615
  return Promise.resolve(true);
616
616
  }
617
617
  loadH5tagReayPromise() {
618
618
  return Promise.resolve(true);
619
619
  }
620
620
 
621
621
  jmfeReayPromise(): Promise<any> {
622
622
  return Promise.reject(false);
623
623
  }
624
624
 
625
625
  taskTimeoutPromise(callBack, timeout = 2000) {
626
626
  return new Promise((resolve) => {
627
627
  setTimeout(() => {
628
628
  const getCallBackRes = typeof callBack === 'function' && callBack();
629
629
  return resolve(getCallBackRes || false);
630
630
  }, timeout);
631
631
  });
632
632
  }
633
633
 
634
634
  updateBusinessDomainAndApi(domain, api) {
635
635
  console.log('=================>', 'updateBusinessDomainAndApi');
636
636
  }
637
637
 
638
638
  getFullScreenHeight(systemInfo) {
639
639
  const { screenHeight, statusBarHeight, isAndroid } = systemInfo;
640
640
  let result = screenHeight;
641
641
  if (statusBarHeight > 20 && isAndroid) {
642
642
  result = screenHeight + statusBarHeight;
643
643
  }
644
644
  return result;
645
645
  }
646
646
 
647
647
  getTabBarHeight(systemInfo) {
648
648
  const { statusBarHeight, isAndroid, isIOS } = systemInfo;
649
649
  let result = 50;
650
650
  if (statusBarHeight > 20) {
651
651
  if (isIOS) {
652
652
  result = 84;
653
653
  } else if (isAndroid) {
654
654
  result = 53;
655
655
  }
656
656
  }
657
657
  return result;
658
658
  }
659
659
 
660
660
  getSystemInfo() {
661
661
  const info: UtilsInterFace.taroGetSystemInfoSyncRes = getSystemInfos() || {};
662
662
  const actualNavBarHeight = (info?.navBarHeight || 0) + (info?.navBarExtendHeight || 0);
663
663
  const headerHeight = actualNavBarHeight + (info?.statusBarHeight || 0);
664
664
  const fullScreenHeight = this.getFullScreenHeight(info);
665
665
  const tabBarHeight = this.getTabBarHeight(info);
666
666
  const safeContentHeight = fullScreenHeight - headerHeight;
667
667
  this.info.sysInfo = {
668
668
  ...this.info.sysInfo,
669
669
  ...info,
670
670
  actualNavBarHeight,
671
671
  headerHeight,
672
672
  fullScreenHeight,
673
673
  tabBarHeight,
674
674
  safeContentHeight,
675
675
  languageType: languageNowType,
676
676
  };
677
677
  if (this.info.sysInfo['hostVersionName']) {
678
678
  this.info.sysInfo['hostAppVersion'] = Number(
679
679
  this.info.sysInfo['hostVersionName'].replace(/\./g, ''),
680
680
  );
681
681
  }
682
682
  if (isPublishToWxapp) {
683
683
  this.getAddressCachePromise();
684
684
  this.getLbsAddressCachePromise();
685
685
  }
686
686
  this.info.sysInfo['wifiVideoAutoPlay'] = false;
687
687
  this.getNetWorkType();
688
688
  console.log('获取系统信息', this.info.sysInfo);
689
689
  }
690
690
  async updateMPaasConfig() {}
691
691
 
692
692
  getNetWorkType() {
693
693
  return Taro.getNetworkType().then((getRes) => {
694
694
  getRes && getRes.networkType && (this.info.sysInfo['netWorkType'] = getRes.networkType);
695
695
  return getRes
696
696
  });
697
697
  }
698
698
  getAPPUseStraightCorner() {
699
699
  return Promise.resolve(false);
700
700
  }
701
701
 
702
702
  checkStatusAndLogin(options = {}) {
703
703
  this.checkStatusAndLoginPromise = new Promise((resolve, reject) => {
704
704
  console.log('微信小程序登录状态及获取cookie状态的promise,之前登录状态', this.info.loginState);
705
705
  this.toLogin(options)
706
706
  .then((res) => {
707
707
  console.log('微信小程序登录状态结果,成功', res);
708
708
  this.info.loginState = true;
709
709
  resolve(res);
710
710
  })
711
711
  .catch((err) => {
712
712
  console.log('微信小程序登录异常状态结果', err);
713
713
  this.doLogin(options)
714
714
  .then((res2) => {
715
715
  console.log('微信小程序wxDoLogin强制登陆成功:', res2);
716
716
  this.info.loginState = true;
717
717
  resolve(res2);
718
718
  })
719
719
  .catch((err2) => {
720
720
  console.log('微信小程序wxDoLogin强制登陆失败:', err2);
721
721
  this.checkStatusAndLoginPromise = null;
722
722
  reject(err2);
723
723
  });
724
724
  });
725
725
  });
726
726
  return this.checkStatusAndLoginPromise;
727
727
  }
728
728
 
729
729
  checkJdStatusAndLogin(
730
730
  options = {
731
731
  loginColor: {
732
732
  biz: WXAPP_BIZ_SHOP_LIGHT_KEY,
733
733
  dpin: 0,
734
734
  },
735
735
  },
736
736
  ) {
737
737
  return this.checkStatusAndLogin(options);
738
738
  }
739
739
 
740
740
  toLogin(options = {}): Promise<any> {
741
741
  return this.wxAppLoginInstance
742
742
  .getLoginPromise({
743
743
  mode: 'common',
744
744
  loginColor: {
745
745
  biz: WXAPP_BIZ_KEY,
746
746
  dpin: 1,
747
747
  },
748
748
  ...options,
749
749
  })
750
750
  .then((res) => {
751
751
  console.log('微信app登录返回信息,微信侧返回code为0表示成功', res);
752
752
  setTimeout(() => {
753
753
  console.log(
754
754
  '微信app登录返回成功后,后台会写入cookie,有延迟,这里延迟500ms去获取最新cookie',
755
755
  );
756
756
  this.getLoginCookie(`${Date.now()}`);
757
757
  }, 500);
758
758
  })
759
759
  .catch((err) => {
760
760
  console.log('微信app登录异常返回信息,也获取cookie', err);
761
761
  this.getLoginCookie(`${Date.now()}`);
762
762
  });
763
763
  }
764
764
 
765
765
  doLogin(options = {}) {
766
766
  const getParams = {
767
767
  loginColor: {
768
768
  biz: WXAPP_BIZ_KEY,
769
769
  dpin: 1,
770
770
  },
771
771
  ...options,
772
772
  };
773
773
  if (isPublishToWxapp) {
774
774
  getParams['returnUrl'] = `/pages/shopx/pages/index/index?${objectToUrlEncode({
775
775
  ...this.info.originQueryInfo,
776
776
  loadShopxType: 'redirect',
777
777
  })}`;
778
778
  }
779
779
  return this.wxAppLoginInstance.doLogin(getParams).then((res) => {
780
780
  console.log('微信小程序强制登录返回信息,微信侧返回code为0表示成功', res);
781
781
  setTimeout(() => {
782
782
  console.log('微信强制登录后,后台会写入cookie,有延迟,这里延迟500ms去获取最新cookie');
783
783
  this.getLoginCookie(`${Date.now()}`);
784
784
  }, 500);
785
785
  return res;
786
786
  });
787
787
  }
788
788
 
789
789
  doLoginForJdPin(options = {}) {
790
790
  return this.doLogin({
791
791
  loginColor: {
792
792
  biz: WXAPP_BIZ_SHOP_LIGHT_KEY,
793
793
  dpin: 0,
794
794
  },
795
795
  ...options,
796
796
  });
797
797
  }
798
798
 
799
799
  getLoginCookie(updateKey = 'wxapp') {
800
800
  return new Promise(async (resolve) => {
801
801
  console.log('开始获取更新wxapp中的cookie信息', updateKey);
802
802
  if (
803
803
  this.config.wqCookie &&
804
804
  this.config.wqCookieStr &&
805
805
  this.config.getWqCookieKey === updateKey
806
806
  ) {
807
807
  console.log('已有存储wxapp中的cookie信息,直接返回', this.config);
808
808
  resolve({
809
809
  wqCookie: this.config.wqCookie,
810
810
  wqCookieStr: this.config.wqCookieStr,
811
811
  });
812
812
  } else {
813
813
  if (isPublishToWxapp) {
814
814
  const getWxappCookieObj = getTaroStorageKeyValue('cookies') || null;
815
815
  if (getWxappCookieObj) {
816
816
  const getCookieObj = getWxappCookieObj['_data'];
817
817
  if (isAscfApp) {
818
818
  const ptKey = this.wxAppLoginInstance.getPtKey();
819
819
  const ptPin = this.wxAppLoginInstance.getPtPin();
820
820
  getCookieObj.pt_key = { name: 'pt_key', value: ptKey };
821
821
  getCookieObj.pt_pin = { name: 'pt_pin', value: ptPin };
822
822
  }
823
823
  const { wqCookie, wqCookieStr } = getWxAppCookieStr(getCookieObj);
824
824
  const {
825
825
  pin = '',
826
826
  pt_pin = '',
827
827
  visitkey = '-1',
828
828
  wq_unionid = '',
829
829
  wxapp_openid = '',
830
830
  } = wqCookie;
831
831
  this.info.loginState = true;
832
832
  this.info.userInfo.wqCookie = wqCookieStr;
833
833
  this.info.userInfo.wqVisitkey = visitkey;
834
834
  console.log('获取用户完整cookie信息', getCookieObj);
835
835
  if (this.miniAppLogInstance && this.miniAppLogInstance.setCommon) {
836
836
  this.miniAppLogInstance.setCommon({
837
837
  account: pin || pt_pin,
838
838
  unionid: wq_unionid,
839
839
  openid: wxapp_openid,
840
840
  });
841
841
  }
842
842
  this.config.wqCookie = wqCookie;
843
843
  this.config.wqCookieStr = wqCookieStr;
844
844
  this.config.getWqCookieKey = updateKey;
845
845
  console.log('解析wxapp中的cookie信息成功,返回后存储', this.config);
846
846
  resolve({
847
847
  wqCookie,
848
848
  wqCookieStr,
849
849
  });
850
850
  } else {
851
851
  console.log('解析wxapp中的cookie信息异常,返回异常结果', this.config);
852
852
  resolve({
853
853
  wqCookie: false,
854
854
  wqCookieStr: false,
855
855
  });
856
856
  }
857
857
  } else {
858
858
  resolve({
859
859
  wqCookie: false,
860
860
  wqCookieStr: false,
861
861
  });
862
862
  }
863
863
  }
864
864
  });
865
865
  }
866
866
 
867
867
 
868
868
  checkLoginStatus() {
869
869
  return this.getLoginCookie();
870
870
  }
871
871
 
872
872
  getAddressCachePromise = () => {
873
873
  return new Promise((resolve) => {
874
874
  if (this.info.sysInfo?.area) {
875
875
  resolve({
876
876
  lat: this.info.sysInfo?.lat,
877
877
  lng: this.info.sysInfo?.lng,
878
878
  area: this.info.sysInfo?.area,
879
879
  fullAddress: this?.info?.pageInfo?.fullAddress,
880
880
  });
881
881
  } else {
882
882
  const getUserAddress = this.wxAppUserInfoInstance.getAddress();
883
883
  if (getUserAddress) {
884
884
  const { areaId = '', addressName, latitude, longitude } = getUserAddress;
885
885
  this.info.sysInfo['lat'] = `${latitude || ''}`;
886
886
  this.info.sysInfo['lng'] = `${longitude || ''}`;
887
887
  const getEncodeFullAddress = addressName ? encodeURIComponent(addressName) : "";
888
888
  if (areaId && areaId !== '') {
889
889
  this.info.pageInfo.address = areaId;
890
890
  this.info.pageInfo.addressCommaStr = areaId.replace(/_/g, ',');
891
891
  this.info.pageInfo.un_area = areaId;
892
892
  const getUpdateData = {
893
893
  area: areaId,
894
894
  }
895
895
  if(addressName && addressName.length > 0) {
896
896
  getUpdateData.fullAddress = getEncodeFullAddress;
897
897
  this.info.pageInfo.fullAddress = getEncodeFullAddress;
898
898
  }
899
899
  Taro.eventCenter.trigger(TaroEventType.USER_AREA_UPDATE, getUpdateData);
900
900
  this.info.sysInfo['area'] = areaId;
901
901
  }
902
902
  resolve({
903
903
  lat: this.info.sysInfo['lat'],
904
904
  lng: this.info.sysInfo['lng'],
905
905
  fullAddress: getEncodeFullAddress,
906
906
  area: areaId,
907
907
  });
908
908
  } else {
909
909
  resolve({ lat: '', lng: '', area: '', fullAddress: "" });
910
910
  }
911
911
  }
912
912
  });
913
913
  };
914
914
 
915
915
  getLbsAddressCachePromise(): Promise<{
916
916
  ok: boolean;
917
917
  msg?: string;
918
918
  realTimeArea: string;
919
919
  data?: any;
920
920
  }> {
921
921
  if (!this.lbsAddressCachePromise) {
922
922
  this.lbsAddressCachePromise = new Promise((resolve) => {
923
923
  const getWxappLbsAddressInfo = this.wxAppUserInfoInstance.getLbsAddress();
924
924
  console.info('京购原生获取用户基于lbs的缓存地址信息', getWxappLbsAddressInfo);
925
925
  if (getWxappLbsAddressInfo && getWxappLbsAddressInfo?.areaId !== '') {
926
926
  this.info.pageInfo.userLbsAddress = getWxappLbsAddressInfo?.areaId;
927
927
  Taro.eventCenter.trigger(TaroEventType.USER_AREA_UPDATE, {
928
928
  realTimeArea: this.info.pageInfo.userLbsAddress,
929
929
  });
930
930
  resolve({
931
931
  ok: true,
932
932
  realTimeArea: getWxappLbsAddressInfo?.areaId || '',
933
933
  });
934
934
  } else {
935
935
  this.wxAppAddressV2apiInstance
936
936
  .fetchLbsAddr({
937
937
  token: 'W23b9sUlcnhCPZxQ2daYMkDqrTL0TeDw9tbDm5lVMVA=',
938
938
  from: 'wxapp_shop_real_area',
939
939
  })
940
940
  .then((res) => {
941
941
  console.info('微信京购里面获取静默实时lbs地址信息结果', res);
942
942
  const { provinceId, cityId, countyId, townId } = res;
943
943
  let realTimeArea = '';
944
944
  if (provinceId) {
945
945
  realTimeArea = `${provinceId}_${cityId || 0}_${countyId || 0}_${townId || 0}`;
946
946
  this.info.pageInfo.userLbsAddress = realTimeArea;
947
947
  Taro.eventCenter.trigger(TaroEventType.USER_AREA_UPDATE, {
948
948
  realTimeArea: realTimeArea,
949
949
  });
950
950
  } else {
951
951
  this.lbsAddressCachePromise = null;
952
952
  }
953
953
  const getValidRealTimeArea = realTimeArea !== '';
954
954
  resolve({
955
955
  ok: getValidRealTimeArea,
956
956
  msg: getValidRealTimeArea
957
957
  ? '成功'
958
958
  : '根据微信底层接口获取静默实时lbs地址信息异常,详情见data',
959
959
  data: getValidRealTimeArea ? null : res,
960
960
  realTimeArea: realTimeArea,
961
961
  });
962
962
  })
963
963
  .catch((err) => {
964
964
  console.warn('微信京购里面获取静默实时lbs地址信息异常', err);
965
965
  this.lbsAddressCachePromise = null;
966
966
  resolve({
967
967
  ok: false,
968
968
  msg: '微信京购里面获取静默实时lbs地址信息异常',
969
969
  realTimeArea: '',
970
970
  });
971
971
  });
972
972
  }
973
973
  });
974
974
  }
975
975
  return this.lbsAddressCachePromise;
976
976
  }
977
977
 
978
978
  updatePageAndLogInfo(updateQuery = {}) {
979
979
  const createUpdateQueryInfo: {
980
980
  query: {
981
981
  shopId?: string | number;
982
982
  venderId?: string | number;
983
983
  };
984
984
  updateShopInfoState: boolean;
985
985
  } = Object.assign(
986
986
  {},
987
987
  {
988
988
  query: {},
989
989
  updateShopInfoState: false,
990
990
  },
991
991
  updateQuery,
992
992
  );
993
993
  console.log(
994
994
  '获取当前下发的店铺查询参数',
995
995
  updateQuery,
996
996
  '获取之前保存的shopInfo店铺查询参数',
997
997
  this.info?.shopInfo,
998
998
  );
999
999
  const { query, updateShopInfoState } = createUpdateQueryInfo;
1000
1000
  const { shopId, venderId } = query;
1001
1001
  if (updateShopInfoState) {
1002
1002
  this.info.queryInfo = {
1003
1003
  ...this.info.queryInfo,
1004
1004
  ...query,
1005
1005
  };
1006
1006
  if (shopId && venderId) {
1007
1007
  this.info.shopInfo = {
1008
1008
  shopId: `${shopId}`,
1009
1009
  venderId: `${venderId}`,
1010
1010
  };
1011
1011
  }
1012
1012
  } else {
1013
1013
  this.info.queryInfo = {
1014
1014
  ...query,
1015
1015
  };
1016
1016
  this.info.originQueryInfo = {
1017
1017
  ...query,
1018
1018
  };
1019
1019
  if (
1020
1020
  this.info.shopInfo?.shopId &&
1021
1021
  this.info.shopInfo?.venderId &&
1022
1022
  (this.info.shopInfo.shopId == shopId || this.info.shopInfo.venderId == venderId)
1023
1023
  ) {
1024
1024
  this.info.queryInfo.shopId = this.info.shopInfo.shopId;
1025
1025
  this.info.queryInfo.venderId = this.info.shopInfo.venderId;
1026
1026
  console.log(
1027
1027
  '当前存储的店铺shopId和venderId与下发的店铺信息shopId或者venderId为同一个,补充shopId或者venderId查询参数',
1028
1028
  this.info.queryInfo,
1029
1029
  );
1030
1030
  }
1031
1031
  }
1032
1032
  this.info.queryInfo['shopId'] &&
1033
1033
  (this.info.queryInfo['shopId'] = `${this.info.queryInfo['shopId']}`);
1034
1034
  this.info.queryInfo['venderId'] &&
1035
1035
  (this.info.queryInfo['venderId'] = `${this.info.queryInfo['venderId']}`);
1036
1036
  console.log(
1037
1037
  'weapp===获取店铺下发查询参数\n',
1038
1038
  query,
1039
1039
  '\n获取店铺最后查询参数\n',
1040
1040
  this.info.queryInfo,
1041
1041
  '\n是否为更新店铺状态\n',
1042
1042
  updateShopInfoState,
1043
1043
  );
1044
1044
  }
1045
1045
 
1046
1046
  getDynamicConfig(key: string) {
1047
1047
  console.warn('调用微信小程序的 getDynamicConfig(),注意,此方法还未实现!');
1048
1048
  return null;
1049
1049
  }
1050
1050
  renderNextTickLoadSdk(_delayTime = 1000, _callback) {
1051
1051
  console.warn('暂未实现 index.weapp.ts');
1052
1052
  }
1053
1053
  loadOtherSdk() {
1054
1054
  console.warn('暂未实现 index.weapp.ts');
1055
1055
  }
1056
1056
  loadItemSdkPromise() {
1057
1057
  console.warn('暂未实现 index.weapp.ts');
1058
1058
  }
1059
1059
  createLanguageProimse() {
1060
1060
  return Promise.reject({
1061
1061
  msg: '暂未实现',
1062
1062
  });
1063
1063
  }