初始化

This commit is contained in:
kaizheng(郑凯) 2025-01-28 15:25:35 +08:00
commit b19cdb11c9
315 changed files with 39060 additions and 0 deletions

4
.browserslistrc Normal file
View File

@ -0,0 +1,4 @@
> 1%
last 2 versions
not dead
not ie 11

15
.eslintrc.js Normal file
View File

@ -0,0 +1,15 @@
module.exports = {
root: true,
env: {
node: true,
},
extends: ["plugin:vue/vue3-essential", "eslint:recommended"],
parserOptions: {
parser: "@babel/eslint-parser",
},
rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
"vue/multi-word-component-names": "off",
},
};

24
.gitignore vendored Normal file
View File

@ -0,0 +1,24 @@
.DS_Store
.upchina
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

24
README.md Normal file
View File

@ -0,0 +1,24 @@
# privatelivestreamingh5
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

12
auto-imports.d.ts vendored Normal file
View File

@ -0,0 +1,12 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
export {}
declare global {
const showConfirmDialog: typeof import('vant/es')['showConfirmDialog']
const showDialog: typeof import('vant/es')['showDialog']
const showImagePreview: typeof import('vant/es')['showImagePreview']
const showToast: typeof import('vant/es')['showToast']
}

4
babel.config.js Normal file
View File

@ -0,0 +1,4 @@
module.exports = {
plugins: ["@babel/plugin-proposal-optional-chaining"],
presets: ["@vue/cli-plugin-babel/preset"],
};

48
components.d.ts vendored Normal file
View File

@ -0,0 +1,48 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
export {}
declare module 'vue' {
export interface GlobalComponents {
AuthContainer: typeof import('./src/components/AuthContainer.vue')['default']
ColumnItem: typeof import('./src/components/ColumnItem.vue')['default']
Container: typeof import('./src/components/Container.vue')['default']
Empty: typeof import('./src/components/Empty.vue')['default']
HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
NavBar: typeof import('./src/components/NavBar.vue')['default']
QuestionnaireDetail: typeof import('./src/components/QuestionnaireDetail.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
ServerItem: typeof import('./src/components/ServerItem.vue')['default']
SvgIcon: typeof import('./src/components/SvgIcon/index.vue')['default']
VanActionSheet: typeof import('vant/es')['ActionSheet']
VanButton: typeof import('vant/es')['Button']
VanCheckbox: typeof import('vant/es')['Checkbox']
VanCheckboxGroup: typeof import('vant/es')['CheckboxGroup']
VanDialog: typeof import('vant/es')['Dialog']
VanField: typeof import('vant/es')['Field']
VanForm: typeof import('vant/es')['Form']
VanIcon: typeof import('vant/es')['Icon']
VanImage: typeof import('vant/es')['Image']
VanList: typeof import('vant/es')['List']
VanLoading: typeof import('vant/es')['Loading']
VanNavBar: typeof import('vant/es')['NavBar']
VanOverlay: typeof import('vant/es')['Overlay']
VanPopup: typeof import('vant/es')['Popup']
VanPullRefresh: typeof import('vant/es')['PullRefresh']
VanRadio: typeof import('vant/es')['Radio']
VanRadioGroup: typeof import('vant/es')['RadioGroup']
VanSearch: typeof import('vant/es')['Search']
VanSwipe: typeof import('vant/es')['Swipe']
VanSwipeItem: typeof import('vant/es')['SwipeItem']
VanTab: typeof import('vant/es')['Tab']
VanTabs: typeof import('vant/es')['Tabs']
VanTextEllipsis: typeof import('vant/es')['TextEllipsis']
VideoItem: typeof import('./src/components/VideoItem.vue')['default']
VideoItem2: typeof import('./src/components/VideoItem2.vue')['default']
WaterList: typeof import('./src/components/WaterList.vue')['default']
}
}

19
jsconfig.json Normal file
View File

@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
}
}

15707
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

58
package.json Normal file
View File

@ -0,0 +1,58 @@
{
"name": "SYZBH5Server",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"package": "up release-super dist -p syzbh5 SYZBH5Server -C -t ./template",
"release": "npm run build && npm run package",
"deploy": "up upload .upchina/SYZBH5Server.tar.gz -a DemoVideoDev -s SYZBH5Server"
},
"dependencies": {
"@better-scroll/mouse-wheel": "^2.5.1",
"@better-scroll/pull-down": "^2.5.1",
"@stomp/stompjs": "^7.0.0",
"@vueuse/core": "^10.9.0",
"amfe-flexible": "^2.2.1",
"axios": "^1.6.8",
"better-scroll": "^2.5.1",
"clipboard": "^2.0.11",
"core-js": "^3.8.3",
"crypto-js": "^4.2.0",
"dayjs": "^1.11.11",
"js-cookie": "^3.0.5",
"mitt": "^3.0.1",
"page-lifecycle": "^0.1.2",
"qrcode": "^1.5.3",
"sockjs-client": "^1.6.1",
"tcplayer.js": "^4.9.1",
"vant": "^4.8.11",
"vconsole": "^3.15.1",
"vue": "^3.2.13",
"vue-router": "^4.0.3",
"vue-waterfall-plugin-next": "^2.4.3",
"vue3-hash-calendar": "^1.1.3",
"vuex": "^4.0.0"
},
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@vant/auto-import-resolver": "^1.1.0",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"postcss-pxtorem": "^6.1.0",
"sass": "^1.32.7",
"sass-loader": "^12.0.0",
"svg-sprite-loader": "^6.0.11",
"unplugin-auto-import": "^0.17.5",
"unplugin-vue-components": "^0.26.0"
}
}

14
postcss.config.js Normal file
View File

@ -0,0 +1,14 @@
module.exports = {
plugins: {
"postcss-pxtorem": {
// 判断是否是vant的文件 如果是就使用 37.5为根节点字体大小
rootValue({ file }) {
// 否则使用75因为vant使用的设计标准为375 但市场现在的主流设置尺寸是750
return file.indexOf("vant") !== -1 ? 37.5 : 75;
},
// 配置的文件尺寸需要转化为rem *表示所有的都要转化
// 需要转换的css属性默认*全部
propList: ["*"],
},
},
};

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

53
public/index.html Normal file
View File

@ -0,0 +1,53 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<script src="<%= BASE_URL %>static/js/config.js"></script>
<script src="<%= BASE_URL %>static/js/jquery.min.js"></script>
<script src="<%= BASE_URL %>static/js/up_share.min.js"></script>
<style type="text/css">
@media screen and (min-width: 480px) {
html {
width: 480px !important;
font-size: 37.5px !important;
margin: 0 auto;
background-color: #69696b;
}
.van-nav-bar--fixed,
.video-wrap {
width: 480px !important;
left: auto !important;
right: auto !important;
}
.van-popup--bottom {
max-width: 480px !important;
left: 50% !important;
margin-left: -240px;
}
.submit-buttom {
width: 480px !important;
transform: translateX(-50%);
left: 50% !important;
}
}
</style>
<title> </title>
</head>
<body>
<noscript>
<strong
>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
properly without JavaScript enabled. Please enable it to
continue.</strong
>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

