zoukankan      html  css  js  c++  java
  • 2015年创业中遇到的技术问题:91-100

    91.PHP日志记录方法.
      error_log("error info");

    92.weiphp图灵机器人bug,需要修改3个地方。

    问题描述:
    启用聊天插件后,发现在微信客户端上不管输入什么内容,回复的都是预设好的内容,而无法使用图灵机器人的功能。
     
    问题分析:
    经过查看源码,发现 AddonsChatModelWeixinAddonModel.class.php 文件有一处 Bug,
    在 function _tuling($keyword) 中,有一个判断图灵返回值的地方:
    [mw_shl_code=php,true]  if ($result ['code'] > 40000) {
    if ($result ['code'] < 40008 && ! empty ( $result ['text'] )) {
    $this->replyText ( '图灵机器人请你注意:' . $result ['text'] );
    } else {
    return false;
    }
    }


    另外,后面的代码中有两段相同的 case '200000' : 代码,可以删除一段。" 

    完成上面的修改,在微信上可以正常进行文字聊天了。但如果输入 新闻,微信还是会报错误。, v+ v: _9 q# O1 n
    经过几处测试,发现是在回复图文信息时,没有限制图文的总数量。微信允许一次回复的图文条数好象是10,而图灵返回的新闻是20条,被微信判错。
    因为生成图文的地方比较多,我在 ApplicationHomeModelWeixinModel.class.php 这个文件里面统一进行修补:

    public function replyNews($articles) {
    if ( count ( $articles ) > 10 ) {
    array_splice($articles, 10); // 丢掉10条以后的内容,以避免微信报错
    }
    $msg ['ArticleCount'] = count ( $articles );
    $msg ['Articles'] = $articles;
     
     
    $this->_replyData ( $msg, 'news' );
    }

    参考资料:http://bbs.weiphp.cn/thread-1976-1-1.html

    93.图灵机器人API有3种方式。
    a.接入API:
    Api 地址: http://www.tuling123.com/openapi/api
    请求方式: http get
    数据格式: json

    b.接入微信公众平台:
    http://www.tuling123.com/openapi/wechatapi?key= 306839dbd81e291718429191767c2070 

    c.QQ机器人:下载图灵机器人套件

    参考:http://tuling123.com/openapi/cloud/access_api.jsp

    在weiphp平台中,原来的例子用的是“接入API”这种方式,“/openapi/api”,
    后来因为设置自己的key,把地址改成了“/openapi/wechatapi”,因为觉得咱们是微信公众平台嘛,结果坑了好久。

    正解:虽说是微信公众平台,但是后台专门通过php接口调用图灵机器人API的,应该用第1种方式。

    94.chrome开发者工具 怎么放到下方。
    不知道怎么搞的,console飘到右边去了,切换模式之后,直接在新窗口展示了,很不习惯。
    解决办法:长按图上的按钮(Dock to main window), 如果不能成功, 多试几次。
    竟然还有这种极其隐含的技巧,尼玛。

    95.weiphp微调研bug。
    参考资料:[模块BUG] 微调研等表单 不显示用户填写的姓名和手机号
    6楼和16楼
    /* $member = get_memberinfo ( $vo ['uid'] );
                if (empty ( $member )) {
                    $member = get_followinfo ( $vo ['uid']  );
                }
                $vo ['truename'] = $member ['truename'];
                $vo ['mobile'] = $member ['mobile']; */
               // $member = get_memberinfo ( $vo ['uid'] );
                //if (empty ( $member )) {
                    $member = get_followinfo ( $vo ['uid']  );
               // }

    AddonsSurveyControllerAnswerController.class.php
    第1处:$member = get_followinfo ( $vo ['uid']  );
    使用这种方式获得$member。
    第2处: $vo ['truename'] = $member ['nickname'];

    96.鼠标频繁的插拔,容易出现问题了。
    Windows系统注销或重启,很可能就好了,遇到好几次了。

    97.微信菜单没有刷新。
    a.取消关注,再次关注。
    b.等待,有的时候,菜单怎么弄,也没有及时刷新。只能耐心等待了。
    通过微信调试工具,去获得微信菜单,才发现菜单已经修改成功了。
    但是,通过微信公众号关注获得的菜单,却不是最新的。
    郁闷。

    98.Apache复制目录有问题。
    import org.apache.commons.io.FileUtils;
    Apache的copyDirectoryToDirectory(src,to);
    "C://js","C://js2/",把js这个目录复制到js2下面,变成了C://js2/js.

    import jodd.io.FileUtil;
    Jodd的方法以及aspectj的复制文件的方法,就是需要的。
    把js目录下的所有文件,复制一份到js2下。
    而不是在js2下有个目录叫js。

    99.md5密码破解。
    从网上找到一个php的系统,安装之后,密码竟然不对,不是安装过程中设置的密码。
    根据数据库表中的密码2cb7eba0f22a74e42ff016dfb55cf5a0,去网上破解,发现密码是like1989。
    网上开源的代码,说不定就是别人修改过的,有没有后门还真不一定哦。

    100.wamp原来内置了xdebug。
    运行一个php程序,发现ajax请求里竟然返回了多余的xdebug信息。
    无意中,发现waml内置了xdebug,还是很不错的。
    只不过,ajax请求这个地方不应该输出错误信息。

    这个地方是错误是这样的,mysql_connect函数早php5.5中已经不建议使用了,xdebug一直有输出错误信息。
    改用mysql_li的函数就可以了。

  • 相关阅读:
    PHP设计模式——观察者模式
    TRIZ系列-创新原理-34-抛弃和再生部件原理
    玩转Android Camera开发(三):国内首发---使用GLSurfaceView预览Camera 基础拍照demo
    高速排序算法C++实现
    crm操作报价单实体
    CSS3 网格布局(grid-layout)基础知识
    shadowOffset 具体解释
    [软件人生]关于此次抄袭事件的一个对话
    SpringMVC接收复杂集合对象(参数)代码示例
    Spring MVC同时接收一个对象与List集合对象
  • 原文地址:https://www.cnblogs.com/qitian1/p/6462777.html
Copyright © 2011-2022 走看看