1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <?php
- namespace App\Distributor\Controllers;
- use App\Distributor\Repositories\DistProduct;
- use App\Distributor\Repositories\SitePages;
- use App\Distributor\Repositories\SitePagesTag;
- use Illuminate\Http\Request;
- use Illuminate\Routing\Controller;
- class ApiController extends Controller
- {
- /**
- * 产品下接API,默认返回50个最新的产品
- */
- public function products(Request $request)
- {
- $q = $request->get('q');
- if ($q != null) {
- // 模糊搜索
- $obj = new DistProduct();
- return $obj->model()->where('title', 'like', "%$q%")->paginate(null, ['id', 'title as text']);
- } else {
- // 获取最新的50个
- $selectOptionsNew = DistProduct::selectOptionsNew();
- return $this->changeOptions($selectOptionsNew);
- }
- }
- public function pages(Request $request)
- {
- $q = $request->get('q');
- if ($q != null) {
- // 模糊搜索
- $obj = new SitePages();
- return $obj->model()->where('title', 'like', "%$q%")->paginate(null, ['id', 'title as text']);
- } else {
- // 获取最新的50个
- $selectOptionsNew = SitePages::selectOptionsNew();
- return $this->changeOptions($selectOptionsNew);
- }
- }
- public function tag(Request $request)
- {
- $q = $request->get('q');
- if ($q != null) {
- // 模糊搜索
- $obj = new SitePagesTag();
- return $obj->model()->where('name', 'like', "%$q%")->paginate(null, ['id', 'name as text']);
- } else {
- // 获取最新的50个
- $selectOptionsNew = SitePagesTag::selectOptionsNew();
- return $this->changeOptions($selectOptionsNew);
- }
- }
- public function generateSlug(Request $request)
- {
- $model = $request->get('model');
- $title = $request->get('title');
- $result = null;
- switch ($model) {
- case 'pages':
- $obj = new SitePages();
- $result = $obj->generateSlug($title);
- break;
- }
- return ['slug' => $result];
- }
- /*
- * 把数据转换成select需要的格式
- */
- private function changeOptions($data) {
- // 初始化结果数组
- $result = [];
- // 遍历原始数据并转换格式
- foreach ($data as $id => $text) {
- $result[] = [
- 'id' => (int)$id, // 将字符串转换为整数
- 'text' => $text
- ];
- }
- return $result;
- }
- }
|