微信小程序> 微信小程序后端开发关键点指引

微信小程序后端开发关键点指引

浏览量:513 时间: 来源:pharos

开发微信小程序需要前后端一起配合,前端通过微信提供的工具开发,实际页面、样式及JS代码部署在微信服务器;后端可以通过JAVA语言开发,实现具体业务逻辑并与数据库、Redis缓存、MQ等进行交互,代码部署在开发者服务器;调用微信提供的API时,后端开发关键点有两个:

一、在前端调用wx.login() 获取 临时登录凭证code之后,将code字符串发送给后端,后端通过auth.code2Session接口获取用户唯一标识 OpenID 。

为什么非要获取OpenID?因为一个微信小程序客户在此微信小程序之内,这个OpenID是唯一的,在客户登录、使用小程序的整个过程中,开发者的后端服务就是通过它来区分不同用户的。
前端的code只是临时凭证,是有时效性的,统一OpenID的用户在每次登录小程序时code不一样。

后端获取OpenID非常简单,遵循微信小程序提供的帮助文档就成,直接Get这个地址:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code, 将appid、secret、js_code、grant_type放进去,然后解析出返回的JSON串就可以啦。
比如用SpringBoot开发,可以将getOpenId封装成一个服务方法,在登录的时候直接调用就可以啦。
代码如下:

@Overridepublic CodeToSessionEntity getOpenId(String code, String logUniqueFlag) {    String requestUrl = mallConstant.getWx_getopenid_url();    String appId = mallConstant.getWx_appid();    String secret = mallConstant.getWx_appSecret();    String getUrlPath = requestUrl + "?" + "appid=" + appId + "&secret=" + secret + "&js_code=" + code + "&grant_type=authorization_code";    try {        sessionEntity = restTemplate.getForObject(getUrlPath, CodeToSessionEntity.class);    } catch (Exception e) {        log.error("{}-根据code从微信小程序获取OpenId的值发起请求,出现了异常!e={}", logUniqueFlag, e);    }    log.info("{}-根据code从微信小程序获取OpenId的值发起请求,url={},result={}", logUniqueFlag, getUrlPath, sessionEntity.toString());    return sessionEntity;}

调用处代码如下:

CodeToSessionEntity sessionEntity = weiXinService.getOpenId(code, mtmWxCodeReq.getLogUniqueFlag());

二、后端业务逻辑如果打算调用微信提供的活体认证(生物认证)、物流助手、大数据分析能力,那么就需要access_token,这个access_token是调用这些api的接口调用凭证。

比如说调用生物认证能力,必须得有access_token。
小程序
获取access_token比获取OpenID还要简单,只要Get这个地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET, 将appid、secret放进去,然后解析出返回的JSON串就成。

“模拟大量微信小程序用户对平台进行并发访问的性能测试指引”请参考
https://blog.csdn.net/pharos/article/details/89397826

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