芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/api/user-playback/services/user-playback.js
'use strict'; /** * Read the documentation (https://strapi.io/documentation/developer-docs/latest/development/backend-customization.html#core-services) * to customize this service */ module.exports = { async validatePlay(user, ip, id, code, initCode) { let pInfo = await strapi.services["user-playback"].findOne({ id }); if (pInfo.desc.startsWith("error")) { console.log("is error ...", user.id); const entity = await strapi.services["user-playback"].update({ id }, { desc: 'is play..', }); return {result: true, entity}; } if (!pInfo) { return {result: false, entity: "invalidPlaybackId"}; } if (pInfo.isExpired) { return {result: false, entity: "playbackIsExpired"}; } // if (pInfo.ip !== ip) { // return {result: false, entity: "session.errors.invalidIpForValidate"}; // } if (!pInfo.confirmCodes) { pInfo.confirmCodes = []; } let exist = pInfo.confirmCodes.includes(code); if (exist) { const after2Sec = strapi.services.helpers.addSecond(pInfo.updatedAt.toString(), 0.5); const isBetween = strapi.services.helpers.isNowBetweenDates(pInfo.updatedAt, after2Sec); if (!isBetween) { return {result: false, entity: "session.errors.invalidCodeForValidate"}; } // //exist = pInfo.confirmCodes.includes(code); // if (exist) { // // } else { // pInfo.confirmCodes.push(code); // const entity = await strapi.services["user-playback"].update({ // id // }, { // code: initCode, // confirmCodes: pInfo.confirmCodes, // desc: 'is play..', // }); // return {result: true, entity}; // } } pInfo.confirmCodes.push(code); const entity = await strapi.services["user-playback"].update({ id }, { code, confirmCodes: pInfo.confirmCodes, desc: 'is play..', }); return {result: true, entity}; } };