corvofeng / go-flarum

A golang version flarum
https://flarum.corvo.fun
MIT License
5 stars 0 forks source link

flarum 原有的插件支持 #8

Open corvofeng opened 4 years ago

corvofeng commented 4 years ago

感觉目前只能兼容css和js, php无法支持, 只能一个个插件重写, 感觉任务量很重,

corvofeng commented 4 years ago

Golang 后端的插件需要考虑数据库内容的更新, 同时需要增加表中的字段, 以及在合适的时候调用装配函数

数据库中读取数据:

Golang开发实践:把数据库数据保存到map[string]interface{}

corvofeng commented 4 years ago

需要设计一些钩子函数, 事件触发逻辑

golang map json struct之间的互相转换 golang中使用函数指针

如何处理与数据库交互的插件

  1. 每种扩展需要指定绑定资源时的结构体

字典 { 资源类型1: newExtObj1 资源类型2: newExtObj2 }

  1. 绑定好资源后, 在数据库中取出数据时, 会针对每种资源调用扩展具有的set函数, 将数据进行装配

  2. 在返回时, 会将扩展资源对应的数据进行返回, 再由前端js进行数据操作

corvofeng commented 4 years ago

增加了tags, mentions插件