BIN
public/static/images/0.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
public/static/images/1.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
public/static/images/2.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,9 @@
window.config = {
wxAuthUrl: "https://clogin.test.upchina.com/wx_auth?callback=",
webAuthUrl: "https://clogin.test.upchina.com/new",
VConsole: true,
userIdList: [],
shareEnv: "production",
testReactionId: "21023",
testReactionUserId: "csht003",
};

4
public/static/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(n){function e(n,e){var a="UPEvent."+n;t.exec(a,e)}var t={},a={},o=(new Date).getTime();t.exec=function(n,e){e=e||{};var t=++o;e.callbackId=t,a[t]=e.callback||function(n,e){},delete e.callback;var i='up://["'+n+'",'+JSON.stringify(e)+"]";prompt("TITLE",i)},n.nativeCallback=function(n,e,t){a[n]&&(a[n](e,t,JSON.parse(t)),delete a[n])},n.gCreateEvent=function(n,e){var t=document.createEvent("Events");if(t.initEvent(n,!1,!1),e)for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return t};var i=function(n){this.type=n,this.handleMap={},this.count=0,this.onHandleCountChange=null};n.gEventHandleMap={create:function(n){return gEventHandleMap[n]=new i(n)},count:0},i.prototype.addEvent=function(n){var e=n.upEventFlag;e||(e=gEventHandleMap.count++,n.upEventFlag=e),this.handleMap[e]||(this.handleMap[e]=n,1==++this.count&&this.onHandleCountChange&&this.onHandleCountChange())},i.prototype.removeEvent=function(n){var e=n.upEventFlag;this.handleMap[e]&&(delete this.handleMap[e],0==--this.count&&this.onHandleCountChange&&this.onHandleCountChange())},i.prototype.fire=function(n){if(this.count){var e=[],t=0,a=Object.keys(this.handleMap);for(t=0;t<a.length;t++)e.push(this.handleMap[a[t]]);for(t=0;t<e.length;t++)e[t](n)}},t.addEventListener=function(n,t){var a=gEventHandleMap[n];a||(a=gEventHandleMap.create(n),a.onHandleCountChange=function(){e(n,{count:this.count})}),a.addEvent(t)},t.removeEventListener=function(n,e){var t=gEventHandleMap[n];t&&t.removeEvent(e)},n.nativeFireEvent=function(e,t){var a=gEventHandleMap[e];if(a){var o=n.gCreateEvent(e,JSON.parse(t));a.fire(o)}},n.upNativeComm=t}(window);

32
public/static/js/up_share.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,151 @@
const upNativeComm = {};
const cmdQueue = {};
const SCHEME = "up";
let count = new Date().getTime();
upNativeComm.exec = function exec(cmd, option) {
option = option || {};
count += 1;
const callbackId = count;
option.callbackId = callbackId;
cmdQueue[callbackId] = option.callback || function callback() {};
delete option.callback;
const url = `${SCHEME}://["${cmd}",${callbackId},${JSON.stringify(option)}]`;
prompt("TITLE", url);
};
window.nativeCallback = function nativeCallback(callbackId, code, option) {
if (cmdQueue[callbackId]) {
cmdQueue[callbackId](code, option);
}
};
// /////////////////////////////////// 浜嬩欢鏈哄埗 ///////////////////////////////////
// 閫氱煡瀹㈡埛绔簨浠朵俊鎭<E4BF8A>
function notifyEvent(option) {
const cmd = "up.event";
upNativeComm.exec(cmd, option);
}
/**
* 鍒涘缓鍘熺敓鐨別vent瀵硅薄(鍏ㄥ眬鍑芥暟)
* @param type 绫诲瀷
* @param data 鏁版嵁
* @returns {Event}
*/
window.gCreateEvent = function gCreateEvent(type, data) {
const event = document.createEvent("Events");
event.initEvent(type, false, false);
if (data) {
for (const i in data) {
if (Object.prototype.hasOwnProperty.call(data, i)) {
event[i] = data[i];
}
}
}
return event;
};
// 涓€涓被鍨嬩簨浠跺搴斾竴涓狤ventMeta瀹炰緥
const EventMeta = function EventMeta(type) {
this.type = type;
this.handleMap = {}; // 澶勭悊鍑芥暟Map
this.count = 0;
this.onHandleCountChange = null;
};
// 鍏ㄥ眬鍑芥暟
window.gEventHandleMap = {
create(type) {
window.gEventHandleMap[type] = new EventMeta(type);
return window.gEventHandleMap[type];
},
count: 0, // 鍙ユ焺鏍囪瘑
};
EventMeta.prototype.addEvent = function addEvent(handle) {
let flag = handle.upEventFlag;
if (!flag) {
window.gEventHandleMap.count += 1;
flag = window.gEventHandleMap.count;
handle.upEventFlag = flag;
}
// 鍚屼竴涓被鍨嬩簨浠剁粦瀹氬涓浉鍚岀殑澶勭悊鍑芥暟锛屽彧鎵ц涓€娆★紝鑻ユ兂鎵ц澶氭锛屽繀椤婚噰鐢ㄥ尶鍚嶇殑鏂瑰紡
if (!this.handleMap[flag]) {
this.handleMap[flag] = handle;
this.count += 1;
if (this.count === 1) {
if (this.onHandleCountChange) {
this.onHandleCountChange();
}
}
}
};
EventMeta.prototype.removeEvent = function removeEvent(handle) {
const flag = handle.upEventFlag;
if (this.handleMap[flag]) {
delete this.handleMap[flag];
this.count -= 1;
if (this.count === 0) {
if (this.onHandleCountChange) {
this.onHandleCountChange();
}
}
}
};
EventMeta.prototype.fire = function fire(e) {
if (this.count) {
// copy澶勭悊鍑芥暟锛岄槻姝㈠湪璋冪敤澶勭悊鍑芥暟鐨勮繃绋嬩腑handleMap鍙戠敓鏀瑰彉
const handles = [];
let i = 0;
const keys = Object.keys(this.handleMap);
for (i = 0; i < keys.length; i += 1) {
handles.push(this.handleMap[keys[i]]);
}
for (i = 0; i < handles.length; i += 1) {
handles[i](e);
}
}
};
// 娉ㄥ唽浜嬩欢(瀵瑰API)
upNativeComm.addEventListener = function addEventListener(type, handle) {
let eventInstance = window.gEventHandleMap[type];
if (!eventInstance) {
eventInstance = window.gEventHandleMap.create(type);
eventInstance.onHandleCountChange = function onHandleCountChange() {
// 閫氱煡瀹㈡埛绔<E59F9B>
notifyEvent({
count: this.count,
type,
});
};
}
eventInstance.addEvent(handle);
};
// 绉婚櫎浜嬩欢(瀵瑰API)
upNativeComm.removeEventListener = function removeEventListener(type, handle) {
const eventInstance = window.gEventHandleMap[type];
if (eventInstance) {
eventInstance.removeEvent(handle);
}
};
// 鍏ㄥ眬鍑芥暟浜嬩欢瑙﹀彂鍚庯紝瀹㈡埛绔皟鐢ㄧ殑鍑芥暟
window.nativeFireEvent = function nativeFireEvent(type, param) {
const instance = window.gEventHandleMap[type];
if (instance) {
const evt = window.gCreateEvent(type, param);
instance.fire(evt);
}
};
window.upPCNativeComm = upNativeComm;

