发帖 - wolfcon/NGA-API-Documents GitHub Wiki

6 发帖

以下子章节叙述发布帖子的过程 按照章节顺序处理

6.1 获取发布信息

输入地址

/post.php

输入参数

action  //动作  new为新主题 reply为回复(或评论/贴条) quote为引用 modify为编辑
comment: 1 //发布评论/贴条时设1 其他功能勿设此参数
pid  //回复id  整数
tid  //主题id  整数
fid  //版面id  整数
__output //输出格式 见1.1

参数可以组合使用 如

/post.php?fid=123 //在id是123的版面发新贴 /post.php?action=reply&tid=123 //回复主题id是123的主题 /post.php?action=reply&tid=123&pid=1234 //回复主题123里回复id是1234的回复 /post.php?action=quote&tid=123 //引用主题id是123的主题 /post.php?action=quote&tid=123&pid=1234 //引用主题123里回复id是1234的回复 /post.php?action=modify&tid=123&pid=1234 //编辑主题123里回复id是1234的回复 /post.php?action=modify&tid=123 //编辑主题id是123的主题

返回数据格式大致解释如下

window.script_muti_get_var_store={
"data":{
  "__CU":{//当前访问者的用户信息 如果未登录则没有此项 见2.1
    "uid":58,
    "group_bit":1034239,
    "admincheck":1,
    "rvrc":465
    },
  "__F":{//所在版面数据
    'fid':123,//版面id
    'bit_data':124//版面的类型数据bit 见2.3
    "name":"xxoo"//版面名
    },
  "__GLOBAL":"./template/js/nga_global.xml",//公共变量文件 xml格式
  'content':'vsdcds',//引用或者编辑时帖子的预置内容
  'pid':123,//回复id
  'fid':123,//版面id
  'tid':123,//主题id
  'subject':'vfdsfds',//主题标题
  'auth':'0000003a52b1749023e6b27e545af5bbfa53fc9648.....',//上传附件的验证码
  'attachs':{//已经上传的附件信息(编辑时
    },
  'attach_url':'vfedgvfdvsf', //上传附件的接口地址 见6.2
  'if_hidden':1,//此贴是否是隐藏的(编辑时
  'if_self_reply':1,//此贴是否只有自己和版主能回复(编辑时
  'modify_append':1,//是否超出编辑时限(编辑时
  'content_org':'vtfredvf',//帖子的内容(超出编辑时限时
  },
"encode":"gbk",//编码
"time":1374141799//当前时间
}

6.1.1 获取主题分类信息

输入地址

/nuke.php

输入参数

__lib  //固定为'topic_key'
__act  //固定为'get'
fid  //发帖版面的ID
__output //输出格式 见1.1

服务器返回如下数据

window.script_muti_get_var_store={
data:{
  0:{
    0:{
      0:'[分类1]',  //分类名字 带方括号
      1:1  //==1时是版主设置的分类 否则为用户添加的分类
      }
    }
    1:{
      0:'[分类2]',
      1:1
      }
    }
    2:{
      0:'[分类3]',
      1:0
      }
    }
    ... //可能有很多
  }
}

6.2 上传附件

使用post(enctype=multipart/form-data)方法将如下数据上传至第一步数据中的附件上传地址 见6.1

输入参数

v2:1,  //固定为1
attachment_file1:file,//附件文件
attachment_file1_watermark:'tl', //水印位置tl/tr/bl/br 左上右上左下右下 不设为无水印
attachment_file1_dscp:'gvsrf',//附件的说明
attachment_file1_url_utf8_name:'gvsrf',//附件文件UTF8编码文件原名再urlencode
fid:123,//发帖所在的版面id
func:'upload',
auth:'0000003a52b1749023e6b27e545af5bbfa53fc9648.....',//在上一步(6.1)中取得的上传附件验证码
__output //输出格式 见1.1

上传成功后服务器返回如下数据

window.script_muti_get_var_store={
attachments:'vgrfasdvcrfd',  //上传后的文件地址
attachments_check:'vfdsavfd',  //此文件的验证码
url:'gtrfegtrf',  //附件上传后的地址
thumb:1  //附件是否有缩略图 (3只有最小缩略图 (2有最小和中等 (1有小中大三种 (未设为无缩略图
//缩略图地址为上传后地址后加 .thumb_ss.jpg(最小)  .thumb_s.jpg(中)   .thumb.jpg(大)
}

将attachments连接至发帖表单的attachments参数末尾(如有多个附件用\t分隔) 将attachments_check连接至发帖表单的attachments_check参数末尾 (如有多个附件用\t分隔)

6.2.1 发帖后删除附件

输入地址

/nuke.php

输入参数

func   //固定为delattach
pid  //所在的回复id  整数
tid  //所在的主题id  整数
aid  //附件id
__output //输出格式 见1.1

必须使用post 提交后服务器会返回成功或失败信息

6.3 用户编辑帖子内容

6.4 检查

6.4.1 检查强制分类

可跳过

6.4.2 检查自动翻译

可跳过

6.5 发帖

准备好所有内容后提交

输入地址

/post.php

输入参数

step:2  //固定为2
action:'reply',//操作 new / reply / quote / modify 新主题 / 回复(或评论、贴条) / 引用 / 编辑
pid:123//回复id
tid:123//主题id
fid:123//版面id
post_subject:'bfdsg'  //标题
post_content:'nyrdcgr'  //内容
attachments:'ngyxdhbt'  //附件
attachments_check:'nhyfhg'  //附件验证码
comment: 1 //为1 时作为评论/贴条发布 其他功能勿设此参数
lite   //输出格式 见1.1

action pid tid fid参数应与6.1中相同

提交后会返回成功或失败信息