From 8f5e6b53984c36772130fe1b67e90ae8e5024d76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A2=81=E6=B3=BD=E5=86=9B?=
<5654792+tcubic21@user.noreply.gitee.com>
Date: Mon, 24 Feb 2025 17:34:19 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env | 1 +
.env.development | 1 +
.env.production | 6 +
.env.test | 6 +
.gitignore | 26 +
.vscode/extensions.json | 3 +
README.md | 0
config/config.js | 25 +
deploy.config.js | 24 +
index.html | 15 +
jsconfig.json | 11 +
package.json | 46 +
src/api/Axios.js | 35 +
src/api/http.js | 73 +
src/api/index.js | 27 +
src/assets/images/index/arrow-icon.png | Bin 0 -> 3255 bytes
src/assets/images/index/bg.jpg | Bin 0 -> 1231315 bytes
src/assets/images/index/boat-2.png | Bin 0 -> 16652 bytes
src/assets/images/index/boat.png | Bin 0 -> 14376 bytes
src/assets/images/index/bottom-bird-1.png | Bin 0 -> 116872 bytes
src/assets/images/index/cloud-bottom.png | Bin 0 -> 141388 bytes
src/assets/images/index/crane-1.png | Bin 0 -> 8619 bytes
src/assets/images/index/crane-2.png | Bin 0 -> 9389 bytes
src/assets/images/index/crane-3.png | Bin 0 -> 12241 bytes
src/assets/images/index/line.png | Bin 0 -> 10932 bytes
src/assets/images/index/location-bj.png | Bin 0 -> 105829 bytes
src/assets/images/index/location-gz.png | Bin 0 -> 249895 bytes
src/assets/images/index/location-sh.png | Bin 0 -> 147224 bytes
src/assets/images/index/location-wh.png | Bin 0 -> 62351 bytes
src/assets/images/index/location-xa.png | Bin 0 -> 192440 bytes
src/assets/images/index/name-bj.png | Bin 0 -> 10629 bytes
src/assets/images/index/name-gz.png | Bin 0 -> 10263 bytes
src/assets/images/index/name-sh.png | Bin 0 -> 10276 bytes
src/assets/images/index/name-wh.png | Bin 0 -> 10486 bytes
src/assets/images/index/name-xa.png | Bin 0 -> 61517 bytes
src/assets/images/index/sign-icon.png | Bin 0 -> 7490 bytes
src/assets/images/index/tips.png | Bin 0 -> 16921 bytes
src/assets/images/index/title.png | Bin 0 -> 126492 bytes
src/assets/images/index/top-bird-1.png | Bin 0 -> 1326 bytes
src/assets/images/index/top-bird-2.png | Bin 0 -> 2492 bytes
src/assets/images/share.jpg | Bin 0 -> 48513 bytes
src/assets/media/bgm.mp3 | Bin 0 -> 884236 bytes
src/assets/media/click.mp3 | Bin 0 -> 6351 bytes
src/assets/media/entry.mp3 | Bin 0 -> 19606 bytes
src/components/Index.vue | 23 +
src/components/Loading.vue | 44 +
src/data/data.js | 31 +
src/data/imgList.js | 20 +
src/page/Home/App.vue | 25 +
src/page/Home/main.js | 26 +
src/plugins/Preloader.js | 31 +
src/plugins/algorithm.js | 13 +
src/plugins/hooks.js | 49 +
src/plugins/index.js | 521 ++++
src/plugins/wxshare.js | 60 +
src/store/index.js | 15 +
src/styles/global.scss | 52 +
vite.config.js | 141 +
yarn.lock | 2970 +++++++++++++++++++++
59 files changed, 4320 insertions(+)
create mode 100644 .env
create mode 100644 .env.development
create mode 100644 .env.production
create mode 100644 .env.test
create mode 100644 .gitignore
create mode 100644 .vscode/extensions.json
create mode 100644 README.md
create mode 100644 config/config.js
create mode 100644 deploy.config.js
create mode 100644 index.html
create mode 100644 jsconfig.json
create mode 100644 package.json
create mode 100644 src/api/Axios.js
create mode 100644 src/api/http.js
create mode 100644 src/api/index.js
create mode 100644 src/assets/images/index/arrow-icon.png
create mode 100644 src/assets/images/index/bg.jpg
create mode 100644 src/assets/images/index/boat-2.png
create mode 100644 src/assets/images/index/boat.png
create mode 100644 src/assets/images/index/bottom-bird-1.png
create mode 100644 src/assets/images/index/cloud-bottom.png
create mode 100644 src/assets/images/index/crane-1.png
create mode 100644 src/assets/images/index/crane-2.png
create mode 100644 src/assets/images/index/crane-3.png
create mode 100644 src/assets/images/index/line.png
create mode 100644 src/assets/images/index/location-bj.png
create mode 100644 src/assets/images/index/location-gz.png
create mode 100644 src/assets/images/index/location-sh.png
create mode 100644 src/assets/images/index/location-wh.png
create mode 100644 src/assets/images/index/location-xa.png
create mode 100644 src/assets/images/index/name-bj.png
create mode 100644 src/assets/images/index/name-gz.png
create mode 100644 src/assets/images/index/name-sh.png
create mode 100644 src/assets/images/index/name-wh.png
create mode 100644 src/assets/images/index/name-xa.png
create mode 100644 src/assets/images/index/sign-icon.png
create mode 100644 src/assets/images/index/tips.png
create mode 100644 src/assets/images/index/title.png
create mode 100644 src/assets/images/index/top-bird-1.png
create mode 100644 src/assets/images/index/top-bird-2.png
create mode 100644 src/assets/images/share.jpg
create mode 100644 src/assets/media/bgm.mp3
create mode 100644 src/assets/media/click.mp3
create mode 100644 src/assets/media/entry.mp3
create mode 100644 src/components/Index.vue
create mode 100644 src/components/Loading.vue
create mode 100644 src/data/data.js
create mode 100644 src/data/imgList.js
create mode 100644 src/page/Home/App.vue
create mode 100644 src/page/Home/main.js
create mode 100644 src/plugins/Preloader.js
create mode 100644 src/plugins/algorithm.js
create mode 100644 src/plugins/hooks.js
create mode 100644 src/plugins/index.js
create mode 100644 src/plugins/wxshare.js
create mode 100644 src/store/index.js
create mode 100644 src/styles/global.scss
create mode 100644 vite.config.js
create mode 100644 yarn.lock
diff --git a/.env b/.env
new file mode 100644
index 0000000..d4432fc
--- /dev/null
+++ b/.env
@@ -0,0 +1 @@
+VITE_MODE = Dev
\ No newline at end of file
diff --git a/.env.development b/.env.development
new file mode 100644
index 0000000..2ee1b39
--- /dev/null
+++ b/.env.development
@@ -0,0 +1 @@
+VITE_MODE = dev
\ No newline at end of file
diff --git a/.env.production b/.env.production
new file mode 100644
index 0000000..54ce69a
--- /dev/null
+++ b/.env.production
@@ -0,0 +1,6 @@
+VITE_MODE = production
+VITE_HOST = https://hd.xglpa.com
+VITE_CDN = https://cdn.xglpa.com
+VITE_FOLDER = /palc-lantern-cash/
+VITE_API = /pingan-exchange-yx-2025
+VITE_ACTIVITY_URL = https://w.pingan.com.cn/lckj/pawm-mmo-activity-xgl-frontend/index.html
\ No newline at end of file
diff --git a/.env.test b/.env.test
new file mode 100644
index 0000000..d0c5f99
--- /dev/null
+++ b/.env.test
@@ -0,0 +1,6 @@
+VITE_MODE = test
+VITE_HOST = https://test.szxgl.cn
+VITE_CDN = https://test.szxgl.cn
+VITE_FOLDER = /palc-lantern-cash/
+VITE_API = /pingan-exchange-yx-2025
+VITE_ACTIVITY_URL = https://w-stg.pingan.com.cn/lckj/pawm-mmo-activity-xgl-frontend/index.html
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8e2d119
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,26 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+*.zip
+*.mp4
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..c0a6e5a
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+ "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/config/config.js b/config/config.js
new file mode 100644
index 0000000..5c3b767
--- /dev/null
+++ b/config/config.js
@@ -0,0 +1,25 @@
+// px转viewport配置
+export default {
+ unitToConvert: 'px',
+ viewportWidth: file => {
+ let num = 750;
+ //van是375
+ if (file.indexOf('van') > 0) {
+ num = 375;
+ }
+ return num;
+ },
+ unitPrecision: 5, // 单位转换后保留的精度
+ propList: ['*'], // 能转化为vw的属性列表
+ viewportUnit: 'vw', // 希望使用的视口单位
+ fontViewportUnit: 'vw', // 字体使用的视口单位
+ selectorBlackList: ['ignore-'], // 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位。
+ minPixelValue: 1, // 设置最小的转换数值,如果为1的话,只有大于1的值会被转换
+ mediaQuery: true, // 媒体查询里的单位是否需要转换单位
+ replace: true, // 是否直接更换属性值,而不添加备用属性
+ exclude: [], // 忽略某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件
+ include: [], // 如果设置了include,那将只有匹配到的文件才会被转换
+ landscape: false, // 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)
+ landscapeUnit: 'vw', // 横屏时使用的单位
+ landscapeWidth: 1628, // 横屏时使用的视口宽度
+}
\ No newline at end of file
diff --git a/deploy.config.js b/deploy.config.js
new file mode 100644
index 0000000..3c23549
--- /dev/null
+++ b/deploy.config.js
@@ -0,0 +1,24 @@
+export default {
+ "test": {
+ host: '106.75.145.24',//服务器IP
+ port: 22,//服务器端口
+ username: 'root',//服务器ssh登录用户名
+ password: 'wehjdfh&4)2%2@kg',//服务器ssh登录密码
+ serverpath: '/mnt/services/tomcat-8090-test/webapps/palc-lantern-cash',//服务器web目录 切记不要加/ 当前目录不存在会创建目录并且当前目录所有文件会被清空重新部署前端项目
+ },
+ "prod": {
+ host: '120.77.32.131',//8.135.39.87
+ port: 22,//服务器端口
+ username: 'root',//服务器ssh登录用户名
+ password: 'JDhweh*63*03%3267',//服务器ssh登录密码
+ serverpath: '/mnt/apps/palc-lantern-cash',//服务器web目录 切记不要加/ 当前目录不存在会创建目录并且当前目录所有文件会被清空重新部署前端项目
+ },
+ "cdn": {
+ host: '120.77.32.131',//8.135.39.87
+ port: 22,//服务器端口
+ username: 'root',//服务器ssh登录用户名
+ password: 'JDhweh*63*03%3267',//服务器ssh登录密码
+ serverpath: '/mnt/cdn/palc-lantern-cash',//服务器web目录 切记不要加/ 当前目录不存在会创建目录并且当前目录所有文件会被清空重新部署前端项目
+ },
+ //...其他自定义环境
+}
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..eb6c75e
--- /dev/null
+++ b/index.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ <%- title%>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000..b05253c
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,11 @@
+{
+ "compilerOptions": {
+ "baseUrl": "./",
+ "allowJs": true,
+ "paths": {
+ "@/*": [
+ "src/*"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..c54e974
--- /dev/null
+++ b/package.json
@@ -0,0 +1,46 @@
+{
+ "name": "vite-4",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "test": "vite --mode test",
+ "build:test": "vite build --mode test",
+ "build:pro": "vite build --mode production",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@vueuse/core": "^10.5.0",
+ "alloytouch": "^0.3.0",
+ "amfe-flexible": "^2.2.1",
+ "axios": "^1.5.0",
+ "fabric": "^5.3.0",
+ "gsap": "^3.12.2",
+ "howler": "^2.2.4",
+ "pinia": "^2.1.6",
+ "pixi.js": "7.2.4",
+ "qs": "^6.11.2",
+ "three": "0.148.0",
+ "three-orbit-controls": "^82.1.0",
+ "vant": "^4.7.0",
+ "vconsole": "^3.15.1",
+ "vue": "^3.3.4",
+ "vue-router": "^4.2.5",
+ "weixin-js-sdk": "^1.6.0"
+ },
+ "devDependencies": {
+ "@vant/auto-import-resolver": "^1.0.1",
+ "@vitejs/plugin-vue": "^4.2.3",
+ "autoprefixer": "^10.4.16",
+ "postcss-px-to-viewport-8-plugin": "^1.2.3",
+ "sass": "^1.68.0",
+ "sass-loader": "^13.3.2",
+ "unplugin-auto-import": "^0.16.6",
+ "unplugin-vue-components": "^0.25.2",
+ "vite": "^4.4.5",
+ "vite-plugin-compression": "^0.5.1",
+ "vite-plugin-html": "^3.2.0",
+ "vite-plugin-lvdeploy": "^1.2.3"
+ }
+}
diff --git a/src/api/Axios.js b/src/api/Axios.js
new file mode 100644
index 0000000..c575cb4
--- /dev/null
+++ b/src/api/Axios.js
@@ -0,0 +1,35 @@
+import axios from 'axios'
+import QS from 'qs';
+
+
+let url = import.meta.env.VITE_HOST + import.meta.env.VITE_API
+
+// 创建axios
+const service = axios.create({
+ baseURL: url,
+ timeout: 50000,
+});
+
+
+
+// 添加请求拦截器
+service.interceptors.request.use((config) => {
+ // 在发送请求之前做些什么
+ config
+ return config;
+}, function (error) {
+ // 对请求错误做些什么
+ return Promise.reject(error);
+});
+
+// 添加响应拦截器
+service.interceptors.response.use(
+ (response) => {
+ return response.data || {};
+ }, (error) => {
+
+
+ return Promise.reject(error);
+ });
+
+export default service;
\ No newline at end of file
diff --git a/src/api/http.js b/src/api/http.js
new file mode 100644
index 0000000..efa51c5
--- /dev/null
+++ b/src/api/http.js
@@ -0,0 +1,73 @@
+import service from './Axios'
+import qs from "qs";
+
+
+// json格式请求头
+const headerJSON = {
+ "Content-Type": "application/json;charset=UTF-8",
+};
+// FormData格式请求头
+const headerFormData = {
+ "Content-Type": "application/x-www-form-urlencoded",
+};
+
+
+const http = {
+ /**
+ * methods: 请求
+ * @param url 请求地址
+ * @param params 请求参数
+ * @param json 判断数据发送是否是json格式: true-为是 false-为否
+ */
+ get(url, params, json, authorization) {
+ if (authorization) {
+ headerJSON['authorization'] = authorization
+ }
+ const config = {
+ method: "get",
+ url: url,
+ headers: json ? headerJSON : headerFormData
+ };
+ if (params) config.params = params;
+ return service(config);
+ },
+ post(url, params, json, authorization) {
+
+ if (authorization) {
+ headerJSON['authorization'] = authorization
+ }
+
+ const config = {
+ method: "post",
+ url: url,
+ headers: json ? headerJSON : headerFormData
+ };
+
+ if (params) config.data = json ? params : qs.stringify(params);
+
+ return service(config);
+ },
+ put(url, params, json) {
+ const config = {
+ method: "put",
+ url: url,
+ headers: headerFormData
+ };
+ if (params) config.params = params;
+ return service(config);
+ },
+ delete(url, params, json) {
+ const config = {
+ method: "delete",
+ url: url,
+ headers: headerFormData
+ };
+ if (params) config.params = params;
+ return service(config);
+ },
+
+}
+
+
+//导出
+export default http;
\ No newline at end of file
diff --git a/src/api/index.js b/src/api/index.js
new file mode 100644
index 0000000..85aa173
--- /dev/null
+++ b/src/api/index.js
@@ -0,0 +1,27 @@
+import http from './http'
+
+// 获取code
+export function authorize(data, authorization) {
+ return http.get("/wechatApi/oauth2/wxLogin",
+ data,
+ true,
+ );
+}
+
+// 获取用户信息
+export function getUserInfo(data, authorization) {
+ return http.get("/wechatApi/oauth2/getUserInfo",
+ data,
+ true,
+ );
+}
+
+// 兑奖
+export function exchangePrize(data, authorization) {
+ return http.post("/pa/rewards",
+ data,
+ true,
+ authorization
+ );
+}
+
diff --git a/src/assets/images/index/arrow-icon.png b/src/assets/images/index/arrow-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..b57f79b563db0a1a99271c3b50309e7de1358939
GIT binary patch
literal 3255
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