72
src/App.vue Normal file
View File

@ -0,0 +1,72 @@
<template>
<router-view :key="route.fullPath" v-if="showApp" />
<NoLookTip
v-else-if="forbidLogin"
text="暂无观看权限,请联系小助理开通"
></NoLookTip>
</template>
<script setup>
import { computed } from "vue";
import { useRoute } from "vue-router";
import { terminalType } from "@/utils/index";
import { userLogin, appLogin } from "@/utils/login";
import { useStore } from "vuex";
import NoLookTip from "@/components/NoLookTip.vue";
const route = useRoute();
const store = useStore();
const showApp = computed(() => {
return (
store.state.token ||
route.meta.noLogin ||
(route.path === "/page" && route.query.preview)
);
});
const forbidLogin = computed(() => {
return store.state.forbidLogin;
});
if (terminalType === "App") {
window.upNativeComm.addEventListener("UPUser", (opt) => {
if (opt.action == "userChange" && store.state.userInfo.account) {
console.log("userChange-->", opt);
// app
userLogin();
}
});
window.upNativeComm.addEventListener("WebView", async (opt) => {
if (opt.action == "visible") {
// app
appLogin(true);
}
});
}
</script>
<style lang="scss">
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
height: 100%;
background: #fff;
}
nav {
padding: 30px;
width: 750px;
box-sizing: border-box;
a {
font-weight: bold;
color: #2c3e50;
&.router-link-exact-active {
color: #42b983;
}
}
}
</style>

46
src/api/column.js Normal file
View File

@ -0,0 +1,46 @@
import request from "../utils/request";
// 查询专栏详情
export function queryColumnDetail(queryParams) {
return request({
url: "/app/video/live/column/get",
method: "get",
params: queryParams,
});
}
// 查询专栏视频列表
export function queryColumnVideo(queryParams) {
return request({
url: "/app/video-column/live/info/list",
method: "post",
data: queryParams,
});
}
// 查询专栏历史嘉宾
export function queryColumnHisGuest(queryParams) {
return request({
url: "/app/video/live/column/hisGuest",
method: "get",
params: queryParams,
});
}
// APP订阅专栏
export function liveColumn(queryParams) {
return request({
url: "/app/video/live/column/follow",
method: "get",
params: queryParams,
});
}
// APP查询我订阅的专栏列表
export function getMyLiveColumnList(queryParams) {
return request({
url: "/app/video/live/column/follow/list",
method: "get",
params: queryParams,
});
}

34
src/api/course.js Normal file
View File

@ -0,0 +1,34 @@
import request from "../utils/request";
export function queryCourseDetail(data) {
return request({
url: "/app/course/info/get",
method: "POST",
data,
});
}
export function queryCourseContentDetail(data) {
return request({
url: "/app/course/content/list",
method: "POST",
data,
});
}
export function getPageDetail(data) {
return request({
url: "/app/page/info/get",
method: "POST",
data,
});
}
// app首页查询课程列表
export function getCourseList(data) {
return request({
url: "/app/course/info/list",
method: "POST",
data,
});
}

155
src/api/index.js Normal file
View File

@ -0,0 +1,155 @@
import request from "../utils/request";
// 登录
export function queryLogin(queryParams) {
return request({
url: "/app/user/login",
method: "get",
params: queryParams,
});
}
export function getUserAuthInfo(data) {
return request({
url: "/app/user/getUserAuthInfo",
method: "post",
data,
});
}
/**
* 获取评论列表
*
* @param queryParams
*/
export function queryCommentList(queryParams) {
return request({
url: "/admin/comment/queryCommentList",
method: "post",
data: queryParams,
});
}
// APP首页查询精品专栏只返回id,名称)
export function queryMainColumnList(queryParams) {
return request({
url: "/app/video/live/column/list/main",
method: "get",
params: queryParams,
});
}
// 查询栏目列表
export function queryColumnList(queryParams) {
return request({
url: "/app/video/live/column/list",
method: "get",
params: queryParams,
});
}
// APP查询视频列表
// type 1 直播计划 2 直播列表 3 投顾直播列表 4 我的关注
export function queryLivePlan(queryParams) {
return request({
url: "/app/video/live/info/list",
method: "post",
data: queryParams,
});
}
// APP查询视频列表
export function queryLivePlanNew(queryParams) {
return request({
url: "/app/video/live/info/listNew",
method: "post",
data: queryParams,
});
}
//APP查询推荐位列表
export function queryRecommendList(queryParams) {
return request({
url: "/app/common/recommend/list",
method: "get",
params: queryParams,
});
}
// app查询视频标签列表
export function queryVideoTagList() {
return request({
url: "/app/video-tag/list",
method: "post",
});
}
// APP关注投顾
export function attentionTg(queryParams) {
return request({
url: "/app/advisor/info/follow",
method: "post",
data: queryParams,
});
}
// APP查询用户预约、浏览
export function getSubscribeList(queryParams) {
return request({
url: "/app/video/live/getSubscribeList",
method: "get",
params: queryParams,
});
}
// 查询关注投顾列表
export function getFollowTgList(queryParams) {
return request({
url: "/app/advisor/info/listFollow",
method: "get",
params: queryParams,
});
}
// 获取有直播的日期
export function getLiveHistory(queryParams) {
return request({
url: "/app/video/live/subscribe/history",
method: "get",
params: queryParams,
});
}
// 获取全部订单
export function queryUserOrderList(queryParams) {
return request({
url: "/frontend/module/getUserOrderList",
method: "post",
data: queryParams,
});
}
// 微信授权登录
export function wxLogin(queryParams) {
return request({
url: "/admin/wechat/codeToken",
method: "post",
data: queryParams,
});
}
// 获取C端用户信息
export function getUserInfo(queryParams) {
return request({
url: "/app/user/getUserInfo",
method: "post",
data: queryParams,
});
}
// app获取原始链接
export function getUrlOriginal(queryParams) {
return request({
url: "/app/url/original",
method: "post",
data: queryParams,
});
}

17
src/api/serial.js Normal file
View File

@ -0,0 +1,17 @@
import request from "../utils/request";
export function querySerialDetail(data) {
return request({
url: "/app/serial/info/get",
method: "POST",
data,
});
}
export function querySerialContentDetail(data) {
return request({
url: "/app/serial/content/list",
method: "POST",
data,
});
}

72
src/api/shortVideo.js Normal file
View File

