Compare commits

...

15 Commits

Author SHA1 Message Date
Song367
b15b67c001 k8s dev
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 41s
2025-10-27 10:52:12 +08:00
Song367
4157d58b4e k8s 152
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m52s
2025-10-27 10:36:02 +08:00
Song367
fb96576ebf 修改后端api配置
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 41s
2025-09-28 10:42:19 +08:00
Song367
c5ff7bf59c 提交新的配置ci
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 39s
2025-09-26 17:38:16 +08:00
Song367
d82eb30c02 提交新的配置ci
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 39s
2025-09-26 17:33:32 +08:00
Song367
9b9db31145 提交新的配置
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 40s
2025-09-26 17:25:37 +08:00
Song367
58ffb70ec8 迁移服务器
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 3m46s
2025-09-26 17:08:57 +08:00
Song367
c56a1ca9e1 添加图片
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2025-09-02 14:15:53 +08:00
Song367
bc1ee53e43 change 打断词
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2025-07-30 17:07:16 +08:00
Song367
7d263bca35 info
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2025-07-23 15:01:03 +08:00
Song367
7f3014905e select default
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m42s
2025-07-23 14:39:21 +08:00
Song367
b78c644adc add svg
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 22s
2025-06-25 19:35:20 +08:00
Song367
cd31c3a48a modify percent
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2025-06-20 17:18:00 +08:00
Song367
0ca652c37c add percent
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2025-06-20 17:09:43 +08:00
Song367
fefc554f2b add satement
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2025-06-20 16:01:57 +08:00
16 changed files with 554 additions and 28 deletions

24
.gitea/charts/Chart.yaml Normal file
View File

@ -0,0 +1,24 @@
apiVersion: v2
name: homeland
description: A Helm chart for Kubernetes
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"

View File

@ -0,0 +1,22 @@
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "homeland.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "homeland.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "homeland.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "homeland.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
{{- end }}

View File

