@discuzq/sdk
Version:
discuz dsk
166 lines (146 loc) • 5.44 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.readTopicsList = readTopicsList;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
require("regenerator-runtime/runtime.js");
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _handleError = require("../utils/handle-error");
var _example = _interopRequireDefault(require("../_example"));
var _excluded = ["params", "data"];
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
/**
* 入参验证规则,具体配置请看:https://github.com/yiminghe/async-validator
*
* @example
* const validateRules = {
* name: {
* type: 'number',
* required: true,
* },
* };
*/
var validateRules = {
// 页码
page: {
type: 'number'
},
// 每页数据条数,不传则默认20,最大值50
perPage: {
type: 'number'
},
// 搜索数据
filter: {
type: 'object',
fields: {
// 话题内容
content: {
type: 'string'
},
// 潮流话题标识,传1将返回潮流话题(热度排序),传0将展示话题列表(时间倒序)
hot: {
type: 'number'
},
// 话题ID,传话题ID获取该话题详情
topicId: {
type: 'number'
},
// 排序规则,传1:按热度排序 传2:按内容数排序
sortBy: {
type: 'number'
},
// 是否推荐(0未推荐,1推荐)
recommended: {
type: 'number'
},
// 话题作者用户名,(管理后台搜索专属)
username: {
type: 'string'
},
// 话题创建时间范围-开始,(管理后台搜索专属)
createdAtBegin: {
type: 'date'
},
// 话题创建时间范围-截止,(管理后台搜索专属)
createdAtEnd: {
type: 'date'
},
// 话题内容数范围-起始,(管理后台搜索专属)
threadCountBegin: {
type: 'number'
},
// 话题内容数范围-截至,(管理后台搜索专属)
threadCountEnd: {
type: 'number'
},
// 话题热度范围-起始,(管理后台搜索专属)
viewCountBegin: {
type: 'number'
},
// 话题热度范围-截止,(管理后台搜索专属)
viewCountEnd: {
type: 'number'
}
}
}
};
/**
* 描述:潮流话题/话题搜索
* 请求方式:GET
* @param {axios config} opt 请求配置信息
* @returns {promise}
*/
function readTopicsList() {
return _readTopicsList.apply(this, arguments);
}
function _readTopicsList() {
_readTopicsList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
var opt,
_opt$params,
params,
_opt$data,
data,
others,
options,
result,
_args = arguments;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
opt = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
_context.prev = 1;
_opt$params = opt.params, params = _opt$params === void 0 ? {} : _opt$params, _opt$data = opt.data, data = _opt$data === void 0 ? {} : _opt$data, others = (0, _objectWithoutProperties2.default)(opt, _excluded);
options = _objectSpread(_objectSpread({
url: '/api/v3/topics.list',
// 请求地址
method: 'GET',
params: params,
data: data
}, others), {}, {
validateRules: validateRules
});
_context.next = 6;
return _example.default.dispatcher(options);
case 6:
result = _context.sent;
return _context.abrupt("return", result);
case 10:
_context.prev = 10;
_context.t0 = _context["catch"](1);
return _context.abrupt("return", (0, _handleError.handleError)(_context.t0));
case 13:
case "end":
return _context.stop();
}
}
}, _callee, null, [[1, 10]]);
}));
return _readTopicsList.apply(this, arguments);
}
;