云开发(CloudBase)是基于Serverless架构构建的一站式后端云服务,涵盖函数、数据库、存储、CDN等服务,免后端运维,支持小程序、Web和APP开发。 其中,小程序·云开发是微信和腾讯云联合推出的云端一体化解决方案,基于云开发可以免鉴权调用微信所有开放能力,在微信开发者工具中即可开通使用。
<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
WxMaService wxMaService= new WxMaServiceImpl();
wxMaService.setWxMaConfig(config);
目前 WxJava
已支持当前所有接口(当然如果官方后续加入新接口,则还未在最新版本中实现,会考虑在之后版本中加入),所有已支持的接口列表可以参考在线JavaDoc
:http://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 createIndexes, List dropIndexNames) |
获取文件上传链接 | uploadFile(String env, String path) |
可以参考https://github.com/binarywang/weixin-java-miniapp-demo 此项目整合 Spring
开发。
此项目基于 Spring Boot
,如果需要支持Spring MVC
项目,适当改造即可。