Преглед изворни кода

Merge branch 'master' of http://git.ycjcjy.com/honghe/h5-draw-lots

李志伟 пре 3 година
родитељ
комит
4536589d0c
2 измењених фајлова са 19 додато и 4 уклоњено
  1. 2
    2
      src/router/index.js
  2. 17
    2
      src/utils/wx.js

+ 2
- 2
src/router/index.js Прегледај датотеку

@@ -5,7 +5,7 @@ import Router from 'vue-router'
5 5
 import Honghe from '../pages/Honghe.vue'
6 6
 import SaveShare from '../pages/SaveShare.vue'
7 7
 import { useModel } from '../store'
8
-import { getOpenId } from '../utils/wx'
8
+import { getUserInfo } from '../utils/wx'
9 9
 import { login } from '../services/person'
10 10
 import { setToken } from '../utils/token'
11 11
 
@@ -36,7 +36,7 @@ router.beforeEach((to, from, next) => {
36 36
 
37 37
   // 未登录
38 38
   if (!person.personId) {
39
-    getOpenId().then(openid => {
39
+    getUserInfo().then(openid => {
40 40
       login(openid).then(res => {
41 41
         const { user, token } = res;
42 42
         setPerson(user)

+ 17
- 2
src/utils/wx.js Прегледај датотеку

@@ -64,9 +64,9 @@ export function redirect () {
64 64
   const queryCode = getCode();
65 65
   localStorage.setItem('wxcode', queryCode)
66 66
 
67
-  if (!queryCode || queryCode === originCode) {
67
+  if (!queryCode || queryCode !== originCode) {
68 68
     const local = encodeURIComponent(location.origin + location.pathname)
69
-    const url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd3bab568bc42d1de&redirect_uri=${local}&response_type=code&scope=snsapi_base&state=123#wechat_redirect`
69
+    const url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd3bab568bc42d1de&redirect_uri=${local}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`
70 70
     window.location.href = url
71 71
   }
72 72
 }
@@ -85,3 +85,18 @@ export function getOpenId () {
85 85
 
86 86
   return request(`https://api.h5.njyunzhi.com/mp/openid?code=${encodeURIComponent(code)}`)
87 87
 }
88
+
89
+/**
90
+ * 获取 openid
91
+ * @returns 
92
+ */
93
+export function getUserInfo () {
94
+  if (process.env.NODE_ENV === 'development') return Promise.resolve({ openid: '123' });
95
+
96
+  const code = getCode()
97
+  if (!code) {
98
+    return Promise.reject("获取用户信息失败, 请刷新重试")
99
+  }
100
+
101
+  return request(`https://api.h5.njyunzhi.com/mp/userinfo?code=${encodeURIComponent(code)}`)
102
+}