init.js 3.4 KB

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