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}} --> - - + + {{item1.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(',')