zoukankan      html  css  js  c++  java
  • 实习记录_2

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

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

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

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

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

    <?php
    namespace appPushcontroller;
    use thinkDb;
    use thinkController;
    
    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()]);

  • 相关阅读:
    395. Coins in a Line II
    394. Coins in a Line
    221. Maximal Square
    64. Minimum Path Sum
    [LeetCode] 129. Sum Root to Leaf Numbers Java
    [LeetCode] 117. Populating Next Right Pointers in Each Node II Java
    [LeetCode] 116. Populating Next Right Pointers in Each Node Java
    [LeetCode] 114. Flatten Binary Tree to Linked List Java
    [LeetCode] 113. Path Sum II Java
    [LeetCode] 112. Path Sum Java
  • 原文地址:https://www.cnblogs.com/zhengweizhao/p/7290684.html
Copyright © 2011-2022 走看看