Coder Social home page Coder Social logo

walinejs / waline Goto Github PK

View Code? Open in Web Editor NEW
2.0K 13.0 335.0 55.9 MB

💬 A Simple, Safe Comment System

Home Page: https://waline.js.org/en/

License: GNU General Public License v2.0

JavaScript 48.91% CSS 10.23% Dockerfile 0.08% PLpgSQL 0.42% Nunjucks 0.13% SCSS 7.48% Vue 8.49% TypeScript 22.22% HTML 2.05%
leancloud vercel blog comment cloudbase mongodb postgresql sqlite deta baidu

waline's People

Contributors

ab8ing avatar ah-dark avatar akarinliu avatar asforest avatar beiyanyunyi avatar dependabot[bot] avatar eallion avatar eumeryx avatar first19326 avatar jerryc127 avatar leirock avatar lete114 avatar likenttt avatar lizheming avatar mejituu avatar michaelyuhe avatar mister-hope avatar mumu-lhl avatar njzjz avatar pilgrimlyieu avatar renovate[bot] avatar rimuruw avatar sakuragawaasaba avatar so1ve avatar w0oo avatar w4j1e avatar weijie-he avatar wxsms avatar yihui-liu avatar yunyoujun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

waline's Issues

最新评论挂件都能输出哪些数据?

<script>
window.addEventListener('load', function() {
  Waline.Widget.RecentComments({
    el: '#waline-recent',
    serverURL: 'http://waline.vercel.app',
    count: 10
  }).then(comments => {
    document.getElementById('waline-recent').innerHTML = comments.map(cmt => 
      `${cmt.nick}: ${cmt.comment}`
    );
  });
});
</script>

除了昵称,评论信息,还能输出哪些数据?
可否判断管理员的评论不显示吗?

MySQL 数据库 + Docker 部署的几个问题

昨晚在服务器简单测试了一下用 MySQL 数据库 + Docker 部署,前后端均为 Waline,效果不错,响应速度很快,也可以在后台正常删除评论。

不过存在两个问题(如下),能解决的话感觉这个方案个人认为是有服务器用户一个不错的独立部署方案,毕竟这样数据就可以都掌握在自己服务器里了。

(注:CloudBase 部署都方案各种奇奇怪怪的问题太多,已经放弃。目前暂时的替代方案:LeanCloud 数据库 + Docker 部署。另外,之前反映的不能删除评论问题,在 Docker 部署 + LeanCloud 数据库或 MySQL 数据库下均未出现。)

问题:

  1. Safari 浏览器下无法正确显示评论日期(但是管理后台可以正常显示),如下图。但是 Edge 浏览器是可以正常显示的,似乎是 Safari 浏览器对日期的格式有要求。该问题在 LeanCloud 数据库和 CloudBase 数据库下未出现。
  2. 使用文档中的数据迁移工具,将 LeanCloud 数据转换到 SQL 数据(.csv 格式)后,缺失 id pid rid 等几个数值,使得评论与子评论无法关联,点击评论内的@链接也不能实现评论跳转了。

测试链接:https://test.dlzhang.com

image

后台无法删除评论(CloudBase 部署)

会有两种情况(云函数执行没有报错):

  • 一种是可以点击删除,然后评论消失,但是刷新后台评论还在;
  • 另一种是点击删除没有反应,控制台报错如下

Xnip2020-12-15_08-27-28

CloudBase 感觉问题很大,又出现了提交评论加载半天的情况

CloudBase 感觉问题很大,总是各种各样问题,本来还打算整体迁移过去的,现在看来还不如 docker 搭建 Waline 然后数据从LeanCloud 取

情况一:能提交评论,有通知,但是加载图标一直显示加载
Xnip2020-12-04_00-12-57

情况二:无法提交评论
Xnip2020-12-04_00-13-27

情况三:无法加载既有评论
image

评论中链接的打开方式

目前评论中的链接打开方式为本窗口打开,这不太符合亚洲人的使用习惯,希望可以在上游就设置为在新窗口打开,或者增加开关。

CloudBase 无法指定其他存储方式

目前 CloudBase 被强制指定了腾讯云数据库存储,无法通过环境变量指定其他的存储方式。有需要在 CloudBase 中使用其它存储方式的,可以通过截图的方式在代码中指定 storage 来配置。之后会优化该问题。

image

serverURL option is required for apps from CN

按照文档在Vercel 部署后, 会出现下面错误

TypeError: serverURL option is required for apps from CN 

我已经在Vercel 设置了环境变量 LEAN_SERVER: xxxxxxx.vercel.app

但还是有这个错误. 请问还有哪里需要设置才能避免这个错误吗?

提示 jwt malformed

无论是在Waline 自己部署的 Vercel,还是 cloudbase 上部署后,发表评论,均提示 jwt malformed
截屏2021-01-03 上午10 58 11
截屏2021-01-03 上午10 58 59

网址中有中文字符时,计数器读取异常

数据库里存的是 encodeURIComponent 之后的值
image
id=2 那个是我测试时改成中文的,改完后就能正常显示数据,但新数据还是会新建一个 id=5 那条去。

查询时查的是 decodeURIComponent 之后的值
image

评论无法自动刷新及评论通知问题

12.17 22:58 更新:问题的可能原因/解决方法/其他有用信息

  • 评论通知的变量没有正确设置,或者涉及到密码的变量类型更改成了 secret,而不是默认的 Plaintext
  • 如果 serverURL 后面配了/ 的话可以去了试一下
  • Vercel 的评论通知配置成功后可以关闭 Leancloud 这边的 valine-admin 云引擎
  • 目前 Waline 文档没有写出的,但是 Valine 有的变量如MAIL_TEMPLATE,依旧可以使用
  • 若配置的是 Yandex 邮箱出错,请看这里

