1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

通过微信开发者工具 商城模板 创建新小程序

This commit is contained in:
2023-03-06 23:52:24 +08:00
parent ada464a8cc
commit c21ff901d5
393 changed files with 52952 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
export function delay(ms = 200) {
return new Promise((resolve) => setTimeout(resolve, ms));
}

View File

@@ -0,0 +1,3 @@
export function timeout(ms = 1000) {
return new Promise((_, reject) => setTimeout(reject, ms));
}

View File

@@ -0,0 +1,20 @@
import { config } from '../../config/index';
/** 获取活动列表 */
function mockFetchActivity(ID = 0) {
const { delay } = require('../_utils/delay');
const { getActivity } = require('../../model/activity');
return delay().then(() => getActivity(ID));
}
/** 获取活动列表 */
export function fetchActivity(ID = 0) {
if (config.useMock) {
return mockFetchActivity(ID);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,20 @@
import { config } from '../../config/index';
/** 获取活动列表 */
function mockFetchActivityList(pageIndex = 1, pageSize = 20) {
const { delay } = require('../_utils/delay');
const { getActivityList } = require('../../model/activities');
return delay().then(() => getActivityList(pageIndex, pageSize));
}
/** 获取活动列表 */
export function fetchActivityList(pageIndex = 1, pageSize = 20) {
if (config.useMock) {
return mockFetchActivityList(pageIndex, pageSize);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,48 @@
import { config } from '../../config/index';
/** 获取收货地址 */
function mockFetchDeliveryAddress(id) {
const { delay } = require('../_utils/delay');
const { genAddress } = require('../../model/address');
return delay().then(() => genAddress(id));
}
/** 获取收货地址 */
export function fetchDeliveryAddress(id = 0) {
if (config.useMock) {
return mockFetchDeliveryAddress(id);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 获取收货地址列表 */
function mockFetchDeliveryAddressList(len = 0) {
const { delay } = require('../_utils/delay');
const { genAddressList } = require('../../model/address');
return delay().then(() =>
genAddressList(len).map((address) => {
return {
...address,
phoneNumber: address.phone,
address: `${address.provinceName}${address.cityName}${address.districtName}${address.detailAddress}`,
tag: address.addressTag,
};
}),
);
}
/** 获取收货地址列表 */
export function fetchDeliveryAddressList(len = 10) {
if (config.useMock) {
return mockFetchDeliveryAddressList(len);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,20 @@
import { config } from '../../config/index';
/** 获取购物车mock数据 */
function mockFetchCartGroupData(params) {
const { delay } = require('../_utils/delay');
const { genCartGroupData } = require('../../model/cart');
return delay().then(() => genCartGroupData(params));
}
/** 获取购物车数据 */
export function fetchCartGroupData(params) {
if (config.useMock) {
return mockFetchCartGroupData(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,18 @@
import { config } from '../../config/index';
/** 获取商品评论 */
function mockFetchComments(parmas) {
const { delay } = require('../_utils/delay');
const { getGoodsAllComments } = require('../../model/comments');
return delay().then(() => getGoodsAllComments(parmas));
}
/** 获取商品评论 */
export function fetchComments(parmas) {
if (config.useMock) {
return mockFetchComments(parmas);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,18 @@
import { config } from '../../config/index';
/** 获取商品评论数 */
function mockFetchCommentsCount(ID = 0) {
const { delay } = require('../_utils/delay');
const { getGoodsCommentsCount } = require('../../model/comments');
return delay().then(() => getGoodsCommentsCount(ID));
}
/** 获取商品评论数 */
export function fetchCommentsCount(ID = 0) {
if (config.useMock) {
return mockFetchCommentsCount(ID);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,65 @@
import { config } from '../../config/index';
/** 获取优惠券列表 */
function mockFetchCoupon(status) {
const { delay } = require('../_utils/delay');
const { getCouponList } = require('../../model/coupon');
return delay().then(() => getCouponList(status));
}
/** 获取优惠券列表 */
export function fetchCouponList(status = 'default') {
if (config.useMock) {
return mockFetchCoupon(status);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 获取优惠券 详情 */
function mockFetchCouponDetail(id, status) {
const { delay } = require('../_utils/delay');
const { getCoupon } = require('../../model/coupon');
const { genAddressList } = require('../../model/address');
return delay().then(() => {
const result = {
detail: getCoupon(id, status),
storeInfoList: genAddressList(),
};
result.detail.useNotes = `1个订单限用1张除运费券外不能与其它类型的优惠券叠加使用运费券除外\n2.仅适用于各区域正常售卖商品,不支持团购、抢购、预售类商品`;
result.detail.storeAdapt = `商城通用`;
if (result.detail.type === 'price') {
result.detail.desc = `减免 ${result.detail.value / 100}`;
if (result.detail.base) {
result.detail.desc += `,满${result.detail.base / 100}元可用`;
}
result.detail.desc += '。';
} else if (result.detail.type === 'discount') {
result.detail.desc = `${result.detail.value}`;
if (result.detail.base) {
result.detail.desc += `,满${result.detail.base / 100}元可用`;
}
result.detail.desc += '。';
}
return result;
});
}
/** 获取优惠券 详情 */
export function fetchCouponDetail(id, status = 'default') {
if (config.useMock) {
return mockFetchCouponDetail(id, status);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,20 @@
import { config } from '../../../config/index';
import { queryCommentDetail } from '../../../model/comments/queryDetail';
/** 获取商品评价数据 */
function mockQueryCommentDetail(params) {
const { delay } = require('../../_utils/delay');
const data = queryCommentDetail(params);
return delay().then(() => {
return data;
});
}
/** 获取评价详情 */
export function getCommentDetail(params) {
if (config.useMock) {
return mockQueryCommentDetail(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,18 @@
import { config } from '../../config/index';
/** 获取商品列表 */
function mockFetchGoodCategory() {
const { delay } = require('../_utils/delay');
const { getCategoryList } = require('../../model/category');
return delay().then(() => getCategoryList());
}
/** 获取商品列表 */
export function getCategoryList() {
if (config.useMock) {
return mockFetchGoodCategory();
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,18 @@
import { config } from '../../config/index';
/** 获取商品列表 */
function mockFetchGood(ID = 0) {
const { delay } = require('../_utils/delay');
const { genGood } = require('../../model/good');
return delay().then(() => genGood(ID));
}
/** 获取商品列表 */
export function fetchGood(ID = 0) {
if (config.useMock) {
return mockFetchGood(ID);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,29 @@
import { config } from '../../config/index';
/** 获取商品列表 */
function mockFetchGoodsList(pageIndex = 1, pageSize = 20) {
const { delay } = require('../_utils/delay');
const { getGoodsList } = require('../../model/goods');
return delay().then(() =>
getGoodsList(pageIndex, pageSize).map((item) => {
return {
spuId: item.spuId,
thumb: item.primaryImage,
title: item.title,
price: item.minSalePrice,
originPrice: item.maxLinePrice,
tags: item.spuTagList.map((tag) => tag.title),
};
}),
);
}
/** 获取商品列表 */
export function fetchGoodsList(pageIndex = 1, pageSize = 20) {
if (config.useMock) {
return mockFetchGoodsList(pageIndex, pageSize);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,37 @@
import { config } from '../../config/index';
/** 获取商品详情页评论数 */
function mockFetchGoodDetailsCommentsCount(spuId = 0) {
const { delay } = require('../_utils/delay');
const {
getGoodsDetailsCommentsCount,
} = require('../../model/detailsComments');
return delay().then(() => getGoodsDetailsCommentsCount(spuId));
}
/** 获取商品详情页评论数 */
export function getGoodsDetailsCommentsCount(spuId = 0) {
if (config.useMock) {
return mockFetchGoodDetailsCommentsCount(spuId);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 获取商品详情页评论 */
function mockFetchGoodDetailsCommentList(spuId = 0) {
const { delay } = require('../_utils/delay');
const { getGoodsDetailsComments } = require('../../model/detailsComments');
return delay().then(() => getGoodsDetailsComments(spuId));
}
/** 获取商品详情页评论 */
export function getGoodsDetailsCommentList(spuId = 0) {
if (config.useMock) {
return mockFetchGoodDetailsCommentList(spuId);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,39 @@
/* eslint-disable no-param-reassign */
import { config } from '../../config/index';
/** 获取商品列表 */
function mockFetchGoodsList(params) {
const { delay } = require('../_utils/delay');
const { getSearchResult } = require('../../model/search');
const data = getSearchResult(params);
if (data.spuList.length) {
data.spuList.forEach((item) => {
item.spuId = item.spuId;
item.thumb = item.primaryImage;
item.title = item.title;
item.price = item.minSalePrice;
item.originPrice = item.maxLinePrice;
item.desc = '';
if (item.spuTagList) {
item.tags = item.spuTagList.map((tag) => tag.title);
} else {
item.tags = [];
}
});
}
return delay().then(() => {
return data;
});
}
/** 获取商品列表 */
export function fetchGoodsList(params) {
if (config.useMock) {
return mockFetchGoodsList(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,35 @@
import { config } from '../../config/index';
/** 获取搜索历史 */
function mockSearchHistory() {
const { delay } = require('../_utils/delay');
const { getSearchHistory } = require('../../model/search');
return delay().then(() => getSearchHistory());
}
/** 获取搜索历史 */
export function getSearchHistory() {
if (config.useMock) {
return mockSearchHistory();
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 获取搜索历史 */
function mockSearchPopular() {
const { delay } = require('../_utils/delay');
const { getSearchPopular } = require('../../model/search');
return delay().then(() => getSearchPopular());
}
/** 获取搜索历史 */
export function getSearchPopular() {
if (config.useMock) {
return mockSearchPopular();
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,38 @@
/* eslint-disable no-param-reassign */
import { config } from '../../config/index';
/** 获取搜索历史 */
function mockSearchResult(params) {
const { delay } = require('../_utils/delay');
const { getSearchResult } = require('../../model/search');
const data = getSearchResult(params);
if (data.spuList.length) {
data.spuList.forEach((item) => {
item.spuId = item.spuId;
item.thumb = item.primaryImage;
item.title = item.title;
item.price = item.minSalePrice;
item.originPrice = item.maxLinePrice;
if (item.spuTagList) {
item.tags = item.spuTagList.map((tag) => ({ title: tag.title }));
} else {
item.tags = [];
}
});
}
return delay().then(() => {
return data;
});
}
/** 获取搜索历史 */
export function getSearchResult(params) {
if (config.useMock) {
return mockSearchResult(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,53 @@
import { config, cdnBase } from '../../config/index';
/** 获取首页数据 */
function mockFetchHome() {
const { delay } = require('../_utils/delay');
const { genSwiperImageList } = require('../../model/swiper');
return delay().then(() => {
return {
swiper: genSwiperImageList(),
tabList: [
{
text: '精选推荐',
key: 0,
},
{
text: '夏日防晒',
key: 1,
},
{
text: '二胎大作战',
key: 2,
},
{
text: '人气榜',
key: 3,
},
{
text: '好评榜',
key: 4,
},
{
text: 'RTX 30',
key: 5,
},
{
text: '手机也疯狂',
key: 6,
},
],
activityImg: `${cdnBase}/activity/banner.png`,
};
});
}
/** 获取首页数据 */
export function fetchHome() {
if (config.useMock) {
return mockFetchHome();
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,70 @@
import { config } from '../../config/index';
/** 获取售后单mock数据 */
function mockFetchRightsPreview(params) {
const { delay } = require('../_utils/delay');
const { genRightsPreview } = require('../../model/order/applyService');
return delay().then(() => genRightsPreview(params));
}
/** 获取售后单数据 */
export function fetchRightsPreview(params) {
if (config.useMock) {
return mockFetchRightsPreview(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 确认收货 */
export function dispatchConfirmReceived() {
if (config.useMock) {
const { delay } = require('../_utils/delay');
return delay();
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 获取可选的mock售后原因列表 */
function mockFetchApplyReasonList(params) {
const { delay } = require('../_utils/delay');
const { genApplyReasonList } = require('../../model/order/applyService');
return delay().then(() => genApplyReasonList(params));
}
/** 获取可选的售后原因列表 */
export function fetchApplyReasonList(params) {
if (config.useMock) {
return mockFetchApplyReasonList(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 发起mock售后申请 */
function mockDispatchApplyService(params) {
const { delay } = require('../_utils/delay');
const { applyService } = require('../../model/order/applyService');
return delay().then(() => applyService(params));
}
/** 发起售后申请 */
export function dispatchApplyService(params) {
if (config.useMock) {
return mockDispatchApplyService(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,69 @@
import { config } from '../../config/index';
import { mockIp, mockReqId } from '../../utils/mock';
/** 获取结算mock数据 */
function mockFetchSettleDetail(params) {
const { delay } = require('../_utils/delay');
const { genSettleDetail } = require('../../model/order/orderConfirm');
return delay().then(() => genSettleDetail(params));
}
/** 提交mock订单 */
function mockDispatchCommitPay() {
const { delay } = require('../_utils/delay');
return delay().then(() => ({
data: {
isSuccess: true,
tradeNo: '350930961469409099',
payInfo: '{}',
code: null,
transactionId: 'E-200915180100299000',
msg: null,
interactId: '15145',
channel: 'wechat',
limitGoodsList: null,
},
code: 'Success',
msg: null,
requestId: mockReqId(),
clientIp: mockIp(),
rt: 891,
success: true,
}));
}
/** 获取结算数据 */
export function fetchSettleDetail(params) {
if (config.useMock) {
return mockFetchSettleDetail(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/* 提交订单 */
export function dispatchCommitPay(params) {
if (config.useMock) {
return mockDispatchCommitPay(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 开发票 */
export function dispatchSupplementInvoice() {
if (config.useMock) {
const { delay } = require('../_utils/delay');
return delay();
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,39 @@
import { config } from '../../config/index';
/** 获取订单详情mock数据 */
function mockFetchOrderDetail(params) {
const { delay } = require('../_utils/delay');
const { genOrderDetail } = require('../../model/order/orderDetail');
return delay().then(() => genOrderDetail(params));
}
/** 获取订单详情数据 */
export function fetchOrderDetail(params) {
if (config.useMock) {
return mockFetchOrderDetail(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 获取客服mock数据 */
function mockFetchBusinessTime(params) {
const { delay } = require('../_utils/delay');
const { genBusinessTime } = require('../../model/order/orderDetail');
return delay().then(() => genBusinessTime(params));
}
/** 获取客服数据 */
export function fetchBusinessTime(params) {
if (config.useMock) {
return mockFetchBusinessTime(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,39 @@
import { config } from '../../config/index';
/** 获取订单列表mock数据 */
function mockFetchOrders(params) {
const { delay } = require('../_utils/delay');
const { genOrders } = require('../../model/order/orderList');
return delay(200).then(() => genOrders(params));
}
/** 获取订单列表数据 */
export function fetchOrders(params) {
if (config.useMock) {
return mockFetchOrders(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}
/** 获取订单列表mock数据 */
function mockFetchOrdersCount(params) {
const { delay } = require('../_utils/delay');
const { genOrdersCount } = require('../../model/order/orderList');
return delay().then(() => genOrdersCount(params));
}
/** 获取订单列表统计 */
export function fetchOrdersCount(params) {
if (config.useMock) {
return mockFetchOrdersCount(params);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,22 @@
import { config } from '../../config/index';
/** 获取评价商品 */
function mockGetGoods(parameter) {
const { delay } = require('../_utils/delay');
const { getGoods } = require('../../model/submitComment');
const data = getGoods(parameter);
return delay().then(() => {
return data;
});
}
/** 获取评价商品 */
export function getGoods(parameter) {
if (config.useMock) {
return mockGetGoods(parameter);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,18 @@
import { config } from '../../config/index';
/** 获取商品列表 */
function mockFetchPromotion(ID = 0) {
const { delay } = require('../_utils/delay');
const { getPromotion } = require('../../model/promotion');
return delay().then(() => getPromotion(ID));
}
/** 获取商品列表 */
export function fetchPromotion(ID = 0) {
if (config.useMock) {
return mockFetchPromotion(ID);
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,28 @@
import { config } from '../../config/index';
/** 获取个人中心信息 */
function mockFetchPerson() {
const { delay } = require('../_utils/delay');
const { genSimpleUserInfo } = require('../../model/usercenter');
const { genAddress } = require('../../model/address');
const address = genAddress();
return delay().then(() => ({
...genSimpleUserInfo(),
address: {
provinceName: address.provinceName,
provinceCode: address.provinceCode,
cityName: address.cityName,
cityCode: address.cityCode,
},
}));
}
/** 获取个人中心信息 */
export function fetchPerson() {
if (config.useMock) {
return mockFetchPerson();
}
return new Promise((resolve) => {
resolve('real api');
});
}

View File

@@ -0,0 +1,18 @@
import { config } from '../../config/index';
/** 获取个人中心信息 */
function mockFetchUserCenter() {
const { delay } = require('../_utils/delay');
const { genUsercenter } = require('../../model/usercenter');
return delay(200).then(() => genUsercenter());
}
/** 获取个人中心信息 */
export function fetchUserCenter() {
if (config.useMock) {
return mockFetchUserCenter();
}
return new Promise((resolve) => {
resolve('real api');
});
}