企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Hello Wechat 项目实战 1、复制demo模块,更改项目目录名称 > 注意:模块命名规则为 模块类型_模块名称,模块类型为(we,wemini),如此项目是提供给微信公众号的,则项目命名为 we_hellowechat 2、修改模块下各文件命名空间,需要修改的文件为 ``` /we_hellowechat/controller/WechatIndex.php 改为:namespace addons\we_hellowechat\controller ``` ``` /we_hellowechat/controller/WechatAdmin.php 改为:namespace addons\we_hellowechat\controller ``` ``` /we_hellowechat/controller/WechatMiniIndex.php 改为:namespace addons\we_hellowechat\controller ``` ``` /we_hellowechat/controller/WechatMiniAdmin.php 改为:namespace addons\we_hellowechat\controller ``` ``` /we_hellowechat/controller/WechatMiniAdmin.php 改为:namespace addons\we_hellowechat\controller ``` ``` /we_hellowechat/Processor.php 改为:namespace addons\we_hellowechat ``` 3、于 WechatIndex.php 中开发前台业务~~~ ``` namespace addons\we_hellowechat\controller; use addon\WechatIndexBasic; class WechatIndex extends WechatIndexBasic { public function entry() { //全局变量$_WE 可在 业务控制器介绍->前台控制器中查看详细数据结构 global $_WE; //TODO...业务逻辑 //渲染前台模板 默认前台模板为default return $this->fetch($this->addon_template.'/wechat_index/entry',[ ]); } //某个页面 public function helloWechat() { $name = '戴晨'; //渲染前台模板 默认前台模板为default,后端变量赋值于前端页面需要在fetch第二个参数中数组传递 return $this->fetch($this->addon_template.'/wechat_index/hello_wechat',[ 'name'=>$name ]); } //某个api接口 无需oauth授权 请与config目录下config.php配置文件中做如下配置,屏蔽某路由进行oauth授权 /* * return [ 'white_oauth'=>[ 'we_hellowechat-WechatIndex-apiGetUserInfo' ], ]; */ public function apiGetWechatUserInfo() { // 对应原生 $_GET $id = $this->request->get('id'); // 对应原生 $_POST $id = $this->request->post('id'); // 对应原生 array_merage($_GET,$_POST,$_ ...建议用此方法) $id = $this->request->param('id'); } } ``` 4、于 /we_hellowechat/view/defalut/wechat_index/hello_wechat.html 中开发前台业务。 资源文件位置:/public/static/addons/we_hellowechat/default 资源文件类型文件夹:/css /images /js .... 资源文件引入: ``` 引入模块css <link rel="stylesheet" href="{$module_static_path}/css/main.css"> ``` ``` 引入模块js <script src="{$module_static_path}/js/main.js"></script> ``` ``` 引入第三方库 <script src="{$module_static_path}/js/main.js"></script> ``` demo如下 ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--引入模块css--> <link rel="stylesheet" href="{$sys['module_static_path']}/main.css"> <!--引入第三方类css--> <link rel="stylesheet" href="{$sys['static_extend_path']}/main.css"> <!--引入公共css--> <link rel="stylesheet" href="{$sys['static_common_path']}/main.css"> </head> <body> <h1>{$name} - hello Wechat</h1> <!--引入公共js类库--> <script src="{$sys['static_common_path']}/jquery.min.js"></script> <!--引入第三方类库--> <script src="{$sys['static_extend_path']/layui/layui.js"></script> <!--引入模块js--> <script src="{$sys['module_static_path']}/main.js"></script> </body> </html> ``` 5、模块初始化,找吴飞宁进行后台初始化,并对测试公众号进行模块授权,后面访问需携带acid=xx的参数 acid为公众号id 6、上传至github,生产环境gitpull 6、测试 路由规则 :{模块名(同模块目录)-WechatIndex(控制器)-entry(方法)} http://host/addons/execute/we_hellowechat-WechatIndex-entry