diff --git a/apps/system/migrations/0007_alter_dept_create_by_alter_dept_update_by_and_more.py b/apps/system/migrations/0007_alter_dept_create_by_alter_dept_update_by_and_more.py new file mode 100644 index 00000000..a59ceeb3 --- /dev/null +++ b/apps/system/migrations/0007_alter_dept_create_by_alter_dept_update_by_and_more.py @@ -0,0 +1,100 @@ +# Generated by Django 4.2.19 on 2025-02-23 02:59 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('system', '0006_auto_20241213_1249'), + ] + + operations = [ + migrations.AlterField( + model_name='dept', + name='create_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'), + ), + migrations.AlterField( + model_name='dept', + name='update_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'), + ), + migrations.AlterField( + model_name='dictionary', + name='create_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'), + ), + migrations.AlterField( + model_name='dictionary', + name='update_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'), + ), + migrations.AlterField( + model_name='dicttype', + name='create_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'), + ), + migrations.AlterField( + model_name='dicttype', + name='update_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'), + ), + migrations.AlterField( + model_name='file', + name='create_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'), + ), + migrations.AlterField( + model_name='file', + name='update_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'), + ), + migrations.AlterField( + model_name='myschedule', + name='create_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'), + ), + migrations.AlterField( + model_name='myschedule', + name='update_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'), + ), + migrations.AlterField( + model_name='post', + name='create_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'), + ), + migrations.AlterField( + model_name='post', + name='update_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'), + ), + migrations.AlterField( + model_name='role', + name='create_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'), + ), + migrations.AlterField( + model_name='role', + name='update_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'), + ), + migrations.AlterField( + model_name='user', + name='belong_dept', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_belong_dept', to='system.dept', verbose_name='所属部门'), + ), + migrations.AlterField( + model_name='user', + name='create_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'), + ), + migrations.AlterField( + model_name='user', + name='update_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'), + ), + ] diff --git a/apps/utils/sms.py b/apps/utils/sms.py index f8eb2657..675ed906 100644 --- a/apps/utils/sms.py +++ b/apps/utils/sms.py @@ -1,4 +1,3 @@ - import json import logging from server.settings import get_sysconfig diff --git a/apps/utils/speech.py b/apps/utils/speech.py index d48b3a3f..f976f345 100644 --- a/apps/utils/speech.py +++ b/apps/utils/speech.py @@ -1,4 +1,3 @@ -from aip import AipSpeech from django.conf import settings import uuid import os @@ -17,6 +16,7 @@ def generate_voice(msg: str, per: int = 0): str: 地址 dict: result """ + from aip import AipSpeech client = AipSpeech(settings.BD_SP_ID, settings.BD_SP_KEY, settings.BD_SP_SECRET) result = client.synthesis(msg, 'zh', 1, {'vol': 5, 'spd': 5, 'per': per}) # 识别正确返回语音二进制 错误则返回dict 参照下面错误码 diff --git a/apps/utils/views.py b/apps/utils/views.py index a8f8194d..dff7d9a7 100755 --- a/apps/utils/views.py +++ b/apps/utils/views.py @@ -1,21 +1,12 @@ import os -import cv2 -from django.http import HttpResponse from apps.utils.errors import SIGN_MAKE_FAIL from server.settings import BASE_DIR -import numpy as np from rest_framework.response import Response from rest_framework.exceptions import ParseError from apps.utils.viewsets import CustomGenericViewSet from apps.utils.mixins import CustomCreateModelMixin from apps.utils.serializers import GenSignatureSerializer -from rest_framework.views import APIView -from rest_framework.decorators import action -from rest_framework.serializers import Serializer -from django.core.cache import cache -import json -import requests class SignatureViewSet(CustomCreateModelMixin, CustomGenericViewSet): @@ -29,6 +20,8 @@ class SignatureViewSet(CustomCreateModelMixin, CustomGenericViewSet): 照片生成透明签名图片 """ + import cv2 + import numpy as np path = (BASE_DIR + request.data['path']).replace('\\', '/') try: image = cv2.imread(path, cv2.IMREAD_UNCHANGED) diff --git a/apps/wf/migrations/0005_workflow_cate.py b/apps/wf/migrations/0005_workflow_cate.py index b3197302..277011e3 100644 --- a/apps/wf/migrations/0005_workflow_cate.py +++ b/apps/wf/migrations/0005_workflow_cate.py @@ -6,7 +6,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('wf', '0004_workflow_view_path2'), + ('wf', '0003_workflow_view_path'), ] operations = [ diff --git a/config/e.conf.py b/config/e.conf.py deleted file mode 100644 index b6175ee6..00000000 --- a/config/e.conf.py +++ /dev/null @@ -1,12 +0,0 @@ -SECRET_KEY = 'xx' -DEBUG = False -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql', - 'NAME': 'xx', - 'USER': 'postgres', - 'PASSWORD': 'xx', - 'HOST': 'xx', - 'PORT': '5432', - } -} diff --git a/db.json b/db.json new file mode 100644 index 00000000..c930b1b0 Binary files /dev/null and b/db.json differ diff --git a/readme.md b/readme.md index aeaf19ca..055f27ad 100644 --- a/readme.md +++ b/readme.md @@ -1,9 +1,17 @@ ## 如何运行 -将 server 下的 conf_e.json 以及 conf_e.py,重名名为 conf.json 和 conf.py。 +将 server 下的 conf_e.json 以及 conf_e.py,移动到config文件夹下并重命名为 conf.json 和 conf.py。 根据自己的情况修改参数 +进入虚拟环境后运行 python manage.py migrate + +导入初始数据 python manage.py loaddata db.json + +默认管理员账户密码为admin xtadmin123! + 在项目目录下执行 python manage.py runserver 即可 运行后在 localhost:8000/api/swagger/下查看 api 文档 + + diff --git a/server/conf_e.json b/server/conf_e.json index 864f21f6..990ff11c 100644 --- a/server/conf_e.json +++ b/server/conf_e.json @@ -3,7 +3,8 @@ "base_name": "xx平台", "base_logo": "/media/default/logo.png", "base_name_short": "xx", - "base_logo_side": "" + "base_logo_side": "", + "base_menucate": "dynamic" }, "apk": { "apk_version": "1.0", diff --git a/server/conf_e.py b/server/conf_e.py index cb5b416d..7b16fc6d 100644 --- a/server/conf_e.py +++ b/server/conf_e.py @@ -14,7 +14,12 @@ EMAIL_USE_TLS = True # 数据库配置 -CACHE_LOCATION = "redis://127.0.0.1:6379/2" +CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.redis.RedisCache', + 'LOCATION': 'redis://127.0.0.1:6379/2', # Redis URL + } +} CELERY_BROKER_URL = "redis://127.0.0.1:6379/3" CELERY_TASK_DEFAULT_QUEUE = BASE_PROJECT_CODE DEBUG = True @@ -32,11 +37,6 @@ DATABASES = { # 雪花ID SNOW_DATACENTER_ID = 1 -# 百度语音 -BD_SP_ID = 'xx' -BD_SP_KEY = 'xx' -BD_SP_SECRET = 'xx' - # 运维相关 SD_PWD = 'xx' BACKUP_PATH = '/home/xx/xx/xx'