大家好,我是小悟
快速注册微信小程序,以前就搞过相关的系统开发,通过接口直接注册,真的是很方便,可以用【快准好】来形容。而且是注册即认证的效果,也就是说,只要注册成功,该小程序就是已认证的状态,无需再另外的认证费用。
相比从官方后台去注册,需要准备大量的信息资料,注册完成还要另外认证(300米),认证小额打款也需要一定时间,挺繁琐。而快速注册则只需收集法人姓名、法人微信、企业名称、企业代码信息这四个信息,便可以向企业法人下发一条模板消息来采集法人人脸信息,完成全部注册、认证流程,无需300米认证费用。
在接口调用成功后,通过法人&企业主体校验,平台向法人微信下发模板消息。法人需在24 小时内点击消息,进行身份证信息与人脸识别信息收集。
撸了一个系统,既可以从前端,也可以从后端进行快速注册已认证的微信小程序,这个系统主要是通过微信开放平台接口实现的。
前端是公众号h5的形式,包括三个模块,首页、记录、我的。
管理后端包括用户管理、注册管理、订单管理。
用户管理
用户信息,主要就是展示用户的一些信息。
注册管理
注册指南,主要就是对注册步骤的一些介绍。
快速注册,主要就是注册认证小程序的提交信息和注意事项。
RedisService<ComponentVerifyTicket> redisService = RedisService.load();
ComponentVerifyTicket componentVerifyTicket = redisService.load(ComponentVerifyTicket.COMPONENT_VERIFY_TICKET_ID,
ComponentVerifyTicket.class);
if (componentVerifyTicket != null) {
ComponentToken componentToken = AuthorizedUtils.getComponentToken(componentVerifyTicket.getComponentVerifyTicket());
RegisterWeappOut out = new RegisterWeappOut();
out.setName(appletsOrder.getCompanyName())
.setCode(appletsOrder.getCompanyCode())
.setCode_type(appletsOrder.getCompanyCodeType())
.setLegal_persona_wechat(appletsOrder.getLegalPersonaWechat())
.setLegal_persona_name(appletsOrder.getLegalPersonaName())
.setComponent_phone(appletsOrder.getComponentPhone());
JSONObject obj = BaseUtils.createRegisterWeapp(componentToken,out);
logger.info("******注册小程序返回结果******,{}", obj);
Integer errCode = obj.getInteger(ResStatus.ERRCODE);
String errMsg = ResStatus.registMaCodeConversion(errCode);
if (errCode == 0) {
boolean update = appletsOrderService.update(Wrappers.<AppletsOrder>lambdaUpdate()
.set(AppletsOrder::getCompanyCodeType, appletsOrder.getCompanyCodeType())
.set(AppletsOrder::getCompanyCode, appletsOrder.getCompanyCode())
.set(AppletsOrder::getCompanyName, appletsOrder.getCompanyName())
.set(AppletsOrder::getLegalPersonaWechat, appletsOrder.getLegalPersonaWechat())
.set(AppletsOrder::getLegalPersonaName, appletsOrder.getLegalPersonaName())
.set(AppletsOrder::getComponentPhone, appletsOrder.getComponentPhone())
// 注册成功
.set(AppletsOrder::getOrderStatus, AppletsOrder.ORDER_STATUS_2)
.set(AppletsOrder::getRegistStatus, errCode)
.set(AppletsOrder::getRegistStatusDesc, errMsg)
.eq(AppletsOrder::getId, appletsOrder.getId()));
return AjaxResult.success();
} else {
return AjaxResult.error(errCode, errMsg);
}
} else {
return AjaxResult.error("component_verify_ticket为null");
}
常见问题,主要就是注册过程遇到的一些常见问题以及解决方法。
设置账号,主要就是注册成功后对小程序设置账号和密码的步骤。
订单管理
订单列表,主要就是对注册的一些信息记录,可以通过企业代码(也就是统一社会信用代码)来查询自己注册的一些记录信息。
logger.info("******开始注册小程序******");
AppletsOrder order = appletsOrderService.getOne(Wrappers.<AppletsOrder>lambdaQuery()
.eq(AppletsOrder::getPayOutTradeNo, outTradeNo)
.eq(AppletsOrder::getOrderStatus, AppletsOrder.ORDER_STATUS_1));
RedisService<ComponentVerifyTicket> redisService = RedisService.load();
ComponentVerifyTicket componentVerifyTicket = redisService.load(ComponentVerifyTicket.COMPONENT_VERIFY_TICKET_ID,
ComponentVerifyTicket.class);
if (componentVerifyTicket != null) {
ComponentToken componentToken = AuthorizedUtils.getComponentToken(componentVerifyTicket.getComponentVerifyTicket());
RegisterWeappOut out = new RegisterWeappOut();
out.setName(order.getCompanyName())
.setCode(order.getCompanyCode())
.setCode_type(order.getCompanyCodeType())
.setLegal_persona_wechat(order.getLegalPersonaWechat())
.setLegal_persona_name(order.getLegalPersonaName())
.setComponent_phone(order.getComponentPhone());
JSONObject obj = BaseUtils.createRegisterWeapp(componentToken,out);
logger.info("******注册小程序返回结果******,{}", obj);
Integer errCode = obj.getInteger(ResStatus.ERRCODE);
String errMsg = ResStatus.registMaCodeConversion(errCode);
boolean update = appletsOrderService.update(Wrappers.<AppletsOrder>lambdaUpdate()
// 注册成功
.set((errCode == 0), AppletsOrder::getOrderStatus, AppletsOrder.ORDER_STATUS_2)
// 异常
.set((errCode != 0), AppletsOrder::getOrderStatus, AppletsOrder.ORDER_STATUS_3)
.set(AppletsOrder::getPayTime, new Date())
.set(AppletsOrder::getPayTradeNo, payTradeNo)
.set(AppletsOrder::getRegistStatus, errCode)
.set(AppletsOrder::getRegistStatusDesc, errMsg)
.eq(AppletsOrder::getId, order.getId()));
} else {
boolean update = appletsOrderService.update(Wrappers.<AppletsOrder>lambdaUpdate()
// 异常
.set(AppletsOrder::getOrderStatus, AppletsOrder.ORDER_STATUS_3)
.set(AppletsOrder::getPayTime, new Date())
.set(AppletsOrder::getPayTradeNo, payTradeNo)
.set(AppletsOrder::getRegistStatus, "-1")
.set(AppletsOrder::getRegistStatusDesc, "component_verify_ticket为null")
.eq(AppletsOrder::getId, order.getId()));
}
以上就是微信小程序注册认证的流程。
您的一键三连,是我更新的最大动力,谢谢
山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海