Compare commits
No commits in common. "2eecdbaf8f50ef3be7441e123c1851b672c9d811" and "ef5022ff64902708ef11e971dacc14e2fb4df900" have entirely different histories.
2eecdbaf8f
...
ef5022ff64
14
config.ini
Normal file
14
config.ini
Normal file
@ -0,0 +1,14 @@
|
||||
[app]
|
||||
NAME=APP_NAME
|
||||
SECRET_KEY=SOME_RANDOM_STRING
|
||||
HOMEPAGE_NOTICE=1. 此网站基于openAI的API提供服务\n2. 为了限制滥用,注册后需要管理员激活才能使用\n3. 为了支持多轮对话,历史聊天会保存在服务端\n4. 网站不做关键词过滤,但请不要违反相关法律\n5. GPT生成的任何内容不保证准确性,请自行甄别
|
||||
SQLALCHEMY_DATABASE_URI=sqlite:///sqlite.db
|
||||
#SQLALCHEMY_DATABASE_URI=mysql://username:password@server/db
|
||||
|
||||
[network]
|
||||
PROXY=http://127.0.0.1:7890
|
||||
|
||||
[openai]
|
||||
API_KEY=
|
||||
MODEL_NAME=gpt-3.5-turbo
|
||||
PROMPT=你是一个有用的人工智能助理,你尽力确保回答的准确性,避免给出误导信息。
|
20
config.yaml
20
config.yaml
@ -1,20 +0,0 @@
|
||||
app:
|
||||
NAME: APP_NAME
|
||||
SECRET_KEY: SOME_RANDOM_STRING
|
||||
HOMEPAGE_NOTICE: |
|
||||
1. 此网站基于openAI的API提供服务
|
||||
2. 为了限制滥用,注册后需要管理员激活才能使用
|
||||
3. 为了支持多轮对话,历史聊天会保存在服务端
|
||||
4. 网站不做关键词过滤,但请不要违反相关法律
|
||||
5. GPT生成的任何内容不保证准确性,请自行甄别
|
||||
|
||||
SQLALCHEMY_DATABASE_URI: sqlite:///sqlite.db
|
||||
# SQLALCHEMY_DATABASE_URI: mysql://username:password@server/db
|
||||
|
||||
network:
|
||||
PROXY: http://127.0.0.1:7890
|
||||
|
||||
openai:
|
||||
API_KEY:
|
||||
MODEL_NAME: gpt-3.5-turbo
|
||||
PROMPT: 你是一个有用的人工智能助理,你尽力确保回答的准确性,避免给出误导信息。
|
@ -1,15 +1,15 @@
|
||||
from flask import Flask
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_login import LoginManager
|
||||
import yaml
|
||||
from configparser import ConfigParser
|
||||
|
||||
# init SQLAlchemy so we can use it later in our models
|
||||
db = SQLAlchemy()
|
||||
|
||||
|
||||
def create_app():
|
||||
with open("./config.yaml") as config_file:
|
||||
conf = yaml.safe_load(config_file)
|
||||
conf = ConfigParser()
|
||||
conf.read("./config.ini")
|
||||
app = Flask(__name__)
|
||||
|
||||
app.config['SECRET_KEY'] = conf['app']['SECRET_KEY']
|
||||
|
@ -12,6 +12,8 @@ main = Blueprint('main', __name__)
|
||||
def index():
|
||||
|
||||
notice = current_app.config['HOMEPAGE_NOTICE']
|
||||
if notice:
|
||||
notice = notice.split("\\n")
|
||||
return render_template('index.html', user=current_user, homepage_notice=notice)
|
||||
|
||||
|
||||
|
@ -99,7 +99,7 @@
|
||||
success: null,
|
||||
dataType: null
|
||||
}).always(function (response) {
|
||||
if (response && response.status == "success") {
|
||||
if (response?.status == "success") {
|
||||
var msg_list = document.getElementById("msg-list")
|
||||
var li = document.createElement('li');
|
||||
var pre = document.createElement('pre');
|
||||
|
@ -29,8 +29,7 @@
|
||||
{% endwith %}
|
||||
<div id="homepage-notice" class="row" style="margin-top: 100px;">
|
||||
{% if homepage_notice %}
|
||||
<h3 class="subtitle">公告栏</h3>
|
||||
<pre>{{ homepage_notice }}</pre>
|
||||
{% for notice in homepage_notice %}<p>{{ notice }}</p>{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -65,11 +65,11 @@
|
||||
var account = obj.parentElement.parentElement
|
||||
var data = {
|
||||
method: "update",
|
||||
id: account.children[0].innerHTML,
|
||||
email: account.children[1].innerHTML,
|
||||
name: account.children[2].innerHTML,
|
||||
role: account.children[3].children[0].value,
|
||||
isActivated: account.children[4].children[0].checked
|
||||
id: account?.children[0]?.innerHTML,
|
||||
email: account?.children[1]?.innerHTML,
|
||||
name: account?.children[2]?.innerHTML,
|
||||
role: account?.children[3]?.children[0].value,
|
||||
isActivated: account?.children[4].children[0].checked
|
||||
}
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
@ -89,11 +89,11 @@
|
||||
var account = obj.parentElement.parentElement
|
||||
var data = {
|
||||
method: "delete",
|
||||
id: account.children[0].innerHTML,
|
||||
email: account.children[1].innerHTML,
|
||||
name: account.children[2].innerHTML,
|
||||
role: account.children[3].children[0].value,
|
||||
isActivated: account.children[4].children[0].checked
|
||||
id: account?.children[0]?.innerHTML,
|
||||
email: account?.children[1]?.innerHTML,
|
||||
name: account?.children[2]?.innerHTML,
|
||||
role: account?.children[3]?.children[0].value,
|
||||
isActivated: account?.children[4].children[0].checked
|
||||
}
|
||||
var ret = confirm("确认删除用户\"" + data.name + "\"吗?")
|
||||
if (ret == true) {
|
||||
|
Reference in New Issue
Block a user