12345下一页
返回列表 发新帖
查看: 1410|回复: 44

Discuz!论坛转小程序教程(Discuz!X3.4 X3.2小程序都适用)

[复制链接]

1万

热度

1万

元宝

1万

贡献

金牌草根

发表于 2018-5-2 23:26:34 | 显示全部楼层 |阅读模式
关于这个小程序

Github : https://github.com/DowneyL/discuz-wechat-miniprogram

原文:

这个小程序是公司针对一个自家产品的需求,而这个产品就是 Discuz (我知道没啥人用了,就不要吐槽了),版本是 X3.4 ,还是 GBK 编码!

在公司给了需求,稍微学习了一下小程序,就直接开干了,网上找到一个基础版本(可耻的不全是自己写的),修复了一些 BUG,新增了一部分功能,也砍掉了一部分功能,兼容了 GBK 版本的 Discuz,简单设计了一下小程序的样式,产品也就基本成型了。

之所以分享出来,是因为关于 Discuz 相关的文档、产品之类真的是太少了,想在一个平台上记录下来,如果碰见有缘人,没准能给他一些收获。 0.0\

我的收获
  • 关于 API 的开发有了一些理解(正好 Summer 大神出新书了,买了等更完再看)
  • 微信公众号开发(原生 PHP 开发微信公众号,以及超神的 Easywechat)
    也成功让公司论坛关联了 公众号,实现在公众号上,领取论坛金钱红包。
  • 微信小程序开发(官方文档,正在开发的小程序的源码,都给了我不少启发)
  • HTTP 到 HTTPS
  • 小程序上富文本的解析 (一个优秀的开源项目:wxParse-微信小程序富文本解析组件 )
    作用在于:解析你论坛上的帖子内容,你论坛上加粗的文字,加了颜色的文字,图片等等,都可以原原本本的展示在小程序中。
  • Flex 布局
    这里分享阮老师的两篇文章 Flex 布局教程语法篇Flex 布局教程实例篇
  • 两个 UI 组件 weuizanui
  • .....
部分细节
主要有以下几点功能,需要记录
第一节
  • file_get_content() 函数,在论坛上有可能无法使用,已经在 inc.php 文件中实现相同功能的
游客,如果您要查看本帖隐藏内容请回复

  • 由于论坛整体格式为 GBK,而和微信服务端交互,必须为 UTF-8 编码,所以对接口编码进行了一部分的优化。

输出的情况下,有 error.php 下的 array_iconv() 函数,来对输出数组进行编码的转换。

游客,如果您要查看本帖隐藏内容请回复

接受的情况下, 有 inc.php 下的 getDataForCharset() 函数来整合接受编码。

  1. function getDataForCharset($data) {
  2.     return (CHARSET != 'UTF-8') ? dhtmlspecialchars(WmApiError::array_iconv($data)) : dhtmlspecialchars($data);
  3. }
复制代码

  • 关闭了微信登陆的功能。
  • 获取帖子时新增了帖子的具体内容,message。
  • 优化了其他一些细节部分的内容。
第二节
wxParse 做的事情
  • 输出帖子时,对 Discuz Code 进行解码,同时,获取图片附件,以及表情图片。
  • 接受时,解析文本的加粗、高亮、斜体、字体等。让帖子呈原样输出。
  • 以上功能,重点在 wmapi/get_post_detail.php 、 wmapi/get_self_post.php 两个脚本中重点突出。
第三节
  • 部分获取小程序的数据的方式为 get_url_content() 部分为 file_get_content() (生产环境可能由于设置问题,导致如此怪异,请结合自身服务器来看)
  • 首页新增加载状态 (加载中... 没有更多... 暂无数据...)
  • 群组帖子,无法显示群组的名称
  • 在小程序向服务器传递中文字符串的时候,先 encodeURI() 再到论坛服务器上 urldecode() 最后进行 UTF8 -> GBK 的转码,当然,是有必要的情况下。
基础展示



本文来源于网友学习研究交流 www.caogen8.co,请以学习研究交流为主。
如果您没有贡献积分,可以直接免费领取,免费领取
如果你需要加入本学习研究交流,请以学习研究交流为目的,免责声明
如果找不到您要的资源,请搜索一下,点击搜索

1693

热度

3579

元宝

153

贡献

终身ViP

发表于 2018-5-3 16:31:23 | 显示全部楼层
看教程比拿插件要实在得多!

48

热度

158

元宝

9

贡献

步入草根

发表于 2018-5-4 14:18:47 | 显示全部楼层
需要看看的

1635

热度

3863

元宝

765

贡献

终身ViP

发表于 2018-5-4 20:09:35 | 显示全部楼层
好好学习,天天看看。

1849

热度

3510

元宝

243

贡献

终身ViP

发表于 2018-5-8 00:27:38 | 显示全部楼层
Discuz!论坛转小程序教程

112

热度

257

元宝

46

贡献

步入草根

发表于 2018-5-16 21:17:22 | 显示全部楼层
学习下

79

热度

518

元宝

66

贡献

终身ViP

发表于 2018-5-20 15:21:46 | 显示全部楼层
Discuz!论坛转小程序教程(Discuz!X3.4 X3.2

194

热度

654

元宝

157

贡献

步入草根

发表于 2018-5-20 23:38:42 | 显示全部楼层
看卡那棵那棵那棵那

151

热度

795

元宝

147

贡献

步入草根

发表于 2018-5-23 07:42:09 来自手机 | 显示全部楼层
Discuz!论坛转小程序教程(Discuz!X3.4 X3.2小程

11

热度

4

元宝

8

贡献

步入草根

发表于 2018-5-25 10:55:14 | 显示全部楼层
这个程序很好
下一页 »
12345下一页
返回列表 发新帖
 懒得打字嘛,点击右侧快捷回复【最新发布】   【赞助草根吧享更多权益】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏帖子 返回列表 搜索

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

小黑屋|手机版|草根吧