From ac9830f6fda219e38a2c36c19fab2819cec33efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E8=B4=A4=E5=9B=BD?= <3482108437@qq.com> Date: Thu, 7 Aug 2025 16:22:26 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BD=BF=E7=94=A8uniapp=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=99=BB=E5=BD=95/=E6=B3=A8=E5=86=8C/=E8=81=8A=E5=A4=A9?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/App.vue | 17 ++ frontend/index.html | 20 +++ frontend/main.js | 23 +++ frontend/manifest.json | 75 +++++++++ frontend/pages.json | 32 ++++ frontend/pages/chat/chat.vue | 225 +++++++++++++++++++++++++++ frontend/pages/login/login.vue | 158 +++++++++++++++++++ frontend/pages/register/register.vue | 141 +++++++++++++++++ frontend/static/logo.png | Bin 0 -> 4023 bytes frontend/uni.promisify.adaptor.js | 13 ++ frontend/uni.scss | 76 +++++++++ 11 files changed, 780 insertions(+) create mode 100644 frontend/App.vue create mode 100644 frontend/index.html create mode 100644 frontend/main.js create mode 100644 frontend/manifest.json create mode 100644 frontend/pages.json create mode 100644 frontend/pages/chat/chat.vue create mode 100644 frontend/pages/login/login.vue create mode 100644 frontend/pages/register/register.vue create mode 100644 frontend/static/logo.png create mode 100644 frontend/uni.promisify.adaptor.js create mode 100644 frontend/uni.scss diff --git a/frontend/App.vue b/frontend/App.vue new file mode 100644 index 0000000..8c2b732 --- /dev/null +++ b/frontend/App.vue @@ -0,0 +1,17 @@ + + + diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..b5d330d --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + diff --git a/frontend/main.js b/frontend/main.js new file mode 100644 index 0000000..df66165 --- /dev/null +++ b/frontend/main.js @@ -0,0 +1,23 @@ +import App from './App' + +// #ifndef VUE3 +import Vue from 'vue' +import './uni.promisify.adaptor' +Vue.config.productionTip = false +App.mpType = 'app' +const app = new Vue({ + ...App +}) +app.$mount() +// #endif + +// #ifdef VUE3 +import { createSSRApp } from 'vue' +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} +// #endif + diff --git a/frontend/manifest.json b/frontend/manifest.json new file mode 100644 index 0000000..b6ebc91 --- /dev/null +++ b/frontend/manifest.json @@ -0,0 +1,75 @@ +{ + "name" : "uniapp-ai", + "appid" : "__UNI__3924A7E", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "minSdkVersion" : 21 + }, + /* ios打包配置 */ + "ios" : { + "dSYMs" : false + }, + /* SDK配置 */ + "sdkConfigs" : {} + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "3" +} diff --git a/frontend/pages.json b/frontend/pages.json new file mode 100644 index 0000000..03cf3d3 --- /dev/null +++ b/frontend/pages.json @@ -0,0 +1,32 @@ +{ + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path" : "pages/login/login", + "style" : + { + "navigationBarTitleText" : "" + } + }, + { + "path" : "pages/chat/chat", + "style" : + { + "navigationBarTitleText" : "" + } + }, + { + "path" : "pages/register/register", + "style" : + { + "navigationBarTitleText" : "" + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "uniIdRouter": {} +} diff --git a/frontend/pages/chat/chat.vue b/frontend/pages/chat/chat.vue new file mode 100644 index 0000000..a660afb --- /dev/null +++ b/frontend/pages/chat/chat.vue @@ -0,0 +1,225 @@ + + + + + \ No newline at end of file diff --git a/frontend/pages/login/login.vue b/frontend/pages/login/login.vue new file mode 100644 index 0000000..b711f5e --- /dev/null +++ b/frontend/pages/login/login.vue @@ -0,0 +1,158 @@ + + + + + \ No newline at end of file diff --git a/frontend/pages/register/register.vue b/frontend/pages/register/register.vue new file mode 100644 index 0000000..75328be --- /dev/null +++ b/frontend/pages/register/register.vue @@ -0,0 +1,141 @@ + + + + + \ No newline at end of file diff --git a/frontend/static/logo.png b/frontend/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b5771e209bb677e2ebd5ff766ad5ee11790f305a GIT binary patch literal 4023 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 SYs}WS&%*SCNx89m_ { + res.then((res) => { + if (!res) return resolve(res) + return res[0] ? reject(res[0]) : resolve(res[1]) + }); + }); + }, +}); \ No newline at end of file diff --git a/frontend/uni.scss b/frontend/uni.scss new file mode 100644 index 0000000..b9249e9 --- /dev/null +++ b/frontend/uni.scss @@ -0,0 +1,76 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16px; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px; -- Gitee From b79d34603e5cec859b53ee504c6c6bf883b026bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E8=B4=A4=E5=9B=BD?= <3482108437@qq.com> Date: Mon, 11 Aug 2025 16:17:11 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=99=BB=E5=BD=95/=E6=B3=A8=E5=86=8C/ai?= =?UTF-8?q?=E8=81=8A=E5=A4=A9/=E5=8E=86=E5=8F=B2=E5=AF=B9=E8=AF=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/pages.json | 7 + frontend/pages/chat/chat.vue | 211 +++++++++++++++++++++++---- frontend/pages/document/document.vue | 138 ++++++++++++++++++ frontend/pages/register/register.vue | 3 +- frontend/txt.txt | 0 5 files changed, 329 insertions(+), 30 deletions(-) create mode 100644 frontend/pages/document/document.vue delete mode 100644 frontend/txt.txt diff --git a/frontend/pages.json b/frontend/pages.json index 03cf3d3..b79a08f 100644 --- a/frontend/pages.json +++ b/frontend/pages.json @@ -20,6 +20,13 @@ { "navigationBarTitleText" : "" } + }, + { + "path" : "pages/document/document", + "style" : + { + "navigationBarTitleText" : "" + } } ], "globalStyle": { diff --git a/frontend/pages/chat/chat.vue b/frontend/pages/chat/chat.vue index a660afb..266defa 100644 --- a/frontend/pages/chat/chat.vue +++ b/frontend/pages/chat/chat.vue @@ -1,15 +1,30 @@ @@ -149,10 +170,54 @@ const handleLogin = () => { color: #b0c4fa; } -.title { - font-size: 32px; +/* 登录失败弹窗样式 */ +.modal-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.5); + display: flex; + justify-content: center; + align-items: center; + z-index: 1000; +} + +.modal { + width: 80%; + max-width: 300px; + background: #fff; + border-radius: 10px; + padding: 20px; + text-align: center; +} + +.modal-title { + font-size: 18px; font-weight: bold; - color: #a020f0; /* 调整为图中相似的紫色 */ - margin-bottom: 30px; + margin-bottom: 10px; +} + +.modal-content { + font-size: 14px; + color: #333; + margin-bottom: 20px; +} + +.modal-btn { + width: 100%; + height: 40px; + background: linear-gradient(135deg, #e6e6fa, #b0c4fa); + color: #fff; + border: none; + border-radius: 20px; + font-size: 16px; + cursor: pointer; + transition: background 0.3s; +} + +.modal-btn:hover { + background: linear-gradient(135deg, #b0c4fa, #e6e6fa); } \ No newline at end of file diff --git a/frontend/pages/register/register.vue b/frontend/pages/register/register.vue index d3b9dd0..c5d5b61 100644 --- a/frontend/pages/register/register.vue +++ b/frontend/pages/register/register.vue @@ -9,22 +9,22 @@ 用户名 - + 邮箱 - + 密码 - + 确认密码 - + @@ -40,14 +40,36 @@ \ No newline at end of file diff --git a/frontend/pages/register/register.vue b/frontend/pages/register/register.vue index d3b9dd0..7b4ce64 100644 --- a/frontend/pages/register/register.vue +++ b/frontend/pages/register/register.vue @@ -9,22 +9,22 @@ 用户名 - + 邮箱 - + 密码 - + 确认密码 - + @@ -39,11 +39,33 @@ diff --git a/frontend/stores/User.js b/frontend/stores/User.js new file mode 100644 index 0000000..57f9e3e --- /dev/null +++ b/frontend/stores/User.js @@ -0,0 +1,24 @@ +import {defineStore} from "pinia" +import { ref } from "vue" + +export const useUserStore = defineStore("User",()=>{ + const token = ref(uni.getStorageSync("token") || "") + const userId = ref('') + + const setToken = (newToken) => { + token.value = newToken + uni.setStorageSync('token', newToken) + } + + + const setUserId = (newUserId) => { + userId.value = newUserId + } + + const clearToken = () => { + token.value = '' + uni.removeStorageSync('token') + } + + return {setToken,setUserId,clearToken} +}) \ No newline at end of file diff --git a/frontend/vue.config.js b/frontend/vue.config.js new file mode 100644 index 0000000..5e00501 --- /dev/null +++ b/frontend/vue.config.js @@ -0,0 +1,13 @@ +module.exports = { + devServer: { + proxy: { + '/api': { // 代理所有以/api开头的请求 + target: 'http://localhost:5101', // 后端服务器地址 + changeOrigin: true, + pathRewrite: { + '^/api': '/api' // 将路径中的/api保留 + } + } + } + } +} \ No newline at end of file -- Gitee From 2ee765db458d3bcb47641ac55aa1a5e47e3a3f88 Mon Sep 17 00:00:00 2001 From: xiaoyaolanren2 <18033910316@163.com> Date: Tue, 12 Aug 2025 17:17:46 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E9=80=BB=E8=BE=91=E5=8F=8A=E9=99=A4=E4=BA=86?= =?UTF-8?q?=E6=B5=81=E5=BC=8F=E4=BC=A0=E8=BE=93=E4=BB=A5=E5=A4=96=E7=9A=84?= =?UTF-8?q?api=E5=AF=B9=E6=8E=A5=EF=BC=88=E9=83=A8=E5=88=86=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E5=8A=9F=E8=83=BD=E5=B0=9A=E6=9C=AA=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/api/chat.js | 74 +- frontend/api/config/index.js | 36 +- frontend/pages/chat/chat.vue | 1047 +++++++++++++++++--------- frontend/pages/login/login.vue | 24 +- frontend/pages/register/register.vue | 13 +- frontend/stores/User.js | 9 +- 6 files changed, 793 insertions(+), 410 deletions(-) diff --git a/frontend/api/chat.js b/frontend/api/chat.js index df44683..36e7f8a 100644 --- a/frontend/api/chat.js +++ b/frontend/api/chat.js @@ -1,16 +1,72 @@ -import { useRequest } from "./config"; -const {request} = useRequest() +import { + useRequest +} from "./config"; -const createChat = async (chatDto)=>{ +const { + request +} = useRequest() + +export function useChatApi() { + + const createChat = async (chatDto) => { + + + var res =await request({ + url: '/AIQuestions/user', + method: 'POST', + data: chatDto, + showLoading: true + }) + + return res + } + + const getChat = async (id) => { + + var res =await request({ + url: `/AIQuestions/user/${id}`, + method: 'GET', + data: null, + showLoading: true + }) + + return res + } + + const getAllMessage = async (id)=> { + var res =await request({ + url: `/AIQuestions/user/message/${id}`, + method: 'GET', + data: null, + showLoading: true + }) + + return res + } + const deleteChat = async (id) => { + var res = await request({ + url:`/AIQuestions/user/${id}`, + method:'DELETE', + data:null, + showLoading:true + }) - var res = request({ - url: '/AIQuestions/user', - method:'POST', - data:chatDto, - showLoading:true - }) + return res + } + + const conversation = async (id) => { + var res = await request({ + url:`/AIQuestions/user/${id}`, + method:'POST', + data:null, + showLoading:true + }) + + return res + } + return {conversation,createChat,deleteChat,getAllMessage,getChat} } \ No newline at end of file diff --git a/frontend/api/config/index.js b/frontend/api/config/index.js index 02d64c4..729354d 100644 --- a/frontend/api/config/index.js +++ b/frontend/api/config/index.js @@ -70,7 +70,7 @@ export function useRequest() { return response.data } catch (error) { // 统一错误处理 - handleRequestError(error, mergedConfig) + // handleRequestError(error, mergedConfig) throw error } finally { if (mergedConfig.showLoading) { @@ -105,24 +105,24 @@ function handleUnauthorized() { // #endif } -// 错误处理 -function handleRequestError(error, config) { - console.error('请求错误:', error) +// // 错误处理 +// function handleRequestError(error, config) { +// console.error('请求错误:', error) - // 不显示静默请求的错误 - if (config.silent) return +// // 不显示静默请求的错误 +// if (config.silent) return - let message = '网络请求失败' +// let message = '网络请求失败' - if (error.errMsg.includes('timeout')) { - message = '请求超时,请检查网络' - } else if (error.errMsg.includes('network')) { - message = '网络不可用,请检查连接' - } +// if (error.errMsg.includes('timeout')) { +// message = '请求超时,请检查网络' +// } else if (error.errMsg.includes('network')) { +// message = '网络不可用,请检查连接' +// } - uni.showToast({ - title: message, - icon: 'none', - duration: 3000 - }) -} \ No newline at end of file +// uni.showToast({ +// title: message, +// icon: 'none', +// duration: 3000 +// }) +// } \ No newline at end of file diff --git a/frontend/pages/chat/chat.vue b/frontend/pages/chat/chat.vue index 266defa..e9d4600 100644 --- a/frontend/pages/chat/chat.vue +++ b/frontend/pages/chat/chat.vue @@ -1,378 +1,685 @@ \ No newline at end of file diff --git a/frontend/pages/login/login.vue b/frontend/pages/login/login.vue index 89db9a4..0686c71 100644 --- a/frontend/pages/login/login.vue +++ b/frontend/pages/login/login.vue @@ -29,14 +29,14 @@ - - +