init.js 2.3 KB

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