微信小程序通用功能设计和实现(上)

简介: 微信小程序通用功能设计和实现(上)

前言


介绍下最近一段时间内在公司做的一个微信小程序小项目几个核心功能的设计流程和部门代码实现


  • 微信小程序登陆


  • 获取手机号


  • 微信OCR识别


  • 微信人脸识别


  • 微信支付


备注:本文章没有和公司相关的私密信息;每个功能都是通用的插件


微信小程序登陆


image.png



通过code获取secretKey和openId的接口封装

# 这个appId是指小程序id 在微信公众平台申请小程序的时候会生成
WxMaService wxMaService=WxMaConfiguration.getMaService(appId);
# 这里是设置失败重试次数 每一次失败重试时间间隔会变成 比如第一次3秒 第二次隔6秒重试一次 第三次隔9秒重复一次 所以对于用户来说不希望等待太久 所以设置为失败重试次数为0 即失败了 直接返回错误 不重试
wxMaService.setMaxRetryTimes(0);
WxMaJscode2SessionResult session =wxService.getUserService().getSessionInfo(code);


关键代码


https://gitee.com/pingfanrenbiji/resource/tree/master/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%BE%


image.png


demo源码


https://gitee.com/pingfanrenbiji/weixin-java-miniapp-demo


依赖pom


<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-miniapp</artifactId>
    <version>${weixin-java-miniapp.version}</version>
</dependency>
<properties>
    <weixin-java-miniapp.version>4.0.2-SNAPSHOT</weixin-java-miniapp.version>
</properties>


配置


wx:
  miniapp:
    configs:
      - appid: xxxx #微信小程序的appid 必填
        secret: xxxx #微信小程序的Secret 必填
        token: #微信小程序消息服务器配置的token 非必填
        aesKey: #微信小程序消息服务器配置的EncodingAESKey 非必填
        msgDataFormat: JSON


依赖包weixin-java-miniapp源码



https://gitee.com/pingfanrenbiji/WxJava/tree/master/weixin-java-miniapp


获取手机号


image.png


手机号解密关键代码


WxMaPhoneNumberInfo phoneNoInfo  = wxService.getUserService().getPhoneNoInfo(sessionKey,encryptedData, iv);



本地解密函数


image.png


微信图片_20220425194650.jpg

相关文章
|
8天前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
2148 13
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
13天前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
133 12
|
27天前
|
小程序 前端开发 关系型数据库
基于Uniapp+php校园小程序,校园圈子论坛系统功能,校园跑腿二手交流功能设计
校园圈子论坛及综合服务平台集成了校园跑腿、兼职信息、外卖团购、闲置交换、租赁服务、表白墙等多功能模块,提供一站式校园生活解决方案。系统采用uniapp前端和PHP后端开发,支持多城市、多学校切换,配备分站式后台管理,确保稳定性和安全性。通过融云IM SDK实现即时通讯功能,增强用户互动与粘性。适用于大学校园、城市及社区圈子,满足多样化需求,提升便捷体验。
|
2月前
|
小程序 安全 网络安全
清晰易懂!陪玩系统源码搭建的核心功能,陪玩小程序、陪玩app的搭建步骤!
陪玩系统源码包含多种约单方式、实时语音互动、直播间与聊天室、大神申请与抢单、动态互动与社交及在线支付与评价等核心功能。搭建步骤包括环境准备、源码上传与解压、数据库配置、域名与SSL证书绑定、伪静态配置及后台管理。注意事项涵盖源码安全性、二次开发、合规性和技术支持。确保平台安全、合规并提供良好用户体验是关键。
|
3月前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
4月前
|
存储 自然语言处理 小程序
微信小程序多语言切换神器:简繁体切换功能完全指南
随着全球化的发展,支持多种语言的应用程序愈发重要。本文介绍了如何在微信小程序中实现简体与繁体字体之间的切换功能,以满足不同地区用户的需求。通过创建utils文件夹并编写相应的转换函数,开发者可以方便地实现语言切换,从而提升用户体验。文章中还附带了示例代码和效果图,帮助读者更好地理解和应用这一功能。
173 0
微信小程序多语言切换神器:简繁体切换功能完全指南
|
4月前
|
小程序 Linux Python
查找首字母与Python相关的的英文词汇小程序的续篇---进一步功能完善
查找首字母与Python相关的的英文词汇小程序的续篇---进一步功能完善
46 1
|
5月前
|
算法 JavaScript 前端开发
切西瓜法实现微信抢红包功能
该文章介绍了使用“切西瓜法”和“栅栏法”两种算法来模拟微信抢红包的随机分配机制,并通过具体的JavaScript代码实现了红包金额的公平随机分配过程。
切西瓜法实现微信抢红包功能
|
5月前
|
人工智能 前端开发 JavaScript
MacTalk 测评通义灵码,实现“微信表情”小功能
墨问西东创始人池建强分享了团队使用通义灵码的经验。
|
5月前
|
小程序 API 开发工具
使用python 实现微信签到提醒功能
【9月更文挑战第4天】使用python 实现微信签到提醒功能
117 2

热门文章

最新文章