Estoy creando una aplicación MVC que tendrá dos planes diferentes para los usuarios, uno de ellos con restricciones en algunas funcionalidades proporcionadas a través de js. Lo que necesito es servir ambos planes dentro de la misma aplicación, pero estoy un poco confundido sobre cómo sería la mejor manera de implementarlo. He planeado incluir ambos códigos dentro del mismo archivo js y comentar tanto la función de restricción como la de no restricción y luego intentar crear una función que permita a los usuarios acceder a su plan en una condición fija. Me pregunto si es posible hacerlo y, si lo es, que alguien me traiga un ejemplo simple que podría volver a factorizar y reproducir dentro del entorno de mi aplicación.
Lo siento si no proporciono ningún código, pero sería muy complicado mostrar aquí el código de mi aplicación. Creo que terminaría con un ejemplo simple como este:
el usuario A está restringido y el usuario B no está restringido . El archivo main.js permitirá a los usuarios agregar líneas de texto al archivo index.html . La restricción sería limitar la cantidad de líneas que podría agregar el usuario A , digamos a 5 líneas, mientras que el usuario B podría agregar tantas líneas como quiera. Para ello, como imaginaba y decía antes, se comentaría tanto la
addLine functioncomo larestrictedAddLine function. Entonces, si el usuario A accede a la aplicación, el archivo main.js se servirá con larestrictedAddLine functionAddLine sin comentar y laaddLine functionaún comentada, y viceversa si es el usuario B quien accede a la aplicación.
Si alguien puede traer un ejemplo de este tipo, o cualquier enlace a una pregunta similar ya respondida (que no pude encontrar), será muy apreciado.
Digamos que estabas haciendo esto en una página PHP:
<?php // this is a string containing the plan of current logged user $user_plan=$database->getCurrentUser()->plan; ?> <html> <head> <script text/javascript> // set a global js variable with the plan var userPlan='<?php echo $user_plan; ?>'; </script> </head> <body> <input type="button" value="Add line" onclick="add_line()" /> <script text/javascript> function add_line() { if (userPlan=='basic') { alert('You can only add one line'); return; } else { // add as many lines } } </script> </body> </html>Entonces, el punto es, para acceder a su información de usuario, haga que el plan esté disponible en algún lugar del HTML. Luego lea el plan de javascript y compórtese de manera diferente dependiendo de él. Además, no es necesario mantener múltiples funciones, solo use la misma y ponga la condición del plan dentro.