ASP.NET整合Discuz!NT3.5实例说明(含用户登录、评论等)

前一阵想做一个团购导航网站,看到某些团购导航站都有论坛,自己也想加一个,研究了下Discuz!NT,发现有API接口,就忽然想到了用Discuz!NT来整合网站,岂不是很方便,会员那部分就不需要自己开发了。

说干就干, 下来API的例子和开发包研究了一下,看了一遍仍然是一头雾水,不知道是不是自己太笨。而且发现API还有错误,来官方论坛求助貌似没有得到回答,看来还是只能靠自己啊。看了N遍终于明白了大概,整个API都熟悉了一下使用方法,发现API虽然方便但是的问题多多,其中用户登录后跳转行为(不停的跳来跳去,效率太低,影响搜索引擎收录)还有“ Code: 103, Message: 当前会话所提交的call_id没有大于前一次的call_id”错误,更是让我彻底对API无语郁闷,最后只好采用第二套方法下载源码自己整合+Discuz!NT API。

还好Discuz!NT是开源程序,否则我真放弃使用了,说下我的网站徐州86516团购导航 http://www.86516tuan.com/,可以看到我主要整合了用户的登录状态和登录信息的获取(登录和注册都在论坛完成)、登录后退出、用户的评论、自动发帖以及系统后台的计划任务等,下面一一介绍一下在整合方法,需要Discuz!NT的DLL,我是把所有的DLL都放到自己网站的bin目录下,附上代码。

1、用户的登录状态和登录信息的获取
using Discuz.Forum;
using Discuz.Entity;
string discuzName = string.Empty;
if (Request.Cookies["dnt"] != null)
{
//已经登录
int uid = Convert.ToInt32(Request.Cookies["dnt"]["userid"]);
//获取登录用户信息
UserInfo info = Users.GetUserInfo(uid);
if (info != null)
{
discuzName = info.Username;
}
else
{
DiscuzSession ds = DiscuzSessionHelper.GetSession();
ds.Logout(string.Empty);
}
}
else
{
//未登录
}

2、登录后退出,需要API的DiscuzToolKit开发包的dll,下载地址是: http://nt.discuz.net/showtopic-81187.html
using Discuz.Toolkit;
DiscuzSession ds = DiscuzSessionHelper.GetSession();
ds.Logout(string.Empty);

3、自动发帖,我每采集一条团购数据就会给Discuz!NT论坛发一个帖子,同时两边利用ID对应上
比如: http://www.86516tuan.com/goods/787.htmlhttp://www.86516tuan.com/bbs/showtopic-817.aspx
自动创建主题采用的也是API,方法如下,具体参数请参考 官方API开发指南

DiscuzSession ds = DiscuzSessionHelper.GetSession();
TopicCreateResponse tcr = ds.CreateTopic(uid, title, fid ,message,tags,type_id);

4、获取用户评论,采用官方API
DiscuzSession ds = DiscuzSessionHelper.GetSession();
TopicGetRencentRepliesResponse trr = ds.GetRecentReplies(fid, tid, page_size, page_index);


5、发表新评论,这里是当初没有彻底采用API的主要原因,API需要不停跳转验证用户。经过研究源码,自己写出来评论功能,主要调用官方的存储过程“dnt_createpost1‘,由于参数过多,这里就不写代码了,主要就是给参数赋值,用户数据可以根据上面获取用户信息的方法来获得,另外还可以在官方下载数据字典,来确定参数功能。

 

再送大家一份ASP.NET整合Discuz!NT资料包,集合我收集来的所有整合资源

下载地址是http://nt.discuz.net/showtopic-140682.html#599637

转载于:https://www.cnblogs.com/chensubo/archive/2011/06/01/2065624.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修复的问题: 删除用户组后,组别显示为游客的问题 精华帖重复加分 审核贴通过后积分和帖数出错 删帖时积分规则没有以版块积分设置优先 管理员删帖重复扣分 图片轮显无数据时JS错 添加广告提示结束时间不对的问题 IE6下排序和筛选按钮无效 IE6下“只看楼主”等按钮被隐藏 回复xxx楼没有显示楼号 编辑老帖子附件失效 私密论坛UI的问题 登录页tab键顺序 编辑器中已有附件的标记问题 普通上传重复添加附件的问题 后台添加用户组失败 编辑器中附件阅读权限不统一 回帖时批量上传的问题 编辑器中插入的图片显示为红叉 下载附件扣分无效 点击引用时,无法载入编辑器 帖子所有分页都加入“载入所有图片”的链接 版块图标导致换行 开启图片后加载,帖子翻页后没有“全部加载”的链接 改进及新功能: 后台添加设置,允许用户删除自己帖子的期限 精华帖重复加分 趋势统计(站长可查看论坛每日发帖数,访问数等,且可设置哪些用户组可查看) 后台导航改进 showtopic页UI的问题 统计 广告 聚合的展示顺序 编辑器中阅读权限统一改为选择用户组 提示上次未使用的附件,把忽略改为删除 改进图片附件的排版 热点、排行改进:用户和版块的提取条件增加按时间范围获取数据 后台增加设置:是否允许切换宽/窄屏和默认使用宽/窄屏
DiscuzX3.2支付宝免签约即时到帐接口发布,您可以下载本接口选择对应编码版本上传到DiscuzX插件目录(/source/plugin/),通过后台简单设置即可使用。 请根据您网站的编码选择gbk编码或utf-8编码的接口文件。 【安装方法】 1、在http://www.zfbjk.com网站注册一个用户,并下载“支付宝免签约即时到帐辅助”软件 2、将本接口压缩包解压,将解压得到的对应编码文件夹下的zfbjk_alidirect文件夹上传到您DZ论坛的source\plugin目录下 3、确认install.php文件位于source\plugin\zfbjk_alidirect\install.php 4、登录Discuz后台,点击顶部的“应用”,然后点击左侧的“插件” 5、找到“支付宝免签约即时到帐”,点击右侧“安装”进行安装,安装完成后启用插件 6、点击“设置”填写“商户号”、“密钥”、“收款支付宝”,至此完成接口的安装 7、关于自动到帐,打开您下载的“支付宝即时到帐辅助”并登录您的商户,在打开的页面登录您在DiscuzX后台设置的“支付宝帐户”,设置“通知网址”为http://网址/source/plugin/zfbjk_alidirect/notify_url.php,点击“开始扫描”即可 【卸载方法】: DiscuzX后台卸载本插件,删除source\plugin\zfbjk_alidirect文件夹即可 如果您对本接口存在任何疑问,或需要将本接口整合到其它网站程序,欢迎与我们联系。 客服QQ:40386277,E-mail:support@zfbjk.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值