1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        api.yike.io一刻社區(qū)后端 API 源碼

        聯(lián)合創(chuàng)作 · 2023-09-21 11:16

        Yike.io

        此項(xiàng)目為 https://yike.io 的后端 API,基于 Laravel 5 開發(fā)。

        ?? 前端源碼:https://github.com/overtrue/yike.io

        開源中國 Gitee 倉庫:

        ?? 此次開源只是應(yīng)大家的要求,所以請不要聯(lián)系我咨詢?nèi)魏问褂脝栴},遇到問題請自行解決,熟讀 Laravel 文檔。 如果你有興趣參與改進(jìn),請直接 PR 即可。

        ?? 快速上手視頻:053. 優(yōu)秀的開源社區(qū)——yike.io

        運(yùn)行環(huán)境要求

        開發(fā)環(huán)境部署/安裝

        本項(xiàng)目代碼使用 PHP 框架 Laravel 5 開發(fā),本地開發(fā)環(huán)境使用 Laravel Homestead

        下文將在假定讀者已經(jīng)安裝好了 Homestead 的情況下進(jìn)行說明。如果您還未安裝 Homestead,可以參照 Homestead 安裝與設(shè)置 進(jìn)行安裝配置。

        基礎(chǔ)安裝

        克隆源代碼

        克隆源代碼到本地:

        > git clone [email protected]:overtrue/api.yike.io.git
        

        配置本地的 Homestead 環(huán)境

        1). 運(yùn)行以下命令編輯 Homestead.yaml 文件:

        homestead edit

        2). 加入對應(yīng)修改,如下所示:

        folders:
            - map: ~/my-path/api.yike.io/ # 你本地的項(xiàng)目目錄地址
              to: /home/vagrant/api.yike.io
        
        sites:
            - map: api.yike.io.test
              to: /home/vagrant/api.yike.io/public
        
        databases:
            - api_yike_io
        

        3). 應(yīng)用修改

        修改完成后保存,然后執(zhí)行以下命令應(yīng)用配置信息修改:

        homestead provision

        隨后請運(yùn)行 homestead reload 進(jìn)行重啟。

        安裝擴(kuò)展包依賴

        composer install
        

        生成配置文件

        cp .env.example .env
        

        你可以根據(jù)情況修改 .env 文件里的內(nèi)容,如數(shù)據(jù)庫連接、緩存、郵件設(shè)置等:

        APP_URL=http://api.yike.io.test
        ...
        DB_HOST=localhost
        DB_DATABASE=api_yike_io
        DB_USERNAME=homestead
        DB_PASSWORD=secret
        

        生成數(shù)據(jù)表及生成測試數(shù)據(jù)

        在 Homestead 的網(wǎng)站根目錄下運(yùn)行以下命令

        $ php artisan migrate --seed

        初始的用戶角色權(quán)限已使用數(shù)據(jù)遷移生成。

        生成秘鑰

        $ php artisan key:generate

        Passport 初始化

        $ php artisan passport:install

        將生成的 password grant 對應(yīng)的 id 與 secret 記錄下來,用于配置 env 變量。

        PASSPORT_PASSWORD_CLIENT_ID=
        PASSPORT_PASSWORD_CLIENT_SECRET=
        

        如果你忘記了,就去找 oauth_clients 表中找吧。

        配置 hosts 文件

        echo "192.168.10.10   api.yike.io.test" | sudo tee -a /etc/hosts
        

        其它服務(wù)配置

        騰訊 007 防水墻

        騰訊防水墻 注冊賬號,創(chuàng)建驗(yàn)證碼服務(wù)(你可能需要創(chuàng)建兩個驗(yàn)證,一個用于發(fā)布文章,一個用于注冊賬號),獲取對應(yīng)的配置填寫到 .env 中:

        # 用于發(fā)布文章的驗(yàn)證碼
        CAPTCHA_ID_PUBLISH=
        CAPTCHA_SECRET_PUBLISH=
        
        # 用于用戶注冊用的驗(yàn)證碼
        CAPTCHA_ID_REGISTER=
        CAPTCHA_SECRET_REGISTER=
        帖子搜索服務(wù)

        帖子搜索基于 ElasticSearch 實(shí)現(xiàn),所以你需要在任何機(jī)器上部署一個 ES 服務(wù),然后將地址與索引名稱配置到:

        ELASTICSEARCH_INDEX=yike
        ELASTICSEARCH_HOST=http://127.0.0.1:9200
        敏感詞配置

        請自行尋找敏感詞庫,將敏感詞放置于 storage/SensitiveWords.txt 中,每行一個:

        敏感詞1
        敏感詞2
        ...

        鏈接入口

        管理員賬號請自己添加 UserSeeder 創(chuàng)建。

        至此, 安裝完成 ^_^。

        擴(kuò)展包使用情況

        擴(kuò)展包 一句話描述 本項(xiàng)目應(yīng)用場景
        overtrue/easy-sms 多網(wǎng)關(guān)短信發(fā)送組件 發(fā)送驗(yàn)證碼
        overtrue/laravel-emoji emoji 轉(zhuǎn)換組件 帖子與評論 emoji 解析
        overtrue/laravel-filesystem-qiniu 七牛 CDN SDK 帖子內(nèi)容圖片存儲
        overtrue/laravel-follow Laravel 用戶關(guān)系組件 用戶關(guān)注與帖子訂閱
        overtrue/laravel-lang Laravel 多語言 報(bào)錯信息本地化
        overtrue/laravel-mail-aliyun 阿里云郵件 SDK 發(fā)送通知郵件
        overtrue/laravel-socialite 社交登錄組件 用戶使用第三方登錄
        overtrue/laravel-uploader Laravel 上傳功能封裝 帖子內(nèi)容圖片上傳
        overtrue/laravel-query-logger Laravel SQL 監(jiān)聽工具 開發(fā)環(huán)境查看 SQL 記錄
        Intervention/image 圖片處理功能庫 用于圖片裁切
        guzzlehttp/guzzle HTTP 請求套件 我也記不得,反正就是要用
        predis/predis Redis 官方首推的 PHP 客戶端開發(fā)包 緩存驅(qū)動 Redis 基礎(chǔ)擴(kuò)展包
        mewebstudio/Purifier 用戶提交的 Html 白名單過濾 帖子內(nèi)容的 Html 安全過濾,防止 XSS 攻擊
        laravel/passport 用戶授權(quán) 基于 Personal Access Token 的前后端用戶認(rèn)證
        laravel/horizon 隊(duì)列監(jiān)控面板 監(jiān)聽隊(duì)列使用情況
        laravolt/avatar 生成用戶頭像 用戶頭像
        sentry/sentry-laravel Sentry 報(bào)錯監(jiān)控 監(jiān)控系統(tǒng)錯誤
        spatie/laravel-activitylog 用戶行為記錄 個人中心的用戶動態(tài)
        spatie/laravel-url-signer URL 加密 用戶激活鏈接
        tamayo/laravel-scout-elastic Laravel Scout ES 驅(qū)動 帖子搜索
        tucker-eric/eloquentfilter 模型字段過濾 接口字段過濾
        vinkla/hashids HashID 實(shí)現(xiàn) 暫時好像沒用到
        beyondcode/laravel-self-diagnosis Laravel 基礎(chǔ)環(huán)境檢查工具 檢查配置是否正確

        自定義 Artisan 命令

        命令行名字 說明 Cron 代碼調(diào)用
        es:init 初始化 ES 模板

        PHP 擴(kuò)展包開發(fā)

        想知道如何從零開始構(gòu)建 PHP 擴(kuò)展包?

        請關(guān)注我的實(shí)戰(zhàn)課程,我會在此課程中分享一些擴(kuò)展開發(fā)經(jīng)驗(yàn) —— 《PHP 擴(kuò)展包實(shí)戰(zhàn)教程 - 從入門到發(fā)布》

        License

        MIT

        瀏覽 19
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            四虎性爱 | 教室揉搓乳h文 | 肏屄电影网站 | 在线永久免费观看黄网站 | 狠狠色噜噜狠狠狠 | 丁香五月天天 | 最近中文字幕在线中文视频 | 强壮公次次弄得我高潮a日剧 | 91日韩一区二区三区 | av解说在线观看 欧美喷水视频 |