init.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. import carhelp from '@/apis/utils/mixin.js'
  2. import * as API_WeiXin from '@/apis/weixin.js'
  3. import {
  4. getUrlParam,
  5. getWeixinRedirectURI,
  6. isWeiXin
  7. } from '@/apis/utils'
  8. var checkOpenId = true; //是否需要获取openId
  9. var openId = carhelp.getOpenId();
  10. var uid = carhelp.getUID();
  11. var unionPhone=carhelp.getUnionPhone()
  12. var app = {
  13. init: function() {
  14. // isWeiXin()||
  15. const jpuid = getUrlParam('unionid');
  16. const relationCompanyName = getUrlParam('relationCompanyName');
  17. var unionPhone = getUrlParam('unionPhone');
  18. if (jpuid) {
  19. var obj = carhelp.get("xpgj_wx_user_info")
  20. if (obj == null || obj == '') {
  21. obj = {
  22. }
  23. }
  24. obj.unionId = jpuid
  25. if(obj.relationCompanyName!=relationCompanyName){
  26. carhelp.set("token_tdate",'');
  27. }
  28. obj.relationCompanyName = relationCompanyName
  29. obj.unionPhone=unionPhone
  30. carhelp.set("xpgj_wx_user_info", obj)
  31. uid = carhelp.getUID();
  32. unionPhone=carhelp.getUnionPhone()
  33. }
  34. if (isWeiXin() || (process.env.NODE_ENV === "development")) {
  35. if (checkOpenId) {
  36. if (!openId&&!uid) {
  37. this.getOpenId();
  38. } else {
  39. this.getPersion(openId)
  40. }
  41. }
  42. } else {
  43. var NODE_NAME = process.env['NODE_NAME']
  44. if (NODE_NAME == "production") {
  45. alert("请使用微信打开本页面")
  46. }
  47. }
  48. },
  49. getPersion(thisopenId) {
  50. console.log("init")
  51. var tdate = new Date(+new Date() + 8 * 3600 * 1000).toJSON().substr(0, 15).replace("T", " ")
  52. var token_tdate = carhelp.get("token_tdate"); //每10分钟存储一次token
  53. if (token_tdate && token_tdate == tdate) {
  54. return
  55. }
  56. var loginurl = "/mobile/employeeUser/findByOpenId"
  57. var data = {
  58. openId: thisopenId,
  59. unionid: carhelp.getUID(),
  60. //data.type="5"
  61. code: "reading"
  62. }
  63. var obj = carhelp.get("xpgj_wx_user_info")
  64. if ('prodv4'==process.car.NODE_ENV) {
  65. loginurl = "/mobile/employeeUser/findByCNameAndPhone"
  66. data.phone = obj.unionPhone
  67. data.companyName=obj.relationCompanyName
  68. data.unionId=obj.unionId
  69. }
  70. uni.request({
  71. method: 'get',
  72. url: process.car.BASE_URL + loginurl,
  73. data: data,
  74. header: {
  75. 'Content-Type': 'application/x-www-form-urlencoded',
  76. 'X-Requested-With': 'XMLHttpRequest',
  77. //'Authorization':token
  78. }
  79. }).then((response) => {
  80. let [error, res] = response;
  81. if (res.data.code == 200 && res.data.result) {
  82. var token = res ? res.data.data.token : '';
  83. carhelp.setPersonInfo(res.data.data.regUser);
  84. carhelp.setPersonInfoPlus(res.data.data);
  85. carhelp.setToken(token);
  86. } else {
  87. carhelp.logoff();
  88. }
  89. }).catch(error => {
  90. })
  91. },
  92. getOpenId() {
  93. if (process.env.NODE_ENV === "development"){
  94. carhelp.setOpenId(process.car.openId)
  95. location.reload();
  96. return
  97. }
  98. const code = getUrlParam('code');
  99. var openId = carhelp.getOpenId()
  100. if (!openId) {
  101. if (!code) {
  102. var url = document.URL;
  103. var getUrl = getWeixinRedirectURI(process.car.VUE_APP_WXAPPID, url);
  104. window.location.href = getUrl;
  105. } else {
  106. API_WeiXin.getDataByCode(code).then(response => {
  107. carhelp.setOpenId(response.data.openid)
  108. openId = response.data.openid;
  109. carhelp.set("xpgj_wx_user_info", response.data)
  110. location.reload();
  111. }).catch(error => {
  112. console.log(error);
  113. });
  114. }
  115. }
  116. }
  117. }
  118. module.exports = app