main.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. import validate from "./utils/validate";
  2. import Log from "./constants/log";
  3. import globalConfig from "./globalConfig";
  4. import { navigateToEid, reportStat } from "./utils/index";
  5. const EIDAppID = "wx0e2cb0b052a91c92";
  6. function initEid(
  7. e = "https://eid.faceid.qq.com",
  8. o = "release",
  9. n = "https://eid-enhance.faceid.qq.com"
  10. ) {
  11. (uni.eidBaseUrl = e), (uni.eidEnvVersion = o), (uni.eidBackUpUrl = n);
  12. console.log("初始化EID参数:", { eidBaseUrl: e, eidEnvVersion: o, eidBackUpUrl: n });
  13. uni.onAppShow((e) => {
  14. console.log("!!!!!!监听onshow事件", e, uni.eidTokenToCallback);
  15. var { scene: e, referrerInfo: o } = e,
  16. { appId: o, extraData: n } = o || {},
  17. { token: i, verifyDone: t } = n || {};
  18. 1038 === e &&
  19. o === EIDAppID &&
  20. n &&
  21. (t && uni.handleEidVerifyDone
  22. ? uni.eidTokenToCallback &&
  23. uni.eidTokenToCallback === i &&
  24. ((uni.eidTokenToCallback = ""),
  25. uni.reportLogToEid({
  26. token: i,
  27. event: Log.navigateBackFromEid,
  28. errMsg: `从EID核身完成返回,token:${i},verifyDone:` + t,
  29. }),
  30. console.log("!!!!!!执行回调"),
  31. uni.handleEidVerifyDone(n))
  32. : uni.reportLogToEid({
  33. token: i,
  34. event: Log.navigateBackFromEidFail,
  35. errMsg:
  36. `核验未完成或者没有处理核验完成的函数,token:${i},verifyDone:` +
  37. t,
  38. }));
  39. });
  40. e = uni.getSystemInfoSync();
  41. const d = e["version"];
  42. uni.reportLogToEid = function (e) {
  43. var {
  44. token: e = "",
  45. event: o = "",
  46. errCode: n = "",
  47. errMsg: i = "",
  48. data: t = {},
  49. } = e,
  50. r = new Date();
  51. const a = {
  52. Token: e,
  53. SourceType: Log.SourceType,
  54. SourceVersion: Log.version,
  55. EnvVersion: d,
  56. Timestamp: r.getTime(),
  57. Event: o,
  58. ErrorCode: "number" == typeof n ? n.toString() : n,
  59. ErrorMsg: i,
  60. Data: JSON.stringify(t),
  61. };
  62. console.log("开始上报日志:", a),
  63. uni.request({
  64. url: uni.eidBaseUrl + "/api/common/ReportEvent",
  65. method: "POST",
  66. data: a,
  67. success(e) {
  68. console.log("上报日志完成:", "payload:", a, "res:", e);
  69. },
  70. });
  71. };
  72. }
  73. function startEid(e) {
  74. const { data: o, verifyDoneCallback: n } = e;
  75. if (!o || !n)
  76. return (
  77. uni.reportLogToEid({
  78. token: i,
  79. event: Log.startEidFail,
  80. errMsg: "传入的参数有误",
  81. }),
  82. void uni.showModal({
  83. title: "提示",
  84. content: "传入的参数有误",
  85. showCancel: !1,
  86. })
  87. );
  88. const {
  89. token: i,
  90. needJumpPage: t = !1,
  91. enableEmbedded: r = !1,
  92. allowFullScreen: a = !0,
  93. } = o;
  94. validate.isValidateToken(i)
  95. ? ((uni.enableEmbedded = r),
  96. (uni.allowFullScreen = a),
  97. (uni.VerifyEid_TOKEN = i),
  98. reportStat({ module: "EidStart", action: "enter" }),
  99. (uni.handleEidVerifyDone = (e) => {
  100. const o = e["token"];
  101. reportStat({ module: "EidEnd", action: "leave" }),
  102. t
  103. ? uni.navigateBack({
  104. success() {
  105. uni.reportLogToEid({
  106. token: o,
  107. event: Log.EidVerifyDone,
  108. errMsg: "验证完成,token:" + o,
  109. }),
  110. n({ token: o, verifyDone: !0 });
  111. },
  112. })
  113. : (uni.reportLogToEid({
  114. token: o,
  115. event: Log.EidVerifyDone,
  116. errMsg: "验证完成,token:" + o,
  117. }),
  118. n({ token: o, verifyDone: !0 }));
  119. }),
  120. t
  121. ? uni.navigateTo({
  122. url:
  123. `${globalConfig.normalPath}/mp_ecard_sdk/index/index?token=${i}&needJumpPage=` +
  124. t,
  125. })
  126. : navigateToEid(i))
  127. : (uni.reportLogToEid({
  128. token: i,
  129. event: Log.startEidFail,
  130. errMsg: "传入的token有误,token:" + i,
  131. }),
  132. uni.showModal({
  133. title: "提示",
  134. content: "传入的token有误",
  135. showCancel: !1,
  136. }));
  137. }
  138. export { initEid, startEid };