diff --git a/.env.development b/.env.development index b00b29e..fd86701 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VITE_APP_TITLE='uniapp-vue3-project' VITE_APP_ENV='development' # 接口地址 -VITE_APP_BASE_API='/api' +VITE_APP_BASE_API='https://apidev.lakeapp.cn/' # 删除console VITE_DROP_CONSOLE=false diff --git a/.env.production b/.env.production index 618be13..a029290 100644 --- a/.env.production +++ b/.env.production @@ -5,7 +5,7 @@ VITE_APP_TITLE='uniapp-vue3-project' VITE_APP_ENV='production' # 接口地址 -VITE_APP_BASE_API='/' +VITE_APP_BASE_API='http://api.lakeapp.cn/' # 删除console VITE_DROP_CONSOLE=true diff --git a/src/api/common/index.ts b/src/api/common/index.ts index 58d922b..808c20e 100644 --- a/src/api/common/index.ts +++ b/src/api/common/index.ts @@ -2,11 +2,13 @@ * 通用接口 */ import type { SendCodeParams, SendCodeResult, UploadImageResult } from './types'; -import { post, upload } from '@/utils/request'; +import { get, post, upload } from '@/utils/request'; enum URL { upload = '/common/upload', sendCode = '/sendCode', + barCode = '/ext2/qr/barimg', + qrCode = '/ext2/qr/qrimg' } // 图片上传 @@ -15,3 +17,12 @@ export const uploadImage = (imagePath: string) => // 发送验证码 export const sendCode = (data: SendCodeParams) => post({ url: URL.sendCode, data }); + +export const generateBarCode = (data: string) => get({ + url: `${URL.barCode}?v=${data}`, + responseType: 'arraybuffer' +}); +export const generateQrCode = (data: string) => get({ + url: `${URL.qrCode}?v=${data}`, + responseType: 'arraybuffer' +}); diff --git a/src/pages.json b/src/pages.json index 96a19fa..37c3288 100644 --- a/src/pages.json +++ b/src/pages.json @@ -11,13 +11,14 @@ { "path": "pages/home/index", "style": { - "navigationBarTitleText": "首页" + "navigationBarTitleText": "首页", + "navigationStyle": "custom" } }, { "path": "pages/qrcode/index", "style": { - "navigationBarTitleText": "支付码" + "navigationBarTitleText": "会员支付码" } }, { @@ -91,7 +92,7 @@ "globalStyle": { "navigationBarTextStyle": "black", "navigationBarTitleText": "uni-app", - "navigationBarBackgroundColor": "#F8F8F8", - "backgroundColor": "#F8F8F8" + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F7F7F7" } } diff --git a/src/pages/home/index.vue b/src/pages/home/index.vue index 1ade22c..93797bb 100644 --- a/src/pages/home/index.vue +++ b/src/pages/home/index.vue @@ -1,18 +1,276 @@ + + diff --git a/src/pages/mall/index.vue b/src/pages/mall/index.vue index 3394a9b..aad4e41 100644 --- a/src/pages/mall/index.vue +++ b/src/pages/mall/index.vue @@ -1,25 +1,211 @@ - + + diff --git a/src/pages/mine/index.vue b/src/pages/mine/index.vue index 3394a9b..2fd9a3d 100644 --- a/src/pages/mine/index.vue +++ b/src/pages/mine/index.vue @@ -1,21 +1,120 @@ - + + diff --git a/src/pages/qrcode/index.vue b/src/pages/qrcode/index.vue index 3394a9b..8cf82f3 100644 --- a/src/pages/qrcode/index.vue +++ b/src/pages/qrcode/index.vue @@ -1,25 +1,249 @@ - + + diff --git a/src/static/images/ic_add_goods.png b/src/static/images/ic_add_goods.png new file mode 100644 index 0000000..949a8af Binary files /dev/null and b/src/static/images/ic_add_goods.png differ diff --git a/src/static/images/ic_arrow_right.png b/src/static/images/ic_arrow_right.png new file mode 100644 index 0000000..4e44bb1 Binary files /dev/null and b/src/static/images/ic_arrow_right.png differ diff --git a/src/static/images/ic_arrow_right_yellow.png b/src/static/images/ic_arrow_right_yellow.png new file mode 100644 index 0000000..15fbaf7 Binary files /dev/null and b/src/static/images/ic_arrow_right_yellow.png differ diff --git a/src/static/images/ic_card.png b/src/static/images/ic_card.png new file mode 100644 index 0000000..adadffc Binary files /dev/null and b/src/static/images/ic_card.png differ diff --git a/src/static/images/ic_coupon.png b/src/static/images/ic_coupon.png new file mode 100644 index 0000000..a0d6dc9 Binary files /dev/null and b/src/static/images/ic_coupon.png differ diff --git a/src/static/images/ic_crown.png b/src/static/images/ic_crown.png new file mode 100644 index 0000000..172595a Binary files /dev/null and b/src/static/images/ic_crown.png differ diff --git a/src/static/images/ic_group_gift.png b/src/static/images/ic_group_gift.png new file mode 100644 index 0000000..940d44a Binary files /dev/null and b/src/static/images/ic_group_gift.png differ diff --git a/src/static/images/ic_groupbuy.png b/src/static/images/ic_groupbuy.png new file mode 100644 index 0000000..ba3710d Binary files /dev/null and b/src/static/images/ic_groupbuy.png differ diff --git a/src/static/images/ic_member_card.png b/src/static/images/ic_member_card.png new file mode 100644 index 0000000..4221867 Binary files /dev/null and b/src/static/images/ic_member_card.png differ diff --git a/src/static/images/ic_member_service_address.png b/src/static/images/ic_member_service_address.png new file mode 100644 index 0000000..7871d41 Binary files /dev/null and b/src/static/images/ic_member_service_address.png differ diff --git a/src/static/images/ic_member_service_contact.png b/src/static/images/ic_member_service_contact.png new file mode 100644 index 0000000..00cc799 Binary files /dev/null and b/src/static/images/ic_member_service_contact.png differ diff --git a/src/static/images/ic_member_service_follow.png b/src/static/images/ic_member_service_follow.png new file mode 100644 index 0000000..b8b7dc7 Binary files /dev/null and b/src/static/images/ic_member_service_follow.png differ diff --git a/src/static/images/ic_member_service_info.png b/src/static/images/ic_member_service_info.png new file mode 100644 index 0000000..7c0d699 Binary files /dev/null and b/src/static/images/ic_member_service_info.png differ diff --git a/src/static/images/ic_member_service_promotion.png b/src/static/images/ic_member_service_promotion.png new file mode 100644 index 0000000..241026a Binary files /dev/null and b/src/static/images/ic_member_service_promotion.png differ diff --git a/src/static/images/ic_member_service_record.png b/src/static/images/ic_member_service_record.png new file mode 100644 index 0000000..01fca7e Binary files /dev/null and b/src/static/images/ic_member_service_record.png differ diff --git a/src/static/images/ic_order_all.png b/src/static/images/ic_order_all.png new file mode 100644 index 0000000..2745abf Binary files /dev/null and b/src/static/images/ic_order_all.png differ diff --git a/src/static/images/ic_order_finish.png b/src/static/images/ic_order_finish.png new file mode 100644 index 0000000..bacdbe9 Binary files /dev/null and b/src/static/images/ic_order_finish.png differ diff --git a/src/static/images/ic_order_progressing.png b/src/static/images/ic_order_progressing.png new file mode 100644 index 0000000..4104beb Binary files /dev/null and b/src/static/images/ic_order_progressing.png differ diff --git a/src/static/images/ic_qrcode_white.png b/src/static/images/ic_qrcode_white.png new file mode 100644 index 0000000..7c06392 Binary files /dev/null and b/src/static/images/ic_qrcode_white.png differ diff --git a/src/static/images/ic_register_gift.png b/src/static/images/ic_register_gift.png new file mode 100644 index 0000000..5f6965d Binary files /dev/null and b/src/static/images/ic_register_gift.png differ diff --git a/src/static/images/ic_search.png b/src/static/images/ic_search.png new file mode 100644 index 0000000..1297126 Binary files /dev/null and b/src/static/images/ic_search.png differ diff --git a/src/static/images/ic_shopping_cart.png b/src/static/images/ic_shopping_cart.png new file mode 100644 index 0000000..ce98a96 Binary files /dev/null and b/src/static/images/ic_shopping_cart.png differ diff --git a/src/static/images/test_bg.png b/src/static/images/test_bg.png new file mode 100644 index 0000000..293e1a5 Binary files /dev/null and b/src/static/images/test_bg.png differ diff --git a/src/utils/assets.ts b/src/utils/assets.ts new file mode 100644 index 0000000..e4ddde6 --- /dev/null +++ b/src/utils/assets.ts @@ -0,0 +1 @@ +export const assetsUrl ='/static/images/' diff --git a/src/utils/request/index.ts b/src/utils/request/index.ts index 5fe4fb2..24c7bb7 100644 --- a/src/utils/request/index.ts +++ b/src/utils/request/index.ts @@ -1,5 +1,5 @@ // 引入配置 -import type { HttpRequestConfig } from 'uview-plus/libs/luch-request/index'; +import type { HttpRequestConfig } from 'uview-plus/libs/luch-request'; import { requestInterceptors, responseInterceptors } from './interceptors'; import type { IResponse } from './type'; @@ -14,11 +14,15 @@ export function setupRequest() { responseInterceptors(); } -export function request(config: HttpRequestConfig): Promise { +export function request(config: HttpRequestConfig): Promise { return new Promise((resolve) => { uni.$u.http.request(config).then((res: IResponse) => { - const { result } = res; - resolve(result as T); + if(res instanceof ArrayBuffer) { + resolve(res); + } else { + const { result } = res; + resolve(result as T); + } }); }); } diff --git a/src/utils/request/interceptors.ts b/src/utils/request/interceptors.ts index 1afc5ea..7d1f105 100644 --- a/src/utils/request/interceptors.ts +++ b/src/utils/request/interceptors.ts @@ -1,8 +1,8 @@ import type { HttpError, HttpRequestConfig, - HttpResponse, -} from 'uview-plus/libs/luch-request/index'; + HttpResponse +} from 'uview-plus/libs/luch-request'; import { showMessage } from './status'; import { getToken } from '@/utils/auth'; import useUserStore from '@/store/modules/user'; @@ -24,16 +24,17 @@ function requestInterceptors() { config.data = config.data || {}; // token设置 const token = getToken(); - if (token && config.header) { + if(token && config.header) { config.header.token = token; } return config; }, ( - config: any, // 可使用async await 做异步操作 - ) => Promise.reject(config), + config: any // 可使用async await 做异步操作 + ) => Promise.reject(config) ); } + function responseInterceptors() { /** * 响应拦截 @@ -48,15 +49,19 @@ function responseInterceptors() { // 自定义参数 const custom = config?.custom; + if(config.responseType === 'arraybuffer') { + return data; + } + // 请求成功则返回结果 - if (data.code === 200) { + if(data.code === 200) { return data || {}; } // 登录状态失效,重新登录 - if (data.code === 401) { + if(data.code === 401) { // 是否在获取token中,防止重复获取 - if (!isRefreshing) { + if(!isRefreshing) { // 修改登录状态为true isRefreshing = true; await useUserStore().authLogin(); @@ -78,26 +83,27 @@ function responseInterceptors() { } // 如果没有显式定义custom的toast参数为false的话,默认对报错进行toast弹出提示 - if (custom?.toast !== false) { + if(custom?.toast !== false) { uni.$u.toast(data.message); } // 如果需要catch返回,则进行reject - if (custom?.catch) { + if(custom?.catch) { return Promise.reject(data); } else { // 否则返回一个pending中的promise - return new Promise(() => {}); + return new Promise(() => { + }); } }, (response: HttpError) => { - if (response.statusCode) { + if(response.statusCode) { // 请求已发出,但是不在2xx的范围 showMessage(response.statusCode); return Promise.reject(response.data); } showMessage('网络连接异常,请稍后再试!'); - }, + } ); }