index.js 5.8 KB

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