parent
7b810bda0e
commit
5f112164f2
@ -1,3 +1,3 @@
|
|||||||
# 生产环境使用的变量
|
# 生产环境使用的变量
|
||||||
|
|
||||||
NEXT_PUBLIC_HOST = 'http://39.103.180.196:9012/'
|
NEXT_PUBLIC_HOST = 'http://api.indie.cn:9012'
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
# 测试环境使用的变量
|
|
||||||
|
|
||||||
NEXT_PUBLIC_HOST = 'http://39.103.180.196:9012/'
|
|
@ -0,0 +1,43 @@
|
|||||||
|
# Install dependencies only when needed
|
||||||
|
FROM node:alpine AS deps
|
||||||
|
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
|
||||||
|
RUN apk add --no-cache libc6-compat
|
||||||
|
WORKDIR /app
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
|
RUN yarn install --frozen-lockfile --registry=https://registry.npm.taobao.org
|
||||||
|
|
||||||
|
# Rebuild the source code only when needed
|
||||||
|
FROM node:alpine AS builder
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
COPY --from=deps /app/node_modules ./node_modules
|
||||||
|
RUN yarn build && yarn install --production --ignore-scripts --prefer-offline --registry=https://registry.npm.taobao.org
|
||||||
|
|
||||||
|
# Production image, copy all the files and run next
|
||||||
|
FROM node:alpine AS runner
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
ENV NODE_ENV production
|
||||||
|
|
||||||
|
RUN addgroup -g 1001 -S nodejs
|
||||||
|
RUN adduser -S nextjs -u 1001
|
||||||
|
|
||||||
|
# You only need to copy next.config.js if you are NOT using the default configuration
|
||||||
|
# COPY --from=builder /app/next.config.js ./
|
||||||
|
COPY --from=builder /app/public ./public
|
||||||
|
COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next
|
||||||
|
COPY --from=builder /app/node_modules ./node_modules
|
||||||
|
COPY --from=builder /app/package.json ./package.json
|
||||||
|
|
||||||
|
USER nextjs
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
ENV PORT 3000
|
||||||
|
|
||||||
|
# Next.js collects completely anonymous telemetry data about general usage.
|
||||||
|
# Learn more here: https://nextjs.org/telemetry
|
||||||
|
# Uncomment the following line in case you want to disable telemetry.
|
||||||
|
# ENV NEXT_TELEMETRY_DISABLED 1
|
||||||
|
|
||||||
|
CMD ["node_modules/.bin/next", "start"]
|
@ -1,22 +1,28 @@
|
|||||||
/** @type {import('next').NextConfig} */
|
/** @type {import('next').NextConfig} */
|
||||||
const nextConfig = {
|
const nextConfig = {
|
||||||
|
// output: 'export',
|
||||||
|
distDir: 'dist',
|
||||||
async rewrites() {
|
async rewrites() {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
source: '/queyueapi/:path*',
|
source: '/queyueapi/:path*',
|
||||||
destination: `${process.env.NEXT_PUBLIC_HOST}/:path*`,
|
destination: `http://api.indie.cn:9012/:path*`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
redirects: async () => {
|
redirects: async () => {
|
||||||
return [
|
return [
|
||||||
{
|
// {
|
||||||
source: '/',
|
// source: '/',
|
||||||
destination: '/vol/list/all',
|
// destination: '/download',
|
||||||
permanent: true,
|
// permanent: false,
|
||||||
},
|
// },
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
|
eslint: {
|
||||||
|
ignoreDuringBuilds: true,
|
||||||
|
ignoreBuildErrors: true,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default nextConfig;
|
export default nextConfig;
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
export default function Loading() {
|
export default function Loading() {
|
||||||
return <div>Loading...</div>;
|
return (
|
||||||
|
<div className="w-[100vw] h-[100vh] flex justify-center items-center">
|
||||||
|
<div>loading...</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,68 @@
|
|||||||
export default function Home() {
|
'use client';
|
||||||
return <main></main>;
|
|
||||||
|
import Image from 'next/image';
|
||||||
|
|
||||||
|
import DownloadCard from '@/app/download/components/DownloadCard';
|
||||||
|
|
||||||
|
const qrCodeList: Array<DownloadQrcodeCard> = [
|
||||||
|
{
|
||||||
|
platform: 'APP Store',
|
||||||
|
iconUrl: '/img/download/logo_apple.svg',
|
||||||
|
qrCode: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
platform: 'Android',
|
||||||
|
iconUrl: '/img/download/logo_android.svg',
|
||||||
|
qrCode: '/img/download/qrcode_android.svg',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default function Download() {
|
||||||
|
return (
|
||||||
|
<main className="w-full flex flex-col items-center pb-[104px] font-normal">
|
||||||
|
{/* 首屏 */}
|
||||||
|
<div className="relative w-full h-min-[1000px] h-screen flex flex-col items-center pt-[30vh] bg-[url(/img/download/background_1.png)] bg-center bg-cover bg-no-repeat text-[#fff]">
|
||||||
|
{/* slogan */}
|
||||||
|
<div className="flex flex-col items-center mb-[35px]">
|
||||||
|
<Image width={410} height={50} src="/img/download/slogan_line1.svg" alt="为独立音乐,雀跃" />
|
||||||
|
<Image className="mt-[26px] mb-[26px]" width={9} height={24} src="/img/download/slogan_line2.svg" alt="/" />
|
||||||
|
<Image width={143} height={24} src="/img/download/slogan_line3.svg" alt="独立 不独于世" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* APP二维码 */}
|
||||||
|
<div className="flex flex-row">
|
||||||
|
{qrCodeList.map(({ platform, iconUrl, qrCode }) => (
|
||||||
|
<DownloadCard key={platform} platform={platform} iconUrl={iconUrl} qrCode={qrCode} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* 第二屏 */}
|
||||||
|
<div className="relative w-full h-[1000px] h-screen pl-[45.7vw] flex flex-col bg-[url(/img/download/background_2.png)] bg-center bg-cover bg-no-repeat">
|
||||||
|
{/* 花体字-“我们回来了” */}
|
||||||
|
<Image className="mt-[16.67vh] mb-[50px]" width={306} height={86} src="/img/download/back.svg" alt="back" />
|
||||||
|
|
||||||
|
{/* 诗歌 */}
|
||||||
|
<p className="pl-[15px] text-[#000] text-[15px] leading-[28px] text-left">
|
||||||
|
音乐是一种态度
|
||||||
|
<br />
|
||||||
|
不论是创作者还是聆听者
|
||||||
|
<br />
|
||||||
|
它流经心灵
|
||||||
|
<br />
|
||||||
|
纵然期待影响现实的力量是种奢望
|
||||||
|
<br />
|
||||||
|
如果刚巧有些声音
|
||||||
|
<br />
|
||||||
|
会叫你记得一段往事
|
||||||
|
<br />
|
||||||
|
伤痛或是甜蜜
|
||||||
|
<br />
|
||||||
|
那记忆便有了厚厚的壳
|
||||||
|
<br />
|
||||||
|
恒久的 温暖有如初生
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in new issue