MCPcopy
hub / github.com/SPlayer-Dev/SPlayer / initAppServer

Function initAppServer

electron/server/index.ts:13–71  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

11import fastify from "fastify";
12
13const initAppServer = async () => {
14 try {
15 const server = fastify({
16 routerOptions: {
17 // 忽略尾随斜杠
18 ignoreTrailingSlash: true,
19 },
20 });
21 // 注册插件
22 server.register(fastifyCookie);
23 server.register(fastifyMultipart);
24 // 生产环境启用静态文件
25 if (!isDev) {
26 serverLog.info("📂 Serving static files from /renderer");
27 server.register(fastifyStatic, {
28 root: join(__dirname, "../renderer"),
29 });
30 }
31 // 声明
32 server.get("/api", (_, reply) => {
33 reply.send({
34 name: "SPlayer API",
35 description: "SPlayer API service",
36 author: "@imsyy",
37 list: [
38 {
39 name: "NeteaseCloudMusicApi",
40 url: "/api/netease",
41 },
42 {
43 name: "UnblockAPI",
44 url: "/api/unblock",
45 },
46 {
47 name: "ControlAPI",
48 url: "/api/control",
49 },
50 {
51 name: "QQMusicAPI",
52 url: "/api/qqmusic",
53 },
54 ],
55 });
56 });
57 // 注册接口
58 server.register(initNcmAPI, { prefix: "/api" });
59 server.register(initUnblockAPI, { prefix: "/api" });
60 server.register(initControlAPI, { prefix: "/api" });
61 server.register(initQQMusicAPI, { prefix: "/api" });
62 // 启动端口
63 const port = Number(process.env["VITE_SERVER_PORT"] || 25884);
64 await server.listen({ port, host: "127.0.0.1" });
65 serverLog.info(`🌐 Starting AppServer on port ${port}`);
66 return server;
67 } catch (error) {
68 serverLog.error("🚫 AppServer failed to start");
69 throw error;
70 }

Callers 1

constructorMethod · 0.85

Calls 1

getMethod · 0.65

Tested by

no test coverage detected