init.js 2.4 KB

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