a1tem / knowledge-base
知识库管理系统
Requires
- php: >=7.2
- illuminate/support: ~5|~6|~7
- laravel/passport: ^9.0
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3|~4
- phpunit/phpunit: ^8.0
- sempro/phpunit-pretty-print: ^1.0
- dev-master
- dev-dependabot/composer/symfony/http-kernel-4.4.50
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
- dev-dependabot/composer/guzzlehttp/psr7-1.8.5
- dev-dependabot/composer/league/flysystem-1.1.4
- dev-dependabot/composer/laravel/framework-6.18.43
- dev-dependabot/composer/phpseclib/phpseclib-2.0.31
- dev-dependabot/npm_and_yarn/axios-0.21.1
This package is auto-updated.
Last update: 2024-09-30 01:17:36 UTC
README
知识库管理系统。
这是一个Laravel包,允许您将知识库管理系统安装到您的网站中
主要功能
- 分类
- 分类可以有额外的字段(文本、文本区域、数字、选择、日期、复选框)
- 当用户创建文章时,他也应该填写属于该分类的所有额外字段
- 通过文章标题和内容以及额外字段进行搜索
- 额外字段的验证
- 分页
- 完全可自定义,因为您有权访问所有Vue组件
演示
文章
分类
安装
通过Composer
$ composer require a1tem/knowledge-base $ php artisan migrate
$ npm add babel-plugin-syntax-dynamic-import babel-plugin-syntax-jsx babel-plugin-transform-vue-jsx eslint eslint-loader eslint-plugin-vue laravel-mix-eslint vue-template-compiler --save-dev $ npm add element-ui axios vue2-editor $ npm install
Passport安装
我们使用Passport来执行API调用,如果您已经使用Passport,请跳过此部分。
完整的安装过程可以在Passport文档中找到
之后,只需将其添加到 Http/Middleware/EncryptCookies.php 文件中
protected static $serialize = true;
并将 'knowledge-base/' 添加到 Http/Middleware/VerifyCsrfToken.php 文件的 $except 数组中
protected $except = [ 'knowledge-base/*' ];
将其添加到您的主blade文件或 views/layout/app.blade.php 中(如果尚未包含)。
<meta name="csrf-token" content="{{ csrf_token() }}">
用法
首先,我们应该发布所有包资源,为此请在控制台中运行此命令
$ artisan vendor:publish --provider="A1tem\KnowledgeBase\KnowledgeBaseServiceProvider"
发布的组件将放置在您的 resources/js 目录中。组件发布后,您应该在 resources/js/app.js 文件中注册它们,在顶部添加以下内容
require('./knowledge-base/knowledge-base');
之后运行
$ npm run dev
在blade文件中使用它
默认情况下,模块将在 NON_SPA 模式下工作,这意味着您可以直接通过输入URL地址来使用它
- 查看所有分类
/knowledge-base/view/categories
- 查看所有文章
/knowledge-base/view/articles
您可以在 resources/views/vendor/a1tem/knowledge-base 文件夹中找到所有发布的视图文件,并按需修改样式。
您还可以修改VUE文件,要找到它们,请导航到 resources/js/knowledge-base/views 文件夹。
在修改vue文件后,别忘了运行 npm run dev 重建资源。
在SPA应用中使用它
- 如果您想在SPA模式下使用此包,您必须更改 knowledge-base/config.js 文件
MODE: MODE_SPA
- 然后您必须在路由文件中包含它
import { KNOWLEDGE_BASE_ROUTER } from './knowledge-base/knowledge-base-router'; export default new VueRouter({ mode: 'history', linkActiveClass: 'active', routes: [ { path: '/', component: Vue.component('Layout', require('./Layout.vue').default), children: [ // Your routes here ].concat(KNOWLEDGE_BASE_ROUTER), }, ], });
您可以通过查看 'knowledge-base/knowledge-base-router.js' 文件并按最适合您应用程序的方式更改它来检查。
配置
您可以配置包的不同方面,请检查 config/knowledge-base.php 文件。
测试
$ composer phpunit or $ vendor/bin/phpunit
安全性
如果您发现任何安全相关的问题,请通过电子邮件 artempetrusenko@gmail.com 联系我们,而不是使用问题跟踪器。
致谢
使用
Laravel - 专为Web工匠设计的PHP框架
VueJS - 一个渐进式JavaScript框架
Element - 一个基于Vue 2.0的开发者、设计师和产品经理组件库
Vue2Editor - 使用Vue.js和Quill.js构建的Vue.js富文本编辑器
许可协议
知识库系统是开源软件,采用MIT许可协议。