1、项目介绍
基于游戏(盛世芳华)和微信公众号(小屋写随笔)做了该项目(已线上运行一年半 )该 项目将游戏里的部分数据通过微信公众号展示了出来,玩家可以通过发送文字、语音、图片来获取游戏里的处理后数据以及攻略。截至20230315,玩家互动次数已超过160万次·。项目最初版本为传统mvc架构,本次改成了DDD领域驱动模型,springboot版本为2.4.0。
2、项目github地址
https://github.com/jhtz-6/weChatOfficialAccountProject
3、环境依赖
Java环境、maven、mysql、redis
4、目录结构
5、使用说明
5.1、线上体验
可直接前往公众号小屋写随笔体验。
5.1、本地体验
resources下面有sql脚本;在application.yml中配置好mysql和redis即可启动项目。部分功能会用到百度OCR、腾讯云短信和图灵机器人,需要在数据库中添加对应配置。
项目启动后可参考微信公众号官方文档接收普通消息的能力说明,本地请求url:localhost:8088/xwxsb/weChat/msg,请求参数实例:
<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>1348831860</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[this is a test]]></Content><MsgId>1234567890123456</MsgId><MsgDataId>xxxx</MsgDataId><Idx>xxxx</Idx></xml>
5.3、chatgpt体验
使用方法:在chatgpt后面输入你的内容即可。
5.4、代码业务结构:使用工厂模式和责任链模式对用户消息进行了处理
5.5 对简单关键字处理器进行了拆分:依赖于游戏内容的那一部分拆分到了复杂关键字处理器中
构造了系统页面(http://localhost:8088/xwxsb/ssfh/login), 管理员账号(带有类型信息)登录系统可以看到该类型账号的数据,进行维护后,可同步至数据库,然后用户使用与该管理员账号类型关联的微信公众号发消息时就可以得到维护后的内容。
系统可以很方便的添加管理员账号和微信公众号的绑定;管理员账号类型对应的处理器信息是存放在数据库中,可以动态地修改账号和微信公众号的功能权限。