ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
要了解sophp的框架设计,需要从三个方面进行理解:一是代码的目录结构;二是sophp执行的流程;三是微信交互的流程。 目录结构 由于基于oneTink,因此代码目录结构也与其一致: ├─**index.php** **sophp入口文件** ├─**Addons** ** 微信插件目录(包括原有插件)** ├─**sophp** ** 应用模块目录(可看应用模块目录详解)** ├─**Public** **应用资源文件目录 ** └─**Uploads** **上传根目录** ├─Download 文件上传目录 ├─Picture 图片上传目录 └─Editor 编辑器图片上传目录 sophp执行的流程 微信交互 1、用户与微信进行交互,交互的事件包括:回复公众号,扫描与公众号有关的二微码,关注(取消关注)公众号,在公众号里点击自定义菜单等 2、微信把用户的交互事件及相关参数传递给sophp的微信接口(接口地址由sophp提供并在公众号的微信管理后台里设置) 3、sophp接收微信的请求,并把请求的xml转成数组形式提供后续功能使用,这部分处理代码 sophp/Home/Controller/WeixinController.class.php,该文件是负责与微信交互的唯一接口。 4、sophp判断请求的数据类型(如关注公众号还是回复公众号)进行相应的处理 5、如请求的数据类型是回复公众号,sophp通过查询关键词表找出相应的插件名及具体的业务数据ID 6、通过插件名加载相应的插件,并把微信请求的数据和上一步通过关键词查出来的数据一并传递给到插件里。 7、由插件根据上面的请求数据处理具体的业务并组装返回数据 8、sophp根据返回的数据再次封装成微信需要的格式并返回到微信里 9、微信根据返回的数据排版好显示给用户,如果返回的数据是带链接可点击的,进入下一步,否则到此为止 10、用户点击内容进入插件提供的地址对应的微网站页面(即3G页面) 11、用户可在微网站页面继续完成相应的业务操作,如投票,考试等,直到操作完成为止