John Zhou

  • 2024年10月10日
  • 注册于 2022年1月27日
  • 0 次助人
  • 本篇文章将列举使用过程中可能遇到的常见问题,并给出排查和解决方案。
    涉及到安装以及使用可参考此文章
    [https://bbs.halo.run/d/5819-%E4%BB%98%E8%B4%B9%E6%8F%92%E4%BB%B6%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E5%8F%91%E5%B8%83%E6%8F%92%E4%BB%B6%E7%9A%84%E4%BB%8B%E7%BB%8D%E5%92%8C%E4%BD%BF%E7%94%A8](https://)
    建议阅读后再来查看本文内容。

    1. 外部访问地址未填写问题

    默认情况下会有一个初始的外部访问地址即 external url,值是 localhost:8090 ,但是正常使用插件不允许配置成 localhost,需要重新配置成网站可外部访问的域名,或者公网服务器IP+端口的形式。
    ![https://jhptcg.top/upload/WechatIMG1014.jpg](https://)
    如果需要重新配置,有两种常见的配置方式:

    1Panel 部署方式:
    应用商店 --> 选择 Halo 应用 --> 参数,然后编辑参数,找到外部访问地址,重新编辑保存即可。点击确认后,会提示重建应用,重建后刷新生效外部访问地址。
    ![https://jhptcg.top/upload/1724653480950.jpg](https://)

    Docker 部署方式:
    需要重建容器才能重新设置 external url 参数,请按如下顺序执行命令:
    1、docker stop halo
    2、docker rm halo
    3、cp -r ~/.halo2 ~/halo2.archive
    4、docker run -it -d --name halo -p 8090:8090 -e HALO_EXTERNALURL=XXX -v ~/.halo2:/root/.halo2 halohub/halo:2.9(版本号改成最新的)
    注:
    XXX 改成浏览器能访问的你的网站的地址
    版本号改成目前的版本号
    完成之后,卸载插件再重装,即可生效最新的 external url 外部访问地址。

    2. 无法同步问题

    在配置好了正确的外部访问地址,以及通过了密钥信息校验测试之后,可以进行文章的同步操作。如果遇到显示同步失败,可能是以下原因:
    1、检查微信公众号的接口权限,是否获得永久素材管理的接口
    ![https://jhptcg.top/upload/test/1724657294714.jpg](https://)

    2、网络原因。可能由于网络代理或安全策略等因素,导致 external url 无法通过浏览器访问。需要检查网络配置问题,比如代理、防火墙、安全组、白名单等,需要最终确保配置的 external url 可以通过浏览器正常访问。

    3、文章配置原因。需要正确设置封面图,封面图的图片命名需要符合规范,不能有中文。还需正确勾选同步选项。
    ![https://jhptcg.top/upload/1724662098304.jpg](https://)

    4、文章内容个别元素组件可能不支持,如某些特殊的代码块,特殊符号或者格式等。如果遇到无法同步成功的情况,不妨先除去文章内的此内容,测试同步功能正常之后,再逐个排查具体导致异常的文本片段。

  • 简介

    这是一个基于 Halo 2.0 开发的微信公众号同步插件,支持在发布文章时同步到微信公众号。

    意义和用途

    Halo 有部分用户有自己运营的微信公众号,但是在 Halo 创作的文章,再手动复制一遍到微信公众号上是一件比较繁琐的工作。故使用该插件能够帮助用户,一键同步文章到微信公众号的草稿箱中,然后可以在公众号端预览并选择发布。

    如何安装和配置插件

    安装下载
    在 Halo 的「应用市场」中,可以看到付费插件,找到微信公众号发布插件并购买插件。付费插件涉及到许可证激活,购买之后可在 Halo 官网登录个人账号查看「我的许可证」,然后在 Halo 的插件页面选择对应插件的许可证管理,激活方式选择账户激活,选择对应的在线许可证并激活使用插件即可。当然也可以选择使用下载 jar 包并本地上传安装的方式安装插件。安装成功后,可以在插件列表看到微信公众号发布插件。
    查看插件

    准备工作

    1、需要有微信公众号(订阅号或服务号均可),并且在公众号后台的「设置与开发」「基本配置」IP 白名单中添加 Halo 所在服务器 IP 地址,作为调用微信公众号 API 的条件。
    2、微信公众平台中检查「接口权限」中「永久素材管理接口」的权限接口状态是否是已获得。需要是已获得状态才能同步时正常上传图片素材。
    3、检查 Halo 平台中「概览」「外部访问地址」是否已设置(非 localhost),如果没有设置,需要根据不同的部署方式重新设置 external url 参数,如 http://服务器IP:8090, 也可域名的形式,且需保证该 URL 需要能从浏览器直接访问。
    4、安装插件后,需要在插件配置处配置好 appId, appSecret。然后在「预校验」中点击按钮测试是否通过。

    操作步骤

    1、安装并且配置好插件后,编辑文章,在文章设置中需要设置封面图。

    2、在元数据处,「是否发布文章时推送到微信公众号」选择是,然后点击保存。
    是否推送

    3、可以在文章列表右边操作处选择「预览公众号效果」,点击之后会弹出一个新页面显示公众号展示的样式效果(注:只作为参考,公众号端可能存在部分样式过滤和转换,效果可能不完全一致)。
    样式预览

    4、可以在文章列表右边操作处选择「同步到微信公众号」,选择确认,即可将文章同步到微信公众号。稍等片刻即可查看同步的状态以及可能的错误提示。

    5、推送之后可以登录到公众号平台,查看草稿箱,可选择将草稿箱的文章群发或者是普通发布。

    注意事项

    1、如果需要编辑草稿,需要在文章编辑保存,再将文章「发布」之后,选择「同步到微信公众号」,才会同步更新改动之后的内容到微信公众号。
    2、如果需要删除草稿,在文章点击删除之后,会将微信公众号草稿箱中的对应文章的草稿删除。
    3、目前 Halo 端可预览同步到微信公众号之后的 html 效果,但是因为在同步过程中,页面的部分标签或者样式可能经过微信端 转换/过滤/特殊处理,导致最终在公众号呈现的页面效果跟 Halo 端可能不完全一致。这种情况可能需要用户在公众号端稍做调整样式。

  • 想了解一下如果外部开发者开发 Halo 付费主题或插件的话,官方的筛选因素有哪些和最快多久会被选中,还有给开发者的分成是多少呢?

  • ZTfred 有售后交流群,开发人员还是会很耐心帮忙解决问题的,有必要的话可以1对1远程排查问题,有合理的建议后续也会迭代更新版本。