请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

fans0123
金牌服务用户   /  发表于:2023-5-22 01:01  /   查看:2164  /  回复:7
1金币
本帖最后由 fans0123 于 2023-5-24 16:15 编辑

80105版本是正常的


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

大佬,这里原因是内建表的token_due_time和ticket_due_time日期字段,在内建SQLite数据库存储时是一个浮点数,整数部分代表天数,小数部分代表时分秒转换的天数,下面C#代码Double.parse(string),这里的参数string就是ticket_due_time的字符串形式,这里转为Double是正常的; DateTime.Compare(DateTime.Now, DateTime.FromOADate(double.Parse(config.ticket_due_time)))

7 个回复

倒序浏览
最佳答案
最佳答案
Shawn.Liu活字格认证
超级版主   /  发表于:2023-5-22 01:01:01
来自 6#

大佬,这里原因是内建表的token_due_time和ticket_due_time日期字段,在内建SQLite数据库存储时是一个浮点数,整数部分代表天数,小数部分代表时分秒转换的天数,下面C#代码Double.parse(string),这里的参数string就是ticket_due_time的字符串形式,这里转为Double是正常的;
DateTime.Compare(DateTime.Now, DateTime.FromOADate(double.Parse(config.ticket_due_time))) <= 0
在将qyWeChatConfig表转为MySQL外联后,日期字段转换为了datetime类型,此时日期存储不再是浮点类型,而是日期+时间的格式,在转为Double时异常;

大佬这边现在希望是继续使用外联,需要修改下代码;还是将和企业微信扫码功能依赖的该表单独使用内建,这样的话不需要该C#代码;




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2023-5-22 11:11:56
2#
大佬,从日志信息来看,是WebAPI的GetSignature() -> GetTicket(String accessToken)方法内部的Double.parse(String s)在将字符串转为Double类型时字符串格式异常
回复 使用道具 举报
fans0123
金牌服务用户   /  发表于:2023-5-24 07:36:42
3#
经排查,都是转外联库惹的祸。企业微信调用摄像头扫码 依赖一个内置表    qywechatconfig  转外联了导致扫码失效。固定只能内置还是可以转外置?盼官方详解。
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2023-5-24 10:14:54
4#
fans0123 发表于 2023-5-24 07:36
经排查,都是转外联库惹的祸。企业微信调用摄像头扫码 依赖一个内置表    qywechatconfig  转外联了导致扫 ...

大佬,这张表内置或者外联都可以的,如果是因为转外联导致的异常是会报连接不上或者找不到表相关异常;大佬这边排查结果是将其转内建正常了吗,请教下是转为哪种外联数据库了
回复 使用道具 举报
fans0123
金牌服务用户   /  发表于:2023-5-24 13:55:00
5#
mysql
回复 使用道具 举报
fans0123
金牌服务用户   /  发表于:2023-5-24 16:14:33
7#
官方能解决并更新适应内置和外联数据库的方案便是最好的。目前我就先内置用了。
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2023-5-24 16:54:23
8#
fans0123 发表于 2023-5-24 16:14
官方能解决并更新适应内置和外联数据库的方案便是最好的。目前我就先内置用了。

好的大佬~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部