实习记录_2

Posted 阿鸠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实习记录_2相关的知识,希望对你有一定的参考价值。

1.这段时间负责项目的积分模块,自己用bootstrap写了前端的页面,结果效果和同事的风格不一致,被嫌弃了(其实我挺不喜欢突然改动的)

解决:查看同事的源代码,复制,粘贴,解决风格不统一的问题

2.在使用接口自动推送功能的时候,先配置接口的回调地址,然后接口会自动去调用指定的函数。

    如果自身的函数有问题,接口只会提示接口传送失败,根本就不会详细地报错。这里没办法用打印的方式来测试方法 执行到那个位置

解决:用file_put_contents()函数, 我先前 从未用这个函数来调试代码(哈哈哈谢谢我的同事)

 

<?php
namespace app\\Push\\controller;
use think\\Db;
use think\\Controller;

class Push   extends Controller
{
    public function youzan_accept()
    {
        /**
         * 
         */

        $AppID = "***************";//商家后台AppID,如果是三方服务商,这里是client_id
        $AppSecret = "***************";//商家后台AppSecret,如果是三方服务商,这里是client_secret
        $json = file_get_contents(\'php://input\'); //接收推送数据
        $data = json_decode($json, true);

        file_put_contents(\'data/data.txt\',$data);


        /**
         * 判断消息是否合法
         */
        $msg = $data[\'msg\'];
        $signString = $AppID."".$msg."".$AppSecret;
        $sign = md5($signString);
        if($sign != $data[\'sign\']){

            exit();
        }

        /**
         * msg是经过unicode(UTF-8)编码的消息对象,所以要进行解码
         */
        $msg = json_decode(urldecode($msg),true);
          $msg_json=json_encode($msg);
        //file_put_contents(\'data/msg.txt\',$msg_json);



        if($data[\'type\'] == "POINTS"){
            //处理交易信息,代码如果执行到这里的时候就会创建msg.txt文件
            file_put_contents(\'data/msg.txt\',$msg_json);
           $points = json_decode($msg_json, true);
            //将推送过来的数据去更新我的数据库表
                Db::name(\'fans_info\')->where("user_id", $points[\'fans_id\'])->update([\'points\' => $points[\'total\']]);



        }

        if($data[\'type\'] == "ITEM"){
            //处理商品信息
        }



        /**
         * 只要收到推送消息就立即返回成功消息
         */
        if ($data){
            $result = array("code"=>0,"msg"=>"success") ;
            return json_encode($result);
        }
    }

}

 

 

 

 

 

3.关于执行操作的时候,需要传递当条记录的表单的id,由于我表格的td是循环输出的,所以直接我不可能在input中设置id 在将值传递获取

解决:用url的方式成功将表中想要的数据传送

<li><a onclick="iframe_select(\'/push/Getfans/points_changelog?uid={$user.user_id}\')" >查看积分的变更记录</a></li>
                <li><a onclick="iframe_select(\'/push/Getfans/points_alter_form.html?uid={$user.user_id}&points={$user.points}\')" >编辑粉丝的积分</a></li>
                <li><a  class="redirect" post-msg="永久删除数据将无法恢复,您确定吗?"redirect-url="/push/Getfans/fans_delete.html?uid={$user.user_id}" >删除粉丝</a></li>

 

4.在搜索框中实现模糊查询

方案:跟上面的url传递的方式一样,点击查找的时候,获取框中的值作为参数,传递到后台,然后将数据进行数据库的模糊查询(*我觉得有必要去实践一下mysql的全文索引)

  //根据用户的昵称查询用户粉丝
        $nick =$_GET[\'nickname\'];
     //paginate的第三个参数是点击页数的时候会自动会获取前端页面的参数,不然的话会报未定义索引nickname,
        //如果方法没有参数传递的时候,则paginate不需要写第三个参数
        $result = Db::name(\'fans_info\')->where(\'nick\', \'like\', \'%\' . $nick . \'%\')->paginate(10, false, [\'query\' => request()->get()]);

 

 

以上是关于实习记录_2的主要内容,如果未能解决你的问题,请参考以下文章

discuz X3.1 源代码阅读,记录代码片段

大数据技术暑期实习六___互联网营销精准决策(手机数据爬取)

VSCode 配置 用户自定义代码片段 自定义自动代码补充

CSP核心代码片段记录

实习记录

记录C#常用的代码片段