@ -0,0 +1,62 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "homeland.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "homeland.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "homeland.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "homeland.labels" -}}
helm.sh/chart: {{ include "homeland.chart" . }}
{{ include "homeland.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "homeland.selectorLabels" -}}
app.kubernetes.io/name: {{ include "homeland.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "homeland.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "homeland.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "homeland.fullname" . }}
labels:
{{- include "homeland.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "homeland.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "homeland.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "homeland.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
protocol: TCP
livenessProbe:
httpGet:
path: /
port: http
readinessProbe:
httpGet:
path: /
port: http
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@ -0,0 +1,32 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "homeland.fullname" . }}
labels:
{{- include "homeland.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "homeland.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,61 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "homeland.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
{{- end }}
{{- end }}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "homeland.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
ingressClassName: {{ .Values.ingress.className }}
{{- end }}
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
{{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
pathType: {{ .pathType }}
{{- end }}
backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- else }}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "homeland.fullname" . }}
labels:
{{- include "homeland.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: http
protocol: TCP
name: http
selector:
{{- include "homeland.selectorLabels" . | nindent 4 }}

View File

@ -0,0 +1,12 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "homeland.serviceAccountName" . }}
labels:
{{- include "homeland.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: Pod
metadata:
name: "{{ include "homeland.fullname" . }}-test-connection"
labels:
{{- include "homeland.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
spec:
containers:
- name: wget
image: busybox
command: ['wget']
args: ['{{ include "homeland.fullname" . }}:{{ .Values.service.port }}']
restartPolicy: Never

84
.gitea/charts/values.yaml Normal file
View File

@ -0,0 +1,84 @@
# Default values for homeland.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: 172.16.54.94:5000/homeland
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: "29"
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podAnnotations: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
service:
type: ClusterIP
port: 80
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: homeland.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
nodeSelector: {
kubernetes.io/hostname: devsvr1
}
tolerations: []
affinity: {}

View File

@ -3,7 +3,7 @@ run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on: on:
push: push:
branches: branches:
- 'prod' - 'prod-yantu'
env: env:
BUILD: staging BUILD: staging
@ -11,7 +11,7 @@ env:
jobs: jobs:
Explore-Gitea-Actions: Explore-Gitea-Actions:
runs-on: stream9 runs-on: yantoo-ci
steps: steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
@ -26,19 +26,17 @@ jobs:
uname -a uname -a
pwd pwd
ls ${{ gitea.workspace }} ls ${{ gitea.workspace }}
cd ${{ gitea.workspace }}
- name: Build and push - name: Build and push
uses: https://gitea.yantootech.com/neil/build-push-action@v6 uses: https://gitea.yantootech.com/neil/build-push-action@v6
with: with:
push: false push: true
tags: gong-zheng-html:${{ gitea.run_id }} tags: 14.103.114.237:30005/gongzheng-app:${{ gitea.run_id }}
- name: Run docker - name: Install
run: | run: |
pwd helm upgrade --install gongzheng-app ./.gitea/charts \
if [ "$(docker ps -q -f name=^gong-zheng-html$)" ]; then --namespace gongzheng \
docker stop gong-zheng-html --create-namespace \
fi --set image.repository=14.103.114.237:30005/gongzheng-app \
docker run -d --rm --name gong-zheng-html \ --set image.tag=${{ gitea.run_id }}
-v /usr/share/fonts/opentype/noto:/usr/share/fonts \
-p 6216:80 \
gong-zheng-html:${{ gitea.run_id }}
- run: echo "🍏 This job's status is ${{ job.status }}." - run: echo "🍏 This job's status is ${{ job.status }}."

View File

@ -145,7 +145,7 @@
.statement { .statement {
position: absolute; position: absolute;
bottom: 160px; top: 42%;
left: 80%; left: 80%;
transform: translate(-50%); transform: translate(-50%);
color: #fff; color: #fff;
@ -164,9 +164,9 @@
.subtitle { .subtitle {
position: absolute; position: absolute;
bottom: 40%; top: 50%;
left: 50%; left: 40%;
transform: translate(-50%); transform: translateX(-50%);
color: #000; color: #000;
padding: 12px; padding: 12px;
box-sizing: border-box; box-sizing: border-box;
@ -181,6 +181,80 @@
display: none; display: none;
} }
/* 图片框样式 */
.image-panel {
position: absolute;
top: 70%;
left: 6%;
transform: translateY(-50%);
display: none;
flex-direction: column;
gap: 20px;
z-index: 100000;
}
.image-container-square {
width: 16vw;
height: 16vw;
border-radius: 8px;
overflow: hidden;
/* background: rgba(255, 255, 255, 0.1); */
display: flex;
align-items: center;
justify-content: center;
}
.image-container-vertical {
width: 64vw;
height: 78vw;
border-radius: 8px;
overflow: hidden;
/* background: rgba(255, 255, 255, 0.1); */
display: flex;
align-items: center;
justify-content: center;
}
.image-container-square img,
.image-container-vertical img {
width: 100%;
height: 100%;
object-fit: cover;
}
.image-placeholder {
color: rgba(255, 255, 255, 0.7);
font-size: 14px;
text-align: center;
}
.icon-btn {
background: rgba(255,255,255,0.7);
border: none;
border-radius: 50%;
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
position: fixed;
top: 20px;
left: 20px;
z-index: 100001;
cursor: pointer;
transition: background 0.2s;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
padding: 0;
}
.icon-btn + .icon-btn {
left: 74px;
}
.icon-btn:hover {
background: #eee;
}
.icon-btn img {
pointer-events: none;
}
</style> </style>
<script src="https://cdn.bootcss.com/eruda/1.3.2/eruda.min.js"></script> <script src="https://cdn.bootcss.com/eruda/1.3.2/eruda.min.js"></script>
@ -193,9 +267,28 @@
<body> <body>
<!-- 数字人容器 --> <!-- 数字人容器 -->
<div class="container"></div> <div class="container">
<!-- 图片框 -->
<div class="image-panel">
<div class="image-container-square">
<img src="./yantu/erweima.jpg" alt="图片1">
</div>
<div class="image-container-vertical">
<img src="./yantu/wenzi2.png" alt="图片2">
</div>
</div>
</div>
<div class="statement"></div> <div class="statement"></div>
<div class="subtitle"></div> <div class="subtitle"></div>
<!-- 全屏图标按钮 -->
<button id="fullscreenBtn" class="icon-btn" title="全屏">
<img src="./yantu/quanping.svg" alt="全屏" width="28" height="28">
</button>
<!-- 退出全屏图标按钮 -->
<button id="exitFullscreenBtn" class="icon-btn" title="退出全屏" style="display: none;">
<img src="./yantu/out_quan.svg" alt="退出全屏" width="28" height="28">
</button>
<!-- <input class="input" style="display: block;border-color: #8f1e00;z-index: 999;" id="duihua" placeholder="输入对话" value=""> --> <!-- <input class="input" style="display: block;border-color: #8f1e00;z-index: 999;" id="duihua" placeholder="输入对话" value=""> -->
<div id="modal" class="modal"> <div id="modal" class="modal">
@ -211,8 +304,8 @@
<option value="female" ></option> <option value="female" ></option>
</select> </select>
<select class="input" id="answer_type" style="margin-bottom: 16px;"> <select class="input" id="answer_type" style="margin-bottom: 16px;">
<option value="jiguang" selected>极光</option> <option value="jiguang">极光</option>
<option value="gongzheng">公证</option> <option value="gongzheng" selected>公证</option>
</select> </select>
<div style="display: none;margin-bottom: 8px; width: 100%; text-align: left; color: var(--text-200);">会话ID</div> <div style="display: none;margin-bottom: 8px; width: 100%; text-align: left; color: var(--text-200);">会话ID</div>
<input class="input" id="conversationId" style="display: none;" placeholder="请输入会话ID" value="1920410565458886658" title="请输入会话ID" /> <input class="input" id="conversationId" style="display: none;" placeholder="请输入会话ID" value="1920410565458886658" title="请输入会话ID" />
@ -223,6 +316,39 @@
</div> </div>
</div> </div>
<script> <script>
// 全屏
document.getElementById('fullscreenBtn').onclick = function() {
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if (document.documentElement.webkitRequestFullscreen) { // Safari
document.documentElement.webkitRequestFullscreen();
} else if (document.documentElement.msRequestFullscreen) { // IE11
document.documentElement.msRequestFullscreen();
}
};
// 退出全屏
document.getElementById('exitFullscreenBtn').onclick = function() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) { // Safari
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { // IE11
document.msExitFullscreen();
}
};
// 监听全屏状态变化,切换按钮显示
document.addEventListener('fullscreenchange', function() {
if (document.fullscreenElement) {
document.getElementById('fullscreenBtn').style.display = 'none';
document.getElementById('exitFullscreenBtn').style.display = 'inline-block';
} else {
document.getElementById('fullscreenBtn').style.display = 'inline-block';
document.getElementById('exitFullscreenBtn').style.display = 'none';
}
});
const duix = new DUIX() const duix = new DUIX()
const sex = { const sex = {
@ -257,7 +383,7 @@
async function getToken() { async function getToken() {
try { try {
const response = await fetch('https://srtc.yantootech.com/token', { const response = await fetch('https://14.103.114.237/gongzheng-backend/token', {
method: 'POST', method: 'POST',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
@ -319,6 +445,7 @@
console.info('show') console.info('show')
// 此时可确认视频已 // 此时可确认视频已
document.querySelector('#modal').style.display = "none" document.querySelector('#modal').style.display = "none"
document.querySelector('.image-panel').style.display = "flex"
document.querySelector('.statement').style.visibility = "visible" document.querySelector('.statement').style.visibility = "visible"
document.querySelector('.subtitle').style.visibility = "visible" document.querySelector('.subtitle').style.visibility = "visible"
}) })
@ -336,21 +463,27 @@
// }) // })
duix.on('speakSection', (data) => { duix.on('speakSection', (data) => {
console.info('speakSection', data) console.info('speakSection', data)
document.querySelector('.subtitle').innerText = data.content document.querySelector('.image-panel').style.display = 'none'
document.querySelector('.subtitle').innerText = document.querySelector('.subtitle').innerText + data.content
// document.querySelector('.statement').innerText = all_answer + data;
}) })
duix.on('asrStop', (data) => { duix.on('asrStop', (data) => {
console.info('asrStop', data) console.info('asrStop', data)
document.querySelector('.statement').innerText = data.content; // document.querySelector('.subtitle').innerText = ''
// document.querySelector('.statement').innerText = ''
}); });
duix.on('speakError', (data) => { duix.on('speakError', (data) => {
console.info('speakError', data) console.info('speakError', data)
}) })
duix.on('asrResult', async (data) => { duix.on('asrResult', async (data) => {
document.querySelector('.statement').innerText = '' // document.querySelector('.statement').innerText = ''
document.querySelector('.subtitle').innerText = '' // document.querySelector('.subtitle').innerText = ''
document.querySelector('.statement').innerText = data;
console.info('asrResult', data, trigger_status); console.info('asrResult', data, trigger_status);
if (data == "小公" || data == "小共" || data == "小工"){
if (data.includes("暂停说话") || data.includes("暂停播放")){
duix.break() duix.break()
trigger_status = true trigger_status = true
return return
@ -359,8 +492,10 @@
if (trigger_status) { if (trigger_status) {
try { try {
document.querySelector('.subtitle').innerText = ''
document.querySelector('.image-panel').style.display = 'flex'
// document.querySelector('.statement').innerText = ''
trigger_status = false; trigger_status = false;
let plu = document.getElementById('answer_type') let plu = document.getElementById('answer_type')
api_data = {} api_data = {}
@ -394,7 +529,7 @@
} }
} }
const response = await fetch('https://srtc.yantootech.com/chat', { const response = await fetch('https://14.103.114.237/gongzheng-backend/chat', {
method: 'POST', method: 'POST',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
@ -462,6 +597,9 @@
if(end_talk == data["content"]){ if(end_talk == data["content"]){
trigger_status = true trigger_status = true
document.querySelector('.image-panel').style.display = 'flex'
document.querySelector('.subtitle').innerText = ''
document.querySelector('.statement').innerText = ''
} }
}) })

BIN
yantu/erweima.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

1
yantu/out_quan.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750851117505" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6046" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M257.706667 376.32H128c-11.946667 0-21.333333-9.386667-21.333333-21.333333s9.386667-21.333333 21.333333-21.333334h129.706667c35.413333 0 64-28.586667 64-64V128c0-11.946667 9.386667-21.333333 21.333333-21.333333s21.333333 9.386667 21.333333 21.333333v141.653333a106.666667 106.666667 0 0 1-106.666666 106.666667zM896 376.32h-129.706667a106.666667 106.666667 0 0 1-106.666666-106.666667V128c0-11.946667 9.386667-21.333333 21.333333-21.333333s21.333333 9.386667 21.333333 21.333333v141.653333c0 35.413333 28.586667 64 64 64H896c11.946667 0 21.333333 9.386667 21.333333 21.333334s-9.386667 21.333333-21.333333 21.333333z" fill="#666666" p-id="6047"></path><path d="M896 376.32h-129.706667a106.666667 106.666667 0 0 1-106.666666-106.666667V128c0-11.946667 9.386667-21.333333 21.333333-21.333333s21.333333 9.386667 21.333333 21.333333v141.653333c0 35.413333 28.586667 64 64 64H896c11.946667 0 21.333333 9.386667 21.333333 21.333334s-9.386667 21.333333-21.333333 21.333333zM257.706667 376.32H128c-11.946667 0-21.333333-9.386667-21.333333-21.333333s9.386667-21.333333 21.333333-21.333334h129.706667c35.413333 0 64-28.586667 64-64V128c0-11.946667 9.386667-21.333333 21.333333-21.333333s21.333333 9.386667 21.333333 21.333333v141.653333a106.666667 106.666667 0 0 1-106.666666 106.666667zM680.96 917.333333c-11.946667 0-21.333333-9.386667-21.333333-21.333333v-141.653333a106.666667 106.666667 0 0 1 106.666666-106.666667H896c11.946667 0 21.333333 9.386667 21.333333 21.333333s-9.386667 21.333333-21.333333 21.333334h-129.706667c-35.413333 0-64 28.586667-64 64V896c0 11.946667-9.386667 21.333333-21.333333 21.333333zM343.04 917.333333c-11.946667 0-21.333333-9.386667-21.333333-21.333333v-141.653333c0-35.413333-28.586667-64-64-64H128c-11.946667 0-21.333333-9.386667-21.333333-21.333334s9.386667-21.333333 21.333333-21.333333h129.706667a106.666667 106.666667 0 0 1 106.666666 106.666667V896c0 11.946667-9.813333 21.333333-21.333333 21.333333z" fill="#666666" p-id="6048"></path><path d="M343.04 917.333333c-11.946667 0-21.333333-9.386667-21.333333-21.333333v-141.653333c0-35.413333-28.586667-64-64-64H128c-11.946667 0-21.333333-9.386667-21.333333-21.333334s9.386667-21.333333 21.333333-21.333333h129.706667a106.666667 106.666667 0 0 1 106.666666 106.666667V896c0 11.946667-9.813333 21.333333-21.333333 21.333333zM680.96 917.333333c-11.946667 0-21.333333-9.386667-21.333333-21.333333v-141.653333a106.666667 106.666667 0 0 1 106.666666-106.666667H896c11.946667 0 21.333333 9.386667 21.333333 21.333333s-9.386667 21.333333-21.333333 21.333334h-129.706667c-35.413333 0-64 28.586667-64 64V896c0 11.946667-9.386667 21.333333-21.333333 21.333333z" fill="#666666" p-id="6049"></path></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

1
yantu/quanping.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750851037916" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5070" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M145.066667 85.333333h153.6c25.6 0 42.666667-17.066667 42.666666-42.666666S324.266667 0 298.666667 0H34.133333C25.6 0 17.066667 8.533333 8.533333 17.066667 0 25.6 0 34.133333 0 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666V145.066667l230.4 230.4c17.066667 17.066667 42.666667 17.066667 59.733334 0 17.066667-17.066667 17.066667-42.666667 0-59.733334L145.066667 85.333333z m170.666666 563.2L162.133333 802.133333l-76.8 76.8V725.333333C85.333333 699.733333 68.266667 682.666667 42.666667 682.666667s-42.666667 17.066667-42.666667 42.666666v256c0 25.6 17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666666H145.066667l76.8-76.8 153.6-153.6c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0z m665.6 34.133334c-25.6 0-42.666667 17.066667-42.666666 42.666666v153.6l-76.8-76.8-153.6-153.6c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733334l153.6 153.6 76.8 76.8H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666s17.066667 42.666667 42.666666 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666666z m0-682.666667h-256c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666666h153.6l-76.8 76.8-153.6 153.6c-17.066667 17.066667-17.066667 42.666667 0 59.733334 17.066667 17.066667 42.666667 17.066667 59.733334 0l153.6-153.6 76.8-76.8v153.6c0 25.6 17.066667 42.666667 42.666666 42.666666s42.666667-17.066667 42.666667-42.666666v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z" fill="" p-id="5071"></path></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
yantu/wenzi2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB