【雙12首發】終於等來了!PhalApi-iView-admin 開源後臺框架

PhalApi-iView-admin 開源後臺框架

碼雲地址:https://gitee.com/dogstar/phalapi-iview-adminphp

Github地址:https://github.com/phalapi/phalapi-iview-adminhtml

 

主要採用的技術:前端

本項目的最大特點:符合先後端分離的主流設計思想,結合了專一於接口領域的PhalApi框架,以及很火的iView。目前,使用的都是最新版本的技術,包括:PhalApi 2.4.二、iView-admin 2.3.0、PHP 七、Vue等。ios

歡迎你們一塊兒參與開源維護!nginx

 

在線訪問

在線demo請訪問:http://iview-admin.phalapi.net/git

 

前端部分(iView界面)

 

安裝

// install dependencies
npm install

 

運行

 

開發環境

本地開發調試時使用,github

npm run dev

 

生產環境

打包發佈時使用,npm

npm run build

更多幫助和說明,請前往iView-adminjson

 

後端部分(PHP接口)

 

安裝

配置站點,若是使用的是Nginx,請參考如下配置。爲了整合PhalApi與iView-admin,關鍵有兩點:axios

  • 第1點、網站根目錄須要定位到 dist 目錄
  • 第2點、須要爲接口配置重定向,以便前端能經過相對路徑訪問後端接口
server {
        listen 80;
        server_name iview-admin.phalapi.net;

        index index.html;
        root /path/to/phalapi-iview-admin/dist;

        # 接口重定向
        rewrite ^/api/(.*) /api.php?s=$1 last;

        location ~ \.php$ {
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        }

        access_log /var/log/nginx/iview-admin.phalapi.net.access;
        error_log /var/log/nginx/iview-admin.phalapi.net.error;
}

 

兩個重要的訪問連接

本地部署好後,就能開始訪問了。假設當前配置的站點域名是:iview-admin.phalapi.net,兩個重要的訪問連接分別是:

 

接口模擬、接口請求、接口實現與接口文檔

 

接口模擬

特別說明一下,針對接口的訪問路徑,之因此使用重定向,是了方便在前端本地開發調試時能很好模擬數據。例如:

在./src/mock/index.js文件中,設定須要模擬的接口:

Mock.mock(/\/api\/Message.Count/, messageCount)

在./src/mock/user.js文件中,就能返回模擬的數據:

export const messageCount = () => {
  return 3
}

 

接口請求

對於在前端,須要請求接口時,能夠參考./src/api/user.js 文件中的:

export const getUnreadCount = () => {
  return axios.request({
    url: 'api/Message.Count',
    method: 'get'
  })
}

若是請求的是真實的接口,例如請求的接口連接是:http://iview-admin.phalapi.net/api/Message.Count,那麼返回的接口結果是:

{"ret":200,"data":3,"msg":""}

此時,在 ./src/libs/axios.js 底層已經兼容了開發與生產這兩種模式。

 

接口實現

Message.Count對應的接口PHP源代碼,則位於:./phalapi/src/app/Api/Message.php,相關代碼片斷以下:

<?php
namespace App\Api;
use PhalApi\Api;

/**
 * 消息接口
 */
class Message extends Api {
    /**
     * 新消息數量
     */
    public function count() {
        return 3;
    }
}

 

接口文檔

自動生成的在線接口文檔,訪問連接是:http://iview-admin.phalapi.net/docs.php?service=App.Message.Count&detail=1&type=fold。 效果以下:

更多幫助和說明,請前往PhalApi

 

如何升級iView-admin?

可直接經過更新npm依賴包進行升級,即:

$ npm update

若是有其餘更新,則根據須要相應覆蓋源代碼便可。

 

如何升級PhalApi?

若是PhalApi框架有更新,可直接進入phalapi目錄進行升級。即:

$ cd phalapi
$ composer update

更新前,須要先確保./phalapi/composer.json配置中的PhalApi版本號是最新的。若是有其餘更新,則根據須要相應覆蓋源代碼便可。

 

許可

本項目以iView-admin的開源協議爲主,即MIT協議。

相關文章
相關標籤/搜索