From 40709a0b2b8168644286bdb5cdb0dea17d6ac62e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Fri, 17 Apr 2026 18:41:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(uniapp):=20=E5=88=9B=E5=BB=BA=20gym-manage?= =?UTF-8?q?-uniapp=20=E7=A7=BB=E5=8A=A8=E7=AB=AF=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=84=9A=E6=89=8B=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gym-manage-uniapp/manifest.json | 64 +++++++++++++++++++++ gym-manage-uniapp/package.json | 19 ++++++ gym-manage-uniapp/pages.json | 28 +++++++++ gym-manage-uniapp/src/api/index.js | 29 ++++++++++ gym-manage-uniapp/src/pages/index/index.vue | 40 +++++++++++++ gym-manage-uniapp/src/store/index.ts | 5 ++ gym-manage-uniapp/src/store/user.ts | 27 +++++++++ 7 files changed, 212 insertions(+) create mode 100644 gym-manage-uniapp/manifest.json create mode 100644 gym-manage-uniapp/package.json create mode 100644 gym-manage-uniapp/pages.json create mode 100644 gym-manage-uniapp/src/api/index.js create mode 100644 gym-manage-uniapp/src/pages/index/index.vue create mode 100644 gym-manage-uniapp/src/store/index.ts create mode 100644 gym-manage-uniapp/src/store/user.ts diff --git a/gym-manage-uniapp/manifest.json b/gym-manage-uniapp/manifest.json new file mode 100644 index 0000000..39bd84f --- /dev/null +++ b/gym-manage-uniapp/manifest.json @@ -0,0 +1,64 @@ +{ + "name": "gym-manage-uniapp", + "appid": "", + "description": "Gym Management System Mobile App", + "versionName": "1.0.0", + "versionCode": "100", + "transformPx": false, + "app-plus": { + "usingComponents": true, + "nvueStyleCompiler": "uni-app", + "compilerVersion": 3, + "splashscreen": { + "alwaysShowBeforeRender": true, + "waiting": true, + "autoclose": true, + "delay": 0 + }, + "modules": {}, + "distribute": { + "android": { + "permissions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "ios": {}, + "sdkConfigs": {} + } + }, + "quickapp": {}, + "mp-weixin": { + "appid": "", + "setting": { + "urlCheck": false + }, + "usingComponents": true + }, + "mp-alipay": { + "usingComponents": true + }, + "mp-baidu": { + "usingComponents": true + }, + "mp-toutiao": { + "usingComponents": true + }, + "uniStatistics": { + "enable": false + }, + "vueVersion": "3" +} diff --git a/gym-manage-uniapp/package.json b/gym-manage-uniapp/package.json new file mode 100644 index 0000000..c3506cd --- /dev/null +++ b/gym-manage-uniapp/package.json @@ -0,0 +1,19 @@ +{ + "name": "gym-manage-uniapp", + "version": "1.0.0", + "description": "Gym Management System Mobile App", + "main": "main.js", + "scripts": { + "dev:mp-weixin": "uni -p mp-weixin", + "build:mp-weixin": "uni build -p mp-weixin", + "dev:h5": "uni", + "build:h5": "uni build" + }, + "keywords": [ + "uniapp", + "gym", + "management" + ], + "author": "Novalon", + "license": "MIT" +} diff --git a/gym-manage-uniapp/pages.json b/gym-manage-uniapp/pages.json new file mode 100644 index 0000000..bd13bd5 --- /dev/null +++ b/gym-manage-uniapp/pages.json @@ -0,0 +1,28 @@ +{ + "pages": [ + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "首页" + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "健身房管理系统", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "tabBar": { + "color": "#7A7E83", + "selectedColor": "#007AFF", + "borderStyle": "black", + "backgroundColor": "#F8F8F8", + "list": [ + { + "pagePath": "pages/index/index", + "text": "首页" + } + ] + } +} diff --git a/gym-manage-uniapp/src/api/index.js b/gym-manage-uniapp/src/api/index.js new file mode 100644 index 0000000..f29ddad --- /dev/null +++ b/gym-manage-uniapp/src/api/index.js @@ -0,0 +1,29 @@ +const BASE_URL = 'http://localhost:8080/api' + +export const request = (options) => { + return new Promise((resolve, reject) => { + uni.request({ + url: BASE_URL + options.url, + method: options.method || 'GET', + data: options.data || {}, + header: { + 'Content-Type': 'application/json', + ...options.header + }, + success: (res) => { + if (res.statusCode === 200) { + resolve(res.data) + } else { + reject(res) + } + }, + fail: (err) => { + reject(err) + } + }) + }) +} + +export default { + request +} diff --git a/gym-manage-uniapp/src/pages/index/index.vue b/gym-manage-uniapp/src/pages/index/index.vue new file mode 100644 index 0000000..5b7705f --- /dev/null +++ b/gym-manage-uniapp/src/pages/index/index.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/gym-manage-uniapp/src/store/index.ts b/gym-manage-uniapp/src/store/index.ts new file mode 100644 index 0000000..8a05980 --- /dev/null +++ b/gym-manage-uniapp/src/store/index.ts @@ -0,0 +1,5 @@ +import { createPinia } from 'pinia' + +const pinia = createPinia() + +export default pinia diff --git a/gym-manage-uniapp/src/store/user.ts b/gym-manage-uniapp/src/store/user.ts new file mode 100644 index 0000000..6b67a0b --- /dev/null +++ b/gym-manage-uniapp/src/store/user.ts @@ -0,0 +1,27 @@ +import { defineStore } from 'pinia' + +export const useUserStore = defineStore('user', { + state: () => ({ + token: '', + userInfo: null + }), + + getters: { + isLoggedIn: (state) => !!state.token + }, + + actions: { + setToken(token) { + this.token = token + }, + + setUserInfo(userInfo) { + this.userInfo = userInfo + }, + + logout() { + this.token = '' + this.userInfo = null + } + } +})