This commit is contained in:
caoqianming 2026-01-15 16:49:45 +08:00
commit 982a246263
10 changed files with 121 additions and 32 deletions

View File

@ -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='最后编辑人'),
),
]

View File

@ -1,4 +1,3 @@
import json
import logging
from server.settings import get_sysconfig

View File

@ -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 参照下面错误码

View File

@ -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)

View File

@ -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 = [

View File

@ -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',
}
}

BIN
db.json Normal file

Binary file not shown.

View File

@ -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 文档

View File

@ -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",

View File

@ -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'