当前位置: 首页 > java >正文

Java使用微信云服务HTTP API操作微信云开发数据库

 可以直接用的工具类代码

package com.kstc.qgy.util;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.kstc.qgy.model.exception.WxException;
import com.kstc.qgy.model.service.Limit;
import java.util.List;public class WXConnection {private static String accessToken = null;private final static String IP = "https://api.weixin.qq.com";private final static String env = "你的env";private final static String appId = "你的微信appid";private final static String secret = "你的微信小程序密钥";public synchronized static void getAccessToken() throws Exception {String res = HttpUtils.httpsGet(IP + "/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+secret);JSONObject jsonObject = JSON.parseObject(res);accessToken = jsonObject.getString("access_token");System.out.println("获取微信access_token:"+accessToken);}private synchronized static void resultIsSuccess(String res) throws WxException {JSONObject jsonObject = JSONObject.parseObject(res);if (jsonObject.containsKey("errcode")&&!jsonObject.get("errcode").equals(0)) throw new WxException();}public synchronized static String findList(String collection, Limit limit) throws Exception {JSONObject body = new JSONObject();body.put("env",env);String query = "db.collection('" + collection + "').skip(" + limit.getCurrPage() * limit.getPageSize() + ").limit(" + limit.getPageSize() + ").get()";body.put("query",query);String res = HttpUtils.httpsPost(IP + "/tcb/databasequery?access_token=" + accessToken, body.toJSONString());resultIsSuccess(res);return res;}public synchronized static String findById(String collection,String id) throws Exception {JSONObject body = new JSONObject();body.put("env",env);String query = "db.collection('" + collection + "').doc('" + id + "').get()";body.put("query",query);String res = HttpUtils.httpsPost(IP + "/tcb/databasequery?access_token=" + accessToken, body.toJSONString());resultIsSuccess(res);return res;}public synchronized static <T> String addList(String collection, List<T> list) throws Exception {JSONObject body = new JSONObject();body.put("env",env);String query = "db.collection('" + collection + "').add({" +"data: " + JSONObject.toJSONString(list) +"})";body.put("query",query);String res = HttpUtils.httpsPost(IP + "/tcb/databaseadd?access_token=" + accessToken, UnicodeUtils.strToUnicode(body.toJSONString()));resultIsSuccess(res);return res;}public synchronized static String createCollection(String collection) throws Exception {JSONObject body = new JSONObject();body.put("env",env);body.put("collection_name",collection);String res = HttpUtils.httpsPost(IP + "/tcb/databasecollectionadd?access_token=" + accessToken, body.toJSONString());resultIsSuccess(res);return res;}public synchronized static String deleteCollection(String collection) throws Exception {JSONObject body = new JSONObject();body.put("env",env);body.put("collection_name",collection);String res = HttpUtils.httpsPost(IP + "/tcb/databasecollectiondelete?access_token=" + accessToken, body.toJSONString());resultIsSuccess(res);return res;}public synchronized static <T> String findByConditionAnd(String collection,T condition,Limit limit) throws Exception {JSONObject body = new JSONObject();body.put("env",env);String query = "db.collection('"+ collection +"').where("+ JSONObject.toJSONString(condition) +").skip(" + limit.getCurrPage() * limit.getPageSize() + ").limit(" + limit.getPageSize() + ").get()";body.put("query",query);String res = HttpUtils.httpsPost(IP + "/tcb/databasequery?access_token=" + accessToken, UnicodeUtils.strToUnicode(body.toJSONString()));resultIsSuccess(res);return res;}public synchronized static <T> String updateById(String collection,T condition,String id) throws Exception {JSONObject body = new JSONObject();body.put("env",env);String query = "db.collection('"+ collection +"').doc('"+ id +"').update({data:"+ JSONObject.toJSONString(condition) +"})";body.put("query",query);String res = HttpUtils.httpsPost(IP + "/tcb/databaseupdate?access_token=" + accessToken, UnicodeUtils.strToUnicode(body.toJSONString()));resultIsSuccess(res);return res;}public synchronized static String deleteById(String collection,String id) throws Exception {JSONObject body = new JSONObject();body.put("env",env);String query = "db.collection('"+ collection +"').doc('"+ id +"').remove()";body.put("query",query);String res = HttpUtils.httpsPost(IP + "/tcb/databasedelete?access_token=" + accessToken, UnicodeUtils.strToUnicode(body.toJSONString()));resultIsSuccess(res);return res;}public synchronized static String getFileTempPath(List<String> fileId_list) throws Exception {JSONObject body = new JSONObject();body.put("env",env);JSONArray fileList = new JSONArray();for(int i = 0;i < fileId_list.size();i++) {JSONObject fileItem = new JSONObject();fileItem.put("fileid",fileId_list.get(i));fileItem.put("max_age", 7200);fileList.add(fileItem);}body.put("file_list", fileList);String res = HttpUtils.httpsPost(IP + "/tcb/batchdownloadfile?access_token=" + accessToken, UnicodeUtils.strToUnicode(body.toJSONString()));resultIsSuccess(res);return res;}
}

http://www.xdnf.cn/news/2450.html

相关文章:

  • Redis 缓存并发问题深度解析:击穿、雪崩与穿透防治指南
  • Java + Seleium4.X + TestNG自动化技术
  • 第三方软件检测报告:热门办公软件评估及功能表现如何?
  • Linux用户管理
  • 内存四区(堆)
  • Git命令(Gitee)
  • Linux—— 版本控制器Git
  • Linux 在个人家目录下添加环境变量 如FLINK_PROPERTIES=“jobmanager.rpc.address: jobmanager“
  • Android LiveData关键代码
  • Docker小游戏 | 使用Docker部署文字修仙网页小游戏
  • Xray-安全评估工具
  • 月之暗面开源-音频理解、生成和对话生成模型:Kimi-Audio-7B-Instruct
  • 【DNS】BIND9 域名解析快速入门
  • Spring框架的ObjectProvider用法
  • 【C++】类和对象【中上】
  • C++ 完全数
  • Android四大核心组件
  • Linux(Centos版本)中安装Docker
  • 哈希表基础
  • 使用rsync和inotidy-tools来进行实时备份文件夹数据
  • Awesome-Embodied-AI: 具身机器人的资源库
  • CentOS7.9安装Python 3.10.11并包含OpenSSL1.1.1t
  • STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)
  • uni-app 中使用 mqtt.js 的完整版
  • uniapp: 低功耗蓝牙(BLE)的使用
  • 在winform中使用chromiumWebBrowser显示Echarts图表
  • 【RabbitMQ】保证消息不丢失
  • 汽车网络安全 -- 理解暴露面、攻击面和攻击向量
  • 极狐GitLab 议题权重有什么作用?
  • 编译流程、make命令与nccl-test中的Makefile解析