init.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. console.log("init")
  35. var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
  36. var token_tdate=carhelp.get("token_tdate");//每10分钟存储一次token
  37. if(token_tdate&&token_tdate==tdate){
  38. return
  39. }
  40. var loginurl="/mobile/regUser/findByCanteenOpenId"
  41. uni.request({
  42. method:'get',
  43. url: process.car.BASE_URL + loginurl,
  44. data: {
  45. openId:thisopenId,
  46. },
  47. header: {
  48. 'Content-Type': 'application/x-www-form-urlencoded',
  49. 'X-Requested-With': 'XMLHttpRequest',
  50. //'Authorization':token
  51. }
  52. }).then((response) => {
  53. let [error, res] = response;
  54. if (res.data.code == 200&&res.data.result) {
  55. var token = res ? res.data.data.token : '';
  56. carhelp.setPersonInfo(res.data.data.regUser );
  57. carhelp.setPersonInfoPlus(res.data.data );
  58. carhelp.setToken(token);
  59. }else{
  60. carhelp.logoff();
  61. }
  62. }).catch(error => {
  63. })
  64. },
  65. getOpenId() {
  66. const code = getUrlParam('code');
  67. var openId = carhelp.getOpenId()
  68. if (!openId) {
  69. if (!code) {
  70. var url = document.URL;
  71. var getUrl= getWeixinRedirectURI(process.car.VUE_APP_WXAPPID, url);
  72. window.location.href = getUrl;
  73. } else {
  74. API_WeiXin.getDataByCode(code).then(response => {
  75. carhelp.setOpenId(response.data.openid)
  76. openId = response.data.openid;
  77. carhelp.set("xpgj_wx_user_info",response.data)
  78. location.reload();
  79. }).catch(error => {
  80. console.log(error);
  81. });
  82. }
  83. }
  84. }
  85. }
  86. module.exports = app