您现在的位置是:首页 > 编程 > 

微擎框架模块开发

2025-07-26 16:18:45
微擎框架模块开发 之前的文章可以进入专栏进行查看和学习,后面的文章就不再一一的去粘贴上一篇文章链接了,新的小伙伴直接去专栏就行,如果感兴趣的可以尝试订阅一下专栏,当然也欢迎大神加入专栏。一,关键字回复开发1.做这个首先考虑下,是在什么情况下去回复,比如文字类型,然后是否是包含还是一致等情况下去回复。2.我们先做一下后台,做一个关键字回复库。2.1 生成一个表,用于存储关键字回复内容,通过查看微擎

微擎框架模块开发

之前的文章可以进入专栏进行查看和学习,后面的文章就不再一一的去粘贴上一篇文章链接了,新的小伙伴直接去专栏就行,如果感兴趣的可以尝试订阅一下专栏,当然也欢迎大神加入专栏。

一,关键字回复开发

1.做这个首先考虑下,是在什么情况下去回复,比如文字类型,然后是否是包含还是一致等情况下去回复。

2.我们先做一下后台,做一个关键字回复库。

2.1 生成一个表,用于存储关键字回复内容,通过查看微擎的开发文档,了解一下微擎的数据库规范。

代码语言:txt复制
CREATE TABLE `ims_test_qywx_keyword` (
  `id` int(11) OT ULL AUTO_ICREMET,
  `weid` int(11) OT ULL,
  `keyword` varchar(255) DEFAULT ULL,
  `content` varchar(255) DEFAULT ULL,
  `status` int(11) DEFAULT '1',
  `time` varchar(255) DEFAULT ULL,
  PRIMARY KEY (`id`) USIG BTREE
) EGIE=InnoDB AUTO_ICREMET=672 DEFAULT CHARSET=utf8;

2.2 将上方的sql放到数据库进行执行下,就可以创建一个存储关键字的回复表了。

2. 修改一下manifest.xml文件,新建一个后台菜单,然后去应用里升级1.0.

然后将

2.4 然后在site.php新建一个后台的方法,用来显示和创建关键字回复内容。

代码语言:txt复制
    public function doWebKeyword() {
        global $_W, $_GPC;
        $weid = $_W['uniacid'];
        $operation = !empty($_GPC['op']) ? $_GPC['op'] : 'display';
        if ($operation == 'display') {
            $pageindex = max(1, intval($_GPC['page']));
            $pagesize = 15;
            $list = pdo_getslice('test_qywx_keyword', array(), array($pageindex, $pagesize), $total, array(), 'id', 'id desc');
            $pager = pagination($total, $pageindex, $pagesize);
            } elseif ($operation == 'add') {
                if (checksubmit('submit')) {
                    $time = time();
                    $data = array('weid' => $_W['uniacid'], 'content' => $_GPC['content'], 'keyword' => $_GPC['keyword'], 'time' => $time,);
                    if (pdo_insert('test_qywx_keyword', $data)) {
                        message('添加成功!', $this->createWebUrl('keyword', array('op' => 'display')), 'success');
                    } else {
                        message('添加失败!', $this->createWebUrl('keyword', array('op' => 'display')), 'error');
                    }
                }
            }
        include $this->template('list');
    }

2.5 然后在add/test_qywx/template下创建一个list.html文件

代码语言:txt复制
{template 'common/header'}
<ul class="nav nav-tabs">
    <li {if $operation=='display' } class="active" {/if}> <a
        href="{php echo $this->createWebUrl('keyword', array('op' => 'display'))}">关键字列表</a>
    </li>
    <li {if $operation=='add' } class="active" {/if}> <a
        href="{php echo $this->createWebUrl('keyword', array('op' => 'add'))}">添加关键字</a>
    </li>
</ul>

{if $operation == 'display'}
<div class="main">
    <form action="" method="post" class="form-horizontal form" id="form">
        <div class="panel panel-default">
            <div class="panel-heading">关键字列表</div>
            <div class="panel-body">
                <div class="table-respive panel-body">
                    <table class="table table-hover" style="min-width: 00px;">
                        <tbody>
                        {loop $list $key $item}
                        <tr>
                            <td class="text-left">
                                {$item['keyword']}
                            </td>
                            <td class="text-left">
                                {$item['content']}
                            </td>
