v2.8-2.9版本已完成

This commit is contained in:
P1kaj1uu 2023-06-02 21:16:34 +08:00
parent 847ab3d06c
commit 6108bbbeee
10 changed files with 141 additions and 53 deletions

12
package-lock.json generated
View File

@ -2807,9 +2807,9 @@
"dev": true
},
"clean-css": {
"version": "5.3.1",
"resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.1.tgz",
"integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==",
"version": "5.3.2",
"resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.2.tgz",
"integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==",
"dev": true,
"requires": {
"source-map": "~0.6.0"
@ -4316,9 +4316,9 @@
"dev": true
},
"html-webpack-plugin": {
"version": "5.5.0",
"resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz",
"integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==",
"version": "5.5.1",
"resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz",
"integrity": "sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA==",
"dev": true,
"requires": {
"@types/html-minifier-terser": "^6.0.0",

View File

@ -14,6 +14,7 @@
<script src="./three/simplex-noise.js"></script>
<script src="./three/OBJLoader.js"></script>
<script src="./three/gsap.min.js"></script>
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<title>不见水星记</title>
</head>
<body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

View File

@ -27,7 +27,8 @@ import {
Notification,
Message,
MessageBox,
Tooltip
Tooltip,
Loading
} from 'element-ui'
Vue.use(Button)
@ -55,4 +56,5 @@ import {
Vue.prototype.$notify = Notification
Vue.prototype.$message = Message
Vue.prototype.$msgbox = MessageBox
Vue.prototype.$confirm = MessageBox.confirm
Vue.prototype.$confirm = MessageBox.confirm
Vue.prototype.$loading = Loading.service

21
src/utils/checkVersion.js Normal file
View File

@ -0,0 +1,21 @@
/*
* @Description: 检测是否版本更新
* @Author: 不见水星记P1kaj1uu
*/
import { sleep } from '@/utils/sleep'
async function check() {
const res = await fetch(`${location.origin}${location.pathname}?stamp=${Date.now()}`)
const text = await res.text() // html
const new_hash = text.match(/src="(.*)index(.*).js"><\/script>/)[2]
const current_hash = document.getElementsByTagName('script')[0].src.match(/index(.*).js/)[1] // hash
if (new_hash !== current_hash) {
confirm('有新版本发布, 是否更新?') && location.reload()
}
}
function checkUpdate () {
sleep(6000).then(() => {
check()
})
}
export default checkUpdate

View File

@ -29,7 +29,7 @@
<ol>
<li>1&nbsp;.&nbsp;该项目准备开源已部署服务器</li>
<li>2&nbsp;.&nbsp;以后可能会尝试网站备案</li>
<li style="font-weight: 600;">3&nbsp;.&nbsp;本站只提供提供音乐影视解析和ChatGPT服务请勿用于任何商业用途如有侵权请联系我</li>
<li style="font-weight: 600;">3&nbsp;.&nbsp;本站只提供音乐影视解析和ChatGPT服务请勿用于任何商业用途如有侵权请联系我</li>
<li style="font-weight: 600;">4&nbsp;.&nbsp;请不要黑我服务器</li>
<li style="font-weight: 600;">5&nbsp;.&nbsp;请不要入侵我服务器</li>
<li style="font-weight: 600;">6&nbsp;.&nbsp;请不要拿我服务器挖矿</li>

View File

@ -21,6 +21,14 @@
<!-- 用户 -->
<template v-if="item.role === 'user'">
<div class="me chat">
<el-tooltip
class="item"
effect="dark"
content="复制发送的内容"
placement="top"
>
<img src="@/assets/images/gpt/copy.png" @click="copySendText" class="copySendImg" alt="复制">
</el-tooltip>
<div v-html="markdown(item.content)"></div>
</div>
<div class="infoMe-time">
@ -34,7 +42,7 @@
<el-tooltip
class="item"
effect="dark"
content="复制该内容"
content="复制该响应的内容"
placement="top"
>
<img src="@/assets/images/gpt/copy.png" @click="copy" class="copyImg" alt="复制">
@ -42,7 +50,7 @@
<el-tooltip
class="item"
effect="dark"
content="播放该内容"
content="播放该响应的内容"
placement="top"
>
<img src="@/assets/images/gpt/trumpet.png" @click="playSoundFn" class="trumpetImg" alt="播放">
@ -233,7 +241,7 @@ export default {
message.content += data.choices.map((_) => _.delta.content).join('')
},
(err) => {
message.content += "宝,我出错啦,这个问题我也不知道该怎么回答你呢,要不你慢一点,容我再想一想~(建议:清空会话记录试试..."
message.content += '宝,我出错啦,这个问题我也不知道该怎么回答你呢,要不你慢一点,容我再想一想~(建议:清空会话记录试试...'
this.$message.error('出错啦~建议刷新页面后,再重新尝试')
console.log('错误!', err)
},
@ -290,7 +298,7 @@ export default {
} catch (__) {}
}
return (
'<pre class="hljs"><code>' +
'<pre class="hljs"><button class="CodesBlock" @click="copyCodeBlock">复制代码</button><code>' +
md.utils.escapeHtml(str) +
'</code></pre>'
)
@ -323,7 +331,20 @@ export default {
document.execCommand('copy')
// <textarea>
document.body.removeChild(textarea)
this.$message.success('复制成功')
this.$message.success('复制结果成功')
},
//
copySendText (e) {
const input = e.target.parentNode.querySelectorAll('p')
const textarea = document.createElement('textarea')
input.forEach(item => {
textarea.value += item.innerText || item.textContent
})
document.body.appendChild(textarea)
textarea.select()
document.execCommand('copy')
document.body.removeChild(textarea)
this.$message.success('复制对话成功')
},
//
copyCodeBlock (e) {
@ -458,6 +479,7 @@ export default {
position: relative;
}
.me {
position: relative;
padding: 10px;
border-radius: 20px 20px 5px 20px;
background-color: #95ec69;
@ -552,6 +574,16 @@ export default {
height: 25px;
}
.copySendImg {
position: absolute;
left: -35px;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
width: 25px;
height: 25px;
}
/* 隐藏默认的滚动条 */
::-webkit-scrollbar {
display: none;

View File

@ -7,7 +7,8 @@
<!-- 头部区域 -->
<el-header>
<div>
<h3 style="user-select: none; cursor: pointer">VIP视频在线解析</h3>
<img src="@/assets/images/home/logo.png" class="webLogo" alt="logo">
<h3 style="user-select: none; cursor: pointer">ChattyPlay</h3>
</div>
<a href="#" class="button button--bird" @click="ContactMeFn">
<div class="button__wrapper">
@ -70,11 +71,17 @@
<!-- 路由占位符 -->
<router-view></router-view>
</el-main>
<el-footer v-show="$route.path === '/home/welcome'">
<div>
声明本站只提供影视解析服务请勿用于任何商业用途如有侵权请联系我
<el-footer style="font-family: 'Long Cang',cursive;" v-show="$route.path === '/' || $route.path === '/home/music'">
<div style="display: flex; justify-content: center;">
<div>[ 来日方长</div>
<div class="animated-icon">💗</div>
<div>未来可期 ]</div>
</div>
<div>
<span id="busuanzi_container_site_pv" style="color: #f2ffff;">
您是第&nbsp;<span id="busuanzi_value_site_pv">***</span>&nbsp;位访问本网站的友友~
</span>
</div>
<div>联系方式Dveiklokk微信号</div>
<div>© Copyright 2023 P1Kaj1uu. All Rights Reserved.</div>
</el-footer>
</el-container>
@ -169,7 +176,7 @@ export default {
align-items: center;
h3 {
margin-left: 25px;
margin-left: 10px;
}
}
}
@ -221,6 +228,44 @@ export default {
cursor: pointer;
}
.animated-icon {
margin: 0px 7px;
animation: iconAnimate 1.35s ease-in-out infinite;
}
@keyframes iconAnimate {
0%, 100% {
transform: scale(1);
}
10%, 30% {
transform: scale(.9);
}
20%, 40%, 50%, 60%, 70%, 80% {
transform: scale(1.1);
}
}
.webLogo {
margin-left: 10px;
border-radius: 50%;
cursor: pointer;
width: 50px;
height: 50px;
}
@keyframes logoAnimation {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.webLogo:hover {
animation: logoAnimation 1.5s linear infinite;
}
.button--bird {
--main_color: #f4cf47;
--sub_color1: #f4e19c;

View File

@ -31,7 +31,14 @@
<ul class="song_list">
<li v-for="item in musicList">
<a href="javascript:;" @click="playMusic(item.id)"></a>
<b v-cloak :class="[item.id === ids ? 'activeName' : '']">{{ item.name }}</b>
<el-tooltip
class="item"
effect="dark"
:content="item.artists[0].name"
placement="right"
>
<b @click="playMusic(item.id)" style="cursor: pointer;" v-cloak :class="[item.id === ids ? 'activeName' : '']">{{ item.name }}</b>
</el-tooltip>
<span v-if="item.mvid != 0" @click="playMV(item.mvid)"
><i></i
></span>
@ -127,17 +134,26 @@ export default {
that.query = ''
return
}
const loading = that.$loading({
lock: true,
text: '正在拼命搜索加载中...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
axios.get('https://autumnfish.cn/search?keywords=' + this.query).then(
function (response) {
console.log(response)
if (JSON.stringify(response.data.result).length === 2) {
loading.close()
that.$message('当前搜索结果为空,请换一个想听的歌曲或歌手,谢谢!')
} else {
that.musicList = response.data.result.songs
loading.close()
}
},
function (err) {}
).catch(error => {
loading.close()
that.$message('接口出错啦,请刷新页面重试!')
})
},

View File

@ -1,11 +1,6 @@
// const { defineConfig } = require('@vue/cli-service')
// //
// const px2rem = require("postcss-px2rem");
// //
// const postcss = px2rem({
// //rem baseSize
// remUnit: 192, // 稿1920/10
// });
const HtmlWebpackPlugin = require('html-webpack-plugin')
const packageJson = require('./package.json')
module.exports = {
devServer: {
proxy: {
@ -18,28 +13,4 @@ module.exports = {
}
}
},
// chainWebpack: (config) => {
// config.module
// .rule("css")
// .test(/\.css$/)
// .oneOf("vue")
// .use("px2rem-loader")
// .loader("px2rem-loader")
// .options({
// remUnit: 192,
// remPrecision: 8,
// })
// .end();
// },
// css: {
// loaderOptions: {
// postcss: {
// plugins: [postcss]
// },
// },
// },
}
// module.exports = defineConfig({
// transpileDependencies: true,
// productionSourceMap: false
// })