aegis-mp-rum-wrapper 0.1.1 → 0.1.3

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 (3) hide show
  1. package/dist/index.js +24 -17
  2. package/package.json +1 -1
  3. package/src/index.ts +26 -24
package/dist/index.js CHANGED
@@ -142,13 +142,18 @@ function initAegis(isDefault) {
142
142
  webVitals = true;
143
143
  delay = 1000;
144
144
  }
145
- if (internalState.ready) {
145
+ // 关键修改:默认实例总是生成PV数据,用于统计浏览量
146
+ // 无论是否有用户信息,都会上报PV
147
+ if (isDefault) {
148
+ var pvName = internalState.ready ? '@@init_with_user' : '@@init_no_user';
149
+ console.log('pvName', pvName);
146
150
  ext1 = buildReportStr({
147
- name: '@@init',
151
+ name: pvName,
148
152
  ext1: internalState.user.ext1,
149
153
  ext2: internalState.user.ext2,
150
154
  ext3: internalState.user.ext3,
151
155
  }, true);
156
+ console.log('[Aegis Wrapper] PV数据已构建,report_type=1');
152
157
  }
153
158
  // 小程序环境直接使用构造函数
154
159
  if (typeof aegis_mp_sdk_1.default === 'function') {
@@ -207,10 +212,16 @@ function setUser(user) {
207
212
  internalState.user = nextUser;
208
213
  var u = internalState.user;
209
214
  if (u.openid && u.serviceType && u.eventID) {
215
+ console.log('300行', internalState, defaultAegis);
210
216
  if (!internalState.ready) {
211
217
  internalState.ready = true;
212
- defaultAegis = initAegis(true);
213
218
  console.log('[Aegis Wrapper] default aegis 已就绪');
219
+ defaultAegis = initAegis(true);
220
+ }
221
+ else if (!defaultAegis) {
222
+ // ready为true但defaultAegis丢失,重新初始化
223
+ console.log('[Aegis Wrapper] 重新初始化default aegis');
224
+ defaultAegis = initAegis(true);
214
225
  }
215
226
  }
216
227
  else {
@@ -228,8 +239,8 @@ function reportEvent(params) {
228
239
  if (serviceAegis && typeof serviceAegis.reportEvent === 'function') {
229
240
  serviceAegis.reportEvent(params);
230
241
  }
231
- if (!defaultAegis || typeof defaultAegis.reportEvent !== 'function') {
232
- console.error('[Aegis Wrapper] default aegis 尚未准备就绪,请先调用 setUser 并补全必要字段');
242
+ if (!defaultAegis) {
243
+ console.error('[Aegis Wrapper] default aegis 未初始化,请先调用 setUser');
233
244
  return;
234
245
  }
235
246
  if (typeof params !== 'string' && typeof params !== 'object') {
@@ -251,23 +262,19 @@ function getInstances() {
251
262
  serviceAegis: serviceAegis,
252
263
  };
253
264
  }
254
- exports.AegisW = {};
255
- Object.defineProperty(exports.AegisW, 'user', {
256
- get: function () {
265
+ exports.AegisW = {
266
+ get user() {
257
267
  return internalState.user;
258
268
  },
259
- set: function (v) {
269
+ set user(v) {
270
+ console.log('371设置用户信息', v);
260
271
  setUser(v);
261
272
  },
262
- enumerable: true,
263
- });
264
- Object.defineProperty(exports.AegisW, 'rumID', {
265
- get: function () {
273
+ get rumID() {
266
274
  return internalState.rumID;
267
275
  },
268
- set: function (v) {
276
+ set rumID(v) {
269
277
  setRumID(v);
270
278
  },
271
- enumerable: true,
272
- });
273
- exports.AegisW.reportEvent = reportEvent;
279
+ reportEvent: reportEvent,
280
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aegis-mp-rum-wrapper",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "基于 aegis-mp-sdk 的小程序上报封装 SDK,支持双实例与自定义 RUM 日志构造。",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -219,16 +219,22 @@ function initAegis(isDefault: boolean): any | undefined {
219
219
  delay = 1000;
220
220
  }
221
221
 
222
- if (internalState.ready) {
222
+ // 关键修改:默认实例总是生成PV数据,用于统计浏览量
223
+ // 无论是否有用户信息,都会上报PV
224
+ if (isDefault) {
225
+ const pvName = internalState.ready ? '@@init_with_user' : '@@init_no_user';
226
+ console.log('pvName',pvName);
227
+
223
228
  ext1 = buildReportStr(
224
229
  {
225
- name: '@@init',
230
+ name: pvName,
226
231
  ext1: internalState.user.ext1,
227
232
  ext2: internalState.user.ext2,
228
233
  ext3: internalState.user.ext3,
229
234
  },
230
- true,
235
+ true, // 第二个参数为true表示是PV上报
231
236
  );
237
+ console.log('[Aegis Wrapper] PV数据已构建,report_type=1');
232
238
  }
233
239
 
234
240
  // 小程序环境直接使用构造函数
@@ -291,10 +297,16 @@ export function setUser(user: Partial<AegisUserInfo>): void {
291
297
 
292
298
  const u = internalState.user;
293
299
  if (u.openid && u.serviceType && u.eventID) {
300
+ console.log('300行',internalState,defaultAegis);
301
+
294
302
  if (!internalState.ready) {
295
303
  internalState.ready = true;
296
- defaultAegis = initAegis(true);
297
304
  console.log('[Aegis Wrapper] default aegis 已就绪');
305
+ defaultAegis = initAegis(true);
306
+ } else if (!defaultAegis) {
307
+ // ready为true但defaultAegis丢失,重新初始化
308
+ console.log('[Aegis Wrapper] 重新初始化default aegis');
309
+ defaultAegis = initAegis(true);
298
310
  }
299
311
  } else {
300
312
  console.log('[Aegis Wrapper] 初始化条件不足:需要 openid / serviceType / eventID', u);
@@ -314,8 +326,8 @@ export function reportEvent(params: string | ReportParams): void {
314
326
  (serviceAegis as any).reportEvent(params as any);
315
327
  }
316
328
 
317
- if (!defaultAegis || typeof (defaultAegis as any).reportEvent !== 'function') {
318
- console.error('[Aegis Wrapper] default aegis 尚未准备就绪,请先调用 setUser 并补全必要字段');
329
+ if (!defaultAegis) {
330
+ console.error('[Aegis Wrapper] default aegis 未初始化,请先调用 setUser');
319
331
  return;
320
332
  }
321
333
 
@@ -351,29 +363,19 @@ export interface AegisWrapperFacade {
351
363
  reportEvent: (params: string | ReportParams) => void;
352
364
  }
353
365
 
354
- export const AegisW: AegisWrapperFacade = {} as any;
355
-
356
- Object.defineProperty(AegisW, 'user', {
357
- get() {
366
+ export const AegisW: AegisWrapperFacade = {
367
+ get user() {
358
368
  return internalState.user;
359
369
  },
360
- set(v: AegisUserInfo) {
370
+ set user(v: AegisUserInfo) {
371
+ console.log('371设置用户信息',v);
361
372
  setUser(v);
362
373
  },
363
- enumerable: true,
364
- });
365
-
366
- Object.defineProperty(AegisW, 'rumID', {
367
- get() {
374
+ get rumID() {
368
375
  return internalState.rumID;
369
376
  },
370
- set(v: string) {
377
+ set rumID(v: string) {
371
378
  setRumID(v);
372
379
  },
373
- enumerable: true,
374
- });
375
-
376
- (AegisW as any).reportEvent = reportEvent;
377
-
378
-
379
-
380
+ reportEvent,
381
+ };