企业微信api对接

用的是wxJava,但是wxJava文档真滴不清楚,都是jar全局搜索url/看方法试的。

坑0:
通讯录不仅要开通api,还得开通是“可编辑”不然是“只读”(然后还可以设置人员自己编辑后推动事件服务器)挺不错的

坑一:
打卡功能也是应用,但是位置和通讯录已经不在一块。secret隐藏的极猥琐
在这里插入图片描述

坑2:
要用wxJava的现有功能,它的service并不是直接@Autowired,而是要通过wxCpService获得。这个api不说,我哪知道啊,是强转失败,想试试".get",没想到还真出来了个getOAService

 private WxCpService wxCpService = WxCpConfiguration.getCpService(0);//我吐了,文档不写清楚,一步步试的。。。。
private WxCpOaService wxCpOaService =WxCpConfiguration.getCpService(3010011).getOAService();

坑:
上面static这么搞,之后引用,区别于习惯的@Autowired。会有一个小坑——
本地IDEA启动根本不报错(它坑了,其实它应该报错),但是发线上,炸了,我本来还以为是cp包版本不一致,entity等的引用路径差异,或者jenkins没有拉最新包而引起的。
但是本地jar也报错(日志是说了一大堆bean初始化GG)。然后我把日志debug等级。然后看到第一个报错的就是CpService。

private WxCpService wxCpService = WxCpConfiguration.getCpService(0);竟然还被蒙混过去了(也是他github demo推荐写法-_-||后续被这个误导了呀)
但private WxCpOaService wxCpOaService =WxCpConfiguration.getCpService(3010011).getOAService();这么玩,直接果断炸。
info等级时候的日志
分析:
//我吐了,文档不写清楚,一步步试的。。。。wxCpOaService不能放这,否则类初始化时报错:因为这里不是@Autowired注入的,直接静态方法引用,而启动顺序EhrCpStaffMappingServiceImpl类加载是先于wxJava @PostConstruct故此时NPE
// private WxCpOaService wxCpOaService =WxCpConfiguration.getCpService(3010011).getOaService();

解决:不在属性上初始化(导致此时还是NPE.取是static,但init是通过@PostConstruct注解执行顺序是在所有类注入后才执行的),所以,在方法被调用时才开始取试试
前:

 private WxCpOaService wxCpOaService =WxCpConfiguration.getCpService(3010011).getOAService();private List<LabourCheckinDayVo> getLabourCheckinDayData(Date startTime,Date endTime,List<String> cpIdList) throws Exception{...}


后:

//private WxCpOaService wxCpOaService =WxCpConfiguration.getCpService(3010011).getOAService();private List<LabourCheckinDayVo> getLabourCheckinDayData(Date startTime,Date endTime,List<String> cpIdList) throws Exception{String wxCpOaAccessToken = WxCpConfiguration.getCpService(3010011).getAccessToken();....
}

结果:
顺利启动!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25195.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebAPI接口对接

WebAPI接口对接&#xff1a; 提示&#xff1a;此片文章是总结接口对接经验其中包括模型的建立以及统一的调用 学习内容&#xff1a; 数据对象模型的建立如何规范定义模型统一的请求方法系统中model的命名 数据对象的建立 接口的数据传输对象包括Request对象和Response对象 …

百度翻译API对接

百度翻译开发平台&#xff1a;http://api.fanyi.baidu.com/api/trans/product/index 打开如上链接&#xff1a; 下载SDK 导入SDK 新建一个工程&#xff08;zyq-translate&#xff09;&#xff0c;并新建包&#xff08;com.zyq.translate&#xff09; 解压SDK&#xff0c;得…

对接海康ISC平台API

开发文档&#xff1a;海康开放平台。&#xff08;视频预览、抓图等能力&#xff09;

Unity Layer(图层)简介

图层基础 1. 当一个项目或者场景中包含很多对象时&#xff0c;通常难以组织。有的时候&#xff0c;希望一些游戏对象只能被某些摄像机看到或者只会被某些灯光照亮&#xff1b;有时&#xff0c;你可能希望只让某些类型的对象之间发生碰撞&#xff1b;在Unity中用图层处理上述需求…

【闲玩】看看ChatGpt认为的各级别Unity程序该掌握哪些技术

1.初级Unity开发 2.中级Unity开发 3.高级Unity开发 4.资深Unity开发 结语&#xff1a; 仅供娱乐哈&#xff0c;不过还是可以参考的。 不得不说。。。ChatGpt是真的强啊。。。

图形学之Unity渲染管线流程分析

文章来源&#xff1a; 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程http://www.tpyjn.cn/ 学习通http://www.tsgmyy.cn/ 下图是《Unity Shader 入门精要》一书中的渲染流程图&#xff1b; ApplicationS…

Unity渲染工程收集

NPR 非真实渲染 UnityURP-AnimeStyleCelShader SSR 屏幕空间反射 UnitySSReflectionURP Skin 皮肤 Unity-URP-SkinSSSLUTGenerator

