修复:用户资料及认证提交页面,需求定制页面

This commit is contained in:
2025-02-15 18:38:21 +08:00
parent ca3b5a296e
commit 9081e41188
29 changed files with 925 additions and 284 deletions

View File

@@ -3,6 +3,7 @@ import type { ApiResult } from '@/api';
import type { User } from '@/api/system/user/model';
import type { UpdatePasswordParam } from './model';
import type {CmsWebsite, CmsWebsiteParam} from "~/api/cms/cmsWebsite/model";
import {COMMON_API_URL} from "~/config";
/**
* 获取网站信息
@@ -27,7 +28,7 @@ export async function getUserInfo(): Promise<User> {
const config = useRuntimeConfig();
const res = await request.get<ApiResult<User>>(config.public.apiServer + '/auth/user',{
headers: {
TenantId: `${localStorage.getItem('TID_ADMIN')}`
TenantId: `${localStorage.getItem('ServerTenantId')}`
}
});
if (res.code === 0 && res.data) {
@@ -36,6 +37,18 @@ export async function getUserInfo(): Promise<User> {
return Promise.reject(new Error(res.message));
}
export async function updateUser(data: User){
const res = await request.put<ApiResult<unknown>>(
COMMON_API_URL + '/auth/user',
data
);
if (res.code === 0) {
return res.message ?? '修改成功';
}
return Promise.reject(new Error(res.message));
}
/**
* 获取服务器时间(实时)
* @return

106
api/shop/shopCart/index.ts Normal file
View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type {ApiResult, PageResult} from '@/api';
import type {ShopCart, ShopCartParam} from './model';
import {SERVER_API_URL} from "~/config";
/**
* 分页查询购物车
*/
export async function pageShopCart(params: ShopCartParam) {
const res = await request.get<ApiResult<PageResult<ShopCart>>>(
SERVER_API_URL + '/shop/shop-cart/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询购物车列表
*/
export async function listShopCart(params?: ShopCartParam) {
const res = await request.get<ApiResult<ShopCart[]>>(
SERVER_API_URL + '/shop/shop-cart',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加购物车
*/
export async function addShopCart(data: ShopCart) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/shop/shop-cart',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改购物车
*/
export async function updateShopCart(data: ShopCart) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/shop/shop-cart',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除购物车
*/
export async function removeShopCart(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/shop/shop-cart/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除购物车
*/
export async function removeBatchShopCart(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/shop/shop-cart/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询购物车
*/
export async function getShopCart(id: number) {
const res = await request.get<ApiResult<ShopCart>>(
SERVER_API_URL + '/shop/shop-cart/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,72 @@
import type { PageParam } from '@/api';
import type {ShopOrderInfo} from "~/api/shop/shopOrderInfo/model";
import type {Company} from "~/api/system/company/model";
/**
* 购物车
*/
export interface ShopCart {
// 购物车表ID
id?: string;
// 类型 0商城 1外卖
type?: number;
// 唯一标识
code?: string;
// 商品ID
productId?: string;
// 商品规格
spec?: string;
// 商品价格
price?: string;
// 商品数量
cartNum?: number;
// 单商品合计
totalPrice?: string;
// 0 = 未购买 1 = 已购买
isPay?: string;
// 是否为立即购买
isNew?: string;
// 拼团id
combinationId?: number;
// 秒杀产品ID
seckillId?: number;
// 砍价id
bargainId?: number;
// 是否选中
selected?: string;
// 商户ID
merchantId?: string;
// 用户ID
userId?: string;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
// 修改时间
updateTime?: string;
// 商品封面图
image?: string;
}
/**
* 购物车搜索条件
*/
export interface ShopCartParam extends PageParam {
id?: number;
keywords?: string;
}
export interface MyCart {
appName?: string,
domain?: string,
adminUrl?: string;
menuId?: number;
num?: number,
type?: number;
payType?: number,
payPrice?: number,
month?: number,
comments?: string,
list?: Company[],
totalPrice?: number
}

View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { ShopMerchant, ShopMerchantParam } from './model';
import { MODULES_API_URL } from '@/config';
/**
* 分页查询商户
*/
export async function pageShopMerchant(params: ShopMerchantParam) {
const res = await request.get<ApiResult<PageResult<ShopMerchant>>>(
MODULES_API_URL + '/shop/shop-merchant/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询商户列表
*/
export async function listShopMerchant(params?: ShopMerchantParam) {
const res = await request.get<ApiResult<ShopMerchant[]>>(
MODULES_API_URL + '/shop/shop-merchant',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加商户
*/
export async function addShopMerchant(data: ShopMerchant) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/shop/shop-merchant',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改商户
*/
export async function updateShopMerchant(data: ShopMerchant) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/shop/shop-merchant',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除商户
*/
export async function removeShopMerchant(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/shop/shop-merchant/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除商户
*/
export async function removeBatchShopMerchant(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/shop/shop-merchant/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询商户
*/
export async function getShopMerchant(id: number) {
const res = await request.get<ApiResult<ShopMerchant>>(
MODULES_API_URL + '/shop/shop-merchant/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,89 @@
import type { PageParam } from '@/api';
/**
* 商户
*/
export interface ShopMerchant {
// ID
merchantId?: number;
// 商户名称
merchantName?: string;
// 商户编号
merchantCode?: string;
// 商户类型
type?: number;
// 商户图标
image?: string;
// 商户手机号
phone?: string;
// 商户姓名
realName?: string;
// 店铺类型
shopType?: string;
// 项目分类
itemType?: string;
// 商户分类
category?: string;
// 行业父级分类
parentId?: string;
// 商户经营分类
merchantCategoryId?: number;
// 商户分类
merchantCategoryTitle?: string;
// 经纬度
lngAndLat?: string;
//
lng?: string;
//
lat?: string;
// 所在省份
province?: string;
// 所在城市
city?: string;
// 所在辖区
region?: string;
// 详细地址
address?: string;
// 手续费
commission?: string;
// 关键字
keywords?: string;
// 资质图片
files?: string;
// 营业时间
businessTime?: string;
// 文章内容
content?: string;
// 每小时价格
price?: string;
// 是否自营
ownStore?: number;
// 是否推荐
recommend?: number;
// 是否需要审核
goodsReview?: number;
// 管理入口
adminUrl?: string;
// 备注
comments?: string;
// 所有人
userId?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 状态
status?: number;
// 排序号
sortNumber?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
}
/**
* 商户搜索条件
*/
export interface ShopMerchantParam extends PageParam {
merchantId?: number;
keywords?: string;
}

View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { ShopMerchantApply, ShopMerchantApplyParam } from './model';
import { MODULES_API_URL } from '@/config';
/**
* 分页查询商户入驻申请
*/
export async function pageShopMerchantApply(params: ShopMerchantApplyParam) {
const res = await request.get<ApiResult<PageResult<ShopMerchantApply>>>(
MODULES_API_URL + '/shop/shop-merchant-apply/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询商户入驻申请列表
*/
export async function listShopMerchantApply(params?: ShopMerchantApplyParam) {
const res = await request.get<ApiResult<ShopMerchantApply[]>>(
MODULES_API_URL + '/shop/shop-merchant-apply',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加商户入驻申请
*/
export async function addShopMerchantApply(data: ShopMerchantApply) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/shop/shop-merchant-apply',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改商户入驻申请
*/
export async function updateShopMerchantApply(data: ShopMerchantApply) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/shop/shop-merchant-apply',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除商户入驻申请
*/
export async function removeShopMerchantApply(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/shop/shop-merchant-apply/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除商户入驻申请
*/
export async function removeBatchShopMerchantApply(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/shop/shop-merchant-apply/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询商户入驻申请
*/
export async function getShopMerchantApply(id: number) {
const res = await request.get<ApiResult<ShopMerchantApply>>(
MODULES_API_URL + '/shop/shop-merchant-apply/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,74 @@
import type { PageParam } from '@/api';
/**
* 商户入驻申请
*/
export interface ShopMerchantApply {
// ID
applyId?: number;
// 认证类型
type?: number;
// 商户名称
merchantName?: string;
// 社会信用代码
merchantCode?: string;
// 商户图标
image?: string;
// 商户手机号
phone?: string;
// 商户姓名
realName?: string;
// 身份证号码
idCard?: string;
sfz1?: string;
sfz2?: string;
yyzz?: string;
// 店铺类型
shopType?: string;
// 行业父级分类
parentId?: number;
// 所属分类
categoryId?: number;
// 商户分类
category?: string;
// 手续费
commission?: string;
// 关键字
keywords?: string;
// 资质图片
files?: string;
// 所有人
userId?: number;
// 是否自营
ownStore?: number;
// 是否推荐
recommend?: number;
// 是否需要审核
goodsReview?: number;
// 审核完成时间
completedTime?: string
// 工作负责人
name2?: string;
// 驳回原因
reason?: string;
// 审核状态
checkStatus?: boolean;
// 备注
comments?: string;
// 状态
status?: number;
// 排序号
sortNumber?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
}
/**
* 商户入驻申请搜索条件
*/
export interface ShopMerchantApplyParam extends PageParam {
applyId?: number;
keywords?: string;
}

View File

@@ -1,236 +1,236 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { User, UserParam } from './model';
import { SERVER_API_URL } from '@/config';
import type {ApiResult, PageResult} from '@/api';
import type {User, UserParam} from './model';
import {COMMON_API_URL, SERVER_API_URL} from '@/config';
/**
* 分页查询用户
*/
export async function pageUsers(params: UserParam) {
const res = await request.get<ApiResult<PageResult<User>>>(
SERVER_API_URL + '/system/user/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
const res = await request.get<ApiResult<PageResult<User>>>(
SERVER_API_URL + '/system/user/page',
{params}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询用户列表
*/
export async function listUsers(params?: UserParam) {
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
return Promise.reject(new Error(res.message));
}
/**
* 查询用户列表
*/
export async function getStaffs(params?: UserParam) {
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
return Promise.reject(new Error(res.message));
}
/**
* 查询用户列表
*/
export async function getCompanyList(params?: UserParam) {
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询用户
*/
export async function getUser(id: number) {
const res = await request.get<ApiResult<User>>(
SERVER_API_URL + '/system/user/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
const res = await request.get<ApiResult<User>>(
SERVER_API_URL + '/system/user/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加用户
*/
export async function addUser(data: User) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改用户
*/
export async function updateUser(data: User) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除用户
*/
export async function removeUser(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除用户
*/
export async function removeUsers(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/batch',
{
data
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
return Promise.reject(new Error(res.message));
}
/**
* 修改用户状态
*/
export async function updateUserStatus(userId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/status',
{
userId,
status
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/status',
{
userId,
status
}
);
if (res.code === 0) {
return res.message;
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
return Promise.reject(new Error(res.message));
}
/**
* 修改推荐状态
*/
export async function updateUserRecommend(form) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/recommend',
form
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
export async function updateUserRecommend(form: any) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/recommend',
form
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 重置用户密码
*/
export async function updateUserPassword(userId?: number, password = '123456') {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/password',
{
userId,
password
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/password',
{
userId,
password
}
);
if (res.code === 0) {
return res.message;
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
return Promise.reject(new Error(res.message));
}
/**
* 导入用户
*/
export async function importUsers(file: File) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/import',
formData
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/import',
formData
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 检查用户是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/existence',
{
params: { field, value, id }
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/existence',
{
params: {field, value, id}
}
);
if (res.code === 0) {
return res.message;
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
return Promise.reject(new Error(res.message));
}
/**
* 统计用户余额
*/
export async function countUserBalance(params?: UserParam) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/countUserBalance',
{
params
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/countUserBalance',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
return Promise.reject(new Error(res.message));
}