Authored by yyq

Merge remote-tracking branch 'origin/hotfix/questionnaire' into release/0704

... ... @@ -71,6 +71,9 @@ exports.submit = (req, res, next) => {
exports.detail = (req, res, next) => {
let id = parseInt(`0${req.params.id}`, 10);
req.yoho.captchaShow = false;
res.locals.useGeetest = true;
req.ctx(questionModel).getQuestionDetail(id, req.user.uid).then(result => {
if (result && result.detail && req.yoho.isApp) {
result.detail.uid = req.user.uid;
... ...
... ... @@ -13,6 +13,8 @@ const check = require(`${cRoot}/check`);
const question = require(`${cRoot}/question`);
const auth = require('../../doraemon/middleware/auth');
const validateCode = require('../passport/controllers/validateCode');
// const material = require(`${cRoot}/material`);
const materialNew = require(`${cRoot}/material-new`);
... ... @@ -25,8 +27,8 @@ router.post('/check/submit', check.submit);
router.get('/questionnaire', auth, question.list);
router.post('/questionnaire/check', question.check);
router.post('/questionnaire/submit', question.submit);
router.get('/questionnaire/:id', question.detail);
router.post('/questionnaire/submit', validateCode.check, question.submit);
router.get('/questionnaire/:id', validateCode.load, question.detail);
router.get('/material', auth, materialNew.list);
module.exports = router;
... ...
... ... @@ -51,4 +51,6 @@
</div>
</div>
</div>
<div data-userverify="{{captchaShow}}" data-geetest="{{useGeetest}}" id="js-img-check" {{#unless useGeetest}} class="full-img-verify" {{/unless}}></div>
</div>
... ...
... ... @@ -3,7 +3,15 @@ require('3party/question-detail.page.css');
let $ = require('yoho-jquery'),
yoho = require('yoho-app'),
tipDg = require('plugin/tip'),
share = require('common/share');
share = require('common/share'),
Validate = require('plugin/validata');
let validate = new Validate('#js-img-check', {
useREM: {
rootFontSize: 40,
picWidth: 150
}
});
let question = {
$base: $('#qs-wrap'),
... ... @@ -197,31 +205,31 @@ let question = {
}
},
saveAnswers: function(info) {
var that = this;
if (this.saving || !info || !info.length) {
if (!info || !info.length) {
return;
}
this.saving = true;
setTimeout(function() {
that.saving = false;
}, 5000);
return validate.getResults().then(result => {
if (typeof result === 'undefined') {
return;
}
$.ajax({
type: 'POST',
url: '/3party/questionnaire/submit',
data: {
let params = {
id: this.$base.data('id'),
uid: this.$base.data('cid'),
startTime: this.startTime,
endTime: Date.parse(new Date()) / 1000,
frontAnswers: JSON.stringify(info),
mobile: this.$mobile.val()
}
};
$.extend(params, result);
$.ajax({
type: 'POST',
url: '/3party/questionnaire/submit',
data: params
}).then(function(data) {
that.saving = false;
if (data.code === 200 || data.code === 206) {
let tip = '调查问卷已成功提交,感谢您的帮助!';
... ... @@ -242,6 +250,7 @@ let question = {
tipDg.show(data.message || '网络出了点问题~');
}
});
});
}
};
... ...
@import "layout/img-check";
body {
background: #f0f0f0;
}
... ...