Java配合Vue实现微信公众号自动登录

话不多说,直接进入正题.

首先,要在微信公众平台注册一个公众账号,我这边是用的测试账号.

有了账号之后进入微信公众平台获取appID和appsecret以供调用接口.

微信开发者文档地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

首先判断cookie中是否有openid(每个用户对一个公众号会有唯一的openid,唯一标识),如果有,就直接请求后端拿数据,如果没有, 执行下面的流程:

前端请求https://open.weixin.qq.com/connect/oauth2/authorize?appid=?&redirect_uri=?&response_type=code&scope=?&state=?#wechat_redirect获取code.

后端需提供接口供前端调用以获取完整请求地址,前端需将当前地址当作回调地址传给后端,后端接收到后将各个参数拼接到https://open.weixin.qq.com/connect/oauth2/authorize?并返回给前端,前端接收到之后发送GET请求并在当前页面的mounted中截取当前url中的code,如果截取到了说明当前请求是微信回调回来的,如果没有截取到说明当前请求是用户正常操作的.

微信回调回来的url:redirect_uri+'?code=xxx&state=xxx'

示例代码:

mounted(){
    let code=getUrlParam('code');//从当前url中截取code
    let state=getUrlParam('state');//state是可以自定义的,微信会原封不动的返回回来,我这里用来记录用户上一步要执行的操作,并在code不为空的时候执行
    if(code!=null) {//微信回调的页面,执行用户操作
        //获取到code之后携带code请求后端接口获取openid以及用户信息(用户信息需要在scope为snsapi_userinfo时才能获取到),并把openid存在cookie中,以供下次实现自动登录
        //请求后端获取openid
        axios.post('/wx/getOpenIdByCode',{
            code:code
        }).then((res)=>{
             {
             "user": {
                 "openId": "openId,前端存在cookie中",
                 "name": "用户昵称",
                 "head": "用户头像地址",
                 "registTime": "用户注册时间"
              }
         }
         this.openId=res.user.openId;
         setCookie('openId',res.user.openId)  //cookie存储openId
         if(state=='login'){//执行登录流程

         }else if(state=='...'){//...
    
         }
    }
    else{//用户正常进入,不做处理

    }
}
  

这样处理之后,下次这个用户进入页面,cookie中就会有他的openid,就可以直接自动登录了.

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 设计和实现大众房产经纪人微信公众号客户端的技术是完全可行的。微信公众号提供了开发者平台,可以使用开发者工具包进行开发。开发者可以使用Java、Python等编程语言开发微信公众号客户端,也可以使用JavaScript框架如Vue.js、React等进行开发。此外,还可以使用微信提供的开发工具,如微信开发者工具等。 在技术实现方面,需要考虑以下几个方面: 1. 用户界面设计:需要根据用户需求设计出简洁明了、易于操作的用户界面。 2. 数据库设计:需要设计数据库存储用户信息、房产信息等数据。 3. 服务器端开发:需要开发服务器端程序,实现微信公众号客户端与服务器端之间的数据交互和业务逻辑处理。 4. 安全性设计:需要保证用户信息和数据的安全性,防止黑客攻击和数据泄露等安全问题。 总之,大众房产经纪人微信公众号客户端的设计和实现是可行的,但需要考虑多个方面的技术实现和用户需求。 ### 回答2: 大众房产经纪人微信公众号客户端的设计与实现的技术可行性高。首先,微信公众号作为一个广泛使用的社交平台,已经积累了庞大的用户群体,具有良好的用户粘性和活跃度,因此选择微信公众号作为客户端的平台是明智的选择。 其次,微信公众号提供了丰富的开发接口和开放平台,开发者可以根据自身需求灵活定制客户端功能,并且能够与微信的用户账号体系无缝对接,实现用户信息的分享和互通。这项技术支持为大众房产经纪人微信公众号客户端的设计与实现提供了可靠的基础。 再者,微信公众号提供了开发工具包和文档,开发者可以依据微信的设计规范和开发要求,进行客户端的UI设计和功能实现。此外,微信公众号还支持自定义菜单、模板消息、支付功能等插件,这些功能可以为大众房产经纪人提供更多的选择和便利。 此外,微信公众号客户端的技术可行性还体现在其与大众房产经纪人的业务关联度高。通过微信公众号,经纪人可以与用户进行即时的沟通和信息交流,发布房源信息、优惠活动等,提高用户的参与度和互动性。这样的设计与实现将有助于增强大众房产经纪人的品牌形象和市场竞争力。 综上所述,大众房产经纪人微信公众号客户端的设计与实现技术可行性高,通过充分利用微信公众号平台提供的工具和接口,可以实现客户端的自定义功能和与用户的有效互动,从而促进大众房产经纪人的业务发展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值