@ -0,0 +1,72 @@
import request from "../utils/request";
// 短视频点赞
export const videoFavor = (data) =>
request({
url: "/app/short-video/info/favor",
method: "POST",
data,
});
// app短视频观看上报
export const videoRecord = (data) =>
request({
url: "/app/short-video/watch/save",
method: "POST",
data,
});
// 短视频详情
export const queryVideoDetail = (data) =>
request({
url: "/app/short-video/info/get",
method: "POST",
data,
});
// 用户保存评论
export const saveComment = (data) =>
request({
url: "/app/comment/saveComment",
method: "POST",
data,
});
// 用户查看评论列表
export const queryCommentForApp = (data) =>
request({
url: "/app/comment/queryCommentForApp",
method: "POST",
data,
});
//app短视频检查限制
export const queryLimitCheck = (data) =>
request({
url: "/app/short-video/limit/check",
method: "POST",
data,
});
//查询短视频列表
export const queryList = (data) =>
request({
url: "/app/short-video/info/list",
method: "POST",
data,
});
// app短视频购物车上报
export const cartClickSave = (data) =>
request({
url: "/app/short-video/cart-click/save",
method: "POST",
data,
});
export const shareSave = (data) =>
request({
url: "/app/short-video/share/save",
method: "POST",
data,
});

27
src/api/tg.js Normal file
View File

@ -0,0 +1,27 @@
import request from "../utils/request";
// APP查询投顾详情
export function queryTgInfo(queryParams) {
return request({
url: `/app/advisor/info/get`,
method: "get",
params: queryParams,
});
}
// 查询观点包列表
export function queryPackageList(queryParams) {
return request({
url: `/app/view/package/list`,
method: "POST",
data: queryParams,
});
}
export function queryTgTab(queryParams) {
return request({
url: `/app/mainTab/info/list`,
method: "POST",
data: queryParams,
});
}

266
src/api/video.js Normal file
View File

@ -0,0 +1,266 @@
import request from "../utils/request";
export function queryVideoDetail(data) {
return request({
url: "/app/video/live/info/get",
method: "POST",
data,
});
}
// 获取播放签名
export const getPlaySign = (data) =>
request({
url: "/app/video/playerSign",
method: "POST",
data,
});
// APP获取播放信息
export function queryPlayInfo(queryParams) {
return request({
url: "/app/video/live/playInfo",
method: "get",
params: queryParams,
});
}
// APP查询WebSocket配置
export function queryWebSocketConf(queryParams) {
return request({
url: "/app/common/getWebSocketConf",
method: "get",
params: queryParams,
});
}
// APP发送直播互动消息
export function liveMsgSend(queryParams) {
return request({
url: "/app/video/live/message/send",
method: "post",
data: queryParams,
});
}
// APP获取关注投顾的视频直播列表(包含正在直播的关注的投顾+首页推荐的正在直播的投顾)
export function queryTgLiveList(queryParams) {
return request({
url: "/app/advisor-video/info/listFollow",
method: "get",
params: queryParams,
});
}
// APP查询当前直播购物车
export function queryCartList(queryParams) {
return request({
url: "/app/video/live/cartList",
method: "get",
params: queryParams,
});
}
// APP发送关注投顾消息(消息推送)
export function sendFollowMessage(queryParams) {
return request({
url: "/app/video/live/message/followMessage",
method: "post",
data: queryParams,
});
}
// APP用户点赞视频
export function likeVideo(queryParams) {
return request({
url: "/app/video/live/info/favor",
method: "post",
data: queryParams,
});
}
// APP用户分享直播消息推送
export function sendLiveShare(id, saleUserId) {
return request({
url: `/app/video/live/info/share?id=${id}&saleUserId=${saleUserId}`,
method: "post",
});
}
// APP用户观看视频消息推送
export function sendLiveLook(queryParams) {
return request({
url: `/app/video/live/info/read`,
method: "post",
data: queryParams,
});
}
// APP用户预约直播
export function subLiveVideo(queryParams) {
return request({
url: `/app/video/live/info/subscribe`,
method: "post",
data: queryParams,
});
}
// 前端-用户领券
export function receiveCoupon(queryParams) {
return request({
url: "/frontend/couponserver/logic/claim",
method: "post",
data: queryParams,
});
}
// 记录播放进度
export const recordPlayProgress = (data) =>
request({
url: "/app/video/live/saveReadRecord",
method: "POST",
data,
});
// 购物车产品点击统计
export function queryCartRead(queryParams) {
return request({
url: `/app/video/live/cart/read`,
method: "post",
data: queryParams,
});
}
//客户信息收集
export function liveCustomerSave(queryParams) {
return request({
url: `/app/video/live/customer/save`,
method: "post",
data: queryParams,
});
}
// APP直播观看限制
export function queryLiveLimit(queryParams) {
return request({
url: "/app/video/live/limit",
method: "post",
data: queryParams,
});
}
// 获取视频活动
export function queryActivity(queryParams) {
return request({
url: "/app/video/live/notify/activity",
method: "get",
params: queryParams,
});
}
// 获取直播历史互动消息
export function queryLiveHisMsg(queryParams) {
return request({
url: `/app/video/live/message/list`,
method: "post",
data: queryParams,
});
}
// 获取直播讲师历史消息
export function queryLiveTgHisMsg(queryParams) {
return request({
url: `/app/video/live/advisorMessage/list`,
method: "post",
data: queryParams,
});
}
// 查询直播最新的优惠券
export function queryLiveCoupon(queryParams) {
return request({
url: `/backend/couponserver/sendcoupon/listByLive`,
method: "post",
data: queryParams,
});
}
// 浏览记录
export function sendBrowseInfo(queryParams) {
return request({
url: "/app/video/live/info/browse",
method: "get",
params: queryParams,
});
}
// 用户答题
export function questionAnswer(queryParams) {
return request({
url: `/app/video/live/question/answer`,
method: "post",
data: queryParams,
});
}
// app问卷详情
export function queryQuestionDetail(queryParams) {
return request({
url: "/app/video/live/question/details",
method: "get",
params: queryParams,
});
}
// 是否填写过问卷 ture已填写 false 未填写
export function queryQuestionCheck(queryParams) {
return request({
url: "/app/video/live/question/check",
method: "get",
params: queryParams,
});
}
//用户的我的优惠券
export function queryMyCoupon() {
return request({
url: "/frontend/couponserver/logic/myCoupon",
method: "post",
});
}
// APP查询视频详情扩展信息
export function queryVideoExt(data) {
return request({
url: "/app/video/live/info/getExt",
method: "post",
data,
});
}
// app端查询企微详情
export function queryWeiXinCode(data) {
return request({
url: "/app/work-weixin/info/get",
method: "post",
data,
});
}
// app查询即将开播的直播
export function queryNotPlay(queryParams) {
return request({
url: "/app/video/notPlay",
method: "get",
params: queryParams,
});
}
// APP查询最近推送的产品
export function getNewCarPush(queryParams) {
return request({
url: "/app/video/live/recent",
method: "get",
params: queryParams,
});
}

193
src/assets/css/reset.css Normal file
View File