art-template渲染大坑,从后台接受到的数据正确,但渲染出来的都是空白

问题描述 后台使用的是art-template模板引擎和express // 部分代码如下 router.get(/advert/add, (req, res, next) > {res.render(advert_add.html); });前端使用的art-template 重点看下面画着的部分 // 代码如下 {{ extend ./layout.html }}{{ block style }} {{ /blo…

[Unity3D热更框架] LuaMVC简介

1.什么是LuaMVC 从工作以来一直从事工业三维仿真软件/AR软件的开发&#xff0c;每个项目开发周期短&#xff0c;项目从Demo到完(huang)结(le)时间较为紧凑&#xff0c;因此需要一个便捷的开发框架作为支撑&#xff0c;以适应不同的项目需求&#xff0c;而且需要尽可能覆盖多个终…

一张图了解OpenGL的渲染架构

初学者在初学OpenGL时&#xff0c;很多时候会对OpenGL的渲染架构感到困惑&#xff0c;不清楚它是怎么一个渲染流程&#xff0c;常将Arributes直接传递到片元着色器&#xff0c;或者为了将属性直接传递到片元着色器&#xff0c;而通过uniform传递到片元着色器等&#xff0c;这样…

GacUI:跨平台和渲染器

GacUI&#xff1a;跨平台和渲染器 https://github.com/vczh/GacUIBlog UI库跨平台的方法无非就是每个平台写一次。而如何把更多的共同点抽取出来&#xff0c;尽量的减少每个平台写一次的部分&#xff0c;是每一个跨平台的UI库的重点之一。GacUI的设计比较直接&#xff0c;所有…

Unity3D 《拥挤城市》3D房子建筑透视效果实

3D游戏&#xff0c;经常会看到透视效果&#xff0c;例如《王者荣耀》草丛透视&#xff0c;《拥挤城市》建筑透视。 实现原理&#xff1a;把3D模型MeshRenderer中Materials替换成透明材质球。 举例&#xff1a;《拥挤城市》3D房子建筑透视效果实现&#xff0c;效果如下图&…

Unity2020高清渲染管线

一、高清渲染管线加载与环境配置 这里使用2019.3.0f6版本 1、加载高清渲染管线&#xff08;High Definition RP&#xff09; 2、创建高清管线脚本文件 3、配置高清渲染管线环境&#xff08;把色彩空间改为线性空间&#xff09; 4、把高清渲染管线脚本添加到图形&#xff08;G…

Unity Xlua热更新框架(一):概述与效果演示

1. 资源目录划分 资源&#xff1a;热更新资源和热更新步骤&#xff08;Bundle&#xff09;&#xff0c;&#xff0c;&#xff0c;&#xff0c;资源需要打成Bundle包&#xff0c;通过不重新安装安装包的情况&#xff0c;去更新和替换资源代码&#xff1a;Lua与C&#xff03;的交…

Unity3D教程:实现房产项目中的材质动态切换

在许多典型的房产展示项目当中&#xff0c;经常需要动态地实现例如墙纸、地板等材质的更换以获得不同的展示效果&#xff0c;下面将通过一个简单的教程介绍实现这一功能的关键技术。 首先需要场景中创建一个简易的样品房&#xff0c;样品房里面有一个地面和两面相互垂直的墙壁…

【GAMES-104现代游戏引擎】4、引擎渲染基础(渲染基础数据、全局光照、PBR、阴影)

Lecture04~05 1、光栅化流程2、一丢丢显卡知识3、网格绘制组件&#xff08;Mesh Render Component&#xff09;4、材质5、资源池&#xff08;Resource Pool&#xff09;6、Cluster-Based Mesh Pipeline7、渲染 游戏渲染的挑战 一个场景包含成千上万的GO需要的材质、shader、效果…

重回游戏公平,向游戏打金工作室宣战!

什么是打金工作室&#xff1f; 近几年中国游戏市场持续发展&#xff0c;国产自研精品游戏层出不穷&#xff0c;游戏产业精品化、高质量健康发展趋势稳定。根据中国音数协游戏工委&#xff08;GPC&#xff09;与中国游戏产业研究院发布的《2022年中国游戏产业报告》显示&#xf…

GPT-4 API平替?性能媲美同时成本降低98%,斯坦福提出FrugalGPT,研究却惹争议

来自&#xff1a;机器之心 进NLP群—>加入NLP交流群 Game Changer 还是标题党&#xff1f; 随着大型语言模型&#xff08;LLM&#xff09;的发展&#xff0c;人工智能正处于变革的爆发期。众所周知&#xff0c;LLM 可用于商业、科学和金融等应用&#xff0c;因而越来越多的公…

FrugalGPT

随着大型语言模型&#xff08;LLM&#xff09;的发展&#xff0c;人工智能正处于变革的爆发期。众所周知&#xff0c;LLM 可用于商业、科学和金融等应用&#xff0c;因而越来越多的公司&#xff08;OpenAI、AI21、CoHere 等&#xff09;都在提供 LLM 作为基础服务。虽然像 GPT-…