From fe0dd8ad75bba1629c8e4530d877a68c2cc1adaa Mon Sep 17 00:00:00 2001
From: Suk1No <674874220@qq.com>
Date: Sun, 17 Aug 2025 18:53:42 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A51?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
order-app/src/api/category.js | 5 ++
order-app/src/api/home.js | 9 +++
order-app/src/api/user.js | 48 ++++++++++++
order-app/src/common/http.js | 40 ++++++++++
order-app/src/pages.json | 29 +++++---
order-app/src/pages/category/category.vue | 89 ++++++++++-------------
order-app/src/pages/detail/detail.vue | 41 ++++++-----
order-app/src/pages/index/index.vue | 48 +++++++++---
8 files changed, 216 insertions(+), 93 deletions(-)
create mode 100644 order-app/src/api/category.js
create mode 100644 order-app/src/api/home.js
create mode 100644 order-app/src/api/user.js
create mode 100644 order-app/src/common/http.js
diff --git a/order-app/src/api/category.js b/order-app/src/api/category.js
new file mode 100644
index 0000000..4f5a831
--- /dev/null
+++ b/order-app/src/api/category.js
@@ -0,0 +1,5 @@
+import http from '../common/http.js'
+//分类数据
+export const getCategoryListApi = () => {
+ return http.get("/wxapi/category/getCategoryList")
+}
\ No newline at end of file
diff --git a/order-app/src/api/home.js b/order-app/src/api/home.js
new file mode 100644
index 0000000..71a8ac4
--- /dev/null
+++ b/order-app/src/api/home.js
@@ -0,0 +1,9 @@
+import http from '../common/http.js'
+//轮播图
+export const getSwipperListApi = ()=>{
+ return http.get("/api/home/getSwipperList")
+}
+//首页热推
+export const getHotListApi = ()=>{
+ return http.get("/api/home/getHotList")
+}
\ No newline at end of file
diff --git a/order-app/src/api/user.js b/order-app/src/api/user.js
new file mode 100644
index 0000000..afb8832
--- /dev/null
+++ b/order-app/src/api/user.js
@@ -0,0 +1,48 @@
+import http from '../common/http.js'
+//获取code
+export const getCode = () => {
+ const promise = new Promise((resolve, reject) => {
+ uni.login({
+ provider: 'weixin', //使用微信登录
+ success: function(loginRes) {
+ console.log('8888888888')
+ console.log(loginRes.code);
+ //如果返回数据
+ if (loginRes && loginRes.code) {
+ //数据返回
+ resolve(loginRes.code)
+ } else {
+ reject(loginRes)
+ }
+ }
+ })
+ }).catch(res => {
+ uni.showToast({
+ icon: 'none',
+ title: res.errMsg || '获取code失败!'
+ })
+ })
+ return promise;
+}
+//小程序登录
+export const wxLoginApi = (code) => {
+ return http.post('/wxapi/user/wxLogin', {
+ code: code
+ })
+}
+//封装登录
+export const userLogin = async () => {
+ //获取code
+ let res = await getCode()
+ //登录: 调用我们自己的后端接口
+ const {
+ data
+ } = await wxLoginApi(res)
+ console.log('登录')
+ console.log(data)
+ if (data) {
+ //存储
+ uni.setStorageSync('openid', data.openid)
+ uni.setStorageSync('sessionkey', data.sessionKey)
+ }
+}
\ No newline at end of file
diff --git a/order-app/src/common/http.js b/order-app/src/common/http.js
new file mode 100644
index 0000000..c218975
--- /dev/null
+++ b/order-app/src/common/http.js
@@ -0,0 +1,40 @@
+ const baseUrl = 'http://localhost:8089'
+//const baseUrl = 'http://192.168.31.70:8089'
+const http = (options = {}) => {
+ return new Promise((resolve, reject) => {
+ uni.request({
+ url: baseUrl + options.url || '',
+ method:options.type || 'GET' ,
+ data: options.data || {},
+ header: options.header || {},
+ }).then((response) => {
+ console.log(response)
+ resolve(response.data);
+ }).catch(error => {
+ reject(error)
+ })
+ });
+}
+const get=(url,data,options={})=>{
+ options.type='get';
+ options.data = data;
+ options.url = url;
+ return http(options)
+}
+const post = (url, data, options = {}) => {
+ options.type = 'post';
+ options.data = data;
+ options.url = url;
+ return http(options)
+}
+const put = (url, data, options = {}) => {
+ options.type = 'put';
+ options.data = data;
+ options.url = url;
+ return http(options)
+}
+export default {
+ get,
+ post,
+ put
+}
\ No newline at end of file
diff --git a/order-app/src/pages.json b/order-app/src/pages.json
index 6209e48..2d6a320 100644
--- a/order-app/src/pages.json
+++ b/order-app/src/pages.json
@@ -1,11 +1,12 @@
{
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+ /* {
+ "path": "pages/address/address",
+ "style": {
+ "navigationBarTitleText": ""
+ }
+ }, */
{
- "path": "pages/address/address",
- "style": {
- "navigationBarTitleText": ""
- }
- }, {
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "首页"
@@ -16,27 +17,35 @@
"navigationBarTitleText": "分类",
"enablePullDownRefresh": false
}
-
}, {
"path": "pages/car/car",
"style": {
"navigationBarTitleText": "购物车",
"enablePullDownRefresh": false
}
-
}, {
"path": "pages/mine/mine",
"style": {
"navigationBarTitleText": "我的",
"enablePullDownRefresh": false
}
-
- },
- {
+ }, {
"path": "pages/detail/detail",
"style": {
"navigationBarTitleText": ""
}
+ }, {
+ "path": "pages/address/address",
+ "style": {
+ "navigationBarTitleText": ""
+ }
+ },
+ {
+ "path" : "common/common",
+ "style" :
+ {
+ "navigationBarTitleText" : ""
+ }
}
],
"globalStyle": {
diff --git a/order-app/src/pages/category/category.vue b/order-app/src/pages/category/category.vue
index f6ce2ec..4c9808a 100644
--- a/order-app/src/pages/category/category.vue
+++ b/order-app/src/pages/category/category.vue
@@ -5,7 +5,7 @@
- {{item.name}}
+ {{item.categoryName}}
@@ -16,8 +16,9 @@
{{item.name}}
-->
-
-
+
+
@@ -30,84 +31,69 @@
@@ -229,5 +215,4 @@
width: 120rpx;
height: 120rpx;
}
-
-
+
\ No newline at end of file
diff --git a/order-app/src/pages/detail/detail.vue b/order-app/src/pages/detail/detail.vue
index 07288d5..051f2d1 100644
--- a/order-app/src/pages/detail/detail.vue
+++ b/order-app/src/pages/detail/detail.vue
@@ -32,22 +32,7 @@
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
+
@@ -79,11 +64,11 @@
-
+
首页
-
+
购物车
@@ -97,6 +82,9 @@
@@ -229,5 +215,4 @@
width: 120rpx;
height: 120rpx;
}
-
-
+
\ No newline at end of file
diff --git a/order-app/src/pages/detail/detail.vue b/order-app/src/pages/detail/detail.vue
index 07288d5..bd8377a 100644
--- a/order-app/src/pages/detail/detail.vue
+++ b/order-app/src/pages/detail/detail.vue
@@ -32,22 +32,7 @@
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
- 我是内容一
+
@@ -79,11 +64,11 @@
-
+
首页
-
+
购物车
@@ -110,9 +95,11 @@
//获取store
const store = carStore()
//购物车数量动态变化
- const carCount = computed(()=>{
+ const carCount = computed(() => {
return store.carList.length
})
+ //菜品详情
+ const content = ref('')
const current = ref(0)
//轮播图高度
const height = ref('400')
@@ -177,6 +164,18 @@
swiperCurrent.value = current;
tabIndex.value = current;
}
+ //跳转首页
+ const toHome = () => {
+ uni.switchTab({
+ url: '../index/index'
+ });
+ }
+ //跳转购物车
+ const toCar = () => {
+ uni.switchTab({
+ url: '../car/car'
+ });
+ }
onLoad((options) => {
const goods = JSON.parse(options.goods)
swipperList.value = goods.goodsImage.split(',')