init.js 2.4 KB

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