init.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import carhelp from '@/utils/mixin.js'
  2. import * as API_WeiXin from '@/apis/weixin.js'
  3. import {
  4. getUrlParam,
  5. getWeixinRedirectURI,
  6. isWeiXin
  7. } from '@/utils'
  8. var checkOpenId = true; //是否需要获取openId
  9. var openId = carhelp.getOpenId();
  10. var app = {
  11. init: function() {
  12. if(isWeiXin()|| !(process.env.NODE_ENV === "development") ){
  13. if (isWeiXin()) {
  14. if (checkOpenId) {
  15. if (!openId) {
  16. this.getOpenId();
  17. } else {
  18. this.getPersion(openId)
  19. }
  20. }
  21. } else{
  22. var NODE_NAME= process.env['NODE_NAME']
  23. if(NODE_NAME=="production"){
  24. alert("请使用微信打开本页面")
  25. }
  26. }
  27. }else{
  28. carhelp.setOpenId(process.car.openId)
  29. this.getPersion(process.car.openId)
  30. }
  31. },
  32. getPersion(thisopenId){
  33. var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
  34. var token_tdate=carhelp.get("token_tdate");//每10分钟存储一次token
  35. if(token_tdate&&token_tdate==tdate){
  36. return
  37. }
  38. var loginurl="/mobile/regUser/findByOpenId"
  39. uni.request({
  40. method:'get',
  41. url: process.car.BASE_URL + loginurl,
  42. data: {
  43. openId:thisopenId,
  44. branchParameter:process.car.branchParameter
  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.setToken(token);
  57. }
  58. }).catch(error => {
  59. })
  60. },
  61. getOpenId() {
  62. const code = getUrlParam('code');
  63. var openId = carhelp.getOpenId()
  64. if (!openId) {
  65. if (!code) {
  66. var url = document.URL;
  67. var getUrl= getWeixinRedirectURI(process.car.VUE_APP_WXAPPID, url);
  68. window.location.href = getUrl;
  69. } else {
  70. API_WeiXin.getDataByCode(code).then(response => {
  71. carhelp.setOpenId(response.data.openid)
  72. openId = response.data.openid;
  73. carhelp.set("xpgj_wx_user_info",response.data)
  74. location.reload();
  75. }).catch(error => {
  76. console.log(error);
  77. });
  78. }
  79. }
  80. }
  81. }
  82. module.exports = app