以下为问题原文:

安装好以后评论无法实时显示,只能刷新页面看,于是查看了控制台。

Access to fetch at 'https://example.vercel.app/comment' from origin 'https://example.com' has been blocked by CORS policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Waline.min.js:40 POST https://example.vercel.app/comment net::ERR_FAILED

请问是正常的吗?

后台管理界面评论链接404问题

现状:目前后天评论链接显示是以相对路径的方式进行显示
问题:而一般来说waline后端和博客没有部署在统一域名下,所以点击查看跳转后会出现404错误
意见:可以增加一个获取SITE_URL的api,在后台显示SITE_URL对应文章的绝对路径;后端能否像client一样增加一个serverURL的配置进行以便有需要的人独立部署。

好像只能用国际版 LeanCloud ?

好像只能用国际版 LeanCloud?
试了 Vercel 和 Docker ,国际版的可用,国内华东区的报错。忘记错误代码是什么了。

[enhancement]数据不符合格式时给予反馈

在 Leancloud 后台的结构化数据中,评论一般有commentmailnick 等几个string,但是如果在后台手动添加一个不符合规范的行(比如只添加comment的行),vercel.app 的评论管理后台就会直接白屏(虽然控制台会报错)。

后台管理无法登录

我部署了最新到 waline+MiniValine 之后遇到一个新问题:后台管理无法登录,也无法重新注册账号(不论是 LeanCloud 还是 CloudBase 都是如此),隐私模式下浏览器控制台日志如下

admin:54 GET https://waline.dlzhang.com/token 403
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
Ne @ admin:54
Pe @ admin:54
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
Ie @ admin:54
ze @ admin:54
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
loadUserInfo @ admin:54
(anonymous) @ admin:10
(anonymous) @ admin:10
(anonymous) @ admin:10
a @ admin:10
Promise.then (async)
u @ admin:10
(anonymous) @ admin:10
o @ admin:10
(anonymous) @ admin:10
dispatch @ admin:10
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
wt @ admin:54
(anonymous) @ admin:54
(anonymous) @ admin:54
n @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
Show 3 more frames from Library code
admin:54 Error: 获取用户信息失败
    at admin:54
(anonymous) @ admin:54
Promise.catch (async)
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
wt @ admin:54
(anonymous) @ admin:54
(anonymous) @ admin:54
n @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
admin:54 POST https://waline.dlzhang.com/token 403
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
Pe @ admin:54
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
Re @ admin:54
je @ admin:54
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
login @ admin:54
(anonymous) @ admin:10
(anonymous) @ admin:10
(anonymous) @ admin:10
a @ admin:10
Promise.then (async)
u @ admin:10
(anonymous) @ admin:10
o @ admin:10
(anonymous) @ admin:10
dispatch @ admin:10
(anonymous) @ admin:10
(anonymous) @ admin:10
(anonymous) @ admin:10
(anonymous) @ admin:10
o @ admin:10
(anonymous) @ admin:10
(anonymous) @ admin:54
c @ admin:15
(anonymous) @ admin:15
(anonymous) @ admin:15
n @ admin:5
l @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:5
(anonymous) @ admin:54
l @ admin:31
f @ admin:31
(anonymous) @ admin:31
b @ admin:31
at @ admin:31
ot @ admin:31
lt @ admin:31
ft @ admin:31
U @ admin:31
Q @ admin:31
Xt @ admin:31
Yt @ admin:31
t.unstable_runWithPriority @ admin:39
Bo @ admin:31
R @ admin:31
Jt @ admin:31
Show 38 more frames from Library code

vercel 部署后打开页面空白,返回的请求提示 Not initialized

我是从 valine 迁移过来的,因而直接使用了此前国际版 leancloud 的 appid 和 appkey。

按照 vercel 部署的步骤 进行部署并且成功部署,但是点击进去后页面空白,打开开发者管理工具反向请求返回响应全是 500

{"errno":500,"errmsg":"Not initialized"}

有想过是不是 leancloud 的域名安全限制,但把部署好的 serverURL 添加上去还是不行。

我部署后的地址为 https://waline-pi.vercel.app/ 登录注册功能也不行。

docker 独立部署选用SQLite数据库时报错

具体的docker 运行代码如下所示:

docker run -it --name waline -v /home/ubuntu/docker/waline/waline.sqlite:/waline.sqlite -e SQLITE_PATH=/ lizheming/waline

报错内容如下所示:

[2020-11-20T05:01:28.882] [1] [INFO] - Server running at http://127.0.0.1:8360
[2020-11-20T05:01:28.905] [1] [INFO] - ThinkJS version: 3.2.12
[2020-11-20T05:01:28.906] [1] [INFO] - Environment: production
[2020-11-20T05:01:28.906] [1] [INFO] - Workers: 1
TypeError: appId must be a string
    at Object.init (/opt/waline/node_modules/leancloud-storage/dist/node/init.js:94:21)
    at Object.<anonymous> (/opt/waline/src/service/storage/leancloud.js:5:4)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at exports.interopRequire (/opt/waline/node_modules/think-loader/loader/util.js:14:13)
    at /opt/waline/node_modules/think-loader/loader/common.js:16:26

可否提供一个最新评论挂件样式参考

调出最新评论的挂件后,默认只会输出文本,排版可以说是惨不忍睹,几经调试未得到理想的效果,希望官方可以提供一个最新评论挂件样式参考,最好是可直接使用哪种,谢谢!

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.