From c6d8cac29e6226d689aa47152803b1ba6132ddd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Fri, 18 Jul 2025 18:23:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=B2=E7=9F=A5=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/hjm/hjmBxLog/index.ts | 101 --------- src/api/hjm/hjmBxLog/model/index.ts | 42 ---- src/api/hjm/hjmCar/index.ts | 152 ------------- src/api/hjm/hjmCar/model/index.ts | 87 -------- src/api/hjm/hjmChoices/index.ts | 105 --------- src/api/hjm/hjmChoices/model/index.ts | 37 ---- src/api/hjm/hjmCourses/index.ts | 105 --------- src/api/hjm/hjmCourses/model/index.ts | 41 ---- src/api/hjm/hjmExamLog/index.ts | 114 ---------- src/api/hjm/hjmExamLog/model/index.ts | 39 ---- src/api/hjm/hjmFence/index.ts | 105 --------- src/api/hjm/hjmFence/model/index.ts | 39 ---- src/api/hjm/hjmGpsLog/index.ts | 101 --------- src/api/hjm/hjmGpsLog/model/index.ts | 42 ---- src/api/hjm/hjmQuestions/index.ts | 101 --------- src/api/hjm/hjmQuestions/model/index.ts | 54 ----- src/api/system/userVerify/index.ts | 12 ++ src/api/system/website/field/index.ts | 146 ------------- src/api/system/website/field/model/index.ts | 25 --- src/api/system/website/index.ts | 168 --------------- src/api/system/website/model/index.ts | 58 ----- src/app.config.ts | 6 +- src/app.scss | 22 ++ src/app.ts | 4 - src/components/OrderList.tsx | 2 - .../kefu.config.ts => cart/cart.config.ts} | 2 +- src/pages/{kefu/kefu.tsx => cart/cart.tsx} | 4 +- src/pages/index/Banner.tsx | 6 +- src/pages/index/BestSellers.tsx | 75 ++++--- src/pages/index/Header.scss | 8 + src/pages/index/Header.tsx | 37 ++-- src/pages/index/Menu.tsx | 24 +-- src/pages/index/MySearch.tsx | 7 +- src/pages/index/index.tsx | 6 +- src/shop/goodsDetail/index.config.ts | 3 +- src/shop/goodsDetail/index.scss | 12 ++ src/shop/goodsDetail/index.tsx | 203 ++++++++++++++---- src/user/car/BestSellers.tsx | 44 ---- src/user/car/index.config.ts | 4 - src/user/car/index.tsx | 62 ------ src/utils/common.ts | 33 ++- src/website/modify.config.ts | 3 - src/website/modify.tsx | 152 ------------- 43 files changed, 332 insertions(+), 2061 deletions(-) delete mode 100644 src/api/hjm/hjmBxLog/index.ts delete mode 100644 src/api/hjm/hjmBxLog/model/index.ts delete mode 100644 src/api/hjm/hjmCar/index.ts delete mode 100644 src/api/hjm/hjmCar/model/index.ts delete mode 100644 src/api/hjm/hjmChoices/index.ts delete mode 100644 src/api/hjm/hjmChoices/model/index.ts delete mode 100644 src/api/hjm/hjmCourses/index.ts delete mode 100644 src/api/hjm/hjmCourses/model/index.ts delete mode 100644 src/api/hjm/hjmExamLog/index.ts delete mode 100644 src/api/hjm/hjmExamLog/model/index.ts delete mode 100644 src/api/hjm/hjmFence/index.ts delete mode 100644 src/api/hjm/hjmFence/model/index.ts delete mode 100644 src/api/hjm/hjmGpsLog/index.ts delete mode 100644 src/api/hjm/hjmGpsLog/model/index.ts delete mode 100644 src/api/hjm/hjmQuestions/index.ts delete mode 100644 src/api/hjm/hjmQuestions/model/index.ts delete mode 100644 src/api/system/website/field/index.ts delete mode 100644 src/api/system/website/field/model/index.ts delete mode 100644 src/api/system/website/index.ts delete mode 100644 src/api/system/website/model/index.ts rename src/pages/{kefu/kefu.config.ts => cart/cart.config.ts} (70%) rename src/pages/{kefu/kefu.tsx => cart/cart.tsx} (97%) create mode 100644 src/pages/index/Header.scss delete mode 100644 src/user/car/BestSellers.tsx delete mode 100644 src/user/car/index.config.ts delete mode 100644 src/user/car/index.tsx delete mode 100644 src/website/modify.config.ts delete mode 100644 src/website/modify.tsx diff --git a/src/api/hjm/hjmBxLog/index.ts b/src/api/hjm/hjmBxLog/index.ts deleted file mode 100644 index 618bf46..0000000 --- a/src/api/hjm/hjmBxLog/index.ts +++ /dev/null @@ -1,101 +0,0 @@ -import request from '@/utils/request'; -import type { ApiResult, PageResult } from '@/api/index'; -import type { HjmBxLog, HjmBxLogParam } from './model'; - -/** - * 分页查询黄家明_保险记录 - */ -export async function pageHjmBxLog(params: HjmBxLogParam) { - const res = await request.get>>( - '/hjm/hjm-bx-log/page', - params - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询黄家明_保险记录列表 - */ -export async function listHjmBxLog(params?: HjmBxLogParam) { - const res = await request.get>( - '/hjm/hjm-bx-log', - params - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加黄家明_保险记录 - */ -export async function addHjmBxLog(data: HjmBxLog) { - const res = await request.post>( - '/hjm/hjm-bx-log', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改黄家明_保险记录 - */ -export async function updateHjmBxLog(data: HjmBxLog) { - const res = await request.put>( - '/hjm/hjm-bx-log', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除黄家明_保险记录 - */ -export async function removeHjmBxLog(id?: number) { - const res = await request.del>( - '/hjm/hjm-bx-log/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除黄家明_保险记录 - */ -export async function removeBatchHjmBxLog(data: (number | undefined)[]) { - const res = await request.del>( - '/hjm/hjm-bx-log/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询黄家明_保险记录 - */ -export async function getHjmBxLog(id: number) { - const res = await request.get>( - '/hjm/hjm-bx-log/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/hjm/hjmBxLog/model/index.ts b/src/api/hjm/hjmBxLog/model/index.ts deleted file mode 100644 index c105e65..0000000 --- a/src/api/hjm/hjmBxLog/model/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -import type { PageParam } from '@/api/index'; - -/** - * 黄家明_保险记录 - */ -export interface HjmBxLog { - // 自增ID - id?: number; - // 用户ID - userId?: number; - // 事故类型 - accidentType?: string; - // 车辆ID - carId?: number; - // 车辆编号 - carNo?: string; - // 保险图片 - image?: any; - // 排序(数字越小越靠前) - sortNumber?: number; - // 备注 - comments?: string; - // 状态, 0正常, 1冻结 - status?: number; - // 是否删除, 0否, 1是 - deleted?: number; - // 租户id - tenantId?: number; - // 创建时间 - createTime?: string; - // 修改时间 - updateTime?: string; -} - -/** - * 黄家明_保险记录搜索条件 - */ -export interface HjmBxLogParam extends PageParam { - id?: number; - userId?: number; - keywords?: string; -} diff --git a/src/api/hjm/hjmCar/index.ts b/src/api/hjm/hjmCar/index.ts deleted file mode 100644 index f37006f..0000000 --- a/src/api/hjm/hjmCar/index.ts +++ /dev/null @@ -1,152 +0,0 @@ -import request from '@/utils/request'; -import type { ApiResult, PageResult } from '@/api/index'; -import type { HjmCar, HjmCarParam } from './model'; - -/** - * 分页查询黄家明_车辆管理 - */ -export async function pageHjmCar(params: HjmCarParam) { - const res = await request.get>>( - '/hjm/hjm-car/page', - params - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - - -/** - * 查询黄家明_车辆管理列表 - */ -export async function listHjmCar(params?: HjmCarParam) { - const res = await request.get>( - '/hjm/hjm-car', - { - params - } - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加黄家明_车辆管理 - */ -export async function addHjmCar(data: HjmCar) { - const res = await request.post>( - '/hjm/hjm-car', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改黄家明_车辆管理 - */ -export async function updateHjmCar(data: HjmCar) { - const res = await request.put>( - '/hjm/hjm-car', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除黄家明_车辆管理 - */ -export async function removeHjmCar(id?: number) { - const res = await request.del>( - '/hjm/hjm-car/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除黄家明_车辆管理 - */ -export async function removeBatchHjmCar(data: (number | undefined)[]) { - const res = await request.del>( - '/hjm/hjm-car/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询黄家明_车辆管理 - */ -export async function getHjmCar(id: number) { - const res = await request.get>( - '/hjm/hjm-car/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据code查询黄家明_车辆管理 - */ -export async function getHjmCarByCode(code: string) { - const res = await request.get>( - '/hjm/hjm-car/getByCode/' + code - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -export async function pageByQQMap(params: HjmCarParam) { - const res = await request.get>>( - '/hjm/hjm-car/pageByQQMap', - params - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -export async function pushSubscriptionMessages(data: any) { - const res = await request.post>( - '/hjm/wx-subscription/send-template', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 启动mqtt服务 - */ -export async function mqttStart() { - const res = await request.get>( - '/hjm/hjm-car/mqtt' - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/hjm/hjmCar/model/index.ts b/src/api/hjm/hjmCar/model/index.ts deleted file mode 100644 index dc0c1d2..0000000 --- a/src/api/hjm/hjmCar/model/index.ts +++ /dev/null @@ -1,87 +0,0 @@ -import type { PageParam } from '@/api/index'; -import {HjmFence} from "@/api/hjm/hjmFence/model"; - -/** - * 黄家明_车辆管理 - */ -export interface HjmCar { - // 自增ID - id?: number; - // 车辆名称 - name?: string; - // 车辆图片 - image?: string; - // 类型 0汽车 1其他车 - type?: number; - // 快递公司 - kuaidi?: string; - // 管理负责人 - kuaidiAdmin?: string; - organization?: string; - organizationId?: number; - organizationParentId?: number; - parentOrganization?: string; - parentOrganizationAdmin?: string; - // 车辆编号 - code?: string; - // 操作员ID - driverId?: number; - // 操作员 - driver?: any; - // 操作员名称 - driverName?: string; - // 保险状态 - insuranceStatus?: number; - // GPS设备编号 - gpsNo?: string; - // 速度 - speed?: string; - // 电子围栏ID - fenceId?: number; - // 电子围栏名称 - fenceName?: string; - // 电子围栏 - fence?: HjmFence; - // 位置 - location?: string; - // 经度 - longitude?: number, - // 纬度 - latitude?: number, - // 地址 - address?: string, - // 用户ID - userId?: number; - // 排序(数字越小越靠前) - sortNumber?: number; - // 备注 - comments?: string; - // 状态, 0正常, 1冻结 - status?: number; - // 是否删除, 0否, 1是 - deleted?: number; - // 租户id - tenantId?: number; - // 创建时间 - createTime?: string; - // 更新时间 - updateTime?: string; - // 是否在电子围栏内 - inFence?: boolean; -} - -/** - * 黄家明_车辆管理搜索条件 - */ -export interface HjmCarParam extends PageParam { - id?: number; - userId?: number; - driverId?: number; - organizationId?: number; - organizationParentId?: number; - status?: number; - latitude?: number; - longitude?: number; - deleted?: number; - keywords?: string; -} diff --git a/src/api/hjm/hjmChoices/index.ts b/src/api/hjm/hjmChoices/index.ts deleted file mode 100644 index 55aaa09..0000000 --- a/src/api/hjm/hjmChoices/index.ts +++ /dev/null @@ -1,105 +0,0 @@ -import request from '@/utils/request'; -import type { ApiResult, PageResult } from '@/api/index'; -import type { HjmChoices, HjmChoicesParam } from './model'; - -/** - * 分页查询选择题选项 - */ -export async function pageHjmChoices(params: HjmChoicesParam) { - const res = await request.get>>( - '/hjm/hjm-choices/page', - { - params - } - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询选择题选项列表 - */ -export async function listHjmChoices(params?: HjmChoicesParam) { - const res = await request.get>( - '/hjm/hjm-choices', - { - params - } - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加选择题选项 - */ -export async function addHjmChoices(data: HjmChoices) { - const res = await request.post>( - '/hjm/hjm-choices', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改选择题选项 - */ -export async function updateHjmChoices(data: HjmChoices) { - const res = await request.put>( - '/hjm/hjm-choices', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除选择题选项 - */ -export async function removeHjmChoices(id?: number) { - const res = await request.del>( - '/hjm/hjm-choices/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除选择题选项 - */ -export async function removeBatchHjmChoices(data: (number | undefined)[]) { - const res = await request.del>( - '/hjm/hjm-choices/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询选择题选项 - */ -export async function getHjmChoices(id: number) { - const res = await request.get>( - '/hjm/hjm-choices/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/hjm/hjmChoices/model/index.ts b/src/api/hjm/hjmChoices/model/index.ts deleted file mode 100644 index 3eb37d3..0000000 --- a/src/api/hjm/hjmChoices/model/index.ts +++ /dev/null @@ -1,37 +0,0 @@ -import type { PageParam } from '@/api/index'; - -/** - * 选择题选项 - */ -export interface HjmChoices { - // 自增ID - id?: number; - // 题目ID - questionId?: number; - // 题目 - content?: string; - // 是否正确 - isCorrect?: boolean; - // 排序(数字越小越靠前) - sortNumber?: number; - // 备注 - comments?: string; - // 状态, 0正常, 1冻结 - status?: number; - // 是否删除, 0否, 1是 - deleted?: number; - // 租户id - tenantId?: number; - // 创建时间 - createTime?: string; - // 修改时间 - updateTime?: string; -} - -/** - * 选择题选项搜索条件 - */ -export interface HjmChoicesParam extends PageParam { - id?: number; - keywords?: string; -} diff --git a/src/api/hjm/hjmCourses/index.ts b/src/api/hjm/hjmCourses/index.ts deleted file mode 100644 index 77a7c5f..0000000 --- a/src/api/hjm/hjmCourses/index.ts +++ /dev/null @@ -1,105 +0,0 @@ -import request from '@/utils/request'; -import type {ApiResult, PageResult} from '@/api/index'; -import type {HjmCourses, HjmCoursesParam} from './model'; - -/** - * 分页查询课程 - */ -export async function pageHjmCourses(params: HjmCoursesParam) { - const res = await request.get>>( - '/hjm/hjm-courses/page', - { - params - } - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询课程列表 - */ -export async function listHjmCourses(params?: HjmCoursesParam) { - const res = await request.get>( - '/hjm/hjm-courses', - { - params - } - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加课程 - */ -export async function addHjmCourses(data: HjmCourses) { - const res = await request.post>( - '/hjm/hjm-courses', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改课程 - */ -export async function updateHjmCourses(data: HjmCourses) { - const res = await request.put>( - '/hjm/hjm-courses', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除课程 - */ -export async function removeHjmCourses(id?: number) { - const res = await request.del>( - '/hjm/hjm-courses/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除课程 - */ -export async function removeBatchHjmCourses(data: (number | undefined)[]) { - const res = await request.del>( - '/hjm/hjm-courses/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询课程 - */ -export async function getHjmCourses(id: number) { - const res = await request.get>( - '/hjm/hjm-courses/' + id - ); - if (res.code === 0 && res) { - return res; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/hjm/hjmCourses/model/index.ts b/src/api/hjm/hjmCourses/model/index.ts deleted file mode 100644 index f137cc3..0000000 --- a/src/api/hjm/hjmCourses/model/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import type { PageParam } from '@/api/index'; - -/** - * 课程 - */ -export interface HjmCourses { - // 自增ID - id?: number; - // 课程名称 - name?: string; - // 类型 - type?: number; - // 课程编号 - code?: string; - // 课程封面图 - image?: string; - // 用户ID - userId?: number; - // 排序(数字越小越靠前) - sortNumber?: number; - // 备注 - comments?: string; - // 状态, 0正常, 1冻结 - status?: number; - // 是否删除, 0否, 1是 - deleted?: number; - // 租户id - tenantId?: number; - // 创建时间 - createTime?: string; - // 修改时间 - updateTime?: string; -} - -/** - * 课程搜索条件 - */ -export interface HjmCoursesParam extends PageParam { - id?: number; - keywords?: string; -} diff --git a/src/api/hjm/hjmExamLog/index.ts b/src/api/hjm/hjmExamLog/index.ts deleted file mode 100644 index 56f219d..0000000 --- a/src/api/hjm/hjmExamLog/index.ts +++ /dev/null @@ -1,114 +0,0 @@ -import request from '@/utils/request'; -import type { ApiResult, PageResult } from '@/api/index'; -import type { HjmExamLog, HjmExamLogParam } from './model'; - -/** - * 分页查询黄家明_学习记录 - */ -export async function pageHjmExamLog(params: HjmExamLogParam) { - const res = await request.get>>( - '/hjm/hjm-exam-log/page', - params - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询黄家明_学习记录列表 - */ -export async function listHjmExamLog(params?: HjmExamLogParam) { - const res = await request.get>( - '/hjm/hjm-exam-log', - params - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加黄家明_学习记录 - */ -export async function addHjmExamLog(data: HjmExamLog) { - const res = await request.post>( - '/hjm/hjm-exam-log', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改黄家明_学习记录 - */ -export async function updateHjmExamLog(data: HjmExamLog) { - const res = await request.put>( - '/hjm/hjm-exam-log', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除黄家明_学习记录 - */ -export async function removeHjmExamLog(id?: number) { - const res = await request.del>( - '/hjm/hjm-exam-log/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除黄家明_学习记录 - */ -export async function removeBatchHjmExamLog(data: (number | undefined)[]) { - const res = await request.del>( - '/hjm/hjm-exam-log/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询黄家明_学习记录 - */ -export async function getHjmExamLog(id: number) { - const res = await request.get>( - '/hjm/hjm-exam-log/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - - -export async function checkMonthTaskCompleted() { - const res = await request.get>( - '/hjm/hjm-exam-log/checkMonthTaskCompleted' - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - - diff --git a/src/api/hjm/hjmExamLog/model/index.ts b/src/api/hjm/hjmExamLog/model/index.ts deleted file mode 100644 index a5c5767..0000000 --- a/src/api/hjm/hjmExamLog/model/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -import type { PageParam } from '@/api/index'; - -/** - * 黄家明_学习记录 - */ -export interface HjmExamLog { - // 自增ID - id?: number; - // 用户ID - userId?: number; - // 得分 - total?: string; - // 用时 - useTime?: string; - // 排序(数字越小越靠前) - sortNumber?: number; - // 备注 - comments?: string; - // 状态, 0正常, 1冻结 - status?: number; - // 是否删除, 0否, 1是 - deleted?: number; - // 租户id - tenantId?: number; - // 创建时间 - createTime?: string; - // 修改时间 - updateTime?: string; -} - -/** - * 黄家明_学习记录搜索条件 - */ -export interface HjmExamLogParam extends PageParam { - id?: number; - userId?: number; - status?: number; - keywords?: string; -} diff --git a/src/api/hjm/hjmFence/index.ts b/src/api/hjm/hjmFence/index.ts deleted file mode 100644 index be7d0b8..0000000 --- a/src/api/hjm/hjmFence/index.ts +++ /dev/null @@ -1,105 +0,0 @@ -import request from '@/utils/request'; -import type {ApiResult, PageResult} from '@/api/index'; -import type {HjmFence, HjmFenceParam} from './model'; - -/** - * 分页查询电子围栏 - */ -export async function pageHjmFence(params: HjmFenceParam) { - const res = await request.get>>( - '/hjm/hjm-fence/page', - { - params - } - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询电子围栏列表 - */ -export async function listHjmFence(params?: HjmFenceParam) { - const res = await request.get>( - '/hjm/hjm-fence', - { - params - } - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加电子围栏 - */ -export async function addHjmFence(data: HjmFence) { - const res = await request.post>( - '/hjm/hjm-fence', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改电子围栏 - */ -export async function updateHjmFence(data: HjmFence) { - const res = await request.put>( - '/hjm/hjm-fence', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除电子围栏 - */ -export async function removeHjmFence(id?: number) { - const res = await request.del>( - '/hjm/hjm-fence/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除电子围栏 - */ -export async function removeBatchHjmFence(data: (number | undefined)[]) { - const res = await request.del>( - '/hjm/hjm-fence/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询电子围栏 - */ -export async function getHjmFence(id: number) { - const res = await request.get>( - '/hjm/hjm-fence/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/hjm/hjmFence/model/index.ts b/src/api/hjm/hjmFence/model/index.ts deleted file mode 100644 index a4d2326..0000000 --- a/src/api/hjm/hjmFence/model/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -import type { PageParam } from '@/api/index'; - -/** - * 电子围栏 - */ -export interface HjmFence { - // 自增ID - id?: number; - // 围栏名称 - name?: string; - // 类型 0圆形 1方形 - type?: number; - // 位置 - location?: string; - // 经度 - longitude?: number; - // 纬度 - latitude?: number; - // 区域 - district?: string; - // 轮廓 - points?: string; - // 颜色 - color?: string; - // 填充颜色 - fillColor?: string; - // 圆角 - radius?: number; - // 边框宽度 - strokeWidth?: number; -} - -/** - * 电子围栏搜索条件 - */ -export interface HjmFenceParam extends PageParam { - id?: number; - keywords?: string; -} diff --git a/src/api/hjm/hjmGpsLog/index.ts b/src/api/hjm/hjmGpsLog/index.ts deleted file mode 100644 index c33235c..0000000 --- a/src/api/hjm/hjmGpsLog/index.ts +++ /dev/null @@ -1,101 +0,0 @@ -import request from '@/utils/request'; -import type { ApiResult, PageResult } from '@/api/index'; -import type { HjmGpsLog, HjmGpsLogParam } from './model'; - -/** - * 分页查询黄家明_gps轨迹 - */ -export async function pageHjmGpsLog(params: HjmGpsLogParam) { - const res = await request.get>>( - '/hjm/hjm-gps-log/page', - params - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询黄家明_gps轨迹列表 - */ -export async function listHjmGpsLog(params?: HjmGpsLogParam) { - const res = await request.get>( - '/hjm/hjm-gps-log', - params - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加黄家明_gps轨迹 - */ -export async function addHjmGpsLog(data: HjmGpsLog) { - const res = await request.post>( - '/hjm/hjm-gps-log', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改黄家明_gps轨迹 - */ -export async function updateHjmGpsLog(data: HjmGpsLog) { - const res = await request.put>( - '/hjm/hjm-gps-log', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除黄家明_gps轨迹 - */ -export async function removeHjmGpsLog(id?: number) { - const res = await request.del>( - '/hjm/hjm-gps-log/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除黄家明_gps轨迹 - */ -export async function removeBatchHjmGpsLog(data: (number | undefined)[]) { - const res = await request.del>( - '/hjm/hjm-gps-log/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询黄家明_gps轨迹 - */ -export async function getHjmGpsLog(id: number) { - const res = await request.get>( - '/hjm/hjm-gps-log/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/hjm/hjmGpsLog/model/index.ts b/src/api/hjm/hjmGpsLog/model/index.ts deleted file mode 100644 index 993aab4..0000000 --- a/src/api/hjm/hjmGpsLog/model/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -import type { PageParam } from '@/api/index'; - -/** - * 黄家明_gps轨迹 - */ -export interface HjmGpsLog { - // 自增ID - id?: number; - // 车辆ID - carId?: number; - // gps编号 - gpsNo?: string; - // 经度 - longitude?: string; - // 纬度 - latitude?: string; - // 时间 - ddmmyy?: string; - // 时分秒 - hhmmss?: string; - // 速度 - speed?: string; - // 备注 - comments?: string; - // 状态, 0正常, 1冻结 - status?: number; - // 租户id - tenantId?: number; - // 创建时间 - createTime?: string; -} - -/** - * 黄家明_gps轨迹搜索条件 - */ -export interface HjmGpsLogParam extends PageParam { - id?: number; - gpsNo?: string; - ddmmyy?: string; - hhmmss?: string; - keywords?: string; -} diff --git a/src/api/hjm/hjmQuestions/index.ts b/src/api/hjm/hjmQuestions/index.ts deleted file mode 100644 index 363804e..0000000 --- a/src/api/hjm/hjmQuestions/index.ts +++ /dev/null @@ -1,101 +0,0 @@ -import request from '@/utils/request'; -import type { ApiResult, PageResult } from '@/api/index'; -import type { HjmQuestions, HjmQuestionsParam } from './model'; - -/** - * 分页查询题目 - */ -export async function pageHjmQuestions(params: HjmQuestionsParam) { - const res = await request.get>>( - '/hjm/hjm-questions/page', - params - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询题目列表 - */ -export async function listHjmQuestions(params?: HjmQuestionsParam) { - const res = await request.get>( - '/hjm/hjm-questions', - params - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加题目 - */ -export async function addHjmQuestions(data: HjmQuestions) { - const res = await request.post>( - '/hjm/hjm-questions', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改题目 - */ -export async function updateHjmQuestions(data: HjmQuestions) { - const res = await request.put>( - '/hjm/hjm-questions', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除题目 - */ -export async function removeHjmQuestions(id?: number) { - const res = await request.del>( - '/hjm/hjm-questions/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除题目 - */ -export async function removeBatchHjmQuestions(data: (number | undefined)[]) { - const res = await request.del>( - '/hjm/hjm-questions/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询题目 - */ -export async function getHjmQuestions(id: number) { - const res = await request.get>( - '/hjm/hjm-questions/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/hjm/hjmQuestions/model/index.ts b/src/api/hjm/hjmQuestions/model/index.ts deleted file mode 100644 index 7ab22c4..0000000 --- a/src/api/hjm/hjmQuestions/model/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import type { PageParam } from '@/api/index'; -import {HjmChoices} from "@/api/hjm/hjmChoices/model"; - -/** - * 题目 - */ -export interface HjmQuestions { - // 自增ID - id?: number; - // 课程ID - courseId?: number; - // 课程名称 - courseName?: string; - // 类型 0choice 1fill 2essay - type?: number; - // 题目 - question?: string; - // 正确答案 - correctAnswer?: string; - // 难度,'easy', 'medium', 'hard' - difficulty?: number; - // 用户ID - userId?: number; - // 排序(数字越小越靠前) - sortNumber?: number; - // 备注 - comments?: string; - // 状态, 0正常, 1冻结 - status?: number; - // 是否删除, 0否, 1是 - deleted?: number; - // 租户id - tenantId?: number; - // 创建时间 - createTime?: string; - // 修改时间 - updateTime?: string; - // 选项 - choicesA?: string, - choicesB?: string, - choicesC?: string, - choicesD?: string, - choices?: number; - choicesList?: HjmChoices[]; -} - -/** - * 题目搜索条件 - */ -export interface HjmQuestionsParam extends PageParam { - id?: number; - courseId?: number; - keywords?: string; -} diff --git a/src/api/system/userVerify/index.ts b/src/api/system/userVerify/index.ts index 21416e7..3d81d15 100644 --- a/src/api/system/userVerify/index.ts +++ b/src/api/system/userVerify/index.ts @@ -128,3 +128,15 @@ export async function submit(data: UserVerify) { } return Promise.reject(new Error(res.message)); } + +export async function myTenantList(params: any) { + const res = await request.get>( + 'http://127.0.0.1:8080/api/v1/tenants', + params + ); + if (res.code === 0) { + return res.data; + } + return Promise.reject(new Error(res.message)); +} + diff --git a/src/api/system/website/field/index.ts b/src/api/system/website/field/index.ts deleted file mode 100644 index b76d574..0000000 --- a/src/api/system/website/field/index.ts +++ /dev/null @@ -1,146 +0,0 @@ -import request from '@/utils/request'; -import type { ApiResult, PageResult } from '@/api/index'; -import type { - Config, - CmsWebsiteField, - CmsWebsiteFieldParam -} from "@/api/cms/cmsWebsiteField/model"; - - -/** - * 分页查询项目参数 - */ -export async function pageWebsiteField(params: CmsWebsiteFieldParam) { - const res = await request.get>>( - '/cms/cms-website-field/page', - { - params - } - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询项目参数列表 - */ -export async function listWebsiteField(params?: CmsWebsiteFieldParam) { - const res = await request.get>( - '/cms/cms-website-field', - { - params - } - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询项目参数 - */ -export async function getWebsiteField(id: number) { - const res = await request.get>( - '/cms/cms-website-field/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加项目参数 - */ -export async function addWebsiteField(data: CmsWebsiteField) { - const res = await request.post>( - '/cms/cms-website-field', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改项目参数 - */ -export async function updateWebsiteField(data: CmsWebsiteField) { - const res = await request.put>( - '/cms/cms-website-field', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除项目参数 - */ -export async function removeWebsiteField(id?: number) { - const res = await request.del>( - '/cms/cms-website-field/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除项目参数 - */ -export async function removeBatchWebsiteField(data: (number | undefined)[]) { - const res = await request.del>( - '/cms/cms-website-field/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 检查IP是否存在 - */ -export async function checkExistence( - field: string, - value: string, - id?: number -) { - const res = await request.get>( - '/cms/cms-website-field/existence', - { - params: { field, value, id } - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询项目参数列表 - */ -export async function configWebsiteField(params?: CmsWebsiteFieldParam) { - const res = await request.get>( - 'https://modules.gxwebsoft.com/api/cms/cms-website-field/config', - { - params - } - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/system/website/field/model/index.ts b/src/api/system/website/field/model/index.ts deleted file mode 100644 index 157263b..0000000 --- a/src/api/system/website/field/model/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { PageParam } from '@/api'; - -/** - * 网站参数 - */ -export interface WebsiteField { - id?: number; - name?: string; - value?: string; - comments?: string; - userId?: number; - websiteId?: number; - status?: any; - sortNumber?: any; - createTime?: string; -} - -/** - * 网站参数搜索条件 - */ -export interface WebsiteFieldParam extends PageParam { - id?: number; - userId?: number; - websiteId?: number; -} diff --git a/src/api/system/website/index.ts b/src/api/system/website/index.ts deleted file mode 100644 index cf179fd..0000000 --- a/src/api/system/website/index.ts +++ /dev/null @@ -1,168 +0,0 @@ -import request from '@/utils/request'; -import type { ApiResult, PageResult } from '@/api/index'; -import type { Website, WebsiteParam } from './model'; - -/** - * 获取网站信息 - */ -export async function getSiteInfo() { - const res = await request.get>( - '/system/website/getSiteInfo' - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 清除缓存 - */ -export async function removeSiteInfoCache(key?: string) { - const res = await request.del>( - '/system/website/clearSiteInfo/' + key - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 分页查询网站 - */ -export async function pageWebsite(params: WebsiteParam) { - const res = await request.get>>( - '/system/website/page', - { - params - } - ); - if (res.code === 0) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 查询网站列表 - */ -export async function listWebsite(params?: WebsiteParam) { - const res = await request.get>( - '/system/website', - { - params - } - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 添加网站 - */ -export async function addWebsite(data: Website) { - const res = await request.post>( - '/system/website', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改网站 - */ -export async function updateWebsite(data: Website) { - const res = await request.put>( - '/system/website', - data - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 删除网站 - */ -export async function removeWebsite(id?: number) { - const res = await request.del>( - '/system/website/' + id - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 批量删除网站 - */ -export async function removeBatchWebsite(data: (number | undefined)[]) { - const res = await request.del>( - '/system/website/batch', - { - data - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 修改用户状态 - */ -export async function updateWebsiteStatus(websiteId?: number, status?: number) { - const res = await request.put>( - '/system/website/status', - { - websiteId, - status - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 根据id查询网站 - */ -export async function getWebsite(id: number) { - const res = await request.get>( - '/system/website/' + id - ); - if (res.code === 0 && res.data) { - return res.data; - } - return Promise.reject(new Error(res.message)); -} - -/** - * 检查IP是否存在 - */ -export async function checkExistence( - field: string, - value: string, - id?: number -) { - const res = await request.get>( - '/system/website/existence', - { - params: { field, value, id } - } - ); - if (res.code === 0) { - return res.message; - } - return Promise.reject(new Error(res.message)); -} diff --git a/src/api/system/website/model/index.ts b/src/api/system/website/model/index.ts deleted file mode 100644 index 8dfc0da..0000000 --- a/src/api/system/website/model/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { WebsiteField } from '@/api/cms/website/field/model'; -import { Navigation } from '@/api/cms/navigation/model'; -import { Link } from '@/api/cms/link/model'; -import { ArrangeCategory } from '@/api/cms/category/model'; - -/** - * 菜单 - */ -export interface Website { - websiteId?: number; - websiteName?: string; - websiteCode?: string; - websiteIcon?: string; - websiteLogo?: string; - websiteDarkLogo?: string; - keywords?: string; - address?: string; - phone?: string; - email?: string; - websiteType?: string; - expirationTime?: string; - templateId?: string; - industryParent?: string; - industryChild?: string; - companyId?: number; - domain?: string; - icpNo?: string; - policeNo?: string; - comments?: string; - sortNumber?: number; - createTime?: string; - disabled?: boolean; - country?: string; - province?: string; - recommend?: number; - city?: string; - region?: string; - appId?: number; - fields?: WebsiteField[]; - status?: number; - tenantId?: number; - tenantName?: string; - navigations?: Navigation[]; - categoryList?: ArrangeCategory[]; - links?: Link[]; - // 配置信息 - config?: any; -} - -/** - * 菜单搜索参数 - */ -export interface WebsiteParam { - title?: string; - path?: string; - authority?: string; - parentId?: number; -} diff --git a/src/app.config.ts b/src/app.config.ts index c4c4efa..ab76265 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -2,9 +2,8 @@ export default defineAppConfig({ pages: [ 'pages/index/index', 'pages/order/order', - 'pages/kefu/kefu', - 'pages/user/user', - // 'pages/find/find' + 'pages/cart/cart', + 'pages/user/user' ], "subpackages": [ { @@ -30,7 +29,6 @@ export default defineAppConfig({ { "root": "user", "pages": [ - "car/index", "company/company", "profile/profile", "setting/setting", diff --git a/src/app.scss b/src/app.scss index b24f82d..004581b 100644 --- a/src/app.scss +++ b/src/app.scss @@ -48,4 +48,26 @@ button[open-type="chooseAvatar"] { border-radius: 100px 0 0 100px; height: 70px; } + .cart-add{ + background: #e9fff2; + color: #333333; + border-radius: 20px 0 0 20px; + display: flex; + align-items: center; + justify-content: center; + height: 80px; + } + .cart-buy{ + background: linear-gradient(-45deg, #1fbfa2, #94e0ce); + color: #ffffff; + border-radius: 0 20px 20px 0; + display: flex; + align-items: center; + justify-content: center; + height: 80px; + } +} + +image { + margin: 0; /* 全局设置图片的 margin */ } diff --git a/src/app.ts b/src/app.ts index b9b19e8..b60462a 100644 --- a/src/app.ts +++ b/src/app.ts @@ -6,13 +6,9 @@ import './app.scss' import {loginByOpenId} from "@/api/layout"; import {TenantId} from "@/utils/config"; import {saveStorageByLoginUser} from "@/utils/server"; -import {mqttStart} from "@/api/hjm/hjmCar"; function App(props) { const reload = () => { - mqttStart().then(() => { - console.log('mqttStart') - }) Taro.login({ success: (res) => { loginByOpenId({ diff --git a/src/components/OrderList.tsx b/src/components/OrderList.tsx index 0f0fe9d..de058a7 100644 --- a/src/components/OrderList.tsx +++ b/src/components/OrderList.tsx @@ -1,7 +1,6 @@ import {Avatar, Cell, Space, Tabs, Button, TabPane} from '@nutui/nutui-react-taro' import {useEffect, useState, CSSProperties} from "react"; import Taro from '@tarojs/taro'; -import {BszxPay} from "@/api/bszx/bszxPay/model"; import {InfiniteLoading} from '@nutui/nutui-react-taro' import dayjs from "dayjs"; import {pageShopOrder} from "@/api/shop/shopOrder"; @@ -167,7 +166,6 @@ function OrderList(props: any) {
实付金额:¥{item.payPrice}
- diff --git a/src/pages/kefu/kefu.config.ts b/src/pages/cart/cart.config.ts similarity index 70% rename from src/pages/kefu/kefu.config.ts rename to src/pages/cart/cart.config.ts index 6b4f39f..0ce9ae5 100644 --- a/src/pages/kefu/kefu.config.ts +++ b/src/pages/cart/cart.config.ts @@ -1,5 +1,5 @@ export default definePageConfig({ - navigationBarTitleText: '商品列表', + navigationBarTitleText: '购物车', navigationBarTextStyle: 'black', navigationStyle: 'custom' }) diff --git a/src/pages/kefu/kefu.tsx b/src/pages/cart/cart.tsx similarity index 97% rename from src/pages/kefu/kefu.tsx rename to src/pages/cart/cart.tsx index 2f2c56b..db4107e 100644 --- a/src/pages/kefu/kefu.tsx +++ b/src/pages/cart/cart.tsx @@ -4,7 +4,7 @@ import {Space, NavBar} from '@nutui/nutui-react-taro' import {Search, Received, Scan} from '@nutui/icons-react-taro' import GoodsList from "@/components/GoodsList"; -function Kefu() { +function Cart() { const [statusBarHeight, setStatusBarHeight] = useState() useShareTimeline(() => { @@ -64,4 +64,4 @@ function Kefu() { ); } -export default Kefu; +export default Cart; diff --git a/src/pages/index/Banner.tsx b/src/pages/index/Banner.tsx index fba29f7..44471a3 100644 --- a/src/pages/index/Banner.tsx +++ b/src/pages/index/Banner.tsx @@ -7,7 +7,7 @@ import {getCmsAd} from "@/api/cms/cmsAd"; const MyPage = () => { const [item, setItem] = useState() const reload = () => { - getCmsAd(433).then(data => { + getCmsAd(439).then(data => { setItem(data) }) } @@ -18,10 +18,10 @@ const MyPage = () => { return ( <> - + {item?.imageList?.map((item) => ( - + ))} diff --git a/src/pages/index/BestSellers.tsx b/src/pages/index/BestSellers.tsx index 846f3bf..6934a0e 100644 --- a/src/pages/index/BestSellers.tsx +++ b/src/pages/index/BestSellers.tsx @@ -1,6 +1,6 @@ import {useEffect, useState} from "react"; -import {Image, Space, Tag, Divider} from '@nutui/nutui-react-taro' -import {Cart} from '@nutui/icons-react-taro' +import {Image} from '@nutui/nutui-react-taro' +import {Share} from '@nutui/icons-react-taro' import Taro from '@tarojs/taro' import {ShopGoods} from "@/api/shop/shopGoods/model"; import {pageShopGoods} from "@/api/shop/shopGoods"; @@ -9,11 +9,11 @@ import './BestSellers.scss' const BestSellers = () => { const [list, setList] = useState([]) + const reload = () => { pageShopGoods({}).then(res => { setList(res?.list || []); }) - console.log(list) } useEffect(() => { @@ -21,48 +21,45 @@ const BestSellers = () => { }, []) return ( -
-
- {list?.map((item, index) => { - return ( -
Taro.navigateTo({url: '/shop/goodsDetail/index?id=' + item.goodsId})}> - -
-
-
{item.name} #{item.goodsId}
-
- 丰江桥佛手瓜面,非油炸,Q弹爽口,营养丰 - 已售 {item.sales} -
- - 会客厅循环劵每拍2减10元 - 会客厅专享拍1减3元 - -
-
- - 19.9 + <> +
+
+ {list?.map((item, index) => { + return ( +
+ Taro.navigateTo({url: '/shop/goodsDetail/index?id=' + item.goodsId})}/> +
+
+
{item.name}
+
+ {item.comments} + 已售 {item.sales}
-
-
-
购买
+
+
+ + {item.price} +
+
+
+ Taro.navigateTo({url: '/shop/goodsDetail/index?id=' + item.goodsId})}/> +
+
Taro.navigateTo({url: '/shop/goodsDetail/index?id=' + item.goodsId})}>购买 +
+
-
- ) - })} + ) + })} +
-
+ ) } export default BestSellers diff --git a/src/pages/index/Header.scss b/src/pages/index/Header.scss new file mode 100644 index 0000000..bb6042c --- /dev/null +++ b/src/pages/index/Header.scss @@ -0,0 +1,8 @@ +.header-bg{ + background: linear-gradient(to bottom, #03605c, #18ae4f); + height: 335px; + width: 100%; + top: 0; + position: absolute; + z-index: 0; +} diff --git a/src/pages/index/Header.tsx b/src/pages/index/Header.tsx index e4e7d60..053f20a 100644 --- a/src/pages/index/Header.tsx +++ b/src/pages/index/Header.tsx @@ -6,9 +6,11 @@ import {Popup, Avatar, NavBar} from '@nutui/nutui-react-taro' import {getSiteInfo, getUserInfo, getWxOpenId} from "@/api/layout"; import {TenantId} from "@/utils/config"; import {getOrganization} from "@/api/system/organization"; -import {myUserVerify} from "@/api/system/userVerify"; +import {myTenantList, myUserVerify} from "@/api/system/userVerify"; import {CmsWebsite} from "@/api/cms/cmsWebsite/model"; import {User} from "@/api/system/user/model"; +import './Header.scss'; +import MySearch from "./MySearch"; const Header = () => { const [userInfo, setUserInfo] = useState() @@ -33,7 +35,7 @@ const Header = () => { if (data) { setIsLogin(true); setUserInfo(data) - console.log('用户信息>>>',data.phone) + console.log('用户信息>>>', data.phone) // 保存userId Taro.setStorageSync('UserId', data.userId) // 获取openId @@ -46,27 +48,27 @@ const Header = () => { }) } // 是否已认证 - if(data.certification){ - Taro.setStorageSync('Certification','1') + if (data.certification) { + Taro.setStorageSync('Certification', '1') } // 机构ID - Taro.setStorageSync('OrganizationId',data.organizationId) + Taro.setStorageSync('OrganizationId', data.organizationId) // 父级机构ID - if(Number(data.organizationId) > 0){ + if (Number(data.organizationId) > 0) { getOrganization(Number(data.organizationId)).then(res => { - Taro.setStorageSync('OrganizationParentId',res.parentId) + Taro.setStorageSync('OrganizationParentId', res.parentId) }) } // 管理员 const isKdy = data.roles?.findIndex(item => item.roleCode == 'admin') - if(isKdy != -1){ + if (isKdy != -1) { Taro.setStorageSync('RoleName', '管理') Taro.setStorageSync('RoleCode', 'admin') return false; } // 注册用户 const isUser = data.roles?.findIndex(item => item.roleCode == 'user') - if(isUser != -1){ + if (isUser != -1) { Taro.setStorageSync('RoleName', '注册用户') Taro.setStorageSync('RoleCode', 'user') return false; @@ -78,10 +80,14 @@ const Header = () => { }); // 认证信息 myUserVerify({status: 1}).then(data => { - if(data?.realName){ - Taro.setStorageSync('RealName',data.realName) + if (data?.realName) { + Taro.setStorageSync('RealName', data.realName) } }) + // + myTenantList({page: 2, page_size: 50}).then(res => { + console.log(res, '...res...lei') + }) } /* 获取用户手机号 */ @@ -107,7 +113,7 @@ const Header = () => { TenantId }, success: function (res) { - if(res.data.code == 1){ + if (res.data.code == 1) { Taro.showToast({ title: res.data.message, icon: 'error', @@ -138,6 +144,9 @@ const Header = () => { return ( <> +
+ +
{ @@ -162,8 +171,8 @@ const Header = () => { size="22" src={config?.websiteLogo} /> - {config?.websiteName} - + {config?.websiteName} +
)}> diff --git a/src/pages/index/Menu.tsx b/src/pages/index/Menu.tsx index 79af9fa..e001379 100644 --- a/src/pages/index/Menu.tsx +++ b/src/pages/index/Menu.tsx @@ -30,20 +30,18 @@ const Page = () => { return ( loading ? (加载中) : -
-
-
- { - navItems.map((item, index) => ( -
onNav(item)}> -
- -
{item?.title}
-
+
+
+ { + navItems.map((item, index) => ( +
onNav(item)}> +
+ +
{item?.title}
- )) - } -
+
+ )) + }
) diff --git a/src/pages/index/MySearch.tsx b/src/pages/index/MySearch.tsx index 36ff9b8..efe4174 100644 --- a/src/pages/index/MySearch.tsx +++ b/src/pages/index/MySearch.tsx @@ -22,15 +22,16 @@ function MySearch(props) { return ( -
+
diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx index 3738ea3..52d9c73 100644 --- a/src/pages/index/index.tsx +++ b/src/pages/index/index.tsx @@ -1,5 +1,4 @@ import Header from './Header'; -import MySearch from "./MySearch"; import BestSellers from './BestSellers'; import Taro from '@tarojs/taro'; import {useShareAppMessage, useShareTimeline} from "@tarojs/taro" @@ -103,10 +102,9 @@ function Home() { return ( <>
- -
- +
+
diff --git a/src/shop/goodsDetail/index.config.ts b/src/shop/goodsDetail/index.config.ts index b007497..a59775f 100644 --- a/src/shop/goodsDetail/index.config.ts +++ b/src/shop/goodsDetail/index.config.ts @@ -1,4 +1,5 @@ export default definePageConfig({ navigationBarTitleText: '商品详情', - navigationBarTextStyle: 'black' + navigationBarTextStyle: 'black', + navigationStyle: 'custom' }) diff --git a/src/shop/goodsDetail/index.scss b/src/shop/goodsDetail/index.scss index 313a44a..753f6ab 100644 --- a/src/shop/goodsDetail/index.scss +++ b/src/shop/goodsDetail/index.scss @@ -3,3 +3,15 @@ border-radius: 100px 0 0 100px; height: 70px; } + +/* 去掉 RichText 中图片的间距 */ +rich-text img { + margin: 0 !important; + padding: 0 !important; + display: block; +} + +/* 在全局样式或组件样式文件中 */ +.no-margin { + margin: 0 !important; /* 使用 !important 来确保覆盖默认样式 */ +} diff --git a/src/shop/goodsDetail/index.tsx b/src/shop/goodsDetail/index.tsx index e8ce8af..51e25ba 100644 --- a/src/shop/goodsDetail/index.tsx +++ b/src/shop/goodsDetail/index.tsx @@ -1,70 +1,193 @@ import {useEffect, useState} from "react"; -import {Image, Space, Tag, Divider} from '@nutui/nutui-react-taro' -import {Cart} from '@nutui/icons-react-taro' -import Taro from '@tarojs/taro' +import {Image, Divider, Badge} from "@nutui/nutui-react-taro"; +import {ArrowLeft, Headphones, Share, Cart} from "@nutui/icons-react-taro"; +import Taro, {useShareAppMessage, useShareTimeline} from "@tarojs/taro"; +import {RichText, View} from '@tarojs/components' import {ShopGoods} from "@/api/shop/shopGoods/model"; import {getShopGoods} from "@/api/shop/shopGoods"; -import './index.scss' +import {Swiper} from '@nutui/nutui-react-taro' +import {wxParse} from "@/utils/common"; +import "./index.scss"; const GoodsDetail = () => { const [goods, setGoods] = useState(null); + const [files, setFiles] = useState([]); const router = Taro.getCurrentInstance().router; const goodsId = router?.params?.id; useEffect(() => { if (goodsId) { - getShopGoods(Number(goodsId)).then(res => { - setGoods(res); - }).catch(error => { - console.error("Failed to fetch goods detail:", error); - }); + getShopGoods(Number(goodsId)) + .then((res) => { + // 处理富文本内容,去掉图片间距 + if (res.content) { + res.content = wxParse(res.content); + } + setGoods(res); + if (res.files) { + const arr = JSON.parse(res.files); + arr.length > 0 && setFiles(arr); + } + + }) + .catch((error) => { + console.error("Failed to fetch goods detail:", error); + }); } }, [goodsId]); + // 分享给好友 + useShareAppMessage(() => { + return { + title: goods?.name || '精选商品', + path: `/shop/goodsDetail/index?id=${goodsId}`, + imageUrl: goods?.image, // 分享图片 + success: function (res: any) { + console.log('分享成功', res); + Taro.showToast({ + title: '分享成功', + icon: 'success', + duration: 2000 + }); + }, + fail: function (res: any) { + console.log('分享失败', res); + Taro.showToast({ + title: '分享失败', + icon: 'none', + duration: 2000 + }); + } + }; + }); + + // 分享到朋友圈 + useShareTimeline(() => { + return { + title: `${goods?.name || '精选商品'} - 云上商店`, + path: `/shop/goodsDetail/index?id=${goodsId}`, + imageUrl: goods?.image + }; + }); + if (!goods) { return
加载中...
; } return ( -
-
-
- -
-
-
{goods.name} #{goods.goodsId}
-
- 丰江桥佛手瓜面,非油炸,Q弹爽口,营养丰 - 已售 {goods.sales} -
- - 会客厅循环劵每拍2减10元 - 会客厅专享拍1减3元 - -
+
+
Taro.navigateBack()} + > + +
+
+ +
+ +
+
+
+ { + files.length > 0 && ( + + {files.map((item) => ( + + + + ))} + + ) + } + { + files.length == 0 && ( + + ) + } +
+
+
+ <> +
{goods.price}
-
Taro.navigateTo({url: '/shop/orderConfirm/index?goodsId=' + goods.goodsId})}> -
-
购买
-
+ 已售 {goods.sales}
-
-

商品详情

-
+
+
+
+ {goods.name} +
+
+ + {goods.comments} + +
+
+
-
+
+
+ 商品详情 + +
+
+ {/*底部购买按钮*/} +
+ +
+ +
+
+
Taro.showToast({title: '加入购物车成功', icon: 'success'})}>加入购物车 +
+
Taro.navigateTo({url: '/shop/orderConfirm/index'})}>立即购买 +
+
+
); diff --git a/src/user/car/BestSellers.tsx b/src/user/car/BestSellers.tsx deleted file mode 100644 index 2e0c2e3..0000000 --- a/src/user/car/BestSellers.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import {useEffect} from "react"; -import {Image, Space} from '@nutui/nutui-react-taro' -import Taro from '@tarojs/taro' - -const BestSellers = (props: any) => { - const reload = () => { - - } - - useEffect(() => { - reload() - }, []) - - return ( -
-
- {props.data?.map((item, index) => { - return ( -
Taro.navigateTo({url: '/hjm/query?id=' + item.code})}> - {item.image && ( - - )} -
- -
{item.code}
-
快递公司:{item.parentOrganization}
-
保险状态:{item.insuranceStatus} -
-
绑定操作员:{item.driver}
-
-
-
- ) - })} -
-
-
- ) -} -export default BestSellers diff --git a/src/user/car/index.config.ts b/src/user/car/index.config.ts deleted file mode 100644 index 74bd449..0000000 --- a/src/user/car/index.config.ts +++ /dev/null @@ -1,4 +0,0 @@ -export default definePageConfig({ - navigationBarTitleText: '车辆管理', - navigationStyle: 'custom' -}) diff --git a/src/user/car/index.tsx b/src/user/car/index.tsx deleted file mode 100644 index 3d9ada7..0000000 --- a/src/user/car/index.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import {useEffect, useState} from "react"; -import Taro from '@tarojs/taro' -import {ArrowLeft} from '@nutui/icons-react-taro' -import {NavBar, InfiniteLoading} from '@nutui/nutui-react-taro' -import {pageHjmCar} from "@/api/hjm/hjmCar"; -import {HjmCar} from "@/api/hjm/hjmCar/model"; -import BestSellers from "./BestSellers"; - -/** - * 文章终极列表 - * @constructor - */ -const Index = () => { - const [statusBarHeight, setStatusBarHeight] = useState() - const [list, setList] = useState([]) - - const reload = () => { - // 获取车辆列表 - pageHjmCar({driverId: Taro.getStorageSync('UserId')}).then(res => { - setList(res?.list || []) - }) - } - - useEffect(() => { - Taro.getSystemInfo({ - success: (res) => { - setStatusBarHeight(res.statusBarHeight) - }, - }) - reload() - }, []) - - - return ( - <> - { - }} - left={ - <> - {Taro.navigateBack()}} /> - {/**/} - {/*
*/} - {/* */} - {/*
筛选
*/} - {/*
*/} - - } - > - 车辆管理 -
- - - - - ) -} -export default Index diff --git a/src/utils/common.ts b/src/utils/common.ts index 5e75115..de80cce 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -36,11 +36,11 @@ export function fileToBase64(filePath) { * @param htmlText */ export function wxParse(htmlText) { - // Replace tags with max-width and height styles - htmlText = htmlText.replace(/\ tags with max-width, height and margin styles to remove spacing + htmlText = htmlText.replace(/\( - { - websiteId: undefined, - websiteName: undefined, - websiteLogo: undefined, - websiteCode: undefined, - phone: undefined, - address: undefined, - comments: undefined - } - ) - const reload = () => { - // 获取用户信息 - getSiteInfo().then((data) => { - setFormData(data) - }) - } - - // 提交表单 - const submitSucceed = (values: any) => { - console.log(values, 'values') - console.log(formId, 'formId>>') - if (values.type === 1 && values.name == '') { - Taro.showToast({ - title: '请填写单位名称', - icon: 'error' - }); - return false; - } - updateUserInfo(values).then(() => { - Taro.showToast({title: `保存成功`, icon: 'success'}) - return Taro.navigateBack() - }).catch(() => { - Taro.showToast({ - title: '保存失败', - icon: 'error' - }); - }) - } - const submitFailed = (error: any) => { - console.log(error, 'err...') - // Taro.showToast({ title: error[0].message, icon: 'error' }) - } - - useEffect(() => { - reload() - }, [form]); - - return ( - <> - -
submitSucceed(values)} - onFinishFailed={(errors) => submitFailed(errors)} - footer={ -
- -
- } - > - - - - - - - - - - - - -
-
- {/* {*/} - {/* changeNarBar(false)*/} - {/* }}*/} - {/*/>*/} - - ) -} - -export default Modify