微信公众号绑定用户信息

一、概述

微信公众号与用户绑定的目的是,用户关注公众号后我们可以拿到用户的openId,用户首次登录时我们检查到库中没有存着openId,于是我们跳转到绑定页面,提示用户输入用户名和密码进行绑定。下次用户登录时,即使本地localstorage没有了,用户也可以直接进入我们的主页面。

二、微信公众号添加菜单

添加微信公众号菜单联系相关负责人15期贺信(12月份可以联系13期刘雅雯,因为她有一个月的权限)。

添加的菜单要按照如下要求:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx2b9d806c89ac57dc&redirect_uri=http://dmsdbj.com/auth-web/loginThird/plantForm&scope=snsapi_base&response_type=code&state=http://dmsdbj.com/auth-web/navigation/frame@http://dmsdbj.com/auth-web/navigation/thirdLoginBind&connect_redirect=1#wechat_redirect

对以上内容进行如下说明:

非红线部分和非紫线部分,需要按照如上的要求来做,不做更改。

红线部分和紫线部分分别为首页的url和绑定页面的url,大家需要按照自己项目来配置。绑定页面需要每个项目自己做,该文档的同级目录下有绑定页面的源码参考,如果大家不想自己做的话,可以直接使用。

三、前端页面配置

3.1首页配置

  1. 首页的component.ts中

增加引入:

import {Router,ActivatedRoute} from '@angular/router';

 

在ngOnInit()的构造方法(花括号)中增加:

//通过第三方登录

    var token=this.route.snapshot.queryParams['token'];

    var uid=this.route.snapshot.queryParams['uid']

    if(token !=undefined){

//第三方登录

this.thirdLogin(token,uid);

}

增加方法如下:

//第三方登录

  public thirdLogin(token:string,uid:string){

    //根据uid查询登录用户信息,存在localstorage中并完成跳转

    //保存token信息

    localStorage.setItem('Authorization', token);

    let userInfoUrl="auth-web/loginThird/findLoginUserByCode/"+uid;

    this.http.get(userInfoUrl).subscribe(

      res=>{

        if (res.json().code == '0000'){

          localStorage.setItem('userId', res.json().data.id);

            localStorage.setItem('roleId', res.json().data.roleId);

            localStorage.setItem('userCode', res.json().data.userCode);

            localStorage.setItem('userName', res.json().data.userName);

            localStorage.setItem('companyId',res.json().data.companyId);

            localStorage.setItem('schoolNo',res.json().data.schoolNo);

          

            this.router.navigateByUrl('workspace');

        }

      }

    )

  }

注意:红线部分的跳转路由,是指向首页(非登录页面)的路由

 

3.2绑定页面配置

在login的文件夹下增加组件 third-login,组件所需的.css,.html, .ts,均在同级文件名为third-login的文件夹中

 

3.4修改shared.module.ts

增加组件的引用

import { ThirdLoginComponent } from '../login/third-login/third-login.component';

 

在declarations 的声明中(中括号),增加ThirdLoginComponent

在exports 中增加 ThirdLoginComponent

 

注意:此处需检查app.modules.ts中是否引入ThirdLoginComponent,如果引入需要删除此处引入

3.5 app.routes.ts

在app的路由中增加引用:

import { ThirdLoginComponent } from './login/third-login/third-login.component';

同时添加路由配置:

{

    path: 'thirdLogin',

    component: ThirdLoginComponent

 },

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值