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()]);