From a7e056643ed4d13a597b2fea12b32f641eac55f5 Mon Sep 17 00:00:00 2001 From: pigeon Date: Thu, 4 Jun 2026 08:31:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96=20uni-app?= =?UTF-8?q?=20=E7=A7=BB=E5=8A=A8=E7=AB=AF=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - cashier-mobile: 收银系统移动端(uni-app) - customer-mobile: 顾客端移动端(uni-app) - 包含基础页面结构:首页、订单、会员 - 更新 AGENTS.md 配置 --- AGENTS.md | 8 +-- cashier-mobile/App.vue | 22 +++++++ cashier-mobile/main.js | 9 +++ cashier-mobile/manifest.json | 30 +++++++++ cashier-mobile/package.json | 30 ++++++--- cashier-mobile/pages.json | 44 +++++++++++++ cashier-mobile/pages/index/index.vue | 74 ++++++++++++++++++++++ cashier-mobile/pages/member/member.vue | 39 ++++++++++++ cashier-mobile/pages/order/order.vue | 45 +++++++++++++ customer-mobile/App.vue | 22 +++++++ customer-mobile/main.js | 9 +++ customer-mobile/manifest.json | 30 +++++++++ customer-mobile/package.json | 30 ++++++--- customer-mobile/pages.json | 44 +++++++++++++ customer-mobile/pages/index/index.vue | 80 +++++++++++++++++++++++ customer-mobile/pages/member/member.vue | 84 +++++++++++++++++++++++++ customer-mobile/pages/order/order.vue | 45 +++++++++++++ 17 files changed, 620 insertions(+), 25 deletions(-) create mode 100644 cashier-mobile/App.vue create mode 100644 cashier-mobile/main.js create mode 100644 cashier-mobile/manifest.json create mode 100644 cashier-mobile/pages.json create mode 100644 cashier-mobile/pages/index/index.vue create mode 100644 cashier-mobile/pages/member/member.vue create mode 100644 cashier-mobile/pages/order/order.vue create mode 100644 customer-mobile/App.vue create mode 100644 customer-mobile/main.js create mode 100644 customer-mobile/manifest.json create mode 100644 customer-mobile/pages.json create mode 100644 customer-mobile/pages/index/index.vue create mode 100644 customer-mobile/pages/member/member.vue create mode 100644 customer-mobile/pages/order/order.vue diff --git a/AGENTS.md b/AGENTS.md index 1c48ead..d6285e6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -70,12 +70,10 @@ interface UserDTO { - **组件规范**:组合式 API(setup 语法) ### cashier-mobile / customer-mobile(移动端) -- **框架**:待定(根据需求选择 uni-app、React Native、Flutter 等) -- **选型原则**: - - uni-app:跨平台、快速开发、适合小程序+H5+App - - React Native:性能要求高、需要原生能力 - - Flutter:高性能、自定义 UI +- **框架**:uni-app(Vue3) +- **支持平台**:小程序、H5、App - **包管理器**:pnpm(推荐)或 npm +- **UI 框架**:uni-ui 或 uview-plus ### 通用规范 1. **代码风格**:遵循项目现有 ESLint/Prettier 配置 diff --git a/cashier-mobile/App.vue b/cashier-mobile/App.vue new file mode 100644 index 0000000..a647757 --- /dev/null +++ b/cashier-mobile/App.vue @@ -0,0 +1,22 @@ + + + diff --git a/cashier-mobile/main.js b/cashier-mobile/main.js new file mode 100644 index 0000000..ffcc69d --- /dev/null +++ b/cashier-mobile/main.js @@ -0,0 +1,9 @@ +import { createSSRApp } from 'vue' +import App from './App.vue' + +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} diff --git a/cashier-mobile/manifest.json b/cashier-mobile/manifest.json new file mode 100644 index 0000000..ee65b88 --- /dev/null +++ b/cashier-mobile/manifest.json @@ -0,0 +1,30 @@ +{ + "name": "收银系统", + "appid": "__UNI__CASHIER001", + "description": "睿核科技收银系统移动端", + "versionName": "1.0.0", + "versionCode": "100", + "transformPx": false, + "app-plus": { + "usingComponents": true, + "splashscreen": { + "alwaysShowBeforeRender": true, + "waiting": true, + "autoclose": true, + "delay": 0 + } + }, + "mp-weixin": { + "appid": "", + "setting": { + "urlCheck": false + }, + "usingComponents": true + }, + "h5": { + "title": "收银系统", + "router": { + "mode": "hash" + } + } +} diff --git a/cashier-mobile/package.json b/cashier-mobile/package.json index 2817332..6941c05 100644 --- a/cashier-mobile/package.json +++ b/cashier-mobile/package.json @@ -1,15 +1,25 @@ { "name": "cashier-mobile", - "version": "0.1.0", - "description": "收银系统移动端", - "private": true, - "type": "module", + "version": "1.0.0", + "description": "收银系统移动端 - uni-app", + "main": "main.js", "scripts": { - "dev": "echo '待配置开发命令'", - "build": "echo '待配置构建命令'", - "lint": "echo '待配置'", - "type-check": "echo '待配置'" + "dev:h5": "uni", + "dev:mp-weixin": "uni --platform mp-weixin", + "dev:app": "uni --platform app", + "build:h5": "uni build", + "build:mp-weixin": "uni build --platform mp-weixin", + "build:app": "uni build --platform app" }, - "dependencies": {}, - "devDependencies": {} + "dependencies": { + "@dcloudio/uni-app": "3.0.0", + "vue": "^3.3.0", + "vuex": "^4.1.0" + }, + "devDependencies": { + "@dcloudio/types": "^3.3.0", + "@dcloudio/uni-cli-shared": "3.0.0", + "@dcloudio/vite-plugin-uni": "3.0.0", + "vite": "^4.4.0" + } } diff --git a/cashier-mobile/pages.json b/cashier-mobile/pages.json new file mode 100644 index 0000000..2156d8d --- /dev/null +++ b/cashier-mobile/pages.json @@ -0,0 +1,44 @@ +{ + "pages": [ + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "收银台" + } + }, + { + "path": "pages/order/order", + "style": { + "navigationBarTitleText": "订单管理" + } + }, + { + "path": "pages/member/member", + "style": { + "navigationBarTitleText": "会员管理" + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "收银系统", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "tabBar": { + "list": [ + { + "pagePath": "pages/index/index", + "text": "收银" + }, + { + "pagePath": "pages/order/order", + "text": "订单" + }, + { + "pagePath": "pages/member/member", + "text": "会员" + } + ] + } +} diff --git a/cashier-mobile/pages/index/index.vue b/cashier-mobile/pages/index/index.vue new file mode 100644 index 0000000..ba44715 --- /dev/null +++ b/cashier-mobile/pages/index/index.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/cashier-mobile/pages/member/member.vue b/cashier-mobile/pages/member/member.vue new file mode 100644 index 0000000..4518038 --- /dev/null +++ b/cashier-mobile/pages/member/member.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/cashier-mobile/pages/order/order.vue b/cashier-mobile/pages/order/order.vue new file mode 100644 index 0000000..76f3ae0 --- /dev/null +++ b/cashier-mobile/pages/order/order.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/customer-mobile/App.vue b/customer-mobile/App.vue new file mode 100644 index 0000000..8d95268 --- /dev/null +++ b/customer-mobile/App.vue @@ -0,0 +1,22 @@ + + + diff --git a/customer-mobile/main.js b/customer-mobile/main.js new file mode 100644 index 0000000..ffcc69d --- /dev/null +++ b/customer-mobile/main.js @@ -0,0 +1,9 @@ +import { createSSRApp } from 'vue' +import App from './App.vue' + +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} diff --git a/customer-mobile/manifest.json b/customer-mobile/manifest.json new file mode 100644 index 0000000..922d361 --- /dev/null +++ b/customer-mobile/manifest.json @@ -0,0 +1,30 @@ +{ + "name": "顾客端", + "appid": "__UNI__CUSTOMER001", + "description": "睿核科技顾客端移动端", + "versionName": "1.0.0", + "versionCode": "100", + "transformPx": false, + "app-plus": { + "usingComponents": true, + "splashscreen": { + "alwaysShowBeforeRender": true, + "waiting": true, + "autoclose": true, + "delay": 0 + } + }, + "mp-weixin": { + "appid": "", + "setting": { + "urlCheck": false + }, + "usingComponents": true + }, + "h5": { + "title": "顾客端", + "router": { + "mode": "hash" + } + } +} diff --git a/customer-mobile/package.json b/customer-mobile/package.json index 3178cb6..cfeed37 100644 --- a/customer-mobile/package.json +++ b/customer-mobile/package.json @@ -1,15 +1,25 @@ { "name": "customer-mobile", - "version": "0.1.0", - "description": "收银系统顾客端", - "private": true, - "type": "module", + "version": "1.0.0", + "description": "顾客端移动端 - uni-app", + "main": "main.js", "scripts": { - "dev": "echo '待配置开发命令'", - "build": "echo '待配置构建命令'", - "lint": "echo '待配置'", - "type-check": "echo '待配置'" + "dev:h5": "uni", + "dev:mp-weixin": "uni --platform mp-weixin", + "dev:app": "uni --platform app", + "build:h5": "uni build", + "build:mp-weixin": "uni build --platform mp-weixin", + "build:app": "uni build --platform app" }, - "dependencies": {}, - "devDependencies": {} + "dependencies": { + "@dcloudio/uni-app": "3.0.0", + "vue": "^3.3.0", + "vuex": "^4.1.0" + }, + "devDependencies": { + "@dcloudio/types": "^3.3.0", + "@dcloudio/uni-cli-shared": "3.0.0", + "@dcloudio/vite-plugin-uni": "3.0.0", + "vite": "^4.4.0" + } } diff --git a/customer-mobile/pages.json b/customer-mobile/pages.json new file mode 100644 index 0000000..8d5a48f --- /dev/null +++ b/customer-mobile/pages.json @@ -0,0 +1,44 @@ +{ + "pages": [ + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "首页" + } + }, + { + "path": "pages/order/order", + "style": { + "navigationBarTitleText": "我的订单" + } + }, + { + "path": "pages/member/member", + "style": { + "navigationBarTitleText": "会员中心" + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "顾客端", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "tabBar": { + "list": [ + { + "pagePath": "pages/index/index", + "text": "首页" + }, + { + "pagePath": "pages/order/order", + "text": "订单" + }, + { + "pagePath": "pages/member/member", + "text": "我的" + } + ] + } +} diff --git a/customer-mobile/pages/index/index.vue b/customer-mobile/pages/index/index.vue new file mode 100644 index 0000000..9df08df --- /dev/null +++ b/customer-mobile/pages/index/index.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/customer-mobile/pages/member/member.vue b/customer-mobile/pages/member/member.vue new file mode 100644 index 0000000..87128e8 --- /dev/null +++ b/customer-mobile/pages/member/member.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/customer-mobile/pages/order/order.vue b/customer-mobile/pages/order/order.vue new file mode 100644 index 0000000..45c08e8 --- /dev/null +++ b/customer-mobile/pages/order/order.vue @@ -0,0 +1,45 @@ + + + + +