ego008 avatar

youBBS for SAE only (v1.04 & RC)

🕑 by ego008

这个版本是依赖SAE 平台的多种服务,是youBBS 官方网站的三月三克隆版,集一些改进意见和个人想法,可能不符合一部分人的需要,先看看他有哪些与其它版本不同的功能。

依赖SAE 的资源:MySQL、Memcache、Task Queue、中文分词服务,这些是必需开通的; 第三方存储:仅支持又拍云,如果你不开通附件上传,则只保存用户上传的头像,当然也可修改相关代码,使用SAE Storage 存放头像; 微博同步; 还有利用SAE 的Task Queue、中文分词服务自动生成tag,并根据tag获取相关帖子; 有一个水区分类,相当于垃圾桶,管理员可以在编辑帖子时把它移到水区,不影响其它用户和搜索引擎。

附几张图: 创建新应用

需要开通的服务

你可以使用SAE 更多的服务,实现自己想要的功能,如mail

数据不多、流量不大的网站Memcache 用5M足够了,若还想省可以用1M。 Task Queue 照图开通

开源地址 https://github.com/ego008/youbbs-for-sae 欢迎Fork

💘 相关文章

评论

共38条关于"youBBS for SAE only (v1.04 & RC)"的评论

ego008 avatar
#1 ego008 回复

如果你正在SAE上使用1.03,可尝试自行升级,注意数据备份。 升级说明: 1)对照yunbbs_mysql.sql 文件,看添加了哪些,在SAE 的mysql 管理面板下添加字段,这个较容易实现; 2)对水区(垃圾桶)的处理,发布的新版本默认水区id 是1,其实是为方便,你可以像官方站一样,指定另外一个分类id 为水区,但需要修改源码, 如:把sql 的 WHERE id > '1' 改为 WHERE id != 'your_spam_id' 等。

3)看看水区的起源 https://www.youbbs.org/t/796 后来又添加了与水区相关的功能:不能在水区发帖,水区的帖不能发新评论。

<等会还是写一下升级向导> 写好了,请移步 https://www.youbbs.org/t/966

沉默小子g avatar
#2 沉默小子g 回复

一直对SAE的Storage收费不了解 官方文档写到 Storage 磁盘消耗5 云豆/GB·天 流出流量150 云豆/GB 也就是说只要开通Storage服务,每天都会消耗5云豆,对不对?

沉默小子g avatar
#6 沉默小子g 回复

@先知先觉 也就是说加入Storage中存放了0.5G的文件,那么每天需要花费0.5云豆。如果是这样我就敢放心用了,没实名开发者信息,云豆不敢乱用呀`(∩_∩)′

沉默小子g avatar
#9 沉默小子g 回复

电脑更换UA后访问一个页面,很容易看到footer悬浮在半空

ego008 avatar
#12 ego008 回复

@沉默小子g 那个是用第三方帐户登录时出现的一个醒目提示,手机版是安排在那个位置。

沉默小子g avatar
#13 沉默小子g 回复

@ego008 不是,你理解错了,你仔细看我发的图,在youbbs,桌面模式下面,有好大一片空白呢

jat001 avatar
#15 jat001 回复

分词功能有点坑爹,for 这样的介词也生成 tag amp 是 &amp; 吧

沉默小子g avatar
#19 沉默小子g 回复

试了一下1.04,感觉问题好多呀 1.发帖时无法发到水区(会提示403: spam info forbidden.),但发帖时默认分类却是水区(希望普通用户在选择分类时不出现水区分类) 2.管理员编辑一个帖子到水区并选择不显示帖子,这时如果没有用户发帖或回复,缓存不会刷新,导致其他用户在帖子列表还可以看到这个贴子名称(无法查看帖子内容) 3.在论坛根目录的newpost.php文件第19行的“else if($cid == 17)” 应该是“else if($cid == 1)”吧!?当选择的分类是水区时显示403

沉默小子g avatar
#20 沉默小子g 回复

另外,我会告诉你我安装好1.04后连续发了7次帖子都显示403: spam info forbidden.才看的源码吗!!!!

ego008 avatar
#22 ego008 回复

@沉默小子g 1、3已修复,2缓存的问题没有及时删除对应的键,等待它自动过时就好。

ego008 avatar
#23 ego008 回复

@先知先觉 出现104:the uploaded package has no xml file 应该是用安装包安装吧?

这个版本不提供安装包安装,因为SAE 没有详细的关于初始化的文档,参见1.03 的sae_app_wizard.xml 文件,官方也就只给简单的初始化mysql 和 Memcache 示例。

1.04 还要其它的一些功能,需要在后台面板开通。

可通过上传代码包上传。

沉默小子g avatar
#24 沉默小子g 回复

@ego008 我也把13修复了,问一下,关于我说的2,是不是只要给admin-edit-post 里添加一句$MMC->flush(); 就好了?

沉默小子g avatar
#26 沉默小子g 回复

@ego008 那有添加什么代码比较好? 还有右上角的头像为何不加圆角效果?

沉默小子g avatar
#28 沉默小子g 回复

@ego008 我不想使用又拍云,想直接使用storage,我把你上传到又拍云那块儿的代码改了后但有些问题

$out_img里面保存的就是经过处理后的图片吧? 我仿照官方给的Storage写入方法成功写入jpg文件到Storage中,但是访问图片时却显示图片有问题 把图片下载下来,打开显示“文件可能已损坏”,你知道是哪里的问题吗?

沉默小子g avatar
#31 沉默小子g 回复

@先知先觉 上传代码包后开通图中的所有服务,然后编辑代码,打开config.yaml,在末尾添加一个回车,保存后再运行install

沉默小子g avatar
#32 沉默小子g 回复

@ego008 下面是write函数的用法,我觉得没有问题呀,可为什么存下的图片无法打开? string write (string $domain, string $destFileName, string $content, [int $size = -1], [array $attr = array()], [bool $compress = false]) string $domain: 存储域,在在线管理平台.storage页面可进行管理 string $destFileName: 文件名 string $content: 文件内容,支持二进制数据 int $size: 写入长度,默认为不限制 array $attr: 文件属性,可设置的属性请参考 SaeStorage::setFileAttr() 方法 bool $compress: 是否gzip压缩。如果设为true,则文件会经过gzip压缩后再存入Storage,常与$attr=array('encoding'=>'gzip')联合使用

沉默小子g avatar
#35 沉默小子g 回复

我直接在Storage面板上上传图片文件,直接访问可以正常显示,嵌入web里也可以显示。但把out_img用写入Storage却不行(Storage中可以写入这个文件,但读取时有问题)。我怀疑是out_img的问题,但我对这块儿代码不了解,你帮忙看看问题出在哪里了吧,不胜感激

ego008 avatar
#36 ego008 回复

@沉默小子g 出现问题还是另开帖吧,也方便别人参考。直接输出一下处理后的图片看看。

写一条评论

Based on Golang + fastHTTP + sdb | go1.17.1 Processed in 2ms