haxibiao/content

哈希表内容系统

dev-master 2021-12-26 09:07 UTC

This package is auto-updated.

Last update: 2024-03-05 10:08:25 UTC


README

haxibiao/content 是内容管理系统,主要包含了:

内容

  • Article - 文章 (长图文,小说,漫画)
  • Post - 动态 (短视频,短图文)
  • Issue - 问题(付费)
  • Solution - 解决方案

特性

  • Category - Categorizable(内容/用户的) - 分类
  • Tag - Taggable(内容/用户的) - 标签
  • Collection - Collectable(内容/用户的) - 合集 (短视频动态合集,小说连载,漫画连载)

主要依赖

  1. haxibiao/media

互相依赖

  1. haxibiao/cms
  2. haxibiao/sns

安装步骤

  1. composer.json改动如下: 在repositories中添加 vcs 类型远程仓库指向 http://code.haxibiao.cn/packages/haxibiao-content
  2. 执行composer require haxibiao/content
  3. 执行php artisan content:install 发布包中的资源文件
  4. 执行php artisan migrate 执行包中的迁移文件
  5. 完成

更新日志

Released on 2020-11-24

  • 添加位置功能-对象 Location
  • 需要执行composer require saikiran/geohash
  • 在手动发布视频时,前端需要传入 Location 包含位置信息和经纬度信息

1.3 Released on 2020-09-26

  • 能创建合集,可以将动态归类到合集中
  • 能搜索合集,合集内能搜索动态 (#f3d21)
  • 合集添加集数 (#7358c8, #d86e3)
  • 合集&视频&标签能查看真实的播放量 (#58642, #36d27)
  • 能利用 H5 分享合集 (#51186, #286b5)
  • 采集抖音视频能分发到系统马甲号 (#f0a15b0, #c6ae3)
  • 能根据抖音合集信息生成合集 (#3424a, #7988a)
  • 移除冗余的任务奖励逻辑 (#3e78f, #c9a0bf)

1.2

Released on 2020-09-11

1.1

Released on 2020-09-01

  • 加入付费问答与抖音视频本地上传
  • 增加静态模型绑定,解决子类无法触发父类事件以及 Model 的扩展性问题
  • 修复 Video 中的 Width/Height 等属性为 null 的情况
  • 修复部分 GQL 语法错误,以及函数命名不规范的问题
  • package 中模型加入$guarded 属性,兼容填充数据时字段不一致问题
  • Post 中加上了 PostOldPatch Trait 解决工厂 Article Post 的兼容问题,并修复了事件通知
  • 为方便工厂系项目集成,加入数据修复脚本 RefactorCategorizablePostReFactoringCommand完成数据修复
  • 剔除冗余的失效路由代码,完成 API 与 GQL 的测试用例补充

如何完成更新?

远程仓库的 composer package 发生更新时如何进行更新操作呢?

  1. 执行composer update haxibiao/content

使用方法

假设有Article模型:

<?php

 namespace App;

 use Illuminate\Database\Eloquent\Model;
 use \Haxibiao\Content\Traits\Categorizable;

 class Article extends Model
 {
 	use Categorizable;

 }

给 Article 关联新的分类:

<?php

namespace App;
$article = Article::find(1);

$article->addCategories([1, 2, 3, 4, 5]);

return $article;

此时,Article模型已经关联了 Category 为1, 2, 3, 45 如果需要移除CategoryArticle之间的关系:

<?php

namespace App;
$article = Article::find(1);

$article->removeCategories([3, 5]);

return $article;

此时 Article 模型只关联了 category id 为1,24的记录

如果需要重新 syncCategoryArticle的关系:

<?php

namespace App;
$article = Article::find(1);

$article->updateCategories([1, 5]);

return $article;

Article 模型当前只关联了 category id 为15的记录.

GQL 接口说明

Api 接口说明

  1. 查看专题详情
  2. 查看专题下视频
  3. 专题图标上传
  4. 专题更换图标
  5. 专题更新信息

查看专题详情

请求方法

GET

接口地址

api/category/{id}

查看专题下视频

请求方法

Any

接口地址

api/category/{category_id}/videos

专题图标上传

请求方法

POST

接口地址

api/category/new-logo

params must desc
api_token yes
logo yes 图片文件

专题更换图标

请求方法

POST

接口地址

api/category/{id}/edit-logo

params must desc
api_token yes
logo yes 图片文件

专题更新信息

请求方法

POST

接口地址

api/category/{id}

params must desc
api_token yes
name no
... no

待补充...