1. 程式人生 > >實習記錄_2

實習記錄_2

回調 gin log 裏的 失敗 ram use direct back

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