第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

【備戰(zhàn)春招】第2天 微信小程序 微信用戶的登錄&注冊功能實現(xiàn)

標簽:
Java SpringBoot

课程名称 : SpringBoot2.X + Vue + UniAPP,全栈开发医疗小程序

课程章节 :第 4 章 利用 OCR 与 人脸识别实现患者注册和登录

课程讲师 : 神思者


通过本章的学习。我了解到了 open_id 是微信平台为微信用户颁发的全局唯一标识字符串。 相当于身份证) , 微信 用户 登陆的时候,提交微信临时授权字符串(code), 通过这个临时 授权的字符串 , 才可以获得 该微信小程序的 open_id ,拿到 open_id 之后 ,看数据库中有没有 相应的 open_id 字符串账账户记录, 有则 这个用户已经登陆过, 没有 则 注册。即可完成微信小程序的登录和注册功能。

如何获取open_id 字符串?

小程序登录时序图

说明(来自于官方文档)
调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 、 用户在微信开放平台帐号下的唯一标识UnionID(若当前小程序已绑定到微信开放平台帐号) 和 会话密钥 session_key。
之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。

调用接口说明

HTTPS 调用

我们发送 的是HTTP 请求 ,为了保证数据的安全性 我们使用POST请求调用.

请求参数说明

appid 小程序appid 在微信公众平台可以看到
secrec 小城序appSeret
js_code 临时授权码 通过 wx.login api 获取
grant_type 授权类型,固定写法 只需填 authorization_code

返回参数

openid string 用户唯一标识 本章我们只用到了这一个返回参数

其他具体详情 参考 微信开放文档

业务代码的编写

获取 小程序 open_id
   private String getOpenId(String code) {
        String url = "https://api.weixin.qq.com/sns/jscode2session";
        Map<String,Object> map = new HashMap<>();
        map.put("appid",appId);
        map.put("secret",appSecret);
        map.put("js_code",code);


        System.out.println("appid : " + appId);
        System.out.println("appSecret : " + appSecret);
        System.out.println("code : " + code);
        map.put("grant_type","authorization_code");
        String response = HttpUtil.get(url,map);
        JSONObject json = JSONUtil.parseObj(response);
        String  openid = json.getStr("openid");
        System.out.println(openid);
        if(openid == null || openid.length() == 0) throw new RuntimeException("临时登录凭证错误");
        return openid;
    }
部分登录注册业务代码
  Integer id = userDao.searchAlreadyRegistered(openId);
        if (id != null) map.put("successMessage","登录成功");
        else {
            String nickname = MapUtil.getStr(param, "nickname");
            String photo = MapUtil.getStr(param, "photo");
            String sex = MapUtil.getStr(param, "sex");
            UserEntity user = new UserEntity();
            user.setOpenId(openId);
            user.setNickname(nickname);
            user.setPhoto(photo);
            user.setSex(sex);
            user.setStatus((byte) 1);
            userDao.insert(user);
            id = userDao.searchAlreadyRegistered(user.getOpenId());
            map.put("successMessage","注册成功");
        }
        String phone = userInfoCardDao.searchUserTel(id);
        map.put("tel",phone);
        map.put("id",id);
        return map;
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消