thinkphp5訂單介面的分析和編寫的過程(1)

2021-10-20 20:49:36 字數 3736 閱讀 5901

控制器:

class

order

extends

basecontroller

/** * 根據使用者id分頁獲取訂單列表(簡要資訊)

* @param int $page

* @param int $size

* @return array

*/public

function

getsummarybyuser

($page=1

,$size=15

)// $collection = collection($pagingorders->items());

// $data = $collection->hidden(['snap_items', 'snap_address'])

// ->toarray();

$data

=$pagingorders

->

hidden([

'snap_items'

,'snap_address'])

->

toarray()

;return

['current_page'

=>

$pagingorders

->

currentpage()

,'data'

=>

$data];

}//根據使用者獲取所有的訂單

public

function

getsummary

($page=1

,$size=15

)$data

=$pagingorders

->

hidden([

'snap_items'

,'snap_address'])

->

toarray()

;return

['current_page'

=>

$pagingorders

->

currentpage()

,'data'

=>

$data];

}//訂單詳情

public

function

getdetail

($id

)return

$orderdetail

->

hidden([

'prepay_id'])

;}//public

function

delivery

($id)}

}

orderplace驗證器:

class

orderplace

extends

basevalidateif(

!is_array

($values))

//將陣列轉換成字串

foreach

($values

as$value

)//對字串的資料進行處理(實時)

return

true;}

//獲取$value的值

public

function

checkproduct

($value)}

}

token:

public

static

function

getcurrenttokenvar

($key

)elseif(

array_key_exists

($key

,$vars))

else}}

/** * 當需要獲取全域性uid時,應當呼叫此方法

*而不應當自己解析uid**/

public

static

function

getcurrentuid()

return

$userid;}

else

}

service\order(判斷後返回狀態):

public

function

place

($uid

,$oproducts

)$ordersnap

=$this

->

snaporder()

;$status

= self:

:createorderbytrans

($ordersnap);

$status

['pass']=

true

;return

$status

;}

模型:

//訂單模型

protected

$hidden=[

'user_id'

,'delete_time'

,'update_time'];

//自動寫入時間戳

protected

$autowritetimestamp

=true

;//分頁查詢

public

static

function

getsummarybyuser

($uid

,$page=1

,$size=15

)//根據使用者id獲取所有的訂單

public

static

function

getsummarybypage

($page=1

,$size=15

)//讀取器,將字串轉換成物件

public

function

getsnapitemsattr

($value

)return

json_decode

($value);

}//讀取器 使用者訂單的位址

public

function

getsnapaddressattr

($value

)return

json_decode

($value);

}}

路由:

//訂單管理

route:

:post

('api/:version/order'

,'api/:version.order/placeorder');

//訂單詳情

route:

:get

('api/:version/order/:id'

,'api/:version.order/getdetail',[

],['id'

=>

'\d+'])

;//獲取使用者對應的訂單的數量

route:

:get

('api/:version/order/paginate'

,'api/:version.order/getsummary');

route:

:put

('api/:version/order/delivery'

,'api/:version.order/delivery'

);

ThinkPHP5開發API介面例項

介面功能說明 前端提交學生學號 sno 給api,api介面返回此學生的基本資訊 api介面端 use think controller class user public function index return this fetch 客戶端提交學生學號 sno 給api,api返回此學生的基本...

Thinkphp5的ajax介面實現

前一篇講到thinkphp5從資料庫獲取資料之後賦給檢視view,前一篇從資料渲染方式來說是服務端資料渲染,這一章則是瀏覽器端資料渲染。按照知識總結依據來劃分,這是兩種不同的技術場景。下面介紹具體的ajax介面實現 12 en 348 9101111111 test 1213 1430 3132 對...

thinkphp5 介面例項

這是我自己構思的案例,寫的不好請多多指教。後台介面的 public function index die dump res die return json data data,code 1,message 操作完成 ajax可以,但是jq不行 return data tojson 對應json.pa...