第一次提交:微信小程序前端最新完整代码
This commit is contained in:
73
utils/shop.js
Normal file
73
utils/shop.js
Normal file
@@ -0,0 +1,73 @@
|
||||
// utils/shop.js
|
||||
import { ensureLogin } from './login';
|
||||
import request from './request'; // 封装后的请求对象,路径请按实际调整
|
||||
|
||||
/**
|
||||
* 获取当前用户绑定的店铺商品数据
|
||||
* 自动确保登录,然后请求 /shangdian/hqsp 接口
|
||||
* 注意:本方法不涉及公告和轮播图,公告轮播图由页面独立调用原接口
|
||||
* @returns {Promise<Object>} 返回后端商品数据(包含 shangpinleixing, shangpinzhuanqu, shangpinliebiao)
|
||||
*/
|
||||
export async function fetchShopGoods() {
|
||||
// 1. 确保已登录
|
||||
await ensureLogin();
|
||||
|
||||
// 2. 请求商品数据
|
||||
return new Promise((resolve, reject) => {
|
||||
request({
|
||||
url: '/shangdian/hqsp',
|
||||
method: 'POST',
|
||||
data: {} // 无需传参,后端从 token 解析用户及绑定店铺
|
||||
})
|
||||
.then(res => {
|
||||
if (res.statusCode === 200 && res.data && res.data.code === 200) {
|
||||
const data = res.data.data;
|
||||
// 后端返回的商品数据应当包含 shangpinleixing, shangpinzhuanqu, shangpinliebiao
|
||||
resolve(data);
|
||||
} else {
|
||||
const msg = res.data?.msg || '获取商品失败';
|
||||
wx.showToast({ title: msg, icon: 'none' });
|
||||
reject(new Error(msg));
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('获取商品失败:', err);
|
||||
wx.showToast({ title: '网络错误,请重试', icon: 'none' });
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定店铺(扫码时调用)
|
||||
* @param {string} dianpuId 店铺ID(从二维码解析)
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function bindShop(dianpuId) {
|
||||
if (!dianpuId) return;
|
||||
|
||||
await ensureLogin(); // 确保登录
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
request({
|
||||
url: '/shangdian/bdsd',
|
||||
method: 'POST',
|
||||
data: { dianpu_id: dianpuId }
|
||||
})
|
||||
.then(res => {
|
||||
if (res.statusCode === 200 && res.data && res.data.code === 200) {
|
||||
// 绑定成功,后端已记录关系
|
||||
resolve();
|
||||
} else {
|
||||
const msg = res.data?.msg || '店铺绑定失败';
|
||||
wx.showToast({ title: msg, icon: 'none' });
|
||||
reject(new Error(msg));
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('绑定店铺失败:', err);
|
||||
wx.showToast({ title: '网络错误,绑定失败', icon: 'none' });
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user