liuyu 4 år sedan
förälder
incheckning
a3a1cac952
1 ändrade filer med 24 tillägg och 14 borttagningar
  1. 24 14
      app/controller/weixin.js

+ 24 - 14
app/controller/weixin.js

@@ -125,13 +125,11 @@ class WeixinController extends Controller {
         console.log('22222---?' + to_uri);
         this.ctx.redirect(to_uri);
       } else if (type === '9') {
-        if (user) {
-          const token = await this.ctx.service.login.createJwt(user);
-          const to_uri = urljoin(redirect_uri, `?openid=${openid}&type=${type}&token=${token}&msgid=${msgid}&objid=${objid}`);
-          // TODO: 重定性页面
-          console.log('99999---?' + to_uri);
-          this.ctx.redirect(to_uri);
-        }
+        // const token = await this.ctx.service.login.createJwt(user);
+        const to_uri = urljoin(redirect_uri, `?openid=${openid}&type=${type}&msgid=${msgid}&objid=${objid}`);
+        // TODO: 重定性页面
+        console.log('99999---?' + to_uri);
+        this.ctx.redirect(to_uri);
       }
     }
 
@@ -139,17 +137,18 @@ class WeixinController extends Controller {
 
   // GET 用户授权内部测试接口
   async authTest() {
-    const { redirect_uri, type, uid, qrcode, openid } = this.ctx.query;
+    const { redirect_uri, type, uid, qrcode, openid, msgid, objid } = this.ctx.query;
     // const openid = stringRandom();
     this.ctx.logger.debug(`[auth-test] reditect_uri - ${redirect_uri}, openid - ${openid}`);
     assert(redirect_uri, '回调地址不能为空');
     assert(openid, 'openid不能为空');
-
+    const user = await this.ctx.service.user.findByOpenid(openid);
     if (type === '0') {
       // 通过openid取得用户信息
-      const user = await this.ctx.service.user.findByOpenid(openid);
       if (user) {
         const token = await this.ctx.service.login.createJwt(user);
+        console.log('token-->' + token);
+        console.log('user.type-->' + user.type);
         if (user.type === '4') {
           const to_uri = urljoin(redirect_uri, `?token=${token}`);
           // TODO: 重定性页面
@@ -157,30 +156,41 @@ class WeixinController extends Controller {
           this.ctx.redirect(to_uri);
         } else if (user.type === '1') {
           const touri = `${this.app.config.baseUrl}/mobiledirtea`;
-          const to_uri = urljoin(redirect_uri, `?token=${token}`);
+          const to_uri = urljoin(touri, `?token=${token}`);
           // TODO: 重定性页面
           console.log('to_uri000-->' + to_uri);
           this.ctx.redirect(to_uri);
         } else if (user.type === '3') {
           const touri = `${this.app.config.baseUrl}/mobiledirtea`;
-          const to_uri = urljoin(redirect_uri, `?token=${token}`);
+          const to_uri = urljoin(touri, `?token=${token}`);
           // TODO: 重定性页面
           console.log('to_uri000-->' + to_uri);
           this.ctx.redirect(to_uri);
         }
+
       } else {
-        console.log('rrr--->' + redirect_uri);
-        const to_uri = urljoin(redirect_uri, `?openid=${openid}`);
+        console.log('rrr0000--->' + redirect_uri);
+        const resunionid = await weixin.fetchUnionID(openid);
+        const touri = `${this.app.config.baseUrl}/student/bind`;
+        const to_uri = urljoin(touri, `?openid=${openid}&unionid=${resunionid.unionid}`);
         // TODO: 重定性页面
         this.ctx.redirect(to_uri);
       }
     } else if (type === '1') {
       const to_uri = urljoin(redirect_uri, `?openid=${openid}&uid=${uid}&type=${type}&qrcode=${qrcode}`);
       // TODO: 重定性页面
+      console.log('1111---?' + to_uri);
       this.ctx.redirect(to_uri);
     } else if (type === '2') {
       const to_uri = urljoin(redirect_uri, `?openid=${openid}&type=${type}&qrcode=${qrcode}`);
       // TODO: 重定性页面
+      console.log('22222---?' + to_uri);
+      this.ctx.redirect(to_uri);
+    } else if (type === '9') {
+      // const token = await this.ctx.service.login.createJwt(user);
+      const to_uri = urljoin(redirect_uri, `?openid=${openid}&type=${type}&msgid=${msgid}&objid=${objid}`);
+      // TODO: 重定性页面
+      console.log('99999---?' + to_uri);
       this.ctx.redirect(to_uri);
     }
   }