北京周边跨城顺风车消息汇总

针对跨城上班族拼车需求,开发了一款基于Wechaty的智能信息筛选系统,通过关键字匹配实现车寻人和人寻车信息的自动分类与数据库存储,便于用户快速查找拼车信息。

北京的房价涨幅对于北漂的工资涨幅来说永远都是高不可攀的;有很多人到了成家立业的年纪,又不想回到老家,所以距离北京近,房价可以接受的北京周边就是就是一个不错的选择,但是在环京买了房,工作还是在北京,由此衍生出了一批跨城上下班的圈子。 由于北京车牌限制,限行策略,堵车等问题,所以导致很多人不能愉快的自驾上下班,坐公共交通工具又不是特别方便,所以大家会选择和邻居或是朋友拼车上下班,既方便了大家通勤,也节省了路上的开销成本。 但是由于拼车群人多,各种和拼车消息无关的夹杂在其中不能让有需要的人快速找到适合自己路线的顺路车。

项目说明

在两年前,我已经基于web协议的wechaty做过一个版本,有微信公众号和微信小程序两个客户端供大家使用, 微信公众号输入车寻人,或是人寻车等关键字后会返回当天发布的消息分类汇总,微信小程序也达到1000+pv,但是由于web协议的不稳定性,导致我的微信账号被封登录不了了,所以后期就不维护了 现在了解到李佳芮为了支持大家会提供长期的token供大家使用,所以想重新吧这个项目做一下,维护起来,通过wechaty帮大家筛选拼车相关信息,让大家快速查到自己所需要的信息

核心逻辑

我的微信号上有十几个拼车微信群,里边每天会有很多拼车的相关信息,但是大家都会按照一个规则来发:

@车寻人,时间,出发地点,顺路地点,终点,联系方式
@人寻车,时间,出发地点,终点,联系方式
@车满

信息收集规则:

根据大家发送的信息,我做了一些简单的关键字匹配,分类为车寻人,或是人寻车,车满的消息会冲掉之前发送的车寻人消息,
收集到的数据会写到mysql数据库里,小程序和公众号从库里边查数据

附上部分逻辑代码说明。

import api1  from '../../server/api'
const one = ['车寻人', '车找人', '找人', '寻人', '满人', '满车', '车满', '人满'];
const two = ['人寻车', '人找车', '找车', '寻车', '找个车']
class dealMsg {

    async collectMsg(m) {
        const contact = m.from() //发送人
        const content = m.text() //内容
        const room = m.room() //群  room.topic()
        const tels = content.match(/((((13[0-9])|(15[^4])|(18[0,1,2,3,5-9])|(17[0-8])|(147))\d{8})|((\d3,4|\d{3,4}-|\s)?\d{7,14}))?/g)
        const tel = tels.filter((x) => {
            if (x) {
                return x
            }
        })
        let sex = ""
        if (room) {
            var contet = null;
            one.forEach(item => {
                if (content.indexOf(item) > -1) {
                    contet = {
                        type: 1,
                        author: contact.name(),
                        wxid: contact.id,
                        msg: content.replace(/(<img.*?)>/gi, ''),
                        tel: tel[0],
                        gender: sex,
                        headimg: ''
                    }
                }
            })
            two.forEach(item => {
                if (content.indexOf(item) > -1) {
                    contet = {
                        type: 2,
                        author: contact.name(),
                        wxid: contact.id,
                        msg: content.replace(/(<img.*?)>/gi, ''),
                        tel: tel[0],
                        gender: sex,
                        headimg: ''
                    }
                }
            })
            if (contet) {
                api1.insertInfo(contet)
            }
        } else {
            if (contact.name() != "Sking") { }
        }
    }
}
module.exports = dealMsg

项目使用

目录结构

  • server数据库配置和前端使用的接口
  • routes路由
  • public存放机器人初始化后一系列事件处理(分模块)
    • controller 原来web的wechaty的时候用到的,现在不用了
    • padchat_robot 基于padchaty协议
    • wechat_robot 基于web协议
    • wechat_padplus padplus协议
    • wxgzh 微信公众号的业务处理

如何使用

  1. 修改config配置 打开server/index.js 文件,将里面的配置改为自己的。 然后就可以运行了
npminstall
npm start

作者: sking Code: Github

【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率与经济效益,同时兼顾用户充电便利性。 适合人群:具备一定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于市智能交通系统规划,提升电网与交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟与拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理与迭代收敛过程,以便在实际项目中灵活应用与改进。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值