<!--                            <td>-->
<!--                                <a href="{php echo $this->createWebUrl('keyword', array('op'=>'delete', 'id'=>$item['id']));}" class="btn btn-default btn-sm" onclick="return confirm('确认删除?')">删除</a>-->
<!--                            </td>-->
                        </tr>
                        {/loop}
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </form>
</div>
{elseif $operation == 'add'}
<div class="main">
    <form action="" method="post" class="form-horizontal form" enctype="multipart/form-data" id="form1">
        <div class="panel panel-default">
            <div class="panel-heading">添加关键字</div>
            <div class="panel-body">
                <div class="form-group">
                    <label class="col-sm-2 control-label">关键字</label>
                    <div class="col-sm-10">
                        <input type="text" name="keyword" class="form-control" value="">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-2 control-label">内容</label>
                    <div class="col-sm-10">
                        <input type="text" name="content" class="form-control" value="">
                    </div>
                </div>
            </div>
        </div>
        <div class="form-group col-sm-12">
            <input type="submit" name="submit" value="提交" class="btn btn-primary col-lg-1" />
            <input type="hidden" name="token" value="{$_W['token']}" />
        </div>
    </form>
</div>
{/if}
{template 'common/footer'}

2.6 以上的方法和html文件创建后,就可以进入到后台,进行关键字的创建了

2.7 再就是需要到Api方法创建一个关键字回复了,根据获取到的消息内容进行判断,如果是文本消息的话就查询数据库里是否有相应的关键字,如果有的话就回复,没有的话就回复默认内容。

代码语言:txt复制
    public function doMobileApi() {
        $config = [
            'corp_id' => '1',
            'agent_id' => 1,
            'secret'   => '1',
            'token' => 'VWOm',
            'aes_key' => 'eVDcVTkHfw6QyGYpxOLporfZkEsyOaV8nzhhLC4Y',
        ];
        $app = Factory::work($config);
        $app->server->push(function($message){
//          $message['MsgType'] 消息类型
            if($message['MsgType'] == 'text'){
                $content = pdo_get('test_qywx_keyword', array('keyword' => $message['Content']));
                if($content){
                    return $content['content'];
                }else{
                    return '暂时没有到相关内容,请联系管理员';
                }
            }else{
                return '暂时只支持文本消息';
            }
        });
        $respe = $app->server->serve();
        $respe->send();
    }

二,结语

1.不仅对企业的关键字回复,还有对后台的优化。

2.此文可以学习到微擎框架数据库的查询方法和写入方法,当然这些都是在微擎的文档里可以查询到的。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1203421.html

相关标签:无
上传时间: 2025-07-24 04:31:59
留言与评论(共有 12 条评论)
本站网友 马齿苋的副作用
24分钟前 发表
'time' => $time
本站网友 特征码
20分钟前 发表
然后是否是包含还是一致等情况下去回复
本站网友 樱桃木地板
17分钟前 发表
代码语言:txt复制CREATE TABLE `ims_test_qywx_keyword` ( `id` int(11) OT ULL AUTO_ICREMET
本站网友 锲而不舍朽木不折
3分钟前 发表
$this->createWebUrl('keyword'
本站网友 蝴蝶飞了
18分钟前 发表
$this->createWebUrl('keyword'
本站网友 wmiprvse
22分钟前 发表
用于存储关键字回复内容
本站网友 万泽太湖庄园
4分钟前 发表
`weid` int(11) OT ULL
本站网友 哈尔滨和平小区
27分钟前 发表
'secret' => '1'
本站网友 陈瑞伤口
12分钟前 发表
$this->createWebUrl('keyword'
本站网友 宝宝预防针
25分钟前 发表
请联系管理员'; } }else{ return '暂时只支持文本消息'; } }); $respe = $app->server->serve(); $respe->send(); }二
本站网友 飞鹰活络油
3分钟前 发表
当然也欢迎大神加入专栏