index.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. let urlCreatesign = urldomaincreatesign
  2. let urlGateway = urldomaingateway
  3. const appmark = "sdzwapp"
  4. const appword = "aKd20dbGdFvmuwrt"
  5. let userType = "1" //用户类型 1个人 2法人
  6. /**
  7. * 通过jssdk方法获取APP本地用户票据
  8. */
  9. function getUserInfo() {
  10. console.log(lightAppJssdk.user)
  11. lightAppJssdk.user.getTicket({
  12. success: function (data) {
  13. //成功回调
  14. console.log(JSON.stringify(data), '111')
  15. if (data == "未登录") {
  16. onLoginApp() //APP用户未登录,调用登录页面
  17. } else {
  18. var jsonData = JSON.parse(data)
  19. if (jsonData.retcode == "000000") {
  20. var dataValueObj = JSON.parse(jsonData.data)
  21. var ticket = dataValueObj.ticket //解析出用户票据信息
  22. userType = dataValueObj.usertype //解析保存用户类型(个人法人)
  23. getUserToken(ticket)
  24. }
  25. }
  26. },
  27. fail: function (data) {
  28. //错误返回
  29. console.log(JSON.stringify(data))
  30. }
  31. })
  32. }
  33. /**
  34. * 使用jssdk调用登录页面
  35. */
  36. function onLoginApp() {
  37. lightAppJssdk.user.loginapp({
  38. success: function (data) {
  39. if (data == "未登录") {
  40. //取消登录或登录失败,关闭页面
  41. oncloseWindow()
  42. } else {
  43. var dataObj = JSON.parse(data)
  44. if (dataObj.retcode == "000000") {
  45. //登录成功,返回用户的票据和用户类型
  46. var dataValueObj = JSON.parse(dataObj.data)
  47. getUserToken(dataValueObj.ticket) //解析出用户票据信息
  48. userType = jsonData.usertype //解析保存用户类型(个人法人)
  49. } else {
  50. //关闭页面
  51. oncloseWindow()
  52. }
  53. }
  54. },
  55. fail: function (data) {
  56. //关闭页面
  57. oncloseWindow()
  58. }
  59. })
  60. }
  61. /**
  62. * 通过用户票据获取用户的令牌数据,票据使用一次后失效,token时效性较长
  63. */
  64. function getUserToken(ticket) {
  65. var params = '{"ticket":"' + ticket + '"}'
  66. const interfaceContent = {
  67. app_id: appmark,
  68. servicename: "ticketValidate",
  69. params: params
  70. }
  71. vaildInterfacefn("jisnzjk", "ticketvalidate", JSON.stringify(interfaceContent), "2", "https://" + urlCreatesign, "https://" + urlGateway).then((value) => {
  72. const data = JSON.parse(value)
  73. if (data.retcode == "000000") {
  74. const userToken = JSON.parse(data.data).token
  75. if (userType == "1") {
  76. //个人类型获取用户信息
  77. getUserInfoByToken(userToken)
  78. } else {
  79. //法人类型获取用户信息
  80. findCorUserByToken(userToken)
  81. }
  82. } else {
  83. lightAppJssdk.notification.alert({
  84. title: "提示", //可传空
  85. message: data.msg,
  86. buttonName: "确认",
  87. success: function (data) {
  88. oncloseWindow()
  89. }
  90. })
  91. }
  92. })
  93. }
  94. /**
  95. * 根据令牌获取个人完整信息
  96. */
  97. function getUserInfoByToken(userToken) {
  98. const params = '{"token":"' + userToken + '"}'
  99. const interfaceContent = {
  100. app_id: appmark,
  101. servicename: "findOutsideUserByToken",
  102. params: params
  103. }
  104. try {
  105. vaildInterfacefn("jisnzjk", "findoutsideuserbytoken", JSON.stringify(interfaceContent), "2", "https://" + urlCreatesign, "https://" + urlGateway).then((value) => {
  106. const data = JSON.parse(value)
  107. if (data.retcode == "000000") {
  108. const userInfo = data.data
  109. const userObj = JSON.parse(userInfo)
  110. document.getElementById("name").innerText = userObj.name
  111. document.getElementById("cardid").innerText = userObj.papersnumber
  112. document.getElementById("mobile").innerText = userObj.mobile
  113. } else {}
  114. })
  115. } catch (error) {}
  116. }
  117. /**
  118. * 根据令牌获取完整法人信息
  119. */
  120. function findCorUserByToken(userToken) {
  121. try {
  122. const params = '{"token":"' + userToken + '"}'
  123. const interfaceContent = {
  124. app_id: appmark,
  125. servicename: "findCorUserByToken",
  126. params: params
  127. }
  128. vaildInterfacefn("jisnzjk", "findcoruserytoken", JSON.stringify(interfaceContent), "2", "https://" + urlCreatesign, "https://" + urlGateway).then((value) => {
  129. const data = JSON.parse(value)
  130. if (data.retcode == "000000") {
  131. const userInfo = JSON.stringify(data.data)
  132. document.getElementById("userinfo").innerText = userInfo
  133. } else {}
  134. })
  135. } catch (err) {}
  136. }
  137. /**
  138. * 关闭容器
  139. */
  140. function oncloseWindow() {
  141. lightAppJssdk.navigation.close({
  142. success: function (data) {},
  143. fail: function (data) {}
  144. })
  145. }
  146. /**
  147. * AES解密
  148. */
  149. function Decrypt(word, key) {
  150. var key = CryptoJS.enc.Utf8.parse(key) //转为128bit
  151. var srcs = CryptoJS.enc.Hex.parse(word) //转为16进制
  152. var str = CryptoJS.enc.Base64.stringify(srcs) //变为Base64编码的字符串
  153. var decrypt = CryptoJS.AES.decrypt(str, key, {
  154. mode: CryptoJS.mode.ECB,
  155. spadding: CryptoJS.pad.Pkcs7
  156. })
  157. return decrypt.toString(CryptoJS.enc.Utf8)
  158. }