当前位置: 首页 > news >正文

网站前置审批项 教育网页设计作品分析

网站前置审批项 教育,网页设计作品分析,包头seo,做网站字体一般设置一、流程图 说明: 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。 获取手机号,调用wx.getPhoneNumber() ,获取加密…

一、流程图

在这里插入图片描述

说明:

调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 调用 auth.code2Session 接口,换取
用户唯一标识 OpenID 和 会话密钥 session_key。 获取手机号,调用wx.getPhoneNumber() ,获取加密串
encryptedData 和加密算法的初始向量 ivStr 传到后台,用会话秘钥session_key ,调用
wxMaService.getUserService().getPhoneNoInfo(session_key,encryptedData
,ivStr )获得解密后的数据; 获取其他用户信息,调用wx.getUserInfor() ,获取加密串 encryptedData
和加密算法的初始向量 ivStr 传到后台,用会话秘钥session_key ,调用
wxMaService.getUserService().getUserInfor(session_key,encryptedData
,ivStr )获得解密后的数据; 之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。

注意:

会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。
临时登录凭证 code 只能使用一次.
密文串要用 json 格式传输,不能用参数拼接的方式,会把密文串的加号转换为空格,导致解密失败。

二、后端相关代码

1、添加依赖

    <dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-miniapp</artifactId><version>4.5.0</version></dependency>

2、微信jar包实体类 WxMaService wxMaService;

3、根据code获取session_key和openId

WxMaJscode2SessionResult sessionResult = wxMaService.jsCode2SessionInfo(code);

4、获取手机号

弃用方法:

WxMaPhoneNumberInfo wxMaPhoneNumberInfo = wxMaService.getUserService().getPhoneNoInfo(SessionKey,EncryptedData,IvStr);

建议使用方法:

 WxMaPhoneNumberInfo  wxMaPhoneNumberInfo = wxMaService.getUserService().getPhoneNoInfo(code);

5、获取用户信息

 WxMaUserInfo  wxMaUserInfo = wxMaService.getUserService().getUserInfo(SessionKey,EncryptedData,IvStr);

手机号快速验证组件官网地址
在这里插入图片描述
6、 完整代码如下

   /*** 小程序一键登录** @return openId*/@GetMapping("/mini/login")public AjaxResult miniProgramLogin(@RequestParam("code") String code) {return AjaxResult.success(minUserService.miniProgramLogin(code));}/*** 获取手机号** @return com.sense.common.utils.ResultMap* @date 2024/6/21 11:24*/@GetMapping("/mini/getPhoneNoInfo")public AjaxResult getPhoneNoInfo(@RequestParam("code") String code) {return AjaxResult.success(minUserService.getPhoneNoInfo(code));}
    @Overridepublic JSONObject miniProgramLogin(String code) {try {WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(code);//查询是否存在,不存在则新增用户MinUser minUser = loginOrRegister(session.getOpenid());JSONObject object = new JSONObject();object.put("openId", session.getOpenid());object.put("privacyStatus", minUser.getPrivacyStatus());object.put("sessionKey", session.getSessionKey());log.info("{}-登录成功:{}", minUser.getUserNickName(), session.getOpenid());//记录登录日志iMinOperationLogService.insertMinOperationLog(session.getOpenid(), minUser.getUserNickName(), "小程序登陆");return object;} catch (WxErrorException e) {log.error("获取微信授权信息失败:{}", e.getMessage(), e);throw new ServiceException("登陆失败", HttpStatus.ERROR);}}@Overridepublic WxMaPhoneNumberInfo getPhoneNoInfo(String code) {try {return wxMaService.getUserService().getPhoneNoInfo(code);} catch (WxErrorException e) {log.error("获取用户手机号失败: {}", e.getMessage());throw new ServiceException("获取用户手机号失败");}}
http://www.yayakq.cn/news/172134/

相关文章:

  • 网站维护提醒php文件企业品牌网站建设
  • 企业网站建设申请域名软件通网站建设
  • 阿里巴巴国际网站做网站可以吗厦门seo关键词优化
  • 二手交易网站建设渠道网络建设怎么写
  • 高端设计网站平台有哪些网站上可以做试卷
  • 网站开发工程师年薪多少购物网站 后台
  • 自己怎么做微网站做3d效果图的网站
  • 阿里巴巴网站的建设内容太仓网站设计早晨设计
  • 网站把域名解析到新ip后wordpress qq快捷登陆
  • 做项目网站南京江宁网站建设
  • 北京企业网站开发专门做珠宝的网站
  • 绵阳网站建设报价网站怎么做移动的窗口
  • 电子商务网站建设与管理在线网页制作网站
  • 网站建设属于什么专业千万不要去苏州打工
  • 网站留言板 html石家庄风险等级
  • 企业网站的设计思路范文龙岗网站设计市场
  • 企业网站的建立联系方式网站开发毕业设计题目
  • php网站开发视频教程网站制作流程 优帮云
  • 网站上面的图片是怎么做的抖音代运营怎么取消合作
  • 免费编程网站高端网站建设jm3q
  • 沂南建设局网站青岛黄页电话查询
  • 检察院网站建设广州新业建设管理有限公司网站
  • 福清市建设局监督站网站网站编辑是做网页编辑吗
  • 网站建设要做哪些工作哪个外贸网站开发客户比较好用
  • 网站开发公司经营范围怎么写西华县住房和城乡建设局网站
  • 外贸网站电子建设鞋 东莞网站建设 技术支持
  • 本地的营销网站建设怎么做网站从0做到权重7
  • 第一推是谁做的网站免费个人简历模板
  • 西安云英网站建设泉港区规划建设局网站
  • 网站做盗版视频赚钱吗wordpress的用户名与密码