Las principales tecnologías utilizadas en este sistema son las siguientes:
Vue3
Actualización 2022.11.19
Nueva rama Vue3, que ya es la rama predeterminada desarrollada por
zerotower69
;
2023.03.15 Actualización
vue3 es la rama principal. Para la versión vue2, consulte la rama vue2. Para algunas imperfecciones, consulte el efecto de la versión vue2.
administrador --- gestión de backend
web---pantalla de recepción
servidor --- servicio backend
El sistema está en línea para su visualización.
Visualización del portal empresarial (https://xanadu.aerowang.cn/)
Gestión de antecedentes del sistema (https://xanadu.aerowang.cn/admin)
Cuenta: youke, contraseña: a123456
Administrador: admin Contraseña: 654321
También puedes registrarte en
Si hay un problema, eche un vistazo a los scripts en package.json. Puede ver que los comandos de desarrollo y ejecución se crean de la nada. Si el comando no se puede ejecutar, no se debe definir.
npm install
npm run start(本地启动)
或者 npm run dev(实时监听改动重启,边改边跑) 需要全局安装 nodemon(任何说不是xxx命令的错误都是没有全局安装,请先安装后再运行)
# 1.安装
npm install
#又或者
pnpm install
# 2.启动
npm run serve
#又或者
pnpm serve
# 3.打包
npm run build
#又或者
pnpm build
# 4.清除 node_modules
npm run clear
# 又或者
pnpm clear #由于rmdir 安装在这里,它也会清掉,就是自己干了自己
#会有一条报错出现,请无视它
Instale el comando pnpm globalmente con anticipación
npm i pnpm -g
Implementación automática de Docker con un solo clic
Orden
# 主目录下
docker compose up -d
# 即可访问
Es necesario cambiar los siguientes archivos:
./admin/.env.production
VUE_APP_BASE_API = '你自己的域名:3000/api/v1'
./admin/vue.config.js
línea.27 publicPath: '/',
=> publicPath: '/admin/',
./server/config/dbinfo.js
host: "localhost",
=> host: "xanadu-db",
./web/.env.production
VUE_APP_PRODURL = "你自己的域名/admin/#/login"
./web/src/utils/request.ts
baseURL: '/api'
=>你自己的域名:3000/api
Docker no está usando la versión Go.
Dado que este sistema ha optimizado los recursos de carga de CDN, debe conectarse a una red relativamente rápida y estable para ejecutar este sistema; de lo contrario, aparecerán algunos errores en la página del sistema.
Actualización 2022.11.19
Algunas referencias de recursos provienen de cdn.jsdelivr.net. Actualmente (2022.11.19), el acceso puede ser un poco lento. Si está interesado, puede modificar el enlace de referencia usted mismo.
2023.03.15 Actualización
1. Asegúrese de ejecutar cd en los directorios respectivos. Para ser precisos, este sistema está dividido en tres proyectos: administración de front-end, back-end y front-end. Este directorio raíz no se puede ejecutar directamente.
2. Verifique estrictamente la versión de su nodo. En vista de los problemas que se han descubierto, en el entorno Windows, se recomienda utilizar la versión más grande del nodo 14, además, el archivo de grupo del grupo QQ proporciona un paquete comprimido de paquetes dependientes, que también se puede utilizar como; Pruébelo; los sistemas Mac 14 y 16 están bien (se ejecutan en APPLE por encima de M1).
3. Si se informa un error de conexión a la base de datos, primero verifique si la configuración de dbinfo.js en el directorio de configuración en el servidor (nodo backend) y la configuración de su propia base de datos son correctas.
4. Antes de ejecutar el proyecto, asegúrese de instalar npm para instalar las dependencias relevantes y vaya al extremo de pcweb, al extremo de administración y al backend para ver sus respectivos archivos package.json, consulte la sección de scripts y confirme que se ha definido el comando que desea ejecutar. No hay ningún comando dev definido. Si desea ejecutar npm run dev
, definitivamente se informará un error y el primer mensaje de error significa que dev no está en los scripts. De todos modos, verá aparecer las dos palabras clave package.json y scripts. La primera línea de su informe de error debe indicar que se ejecutó un comando no definido.
5. Para el script de la base de datos (initial_data.sql), consulte el grupo QQ: 434063310 (el propietario de este grupo no es el autor original, pero lo mantiene voluntariamente).
6. Node recomienda utilizar la herramienta de administración de versiones nvm. Los usuarios de Windows pueden usar .exe directamente para instalar sin preocupaciones. Los usuarios de Mac pueden usar brew para instalar.
brew install nvm
Después de instalar nvm, puede usarlo para cambiar de versión de nodo. nvm install xxx es el comando de instalación. Recuerde usar nvm use xxx para cambiar a la versión que desea usar cada vez que cambie.
7. El proyecto web usa CDN. Si no desea usarlo, comente la lógica en la configuración externa; si se usa, verifique si se puede acceder al enlace CDN correspondiente, péguelo directamente en el archivo. navegador y podrá comprobarlo y configurarlo correctamente.
8. Con respecto al uso de proxy, asegúrese de configurar el proxy inverso en nginx en el entorno de producción.
9. Actualmente no existe una solución de empaquetado adecuada para el nodo back-end. Generalmente, el servidor usa pm2 directamente para iniciar el servicio del nodo. Instale pm2 en el servidor y use:
npm i pm2 -g
Si realmente necesita empaquetarlo, consulte el artículo sobre Zhihu. La calidad de Baidu no es buena. Pero el concepto de empaquetado aquí es diferente del de java. Incluso si usa webpack para empaquetar, su código sigue siendo js en lugar de ser convertido a código de bytes como java. a El tiempo de ejecución de JavaScript no es un lenguaje nuevo. Es solo que el kernel V8 escrito en C++ proporciona estas API de node. El lenguaje real responsable de interactuar con el sistema es C++.
10. Los novatos deben tener en cuenta el propósito del empaquetado front-end. El código que estamos escribiendo actualmente no puede ser ejecutado directamente por el navegador. Necesitamos convertir nuestro código a un formato que el navegador pueda reconocer y ejecutar. es js a otro js. El proceso de estandarización es completamente diferente del empaquetado en el sentido de back-end.
11. Para problemas con la ruta de la imagen, intente utilizar su propio servicio CDN o coloque los recursos en su propio servidor para reemplazar la ruta de la imagen que ya existe en la base de datos. Puede utilizar la siguiente declaración SQL:
UPDATE [tablename] SET [fieldname] = REPLACE([fieldname], ' locolhost:3000 ' , ' [yourHOST] ' )
Los recursos de imagen no requieren proxy inverso nginx. Puede consultar la siguiente configuración:
location ~ .*.(gif|jpg|jpeg|png|bmp|swf|webp|jfif)$
{
#图片在server/static里,改写root路径就可以了!
root /www/wwwroot/zero/company/server/static;
expires 30d ;
error_log /dev/null;
access_log /dev/null;
}
12. Cuando encuentres un mensaje de error, no te enojes si lo ves en inglés. Mira la primera y la última oración. Por ejemplo, si hay una "clave externa" en el error de backend, debe haber un problema con la clave externa. Verifique la definición del modelo o la definición o los datos de la base de datos. El front-end Vue no está definido. Este problema está relacionado principalmente con el uso incorrecto de cdn. Comente vue.config.js (vue3) para ser optimista. Si hay demasiados errores en inglés, no los lea. No es difícil abrir Youdao (se recomienda más Google) y traducirlos.
14. Si necesita agregar nuevas funciones, se recomienda leer el código primero. En realidad, el código no es difícil. Simplemente no está familiarizado con el nuevo idioma y recién está comenzando a sentir el dolor. El diseño funcional no tiene características especiales. Es imposible copiar esta parte del código. Sólo puede ser creación original propia. Si no comprende la parte del código, puede publicar una imagen para hacer preguntas ( asegúrese de publicar una imagen ). Si no mira el código por un tiempo, olvidará parte de la publicación. Hacer preguntas puede garantizar que su confusión pueda ser respondida a tiempo.
Espero que todos no solo sepan cómo usar este proyecto a partir de la documentación, sino que también adquieran habilidades relevantes para que puedan progresar en el front-end. Viendo esto, ¿por qué no me das una estrella? Le dejas tu estrella a otra prostituta (perro).
Recuerda darle estrella ღ(´・ᴗ・`)~ Nuevo grupo: 434063310. (La puntualidad de la respuesta no está garantizada)
1. La intención original del proyecto es permitir que todos tengan una comparación de sintaxis de la versión vue3, por lo que muchas funciones son consistentes con la rama vue2. Dado que los errores son inevitables en el desarrollo, consulte la rama vue2 o implemente modificaciones de versión si es necesario. 2. No soy responsable de la experiencia de nadie más. Si tienes algún error, puedes hacerme preguntas, pero no soy profesor. El profesor que necesitas puede ser: