大象笔记

知者行之始,行者知之成

python socket.io 客户端测试代码

为了测试基于 flask 实现的 socket.io server 端的功能,除了使用浏览器端 js 测试之外,我还想看看诸如 python,C# 这样的客户端的实现是否支持 flask 的 session 机制。即是否能够正常获取到 session id。 经过测试,server 端确实可以正常获取到 session id。 代码 import socketio # 创建 Socket.IO 客户端实例 sio = socketio.Client() # 当连接成功时的处理函数 @sio.event def connect(): print("Connected to ...

阅读全文...

python flask web 框架安装 socket.io 模块

想基于 python 的 socket.io 实现实时消息,及在线状态检测。 同时兼容 rasa 的 socket.io 版本。 确认 rasa 对应的 socket.io 版本 > conda list socketio (rasa) # packages in environment at ~/miniconda3/envs/rasa: # Name Version Build Channel python-socketio 5.8.0 pypi_0 ...

阅读全文...

卖掉域名之后,不要忘记修改网站的 ICP 备案

中午吃饭的时候接到阿里云备案检查人员的电话,说我的一个域名对应网站的底部没有正确显示备案编号,需要处理。我一看那个域名是之前卖掉的域名,参考: 在阿里云上成功卖掉了一个闲置的域名 我说那个域名已经不是我的了,需要对备案做什么处理? 工作人员说是需要注销备案。 修改备案的必要性 我感觉还是有必要的,因为这个域名的买方,购买域名后,我看其搭建了一个盗版视频类的网站,应该是放到了海外服务器上。这个要是被版权方追责,估计就直接找到我这边了。还好没有出现问题。 所以,赶紧处理为妙。 注销备案流程 登录阿里云后台的 ICP 备案管理: https://beian.aliyun.com/pcContaine ...

阅读全文...

对话机器人 Rasa(三十一):Form 的进阶用法,动态话术及 slot

需求背景 例如,诊所之类的预约场景下,到店需要核对预约号码,与预约的身份证号码,两个数据匹配成功,才能进入下一步的操作。 这里用一个 form 包含两个 slot 来实现信息录入,看起来是典型的 form 使用场景,没什么可说的。 但是如果在输入预约号码后,需要拉取身份证的掩码格式,让用户填写掩码部分,以减少用户输入。那么就需要在输入第一个 slot 后,调用其他服务的 api,获取身份证掩码。然后影响到第二个slot 的 utter ask 提示话术内容。 第二个需求是,如果第一个 slot 输入的预约号码查询不到,就不需要再提示身份证号码的输入了。那么就变成了一个动态的 form。 第二个 ...

阅读全文...

SuiteCRM 修改菜单后报 500 错误,管理员无法进入系统

在使用 SuiteCRM 管理员在后台配置菜单,选择将所有菜单隐藏。。。不要问为什么,就是这样配置了。 然后管理员再也无法使用 SuiteCRM 了,登录之后就报 500 错误,无法使用,也无法恢复之前的配置。 其他用户倒是可以正常登录。 报错信息 从日志看起来确实是找不到菜单,导致报错: FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in ...

阅读全文...

Android MPAndroidChart 实时曲线使用时间作为 X 轴

MPAndroidChart 确实强大,但是文档太少,需要自己踩坑。 在基于 MPAndroidChart 绘制手环传输过来的实时数据时,发现用时间(小时:分钟)作为横轴坐标,网上找到的示例代码都不好使。 不支持时间戳 如果直接使用 System.currentTimeMillis() 生成基于毫秒的时间戳作为 x 坐标,会发现 MPAndroidChart 根本无法展示,我不确定问题出在哪里。有两个推测: 数值太大,组件不支持 x 轴可能设置了刻度 (这个可能无关) 基于时间差解决 而使用简单一秒加 1 的计数器,却可以完美的展示实时需求,唯一的问题是,这种计数器的值无法转换为时间。 ...

阅读全文...

Android MPAndroidChart 动态显示曲线数据

MPAndroidChart 的示例大多数静态图表,没有实时显示曲线的变化的示例。 找到一个官方的说明: https://github.com/PhilJay/MPAndroidChart/wiki/Dynamic-&-Realtime-Data there are various methods that allow to either add or remove Entry objects to an existing DataSet or DataSet objects to/from an existing ChartData object 看来确实可以实现动态修改。 添加 ...

阅读全文...

SuiteCRM 中自定义功能的字段,及必填项

在 SuiteCRM 的管理员账号后台,系统设置里的工作室功能,可以自定义字段,也能修改字段是否必填。 不得不感叹 SuiteCRM 的功能还真是强大啊。 ...

阅读全文...

SuiteCRM 基本概念及中英文术语对照表

客户 Account 注意这里的客户是公司名,而不是具体的联系人(Contact)名字。 Accounts in SuiteCRM will typically hold all information specific to a company that your organisation will have a relationship with. 联系人 Contact a Contact is an individual who is typically associated with an Account (organisation) or Opportunity (quali ...

阅读全文...

SuiteCRM 主题界面代码修改

例如,我想修改 SuiteCRM 的一些界面部分的显示: footer 隐藏掉 SuiteCRM 的标志 login 界面隐藏 logo 用户菜单隐藏掉论坛,及关于的介绍链接 实际上,都可以通过修改目录 themes/SuiteP/tpls 下的 tpl 模板文件来实现。 tpl 是 PHP smarty 模板文件。(语法很简单,或者直接 ChatGPT 都能轻松搞定) SuiteP 是 SuiteCRM 自带的默认主题 模板目录的文件列表 ls -lah total 112K drwxrwxr-x 2 www-data www-data 4.0K Jan 10 14:48 . drw ...

阅读全文...

SuiteCRM 中文翻译语言包安装

下载中文语言包 将 SuiteCRM 中文翻译文件下载到电脑本地。 https://crowdin.com/project/suitecrmtranslations/zh-CN 上面链接里是最新版本的翻译。 如果需要历史版本的,可以去这里下载: https://sourceforge.net/projects/suitecrmtranslations/files/ 安装 使用 admin 账号登录 SuiteCRM。 点击右上角的 admin 菜单,打开后,在页面中搜索 Module loader. 将下载的文件,上传并启用即可。 然后,回到 Administration 功能页,搜索 Rep ...

阅读全文...

Ubuntu Server 22.04 部署安装开源 CRM SuiteCRM 7.14

基于 Ubuntu Server 22.04 SuiteCRM 的安装环境要求 https://docs.suitecrm.com/admin/compatibility-matrix/ SuiteCRM 7.14.x PHP 8.1, 8.2 MySQL 5.7, 8.0 安装参考文档 7.x 版本: https://docs.suitecrm.com/admin/installation-guide/downloading-installing/ 最终演示效果 如果需要中文版,需要参考 SuiteCRM 中文翻译语言包安装。 安装 Nginx sudo apt install ngi ...

阅读全文...