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/sysUser/findByOpenId"
  35. var data= {
  36. openId:thisopenId,
  37. }
  38. uni.request({
  39. method: 'get',
  40. url: process.jphelp.BASE_URL + loginurl,
  41. data: data,
  42. header: {
  43. 'Content-Type': 'application/x-www-form-urlencoded',
  44. 'X-Requested-With': 'XMLHttpRequest',
  45. //'Authorization':token
  46. }
  47. }).then((response) => {
  48. let [error, res] = response;
  49. if (res.data.code == 200 && res.data.result) {
  50. var token = res ? res.data.data.token : '';
  51. jphelp.setPersonInfo(res.data.data.user);
  52. jphelp.setPersonInfoPlus(res.data.data)
  53. jphelp.setToken(token);
  54. } else {
  55. jphelp.logoff();
  56. }
  57. }).catch(error => {
  58. })
  59. },
  60. getOpenId() {
  61. if (process.env.NODE_ENV === "development"){
  62. jphelp.setOpenId(process.jphelp.openId)
  63. location.reload();
  64. return
  65. }
  66. const code = getUrlParam('code');
  67. var openId = jphelp.getOpenId()
  68. if (!openId) {
  69. if (!code) {
  70. var url = document.URL;
  71. var getUrl = getWeixinRedirectURI(process.jphelp.VUE_APP_WXAPPID, url);
  72. window.location.href = getUrl;
  73. } else {
  74. API_WeiXin.getDataByCode(code).then(response => {
  75. jphelp.setOpenId(response.data.openid)
  76. openId = response.data.openid;
  77. jphelp.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