main.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /* eslint-disable no-undef */
  2. import validate from './utils/validate'
  3. import Log from './constants/log'
  4. import globalConfig from './globalConfig'
  5. function initEid(
  6. e = 'https://eid.faceid.qq.com',
  7. o = 'release',
  8. n = 'https://eid-enhance.faceid.qq.com'
  9. ) {
  10. ;(uni.eidBaseUrl = e),
  11. (uni.eidEnvVersion = o),
  12. (uni.eidBackUpUrl = n),
  13. uni.onAppShow((e) => {
  14. const { scene: o } = e
  15. if (1038 !== o) return
  16. const { referrerInfo: n } = e,
  17. { appId: i, extraData: t } = n
  18. if ('wx0e2cb0b052a91c92' !== i || !t) return
  19. const { verifyDone: r, token: a } = t
  20. r && uni.handleEidVerifyDone
  21. ? uni.eidTokenToCallback &&
  22. uni.eidTokenToCallback === a &&
  23. ((uni.eidTokenToCallback = ''),
  24. uni.reportLogToEid({
  25. token: a,
  26. event: Log.navigateBackFromEid,
  27. errMsg: `从EID核身完成返回,token:${a},verifyDone:${r}`
  28. }),
  29. uni.handleEidVerifyDone(t))
  30. : uni.reportLogToEid({
  31. token: a,
  32. event: Log.navigateBackFromEidFail,
  33. errMsg: `核验未完成或者没有处理核验完成的函数,token:${a},verifyDone:${r}`
  34. })
  35. })
  36. const i = uni.getSystemInfoSync(),
  37. { version: t } = i
  38. uni.reportLogToEid = function (e) {
  39. const { token: o = '', event: n = '', errCode: i = '', errMsg: r = '', data: a = {} } = e,
  40. s = new Date(),
  41. d = {
  42. Token: o,
  43. SourceType: Log.SourceType,
  44. SourceVersion: Log.version,
  45. EnvVersion: t,
  46. Timestamp: s.getTime(),
  47. Event: n,
  48. ErrorCode: 'number' == typeof i ? i.toString() : i,
  49. ErrorMsg: r,
  50. Data: JSON.stringify(a)
  51. }
  52. console.log('开始上报日志:', d),
  53. uni.request({
  54. url: `${uni.eidBaseUrl}/api/common/ReportEvent`,
  55. method: 'POST',
  56. data: d,
  57. success(e) {
  58. console.log('上报日志完成:', 'payload:', d, 'res:', e)
  59. }
  60. })
  61. }
  62. }
  63. function startEid(e) {
  64. const { data: o, verifyDoneCallback: n } = e
  65. if (!o || !n)
  66. return (
  67. uni.reportLogToEid({ token: i, event: Log.startEidFail, errMsg: '传入的参数有误' }),
  68. void uni.showModal({ title: '提示', content: '传入的参数有误', showCancel: !1 })
  69. )
  70. const { token: i } = o
  71. if (!validate.isValidateToken(i))
  72. return (
  73. uni.reportLogToEid({
  74. token: i,
  75. event: Log.startEidFail,
  76. errMsg: `传入的token有误,token:${i}`
  77. }),
  78. void uni.showModal({ title: '提示', content: '传入的token有误', showCancel: !1 })
  79. )
  80. ;(uni.handleEidVerifyDone = (e) => {
  81. const { token: o } = e
  82. uni.navigateBack({
  83. success() {
  84. uni.reportLogToEid({ token: o, event: Log.EidVerifyDone, errMsg: `验证完成,token:${o}` }),
  85. n({ token: o, verifyDone: !0 })
  86. }
  87. })
  88. }),
  89. uni.navigateTo({ url: `${globalConfig.normalPath}/mp_ecard_sdk/index/index?token=${i}` })
  90. }
  91. export { initEid, startEid }