Back to Wxjava

README

weixin-java-cloudbase/README.md

4.8.24.1 KB
Original Source

如何使用 WxJava 进行小程序云开发

云开发(CloudBase)是基于Serverless架构构建的一站式后端云服务,涵盖函数、数据库、存储、CDN等服务,免后端运维,支持小程序、Web和APP开发。 其中,小程序·云开发是微信和腾讯云联合推出的云端一体化解决方案,基于云开发可以免鉴权调用微信所有开放能力,在微信开发者工具中即可开通使用。

一、 引入maven依赖

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

二、 构造配置类,填入相关参数

    WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
    config.setAppid(...); // 微信小程序的appid
    config.setSecret(...); // 微信小程序的Secret
    config.setToken(...); // 微信小程序消息服务器配置的token,如果程序不涉及相关功能,可以忽略
    config.setAesKey(...); // 微信小程序消息服务器配置的EncodingAESKey,同上,如果不涉及,可以忽略
    config.setMsgDataFormat(...); // 消息数据格式,可以为XML或者JSON

三、 构造service类,关联上述配置

   WxMaService wxMaService= new WxMaServiceImpl();

   wxMaService.setWxMaConfig(config);

四、 根据小程序前端需要调用相应的方法:

目前 WxJava 已支持当前所有接口(当然如果官方后续加入新接口,则还未在最新版本中实现,会考虑在之后版本中加入),所有已支持的接口列表可以参考在线JavaDochttp://binary.ac.cn/weixin-java-miniapp-javadoc/cn/binarywang/wx/miniapp/api/WxMaCloudService.html

以触发云函数接口为例,可以采用如下方式调用 invokeCloudFunction 方法:

String result = wxMaService.getCloudService().invokeCloudFunction("rcn", "login", "{}"); // 拿到result之后,可以在后续加入自己的处理逻辑代码

更多方法调用实例可以参考 WxJava 源码中的单元测试类:cn.binarywang.wx.miniapp.api.impl.WxMaCloudServiceImplTest

另外,顺便在此列出当前已支持云开发的方法如下:

接口描述方法名
删除文件batchDeleteFile(String env, String[] fileIds)
获取文件下载链接batchDownloadFile(String env, String[] fileIds, long[] maxAges)
数据库插入记录databaseAdd(String env, String query)
数据库聚合记录databaseAggregate(String env, String query)
新增集合databaseCollectionAdd(String env, String collectionName)
删除集合databaseCollectionDelete(String env, String collectionName)
获取特定云环境下集合信息databaseCollectionGet(String env, Long limit, Long offset)
统计集合记录数或统计查询语句对应的结果记录数databaseCount(String env, String query)
数据库删除记录databaseDelete(String env, String query)
数据库导出databaseMigrateExport(String env, String filePath, int fileType, String query)
数据库导入databaseMigrateImport(String env, String collectionName, String filePath, int fileType, boolean stopOnError, int conflictMode)
数据库迁移状态查询databaseMigrateQueryInfo(String env, Long jobId)
数据库查询记录databaseQuery(String env, String query)
数据库更新记录databaseUpdate(String env, String query)
获取腾讯云API调用凭证getQcloudToken(long lifeSpan)
触发云函数invokeCloudFunction(String env, String name, String body)
变更数据库索引updateIndex(String env, String collectionName, List<WxCloudDatabaseCreateIndexRequest> createIndexes, List<String> dropIndexNames)
获取文件上传链接uploadFile(String env, String path)

五、 Spring 框架整合:

可以参考https://github.com/binarywang/weixin-java-miniapp-demo 此项目整合 Spring 开发。 此项目基于 Spring Boot ,如果需要支持Spring MVC项目,适当改造即可。