@ -0,0 +1,193 @@
@charset "utf-8";
html {
overscroll-behavior-y: none;
}
body {
height: 100%;
}
body,
ul,
ol,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
form,
fieldset,
legend,
input,
textarea,
button,
p,
blockquote,
th,
td,
pre,
xmp {
margin: 0;
padding: 0;
}
body,
input,
textarea,
button,
select,
pre,
xmp,
tt,
code,
kbd,
samp {
line-height: 1.5;
font-family: tahoma, arial, "Hiragino Sans GB", simsun, sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6,
small,
big,
input,
textarea,
button,
select {
font-size: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: tahoma, arial, "Hiragino Sans GB", "微软雅黑", simsun, sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6,
b,
strong {
font-weight: normal;
}
address,
cite,
dfn,
em,
i,
optgroup,
var {
font-style: normal;
}
table {
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
caption,
th {
text-align: inherit;
}
ul,
ol,
menu {
list-style: none;
}
fieldset,
img {
border: 0;
}
img,
object,
input,
textarea,
button,
select {
vertical-align: middle;
}
article,
aside,
footer,
header,
section,
nav,
figure,
figcaption,
hgroup,
details,
menu {
display: block;
}
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: "\0020";
}
textarea {
overflow: auto;
resize: vertical;
}
input,
textarea,
button,
select,
a {
outline: 0 none;
border: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
padding: 0;
border: 0;
}
mark {
background-color: transparent;
}
a,
ins,
s,
u,
del {
text-decoration: none;
}
sup,
sub {
vertical-align: baseline;
}
html {
overflow-x: hidden;
height: 100%;
font-size: 50px;
-webkit-tap-highlight-color: transparent;
}
body {
font-family: Arial, "Microsoft Yahei", "Helvetica Neue", Helvetica, sans-serif;
color: #333;
line-height: 1;
-webkit-text-size-adjust: none;
}
a {
text-decoration: none;
}
.van-toast--html,
.van-toast--text {
max-width: 200px;
}

View File

@ -0,0 +1,8 @@
// 获取当前目录所有为.svg的文件
const req = require.context("./svg", false, /\.svg$/);
// 解析获取的.svg文件的文件名称并返回
const requireAll = (requireContext) => {
return requireContext.keys().map(requireContext);
};
requireAll(req);

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="1726735300170" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7961" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M231.348148 572.681481l428.562963 428.562963c30.340741 30.340741 79.644444 30.340741 106.192593 0 30.340741-30.340741 30.340741-79.644444 0-106.192592l-375.466667-375.466667 375.466667-375.466666c30.340741-30.340741 30.340741-75.851852 0-106.192593s-79.644444-30.340741-106.192593 0L231.348148 466.488889c-15.17037 15.17037-22.755556 34.133333-22.755555 53.096296 0 18.962963 7.585185 37.925926 22.755555 53.096296" fill="#ffffff" p-id="7962"></path></svg>

After

Width:  |  Height:  |  Size: 789 B

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="1726735490172" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8325" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M231.348148 572.681481l428.562963 428.562963c30.340741 30.340741 79.644444 30.340741 106.192593 0 30.340741-30.340741 30.340741-79.644444 0-106.192592l-375.466667-375.466667 375.466667-375.466666c30.340741-30.340741 30.340741-75.851852 0-106.192593s-79.644444-30.340741-106.192593 0L231.348148 466.488889c-15.17037 15.17037-22.755556 34.133333-22.755555 53.096296 0 18.962963 7.585185 37.925926 22.755555 53.096296" fill="#2c2c2c" p-id="8326"></path></svg>

After

Width:  |  Height:  |  Size: 789 B

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="1726735306853" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8167" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M614.727053 511.42259l-403.237243-403.23724299a63.349415 63.349415 0 1 1 89.622481-89.62248201L749.160776 466.675274a63.349415 63.349415 0 0 1 0 89.494632L301.048367 1004.282315a63.349415 63.349415 0 1 1-89.49463301-89.622482L614.663128 511.42259z" p-id="8168"></path></svg>

After

Width:  |  Height:  |  Size: 607 B

View File

@ -0,0 +1,32 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_588_4055)">
<circle cx="20" cy="20" r="20" fill="#F02E18"/>
<circle cx="20" cy="20" r="20" fill="url(#paint0_linear_588_4055)"/>
<g filter="url(#filter0_d_588_4055)">
<path d="M31.1168 13.0508C31.609 13.0508 31.9919 13.1154 32.2622 13.248C32.5356 13.3806 32.7287 13.5423 32.8413 13.7396C32.9539 13.9336 33.0086 14.1406 32.9989 14.3637C32.9893 14.5836 32.9603 14.7744 32.9056 14.9328C32.8541 15.0913 32.7383 15.4179 32.5646 15.9127C32.3908 16.4074 29.7913 26.6909 29.6272 26.9464C29.4599 27.2018 29.1317 27.3312 28.6395 27.3312H12.8277C12.477 27.3312 12.181 27.2503 11.9461 27.0919C11.708 26.9334 11.5118 26.7265 11.3541 26.471C11.1965 26.2155 11.0678 25.9374 10.9713 25.6367C10.8748 25.3359 10.8008 25.0546 10.7461 24.7894C10.73 24.6827 10.6817 24.4272 10.6013 24.0198C10.5209 23.6123 10.4243 23.1046 10.3117 22.4967C10.1959 21.8887 10.0704 21.2064 9.92889 20.4561C9.78733 19.7059 9.64898 18.9492 9.50742 18.1925C9.17282 16.4074 8.7964 14.4219 8.37494 12.2326H6.3963C6.13249 12.2326 5.91371 12.1647 5.73676 12.0354C5.55981 11.9028 5.41503 11.7443 5.30243 11.56C5.1866 11.3757 5.10939 11.1752 5.06435 10.965C5.0193 10.7548 5 10.5575 5 10.3829C5 10.0304 5.11904 9.73937 5.35712 9.50977C5.5952 9.28017 5.91371 9.16699 6.31909 9.16699H8.97979C9.33047 9.16699 9.61359 9.21873 9.82272 9.32544C10.0351 9.43216 10.1991 9.56474 10.3246 9.7232C10.4469 9.88165 10.537 10.0498 10.5884 10.2277C10.6399 10.4055 10.6849 10.5543 10.7203 10.6772C10.7557 10.8195 10.7911 11.0167 10.8265 11.2722C10.8619 11.5277 10.8973 11.7896 10.9327 12.0548C10.9842 12.3717 11.0389 12.708 11.0903 13.0605H31.1168V13.0508ZM27.1382 11.1202H17.4927L20.9706 7.62446C21.376 7.217 21.82 7.01004 22.3026 7.00034C22.7852 6.99063 23.2292 7.19113 23.6345 7.59535L27.1382 11.1202Z" fill="white" fill-opacity="0.9" shape-rendering="crispEdges"/>
</g>
<rect x="14" y="17" width="13" height="1.5" rx="0.75" fill="#F0331C"/>
<path d="M14 22.25C14 21.8358 14.3358 21.5 14.75 21.5H26.25C26.6642 21.5 27 21.8358 27 22.25C27 22.6642 26.6642 23 26.25 23H14.75C14.3358 23 14 22.6642 14 22.25Z" fill="#F0331C"/>
<path d="M16 30.5C16 31.6046 15.1046 32.5 14 32.5C12.8954 32.5 12 31.6046 12 30.5C12 29.3954 12.8954 28.5 14 28.5C15.1046 28.5 16 29.3954 16 30.5Z" fill="#FEECEA"/>
<path d="M29 30.5C29 31.6046 28.1046 32.5 27 32.5C25.8954 32.5 25 31.6046 25 30.5C25 29.3954 25.8954 28.5 27 28.5C28.1046 28.5 29 29.3954 29 30.5Z" fill="#FEECEA"/>
</g>
<defs>
<filter id="filter0_d_588_4055" x="5" y="7" width="32" height="24.3311" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dx="2" dy="2"/>
<feGaussianBlur stdDeviation="1"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.859294 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_588_4055"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_588_4055" result="shape"/>
</filter>
<linearGradient id="paint0_linear_588_4055" x1="40" y1="20" x2="0" y2="20" gradientUnits="userSpaceOnUse">
<stop stop-color="#F02E18"/>
<stop offset="1" stop-color="#F36946"/>
</linearGradient>
<clipPath id="clip0_588_4055">
<rect width="40" height="40" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,9 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 10C6 8.89543 6.89543 8 8 8H24C25.1046 8 26 8.89543 26 10V20C26 21.1046 25.1046 22 24 22H18.5981L16.7559 24.1271C16.3572 24.5876 15.6428 24.5876 15.2441 24.1271L13.4019 22H8C6.89543 22 6 21.1046 6 20V10ZM12 15C12 15.5523 11.5523 16 11 16C10.4477 16 10 15.5523 10 15C10 14.4477 10.4477 14 11 14C11.5523 14 12 14.4477 12 15ZM16 16C16.5523 16 17 15.5523 17 15C17 14.4477 16.5523 14 16 14C15.4477 14 15 14.4477 15 15C15 15.5523 15.4477 16 16 16ZM22 15C22 15.5523 21.5523 16 21 16C20.4477 16 20 15.5523 20 15C20 14.4477 20.4477 14 21 14C21.5523 14 22 14.4477 22 15Z" fill="url(#paint0_linear_540_4161)"/>
<defs>
<linearGradient id="paint0_linear_540_4161" x1="16" y1="8" x2="16" y2="24.4727" gradientUnits="userSpaceOnUse">
<stop stop-color="#DDDDDD"/>
<stop offset="1" stop-color="#CBCBCB"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 968 B

View File

@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16" class="design-iconfont">
<defs>
<path id="axvpvh009__39jtb9dria" d="M0 0H16V16H0z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<mask id="axvpvh009__jdamtkph4b" fill="#fff">
<use xlink:href="#axvpvh009__39jtb9dria"/>
</mask>
<path d="M14.0231459,7.10819466 L15.0960674,7.58285331 C15.1954773,7.62681977 15.2753284,7.70569258 15.3205168,7.80455304 C15.4225599,8.02779675 15.3243074,8.29149384 15.1010637,8.39353697 L8.18476543,11.5549282 C8.06742696,11.6085628 7.93257304,11.6085628 7.81523457,11.5549282 L0.898936277,8.39353697 C0.800075818,8.34834855 0.721203013,8.26849752 0.677236549,8.16908759 C0.577952801,7.94460309 0.67944807,7.68213706 0.903932579,7.58285331 L1.9751459,7.10819466 L7.81523457,9.7771504 C7.93257304,9.83078499 8.06742696,9.83078499 8.18476543,9.7771504 L14.0231459,7.10819466 Z" fill="#FFF" mask="url(#axvpvh009__jdamtkph4b)"/>
<path d="M14.0231459,10.6637502 L15.0960674,11.1384089 C15.1954773,11.1823753 15.2753284,11.2612481 15.3205168,11.3601086 C15.4225599,11.5833523 15.3243074,11.8470494 15.1010637,11.9490925 L8.18476543,15.1104837 C8.06742696,15.1641183 7.93257304,15.1641183 7.81523457,15.1104837 L0.898936277,11.9490925 C0.800075818,11.9039041 0.721203013,11.8240531 0.677236549,11.7246432 C0.577952801,11.5001586 0.67944807,11.2376926 0.903932579,11.1384089 L1.9751459,10.6637502 L7.81523457,13.332706 C7.93257304,13.3863405 8.06742696,13.3863405 8.18476543,13.332706 L14.0231459,10.6637502 Z" fill="#FFF" mask="url(#axvpvh009__jdamtkph4b)"/>
<path d="M7.82023087,0.96839617 L0.903932579,4.02729775 C0.67944807,4.1265815 0.577952801,4.38904753 0.677236549,4.61353204 C0.721203013,4.71294197 0.800075818,4.792793 0.898936277,4.83798142 L7.81523457,7.99937262 C7.93257304,8.05300721 8.06742696,8.05300721 8.18476543,7.99937262 L15.1010637,4.83798142 C15.3243074,4.73593829 15.4225599,4.4722412 15.3205168,4.24899748 C15.2753284,4.15013702 15.1954773,4.07126422 15.0960674,4.02729775 L8.17976913,0.96839617 C8.06527222,0.917757121 7.93472778,0.917757121 7.82023087,0.96839617 Z" fill="#FFF"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="16" height="16" rx="8" fill="#F02E18"/>
<path d="M8 4.7998V11.1998" stroke="white" stroke-width="1.28" stroke-linecap="round"/>
<path d="M4.8 8L4.8 11.2" stroke="white" stroke-width="1.28" stroke-linecap="round"/>
<path d="M11.2 6.40039L11.2 11.2004" stroke="white" stroke-width="1.28" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 427 B

View File

@ -0,0 +1,14 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.0235 11.975V8.27498C18.0235 6.7424 16.7717 5.5 15.2277 5.5L11.5 13.8249V23.9999H22.329C23.2584 24.0103 24.0534 23.3395 24.1928 22.4274L25.4789 14.1024C25.5609 13.5658 25.4014 13.0205 25.0426 12.6109C24.6838 12.2013 24.1618 11.9688 23.615 11.975H18.0235Z" fill="url(#paint0_linear_542_4394)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.5 14.0003C10.5 13.7242 10.2761 13.5003 10 13.5003H8.631C7.81096 13.4807 7.10994 14.3977 7 15.4949V22.1097C7.10994 23.2069 7.81096 24.0192 8.631 23.9997H10.5V14.0003Z" fill="url(#paint1_linear_542_4394)"/>
<defs>
<linearGradient id="paint0_linear_542_4394" x1="0.254662" y1="7.4597" x2="18.5689" y2="32.8284" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFD57B"/>
<stop offset="1" stop-color="#E52D2D"/>
</linearGradient>
<linearGradient id="paint1_linear_542_4394" x1="4.18867" y1="14.6123" x2="13.927" y2="20.554" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFD57B"/>
<stop offset="1" stop-color="#E52D2D"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,24 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.0235 11.975V8.27498C18.0235 6.7424 16.7717 5.5 15.2277 5.5L11.5 13.8249V23.9999H22.329C23.2584 24.0103 24.0534 23.3395 24.1928 22.4274L25.4789 14.1024C25.5609 13.5658 25.4014 13.0205 25.0426 12.6109C24.6838 12.2013 24.1618 11.9688 23.615 11.975H18.0235Z" fill="url(#paint0_linear_540_4117)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.0235 11.975V8.27498C18.0235 6.7424 16.7717 5.5 15.2277 5.5L11.5 13.8249V23.9999H22.329C23.2584 24.0103 24.0534 23.3395 24.1928 22.4274L25.4789 14.1024C25.5609 13.5658 25.4014 13.0205 25.0426 12.6109C24.6838 12.2013 24.1618 11.9688 23.615 11.975H18.0235Z" fill="url(#paint1_linear_540_4117)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.5 14.0003C10.5 13.7242 10.2761 13.5003 10 13.5003H8.631C7.81096 13.4807 7.10994 14.3977 7 15.4949V22.1097C7.10994 23.2069 7.81096 24.0192 8.631 23.9997H10.5V14.0003Z" fill="url(#paint2_linear_540_4117)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.5 14.0003C10.5 13.7242 10.2761 13.5003 10 13.5003H8.631C7.81096 13.4807 7.10994 14.3977 7 15.4949V22.1097C7.10994 23.2069 7.81096 24.0192 8.631 23.9997H10.5V14.0003Z" fill="url(#paint3_linear_540_4117)"/>
<defs>
<linearGradient id="paint0_linear_540_4117" x1="0.254662" y1="7.4597" x2="18.5689" y2="32.8284" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFD57B"/>
<stop offset="1" stop-color="#E52D2D"/>
</linearGradient>
<linearGradient id="paint1_linear_540_4117" x1="18.5" y1="5.5" x2="18.5" y2="24" gradientUnits="userSpaceOnUse">
<stop stop-color="#DDDDDD"/>
<stop offset="1" stop-color="#CBCBCB"/>
</linearGradient>
<linearGradient id="paint2_linear_540_4117" x1="4.18867" y1="14.6123" x2="13.927" y2="20.554" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFD57B"/>
<stop offset="1" stop-color="#E52D2D"/>
</linearGradient>
<linearGradient id="paint3_linear_540_4117" x1="8.75" y1="13.5" x2="8.75" y2="24" gradientUnits="userSpaceOnUse">
<stop stop-color="#DDDDDD"/>
<stop offset="1" stop-color="#CBCBCB"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" class="design-iconfont">
<g fill-rule="nonzero" fill="none">
<path d="M15.328125,6.2578125 L4.68984375,6.2578125 L7.22636719,3.04101562 C7.2984375,2.94960938 7.23339844,2.8125 7.115625,2.8125 L5.84121094,2.8125 C5.75507813,2.8125 5.67421875,2.85117187 5.61972656,2.91972656 L2.65253906,6.68320313 C2.3625,7.05234375 2.62441406,7.59375 3.09375,7.59375 L15.328125,7.59375 C15.4054688,7.59375 15.46875,7.53046875 15.46875,7.453125 L15.46875,6.3984375 C15.46875,6.32109375 15.4054688,6.2578125 15.328125,6.2578125 Z" fill="#2E78FA" transform="rotate(90 9 9)"/>
<path d="M14.9044922,10.40625 L2.671875,10.40625 C2.59453125,10.40625 2.53125,10.4695313 2.53125,10.546875 L2.53125,11.6015625 C2.53125,11.6789063 2.59453125,11.7421875 2.671875,11.7421875 L13.3101563,11.7421875 L10.7736328,14.9589844 C10.7015625,15.0503906 10.7666016,15.1875 10.884375,15.1875 L12.1587891,15.1875 C12.2449219,15.1875 12.3257813,15.1488281 12.3802734,15.0802734 L15.3474609,11.3167969 C15.6375,10.9476562 15.3755859,10.40625 14.9044922,10.40625 L14.9044922,10.40625 Z" fill="#9AA4B6" transform="rotate(90 9 9)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" class="design-iconfont">
<g fill-rule="nonzero" fill="none">
<path d="M15.328125,6.2578125 L4.68984375,6.2578125 L7.22636719,3.04101562 C7.2984375,2.94960938 7.23339844,2.8125 7.115625,2.8125 L5.84121094,2.8125 C5.75507813,2.8125 5.67421875,2.85117187 5.61972656,2.91972656 L2.65253906,6.68320313 C2.3625,7.05234375 2.62441406,7.59375 3.09375,7.59375 L15.328125,7.59375 C15.4054688,7.59375 15.46875,7.53046875 15.46875,7.453125 L15.46875,6.3984375 C15.46875,6.32109375 15.4054688,6.2578125 15.328125,6.2578125 Z" fill="#9AA4B6" transform="rotate(90 9 9)"/>
<path d="M14.9044922,10.40625 L2.671875,10.40625 C2.59453125,10.40625 2.53125,10.4695313 2.53125,10.546875 L2.53125,11.6015625 C2.53125,11.6789063 2.59453125,11.7421875 2.671875,11.7421875 L13.3101563,11.7421875 L10.7736328,14.9589844 C10.7015625,15.0503906 10.7666016,15.1875 10.884375,15.1875 L12.1587891,15.1875 C12.2449219,15.1875 12.3257813,15.1488281 12.3802734,15.0802734 L15.3474609,11.3167969 C15.6375,10.9476562 15.3755859,10.40625 14.9044922,10.40625 L14.9044922,10.40625 Z" fill="#2E78FA" transform="rotate(90 9 9)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" class="design-iconfont">
<path d="M14.9044922,10.40625 L2.671875,10.40625 C2.59453125,10.40625 2.53125,10.4695312 2.53125,10.546875 L2.53125,11.6015625 C2.53125,11.6789063 2.59453125,11.7421875 2.671875,11.7421875 L13.3101563,11.7421875 L10.7736328,14.9589844 C10.7015625,15.0503906 10.7666016,15.1875 10.884375,15.1875 L12.1587891,15.1875 C12.2449219,15.1875 12.3257813,15.1488281 12.3802734,15.0802734 L15.3474609,11.3167969 C15.6375,10.9476562 15.3755859,10.40625 14.9044922,10.40625 L14.9044922,10.40625 Z M15.328125,6.2578125 L4.68984375,6.2578125 L7.22636719,3.04101562 C7.2984375,2.94960938 7.23339844,2.8125 7.115625,2.8125 L5.84121094,2.8125 C5.75507813,2.8125 5.67421875,2.85117187 5.61972656,2.91972656 L2.65253906,6.68320313 C2.3625,7.05234375 2.62441406,7.59375 3.09375,7.59375 L15.328125,7.59375 C15.4054688,7.59375 15.46875,7.53046875 15.46875,7.453125 L15.46875,6.3984375 C15.46875,6.32109375 15.4054688,6.2578125 15.328125,6.2578125 Z" fill="#9AA4B6" transform="rotate(90 9 9)" fill-rule="nonzero"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="design-iconfont">
<g stroke="#1B2330" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none" fill-rule="evenodd">
<path d="M11.6990828 0.928252899L17.0802475 0.928252899 17.0802475 6.30941763" transform="translate(3 3)"/>
<path d="M10.3537916 7.65470882L17.0802475 0.9282529" transform="translate(3 3)"/>
<path d="M17.0632467,10.6104585 L17.0632467,15.4573977 C17.0632467,16.3489782 16.3404778,17.0717471 15.4488972,17.0717471 L2.53410188,17.0717471 C1.64252131,17.0717471 0.919752458,16.3489782 0.919752458,15.4573977 L0.919752458,2.54260232 C0.919752458,1.65102175 1.64252131,0.928252899 2.53410188,0.928252899 L7.37715014,0.928252899" transform="translate(3 3)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 783 B

View File

@ -0,0 +1,10 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.0239 14.2812C26.5243 13.8809 26.5243 13.1198 26.0239 12.7195L18.6247 6.80011C17.9699 6.2763 17 6.74247 17 7.58098L17 10.3902C8.76689 10.5025 5.87296 16.1651 5.95424 22.5484C9.55294 17.5234 12.5144 16.7994 17 16.7994L17 19.4197C17 20.2582 17.9699 20.7244 18.6247 20.2006L26.0239 14.2812Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.0239 14.2812C26.5243 13.8809 26.5243 13.1198 26.0239 12.7195L18.6247 6.80011C17.9699 6.2763 17 6.74247 17 7.58098L17 10.3902C8.76689 10.5025 5.87296 16.1651 5.95424 22.5484C9.55294 17.5234 12.5144 16.7994 17 16.7994L17 19.4197C17 20.2582 17.9699 20.7244 18.6247 20.2006L26.0239 14.2812Z" fill="url(#paint0_linear_539_4070)"/>
<defs>
<linearGradient id="paint0_linear_539_4070" x1="16.1759" y1="6.5791" x2="16.1759" y2="22.5484" gradientUnits="userSpaceOnUse">
<stop stop-color="#DDDDDD"/>
<stop offset="1" stop-color="#CBCBCB"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,25 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5C1 4.44772 1.44772 4 2 4H18C18.5523 4 19 4.44772 19 5V16C19 18.2091 17.2091 20 15 20H5C2.79086 20 1 18.2091 1 16V5Z" fill="url(#paint0_linear_540_4092)"/>
<path d="M2.22361 1.55279C2.393 1.214 2.73926 1 3.11803 1L16.882 1C17.2607 1 17.607 1.214 17.7764 1.55279L18.7764 3.55279C19.1088 4.21769 18.6253 5 17.882 5H2.11803C1.37465 5 0.891156 4.21769 1.22361 3.55279L2.22361 1.55279Z" fill="#F36946"/>
<g filter="url(#filter0_d_540_4092)">
<path d="M14 8C14 10.2091 12.2091 12 10 12C7.79086 12 6 10.2091 6 8" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</g>
<path d="M5.35769 0.692081C5.66632 0.296108 6.22071 0.190349 6.65343 0.444896L14.3971 5H2L5.35769 0.692081Z" fill="#FFD981"/>
<path d="M14.1221 2.05871C13.762 1.73532 13.222 1.71621 12.84 2.01335L9 5H17.3971L14.1221 2.05871Z" fill="#FFF7D6"/>
<defs>
<filter id="filter0_d_540_4092" x="1.25" y="5.25" width="17.5" height="13.5" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.859294 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_540_4092"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_540_4092" result="shape"/>
</filter>
<linearGradient id="paint0_linear_540_4092" x1="10" y1="4" x2="10" y2="20" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFA57E"/>
<stop offset="1" stop-color="#FF3400"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

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="1722934424217" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1090" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M662 405c-8.28 0-15-6.72-15-15v-27.01c0-44.4-13.13-82.3-37.98-109.6-23.12-25.41-55.09-39.4-90.02-39.4s-66.9 13.99-90.02 39.4c-24.84 27.3-37.98 65.2-37.98 109.6V390c0 8.28-6.72 15-15 15s-15-6.72-15-15v-27.01c0-51.99 15.83-96.87 45.79-129.79 28.88-31.73 68.73-49.21 112.21-49.21s83.33 17.48 112.21 49.21C661.17 266.12 677 311 677 362.99V390c0 8.28-6.72 15-15 15z" fill="#333333" p-id="1091"></path><path d="M644.45 616.64c0 60.4-56.19 109.36-125.5 109.36s-125.5-48.96-125.5-109.36S446.97 427 516.28 427s128.17 129.24 128.17 189.64z" fill="#52E217" p-id="1092"></path><path d="M518.95 741c-77.47 0-140.5-55.79-140.5-124.36 0-34.27 14.99-84.39 37.3-124.73 28.5-51.53 64.2-79.91 100.54-79.91s72.92 28.26 103.02 79.58c24.02 40.95 40.16 91.21 40.16 125.06 0 68.57-63.03 124.36-140.5 124.36z m-2.67-299c-56.82 0-107.83 118.62-107.83 174.64 0 52.03 49.57 94.36 110.5 94.36s110.5-42.33 110.5-94.36c0-28.52-14.82-73.71-36.03-109.88-24.14-41.15-52.26-64.76-77.14-64.76z" fill="#333333" p-id="1093"></path><path d="M518.95 773c-8.28 0-15-6.72-15-15V527.66c0-8.28 6.72-15 15-15s15 6.72 15 15V758c0 8.28-6.72 15-15 15z" fill="#333333" p-id="1094"></path><path d="M518.95 664c-3.17 0-6.3-1-8.91-2.93-3.84-2.83-6.1-7.32-6.09-12.09l0.04-32.94c-8.97-1.36-20.45-4.49-31.18-11.48C443.84 585.67 443 559.87 443 557h30v-0.36c0.03 0.52 0.82 12.76 16.2 22.79 12.55 8.18 28.74 7.6 28.89 7.59 4.13-0.25 8.18 1.22 11.2 4.05 3.01 2.84 4.72 6.8 4.71 10.93l-0.03 22.87c7.31-4.84 15.17-11.63 20.7-20.67 13.66-22.35 14.33-36.35 14.33-36.49v0.27h30c0 2.17-0.53 22.08-18.73 51.87-19.26 31.51-55.35 42.99-56.88 43.46-1.46 0.45-2.95 0.67-4.44 0.67z" fill="#333333" p-id="1095"></path><path d="M727.28 828H309.72c-30.83 0-59.94-13.5-79.86-37.03s-28.43-54.47-23.34-84.87l53.65-320.59c4.7-28.11 28.8-48.51 57.3-48.51h402.05c28.5 0 52.59 20.4 57.3 48.51l53.65 320.59c5.09 30.41-3.42 61.34-23.34 84.87S758.1 828 727.27 828zM317.47 367a28.02 28.02 0 0 0-27.71 23.46l-53.65 320.59a74.49 74.49 0 0 0 16.65 60.54c14.21 16.78 34.97 26.41 56.96 26.41h417.56c21.99 0 42.75-9.63 56.96-26.41a74.49 74.49 0 0 0 16.65-60.54l-53.65-320.59A28.02 28.02 0 0 0 719.53 367H317.47z" fill="#333333" p-id="1096"></path></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
src/assets/images/back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

BIN
src/assets/images/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
src/assets/images/clear.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 998 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/assets/images/close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
src/assets/images/empty.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
src/assets/images/guide.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 856 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 957 B

BIN
src/assets/images/like.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Some files were not shown because too many files have changed in this diff Show More