walinejs / waline Goto Github PK
View Code? Open in Web Editor NEW💬 A Simple, Safe Comment System
Home Page: https://waline.js.org/en/
License: GNU General Public License v2.0
💬 A Simple, Safe Comment System
Home Page: https://waline.js.org/en/
License: GNU General Public License v2.0
可以考虑提供部署在自己服务器的模板,有的人应该有闲置服务器。
目前有一个1.12M评论文件,无法转换为sql模式,复制进去后点转换,持续没有反应!
<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>
除了昵称,评论信息,还能输出哪些数据?
可否判断管理员的评论不显示吗?
该文件中serverURL的值是serverURL: location.protocol + '//' + location.host + location.pathname.slice(1),如果当前url是https://waline.vercel.app/ui/login,那就会返回https://waline.vercel.appui/login,导致请求错误
(问题出现于Nginx反向代理目录
我是小白,按照js格式在app.js写了相关但貌似没起作用,想问邮件通知等变量如何配置
希望可以去给 Hexo NexT 主题提一下 PR,增加该主题对 Waline 的支持,方便小白用户配置使用该评论系统 https://github.com/next-theme/hexo-theme-next
昨晚在服务器简单测试了一下用 MySQL 数据库 + Docker 部署,前后端均为 Waline,效果不错,响应速度很快,也可以在后台正常删除评论。
不过存在两个问题(如下),能解决的话感觉这个方案个人认为是有服务器用户一个不错的独立部署方案,毕竟这样数据就可以都掌握在自己服务器里了。
(注:CloudBase 部署都方案各种奇奇怪怪的问题太多,已经放弃。目前暂时的替代方案:LeanCloud 数据库 + Docker 部署。另外,之前反映的不能删除评论问题,在 Docker 部署 + LeanCloud 数据库或 MySQL 数据库下均未出现。)
问题:
id
pid
rid
等几个数值,使得评论与子评论无法关联,点击评论内的@链接也不能实现评论跳转了。serverURL 暴露出来的话似乎可以被任何填写该链接的网站获取评论数据,是否有白名单功能限制使用的网站?
leancloud 当表不存在时自动创建表,减少用户操作
理由:它在国内有网宿作为合作,国内访问应该体验更好
电报机器人都有了,Qmsg酱能期待一下吗?
(要是云函数能访问电报就好了,只好换vercel)
建表语句链接的是 MySQL 的,Storage 目录里也没有 postgresql.js
请问可否支持 Artalk 的数据导入
目前评论中的链接打开方式为本窗口打开,这不太符合亚洲人的使用习惯,希望可以在上游就设置为在新窗口打开,或者增加开关。
按照文档在Vercel 部署后, 会出现下面错误
TypeError: serverURL option is required for apps from CN
我已经在Vercel 设置了环境变量 LEAN_SERVER: xxxxxxx.vercel.app
但还是有这个错误. 请问还有哪里需要设置才能避免这个错误吗?
刚刚看到可以部署到腾讯云云开发,但是用 https://waline.js.org/migration.html#%E8%BF%81%E7%A7%BB%E8%87%B3-cloudbase 所列到转换工具时候点击转换按钮没有反应
LeanCloud转为MySQL时@锚点处没有更换,位于comment处~
/
的话可以去了试一下MAIL_TEMPLATE
,依旧可以使用安装好以后评论无法实时显示,只能刷新页面看,于是查看了控制台。
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
请问是正常的吗?
Docker Compose 文件如下:
services:
wlaine:
image: lizheming/waline
container_name: waline
restart: always
ports:
- '8360:8360'
environment:
LEAN_ID: 'xxx'
LEAN_KEY: 'xxx'
LEAN_MASTER_KEY: 'xxx'
Leancloud 是国际版,使用 docker-compose up -d
命令启动,设置好了反代到 http://waline.dlzhang.com , 但是似乎不能注册用户(提示404) http://waline.dlzhang.com/ui/register
现状:目前后天评论链接显示是以相对路径的方式进行显示
问题:而一般来说waline后端和博客没有部署在统一域名下,所以点击查看跳转后会出现404错误
意见:可以增加一个获取SITE_URL的api,在后台显示SITE_URL对应文章的绝对路径;后端能否像client一样增加一个serverURL的配置进行以便有需要的人独立部署。
需要兼容 Valine 老数据不存在 status 字段的场景,目前仅判断了 status=approved 的数据 #66
好像只能用国际版 LeanCloud?
试了 Vercel 和 Docker ,国际版的可用,国内华东区的报错。忘记错误代码是什么了。
在 Leancloud 后台的结构化数据中,评论一般有comment
、mail
、nick
等几个string
,但是如果在后台手动添加一个不符合规范的行(比如只添加comment
的行),vercel.app 的评论管理后台就会直接白屏(虽然控制台会报错)。
比如阿里云表格存储、腾讯云开发、AWS DynamoDB
我部署了最新到 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
我是从 valine 迁移过来的,因而直接使用了此前国际版 leancloud 的 appid 和 appkey。
按照 vercel 部署的步骤 进行部署并且成功部署,但是点击进去后页面空白,打开开发者管理工具反向请求返回响应全是 500
{"errno":500,"errmsg":"Not initialized"}
有想过是不是 leancloud 的域名安全限制,但把部署好的 serverURL 添加上去还是不行。
我部署后的地址为 https://waline-pi.vercel.app/ 登录注册功能也不行。
主题之前一直使用analytics作为访问量统计,现改为waline,希望可以将之前的数据,转为waline可支持数据,谢谢!
具体的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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.