更新后台
@ -5,7 +5,7 @@ import request from '@/utils/request'
|
||||
* @returns
|
||||
*/
|
||||
export function getAddonLocal(params: Record<string, any>) {
|
||||
return request.get('addon/local', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.get('addon/local', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -22,7 +22,7 @@ export function getAddonDetial(id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function installAddon(params: Record<string, any>) {
|
||||
return request.post(`addon/install/${params.addon}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`addon/install/${params.addon}`, params, { showErrorMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -31,5 +31,33 @@ export function installAddon(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function uninstallAddon(params: Record<string, any>) {
|
||||
return request.post(`addon/uninstall/${params.addon}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`addon/uninstall/${params.addon}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
* 插件安装前检测
|
||||
* @param addon
|
||||
* @returns
|
||||
*/
|
||||
export function preInstallCheck(addon: string) {
|
||||
return request.get(`addon/install/check/${addon}`, { timeout: 30 * 1000 })
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取插件安装任务执行状态
|
||||
* @param addon
|
||||
* @param key
|
||||
* @returns
|
||||
*/
|
||||
export function getAddonInstallTaskState(addon: string, key: string) {
|
||||
return request.get(`addon/install/${addon}/status/${key}`)
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行安装任务
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function executeInstall(addon: string) {
|
||||
return request.post(`addon/install/execute/${addon}`, {}, { showErrorMessage: true })
|
||||
}
|
||||
@ -14,7 +14,7 @@ export function getAliappConfig() {
|
||||
* @returns
|
||||
*/
|
||||
export function setAliappConfig(params: Record<string, any>) {
|
||||
return request.put('aliapp/config', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put('aliapp/config', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -26,7 +26,7 @@ export function getArticleInfo(id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addArticle(params: Record<string, any>) {
|
||||
return request.post('article/article', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('article/article', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -36,7 +36,7 @@ export function addArticle(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editArticle(params: Record<string, any>) {
|
||||
return request.put(`article/article/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`article/article/${params.id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -45,7 +45,7 @@ export function editArticle(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteArticle(id: number) {
|
||||
return request.delete(`article/article/${id}`, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`article/article/${id}`, { showSuccessMessage: true })
|
||||
}
|
||||
/***************************************************** 文章分类管理 ****************************************************/
|
||||
|
||||
@ -83,7 +83,7 @@ export function getArticleCategoryInfo(category_id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addArticleCategory(params: Record<string, any>) {
|
||||
return request.post('article/category', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('article/category', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -92,7 +92,7 @@ export function addArticleCategory(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editArticleCategory(params: Record<string, any>) {
|
||||
return request.put(`article/category/${params.category_id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`article/category/${params.category_id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -101,5 +101,5 @@ export function editArticleCategory(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteArticleCategory(category_id: number) {
|
||||
return request.delete(`article/category/${category_id}`, { showErrorMessage: true, showSuccessMessage: true });
|
||||
return request.delete(`article/category/${category_id}`, { showSuccessMessage: true });
|
||||
}
|
||||
@ -6,7 +6,7 @@ import request from '@/utils/request'
|
||||
* @returns
|
||||
*/
|
||||
export function login(params: Record<string, any>, app_type: string) {
|
||||
return request.get(`login/${app_type}`, { params, showErrorMessage: true })
|
||||
return request.get(`login/${app_type}`, { params })
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -26,7 +26,7 @@ export function getDiyPageInfo(id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addDiyPage(params: Record<string, any>) {
|
||||
return request.post('diy/diy', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('diy/diy', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -34,7 +34,7 @@ export function addDiyPage(params: Record<string, any>) {
|
||||
* @param params
|
||||
*/
|
||||
export function editDiyPage(params: Record<string, any>) {
|
||||
return request.put(`diy/diy/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`diy/diy/${params.id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -42,7 +42,7 @@ export function editDiyPage(params: Record<string, any>) {
|
||||
* @param params
|
||||
*/
|
||||
export function setUseDiyPage(params: Record<string, any>) {
|
||||
return request.put(`diy/use`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`diy/use`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -50,7 +50,7 @@ export function setUseDiyPage(params: Record<string, any>) {
|
||||
* @param params
|
||||
*/
|
||||
export function editDiyPageShare(params: Record<string, any>) {
|
||||
return request.put(`diy/diy/share`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`diy/diy/share`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -59,7 +59,7 @@ export function editDiyPageShare(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteDiyPage(id: number) {
|
||||
return request.delete(`diy/diy/${id}`, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`diy/diy/${id}`, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -89,14 +89,14 @@ export function getDiyBottom(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function setDiyBottom(params: Record<string, any>) {
|
||||
return request.post('diy/bottom', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('diy/bottom', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取页面类型
|
||||
* 获取页面模板
|
||||
*/
|
||||
export function getDiyPageType(params: Record<string, any>) {
|
||||
return request.get(`diy/type`, { params })
|
||||
export function getDiyTemplate(params: Record<string, any>) {
|
||||
return request.get(`diy/template`, { params })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -121,5 +121,5 @@ export function getDiyRouteInfo(params: Record<string, any>) {
|
||||
* @param params
|
||||
*/
|
||||
export function editDiyRouteShare(params: Record<string, any>) {
|
||||
return request.put(`diy/route/share`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`diy/route/share`, params, { showSuccessMessage: true })
|
||||
}
|
||||
@ -14,5 +14,5 @@ export function getH5Config() {
|
||||
* @returns
|
||||
*/
|
||||
export function setH5Config(params: Record<string, any>) {
|
||||
return request.put('channel/h5/config', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put('channel/h5/config', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
@ -21,13 +21,21 @@ export function getMemberInfo(id: number) {
|
||||
return request.get(`member/member/${id}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会员编码
|
||||
* @returns
|
||||
*/
|
||||
export function getMemberNo() {
|
||||
return request.get(`member/memberno`);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加会员
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function addMember(params: Record<string, any>) {
|
||||
return request.post(`member/member`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`member/member`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -48,6 +56,15 @@ export function getRegisterChannelType(params: Record<string, any>) {
|
||||
return request.get(`member/register/channel`, params)
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员删除
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function deleteMember(member_id: number) {
|
||||
return request.delete(`member/member/${member_id}`, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************** 会员标签 ****************************************************/
|
||||
@ -76,7 +93,7 @@ export function getMemberLabelInfo(label_id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addMemberLabel(params: Record<string, any>) {
|
||||
return request.post('member/label', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('member/label', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -86,7 +103,7 @@ export function addMemberLabel(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function updateMemberLabel(params: Record<string, any>) {
|
||||
return request.put(`member/label/${params.label_id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`member/label/${params.label_id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -95,7 +112,7 @@ export function updateMemberLabel(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteMemberLabel(label_id: number) {
|
||||
return request.delete(`member/label/${label_id}`, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`member/label/${label_id}`, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -114,7 +131,7 @@ export function getMemberLabelAll() {
|
||||
* @returns
|
||||
*/
|
||||
export function editMemberDetail(params: Record<string, any>) {
|
||||
return request.put(`member/member/modify/${params.member_id}/${params.field}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`member/member/modify/${params.member_id}/${params.field}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/***************************************************** 会员零钱 ****************************************************/
|
||||
@ -171,7 +188,7 @@ export function getCommissionList(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function adjustPoint(params: Record<string, any>) {
|
||||
return request.post(`member/account/point`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`member/account/point`, params, { showSuccessMessage: true })
|
||||
}
|
||||
/**
|
||||
* 会员余额调整
|
||||
@ -179,7 +196,7 @@ export function adjustPoint(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function adjustBalance(params: Record<string, any>) {
|
||||
return request.post(`member/account/balance`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`member/account/balance`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/***************************************************** 会员相关设置 ****************************************************/
|
||||
@ -189,8 +206,8 @@ export function adjustBalance(params: Record<string, any>) {
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function getLoginConfig(params: Record<string, any>) {
|
||||
return request.get(`member/config/login`, params)
|
||||
export function getLoginConfig() {
|
||||
return request.get(`member/config/login`)
|
||||
}
|
||||
/**
|
||||
* 注册登录设置
|
||||
@ -198,9 +215,29 @@ export function getLoginConfig(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function setLoginConfig(params: Record<string, any>) {
|
||||
return request.post(`member/config/login`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`member/config/login`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取会员设置
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function getMemberConfig() {
|
||||
return request.get(`member/config/member`)
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员设置
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function setMemberConfig(params: Record<string, any>) {
|
||||
return request.post(`member/config/member`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取会员转账方式
|
||||
* @param params
|
||||
@ -210,6 +247,25 @@ export function getTransfertype() {
|
||||
return request.get(`member/cash_out/transfertype`)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 佣金统计
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function getCommissionSum(params: Record<string, any>) {
|
||||
return request.get(`member/account/sum_commission`, { params })
|
||||
}
|
||||
|
||||
/**
|
||||
* 积分统计
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function getPointSum(params: Record<string, any>) {
|
||||
return request.get(`member/account/sum_point`, { params })
|
||||
}
|
||||
|
||||
/**
|
||||
* 余额统计
|
||||
* @param params
|
||||
@ -243,7 +299,7 @@ export function getAccountType(params: Record<string, any>) {
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function getWithdrawConfig() {
|
||||
export function getCashOutConfig() {
|
||||
return request.get(`member/config/cash_out`)
|
||||
}
|
||||
/**
|
||||
@ -251,8 +307,8 @@ export function getWithdrawConfig() {
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function setWithdrawConfig(params: Record<string, any>) {
|
||||
return request.post(`member/config/cash_out`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
export function setCashOutConfig(params: Record<string, any>) {
|
||||
return request.post(`member/config/cash_out`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -260,7 +316,7 @@ export function setWithdrawConfig(params: Record<string, any>) {
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function getWithdrawList(params: Record<string, any>) {
|
||||
export function getCashOutList(params: Record<string, any>) {
|
||||
return request.get(`member/cash_out`, { params })
|
||||
}
|
||||
|
||||
@ -269,7 +325,7 @@ export function getWithdrawList(params: Record<string, any>) {
|
||||
* @param params
|
||||
* @returns id
|
||||
*/
|
||||
export function getWithdrawDetail(id: number) {
|
||||
export function getCashOutDetail(id: number) {
|
||||
return request.get(`member/cash_out/${id}`, {})
|
||||
}
|
||||
|
||||
@ -280,7 +336,7 @@ export function getWithdrawDetail(id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function memberAudit(params: Record<string, any>) {
|
||||
return request.put(`member/cash_out/audit/${params.id}/${params.action}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`member/cash_out/audit/${params.id}/${params.action}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -290,7 +346,7 @@ export function memberAudit(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function memberTransfer(params: Record<string, any>) {
|
||||
return request.put(`member/cash_out/transfer/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`member/cash_out/transfer/${params.id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -300,7 +356,7 @@ export function memberTransfer(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editMemberStatus(params: Record<string, any>) {
|
||||
return request.put(`member/setstatus/${params.status}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`member/setstatus/${params.status}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -308,6 +364,15 @@ export function editMemberStatus(params: Record<string, any>) {
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function getWithdrawStatusList() {
|
||||
export function getCashOutStatusList() {
|
||||
return request.get(`member/cash_out/status`)
|
||||
}
|
||||
|
||||
/**
|
||||
* 提现统计
|
||||
* @returns
|
||||
*/
|
||||
export function getCashOutStat() {
|
||||
return request.get(`member/cash_out/stat`)
|
||||
}
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@ export function getNoticeLog(params: any) {
|
||||
* @returns
|
||||
*/
|
||||
export function editNoticeStatus(params: Record<string, any>) {
|
||||
return request.post(`notice/notice/editstatus`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`notice/notice/editstatus`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -44,7 +44,7 @@ export function editNoticeStatus(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editNotice(params: Record<string, any>) {
|
||||
return request.post(`notice/notice/edit`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`notice/notice/edit`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -71,7 +71,7 @@ export function getSmsInfo(sms_type: string) {
|
||||
* @returns
|
||||
*/
|
||||
export function editSms(params: Record<string, any>) {
|
||||
return request.put(`notice/notice/sms/${params.sms_type}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`notice/notice/sms/${params.sms_type}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -81,5 +81,5 @@ export function editSms(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function getSmsLog(params: Record<string, any>) {
|
||||
return request.put(`notice/sms/log`, params)
|
||||
return request.get(`notice/sms/log`, params)
|
||||
}
|
||||
|
||||
@ -11,6 +11,15 @@ export function getRechargeOrderList(params: Record<string, any>) {
|
||||
return request.get(`order/recharge`, { params })
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取充值订单统计
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function getRechargeStat(params: Record<string, any>) {
|
||||
return request.get(`order/recharge/stat`, { params })
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取充值订单详情
|
||||
* @param order_id
|
||||
@ -19,7 +28,7 @@ export function getRechargeOrderList(params: Record<string, any>) {
|
||||
export function getRechargeOrderInfo(order_id: number) {
|
||||
return request.get(`order/recharge/${order_id}`);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取充值订单状态列表
|
||||
* @returns
|
||||
@ -48,6 +57,14 @@ export function getRefundStatus() {
|
||||
* 充值订单发起退款
|
||||
* @returns
|
||||
*/
|
||||
export function rechargeRefund(id) {
|
||||
return request.get(`order/recharge/refund/${id}`);
|
||||
export function rechargeRefund(id: number) {
|
||||
return request.put(`order/recharge/refund/${id}`, {}, { showSuccessMessage: true });
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取退款统计
|
||||
* @returns
|
||||
*/
|
||||
export function getRefundStat() {
|
||||
return request.get(`refund/stat`);
|
||||
}
|
||||
@ -13,6 +13,6 @@ export function getUserInfo(type: string) {
|
||||
* @returns
|
||||
*/
|
||||
export function setUserInfo(params: Record<string, any>) {
|
||||
return request.put(`auth/edit`, params, { showErrorMessage: true, showSuccessMessage: true });
|
||||
return request.put(`auth/edit`, params, { showSuccessMessage: true });
|
||||
}
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ export function getSiteInfo(site_id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addSite(params: Record<string, any>) {
|
||||
return request.post('site/site', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('site/site', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -38,7 +38,27 @@ export function addSite(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editSite(params: Record<string, any>) {
|
||||
return request.put(`site/site/${params.site_id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`site/site/${params.site_id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭站点
|
||||
* @param id
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function closeSite(params: Record<string, any>) {
|
||||
return request.put(`site/closesite/${params.site_id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭站点
|
||||
* @param id
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function openSite(params: Record<string, any>) {
|
||||
return request.put(`site/opensite/${params.site_id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -77,7 +97,7 @@ export function getSiteGroupInfo(site_id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addSiteGroup(params: Record<string, any>) {
|
||||
return request.post('site/group', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('site/group', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -87,7 +107,7 @@ export function addSiteGroup(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editSiteGroup(params: Record<string, any>) {
|
||||
return request.put(`site/group/${params.group_id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`site/group/${params.group_id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -97,7 +117,7 @@ export function editSiteGroup(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteSiteGroup(group_id: number) {
|
||||
return request.delete(`site/group/${group_id}`, { showErrorMessage: true, showSuccessMessage: true });
|
||||
return request.delete(`site/group/${group_id}`, { showSuccessMessage: true });
|
||||
}
|
||||
|
||||
/**
|
||||
@ -135,7 +155,7 @@ export function getUserInfo(uid: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addUser(params: Record<string, any>) {
|
||||
return request.post('site/user', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('site/user', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -145,7 +165,7 @@ export function addUser(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editUser(params: Record<string, any>) {
|
||||
return request.put(`site/user/${params.uid}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`site/user/${params.uid}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -154,7 +174,7 @@ export function editUser(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteUser(uid: number) {
|
||||
return request.delete(`site/user/${uid}`, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`site/user/${uid}`, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ export function getRoleInfo(roleId: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addRole(params: Record<string, any>) {
|
||||
return request.post(`sys/role`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`sys/role`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -52,7 +52,7 @@ export function addRole(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editRole(params: Record<string, any>) {
|
||||
return request.put(`sys/role/${params.role_id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`sys/role/${params.role_id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -61,7 +61,7 @@ export function editRole(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteRole(roleId: number) {
|
||||
return request.delete(`sys/role/${roleId}`, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`sys/role/${roleId}`, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -97,7 +97,7 @@ export function getMenuInfo(menu_key: string) {
|
||||
* @returns
|
||||
*/
|
||||
export function addMenu(params: Record<string, any>) {
|
||||
return request.post('sys/menu', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('sys/menu', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -107,7 +107,7 @@ export function addMenu(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editMenu(params: Record<string, any>) {
|
||||
return request.put(`sys/menu/${params.menu_key}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`sys/menu/${params.menu_key}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -116,7 +116,7 @@ export function editMenu(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteMenu(menu_key: string) {
|
||||
return request.delete(`sys/menu/${menu_key}`, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`sys/menu/${menu_key}`, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/***************************************************** 站点菜单 ****************************************************/
|
||||
@ -140,13 +140,21 @@ export function getWebsite() {
|
||||
return request.get('sys/config/website')
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取网站设置
|
||||
* @returns
|
||||
*/
|
||||
export function getWebConfig() {
|
||||
return request.get('sys/web/website')
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新网站设置
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function setWebsite(params: Record<string, any>) {
|
||||
return request.put(`sys/config/website`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`sys/config/website`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -157,13 +165,21 @@ export function getCopyright() {
|
||||
return request.get('sys/config/copyright')
|
||||
}
|
||||
|
||||
/**
|
||||
* 获服务信息
|
||||
* @returns
|
||||
*/
|
||||
export function getService() {
|
||||
return request.get('sys/config/service')
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新版权设置
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export function setCopyright(params: Record<string, any>) {
|
||||
return request.put(`sys/config/copyright`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`sys/config/copyright`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -180,7 +196,7 @@ export function getAttachmentCategoryList(params: Record<string, any>) {
|
||||
* @param params
|
||||
*/
|
||||
export function addAttachmentCategory(params: Record<string, any>) {
|
||||
return request.post(`sys/attachment/category`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`sys/attachment/category`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -189,7 +205,7 @@ export function addAttachmentCategory(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editAttachmentCategory(params: Record<string, any>) {
|
||||
return request.put(`sys/attachment/category/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`sys/attachment/category/${params.id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -198,7 +214,7 @@ export function editAttachmentCategory(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteAttachmentCategory(id: number) {
|
||||
return request.delete(`sys/attachment/category/${id}`, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`sys/attachment/category/${id}`, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -216,7 +232,7 @@ export function getAttachmentList(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteAttachment(params: Record<string, any>) {
|
||||
return request.delete(`sys/attachment/del`, { data: params, showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`sys/attachment/del`, { data: params, showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -275,7 +291,7 @@ export function getStorageInfo(type: string) {
|
||||
* @returns
|
||||
*/
|
||||
export function editStorage(params: Record<string, any>) {
|
||||
return request.put(`sys/storage/${params.storage_type}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`sys/storage/${params.storage_type}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/***************************************************** 支付设置 ****************************************************/
|
||||
@ -293,7 +309,7 @@ export function getPayConfig(type: string) {
|
||||
* @returns
|
||||
*/
|
||||
export function setPayConfig(params: Record<string, any>) {
|
||||
return request.put(`pay/config/${params.type}`, params, { showErrorMessage: true, showSuccessMessage: true });
|
||||
return request.put(`pay/config/${params.type}`, params, { showSuccessMessage: true });
|
||||
}
|
||||
|
||||
/**
|
||||
@ -371,7 +387,7 @@ export function getAgreementInfo(key: string) {
|
||||
* @returns
|
||||
*/
|
||||
export function editAgreement(params: Record<string, any>) {
|
||||
return request.put(`sys/agreement/${params.key}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`sys/agreement/${params.key}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -408,7 +424,7 @@ export function getConfigLogin() {
|
||||
* @returns
|
||||
*/
|
||||
export function setConfigLogin(params: Record<string, any>) {
|
||||
return request.put(`sys/config/login`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`sys/config/login`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -422,7 +438,7 @@ export function getPayConfigList() {
|
||||
* 设置支付配置
|
||||
*/
|
||||
export function setPatConfig(params: Record<string, any>) {
|
||||
return request.post(`pay/channel/set/all`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`pay/channel/set/all`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
|
||||
@ -431,9 +447,17 @@ export function setPatConfig(params: Record<string, any>) {
|
||||
* 刷新菜单
|
||||
*/
|
||||
export function menuRefresh(params: Record<string, any>) {
|
||||
return request.post(`sys/menu/refresh`,{},{ showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post(`sys/menu/refresh`, {}, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
* 清理数据字段缓存
|
||||
*/
|
||||
export function clearSchemaCache(params: Record<string, any>) {
|
||||
return request.post(`sys/schema/clear`, {}, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
|
||||
/***************************************************** 获取应用 ****************************************************/
|
||||
/**
|
||||
* 获取应用
|
||||
@ -442,3 +466,5 @@ export function getAppMange() {
|
||||
return request.get(`sys/applist`)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ export function getGenerateTableInfo(id: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addGenerateTable(params: Record<string, any>) {
|
||||
return request.post('generator/generator', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('generator/generator', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -36,7 +36,7 @@ export function addGenerateTable(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editGenerateTable(params: Record<string, any>) {
|
||||
return request.put(`generator/generator/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`generator/generator/${params.id}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -45,7 +45,7 @@ export function editGenerateTable(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function deleteGenerateTable(id: number) {
|
||||
return request.delete(`generator/generator/${id}`, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.delete(`generator/generator/${id}`, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -28,7 +28,7 @@ export function getUserInfo(uid: number) {
|
||||
* @returns
|
||||
*/
|
||||
export function addUser(params: Record<string, any>) {
|
||||
return request.post('user/user', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.post('user/user', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -38,6 +38,6 @@ export function addUser(params: Record<string, any>) {
|
||||
* @returns
|
||||
*/
|
||||
export function editUser(params: Record<string, any>) {
|
||||
return request.put(`user/user/${params.uid}`, params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put(`user/user/${params.uid}`, params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ export function getWeappConfig() {
|
||||
* @returns
|
||||
*/
|
||||
export function setWeappConfig(params: Record<string, any>) {
|
||||
return request.put('weapp/config', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put('weapp/config', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -31,5 +31,5 @@ export function getTemplateList() {
|
||||
* @returns
|
||||
*/
|
||||
export function getBatchAcquisition(params: Record<string, any>) {
|
||||
return request.put('weapp/template/sync', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put('weapp/template/sync', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ export function getWechatStatic() {
|
||||
* @returns
|
||||
*/
|
||||
export function editWechatConfig(params: Record<string, any>) {
|
||||
return request.put('wechat/config', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put('wechat/config', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -40,7 +40,7 @@ export function getWechatMenu() {
|
||||
* @returns
|
||||
*/
|
||||
export function editWechatMenu(params: Record<string, any>) {
|
||||
return request.put('wechat/menu', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put('wechat/menu', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
/**
|
||||
@ -58,7 +58,7 @@ export function getTemplateList() {
|
||||
* @returns
|
||||
*/
|
||||
export function getBatchAcquisition(params: Record<string, any>) {
|
||||
return request.put('wechat/template/sync', params, { showErrorMessage: true, showSuccessMessage: true })
|
||||
return request.put('wechat/template/sync', params, { showSuccessMessage: true })
|
||||
}
|
||||
|
||||
|
||||
|
||||
BIN
admin/src/assets/images/app_default.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
admin/src/assets/images/app_store/app_store_default.png
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
admin/src/assets/images/app_store/local_icon.png
Normal file
|
After Width: | Height: | Size: 907 B |
BIN
admin/src/assets/images/app_store/local_icon_select.png
Normal file
|
After Width: | Height: | Size: 544 B |
BIN
admin/src/assets/images/app_store/market_icon.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
admin/src/assets/images/app_store/market_icon_select.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
admin/src/assets/images/app_store/switch_icon_1.png
Normal file
|
After Width: | Height: | Size: 455 B |
BIN
admin/src/assets/images/app_store/switch_icon_2.png
Normal file
|
After Width: | Height: | Size: 843 B |
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 655 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
admin/src/assets/images/empty.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
admin/src/assets/images/error.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
admin/src/assets/images/index/app.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
admin/src/assets/images/index/article.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
admin/src/assets/images/index/auth.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
admin/src/assets/images/index/new_site.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
admin/src/assets/images/index/renovation.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
admin/src/assets/images/index/site.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
admin/src/assets/images/index/site_auth.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
admin/src/assets/images/index/site_balance.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
admin/src/assets/images/index/site_bg.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
admin/src/assets/images/index/site_class.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
admin/src/assets/images/index/site_member.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
admin/src/assets/images/index/wework_qrcode.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
admin/src/assets/images/index/wx_qrcode.jpg
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 163 KiB |
BIN
admin/src/assets/images/member_head.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
admin/src/assets/images/site_logo.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
@ -117,13 +117,13 @@ import { CollectionTag } from '@element-plus/icons-vue';
|
||||
|
||||
getLink({}).then((res: any) => {
|
||||
link.value = res.data;
|
||||
|
||||
childList.value = link.value[0].child_list;
|
||||
|
||||
childList.value = Object.values(link.value)[0].child_list;
|
||||
if (value.value.name != '') {
|
||||
selectLink.value = cloneDeep(value.value);
|
||||
} else {
|
||||
selectLink.value = {
|
||||
parent: link.value[0].name
|
||||
parent: Object.values(link.value)[0].name
|
||||
};
|
||||
}
|
||||
parentLinkName.value = selectLink.value.parent;
|
||||
|
||||
@ -47,7 +47,7 @@ const element = computed(() => {
|
||||
|
||||
// iconfont 图标
|
||||
const iconfont = computed(() => {
|
||||
const iconfile = import.meta.globEager('@/styles/icon/iconfont.css')['/src/styles/iconfont.css'].default
|
||||
const iconfile = import.meta.globEager('@/styles/iconfont.css')['/src/styles/iconfont.css'].default
|
||||
const icons = Array.from(iconfile.matchAll(/(icon.*)\:before/g))
|
||||
|
||||
return icons.map(item => {
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
<div class="flex border-t border-b main-wrap border-color w-full" :class="scene == 'select' ? 'h-[40vh]' : 'h-full'">
|
||||
<!-- 分组 -->
|
||||
<div class="group-wrap w-[180px] p-[15px] h-full border-r border-color flex flex-col">
|
||||
<el-input v-model="categoryParam.name" class="m-0" :placeholder="t('upload.attachmentCategoryPlaceholder')"
|
||||
|
||||
<el-input v-model="categoryParam.name" class="m-0" :placeholder="t('upload.attachmentCategoryPlaceholder')" clearable
|
||||
prefix-icon="Search" @input="getAttachmentCategoryList()" />
|
||||
<div class="group-list flex-1 my-[10px]">
|
||||
<el-scrollbar>
|
||||
@ -40,23 +41,26 @@
|
||||
<el-col :span="12">
|
||||
<div class="flex">
|
||||
<el-upload v-bind="upload" ref="uploadRef">
|
||||
<el-button type="primary">{{ t('upload.upload' + type) }}</el-button>
|
||||
<el-button type="primary">{{ t('upload.upload' + type) }} {{ isOpen }}</el-button>
|
||||
</el-upload>
|
||||
<el-button v-if="operate === false" class="ml-[10px]" type="primary" @click="operate = true">{{
|
||||
t('edit') }}</el-button>
|
||||
<el-button v-else class="ml-[10px]" type="primary" @click="operate = false">{{ t('complete')
|
||||
}}</el-button>
|
||||
<div v-if="scene == 'attachment'">
|
||||
<el-button v-if="operate === false" class="ml-[10px]" type="primary" @click="operate = true">{{
|
||||
t('edit') }}</el-button>
|
||||
<el-button v-else class="ml-[10px]" type="primary" @click="operate = false">{{ t('complete')
|
||||
}}</el-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="text-right">
|
||||
<el-input v-model="attachmentParam.real_name" class="m-0 w-[200px]"
|
||||
<el-input v-model="attachmentParam.real_name" class="m-0 w-[200px]" clearable
|
||||
:placeholder="t('upload.placeholder' + type + 'Name')" prefix-icon="Search"
|
||||
@input="getAttachmentList()" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="flex-1 my-[15px] h-0" v-loading="attachment.loading">
|
||||
<el-scrollbar>
|
||||
<div class="flex flex-wrap" v-if="attachment.data.length && operate === true">
|
||||
<div class="flex flex-wrap" v-if="attachment.data.length && (operate === true || scene != 'attachment')">
|
||||
<div class="attachment-item mr-[10px]" :class="scene == 'select' ? 'w-[100px]' : 'w-[120px]'"
|
||||
v-for="(item, index) in attachment.data" :key="index">
|
||||
<div class="attachment-wrap w-full rounded cursor-pointer overflow-hidden relative flex items-center justify-center"
|
||||
@ -348,7 +352,7 @@ const upload = computed(() => {
|
||||
},
|
||||
headers,
|
||||
onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => {
|
||||
if (response.code == 200) {
|
||||
if (response.code >= 1) {
|
||||
getAttachmentList()
|
||||
uploadRef.value?.handleRemove(uploadFile)
|
||||
} else {
|
||||
|
||||
@ -156,7 +156,7 @@
|
||||
"captcha_key":backToken.value
|
||||
}
|
||||
reqCheck(data).then(res=>{
|
||||
if (res.code == "200") {
|
||||
if (res.code == 1) {
|
||||
barAreaColor.value = '#4cae4c'
|
||||
barAreaBorderColor.value = '#5cb85c'
|
||||
text.value = '验证成功'
|
||||
@ -214,7 +214,7 @@
|
||||
captchaType:captchaType.value
|
||||
}
|
||||
reqGet(data).then(res=>{
|
||||
if (res.code == "200") {
|
||||
if (res.code == 1) {
|
||||
pointBackImgBase.value = res.data.originalImageBase64
|
||||
backToken.value = res.data.token
|
||||
secretKey.value = res.data.secretKey
|
||||
|
||||
@ -248,7 +248,7 @@
|
||||
"captcha_key":backToken.value
|
||||
}
|
||||
reqCheck(data).then(res=>{
|
||||
if (res.code == "200") {
|
||||
if (res.code == 1) {
|
||||
moveBlockBackgroundColor.value = '#5cb85c'
|
||||
leftBarBorderColor.value = '#5cb85c'
|
||||
iconColor.value = '#fff'
|
||||
@ -319,7 +319,7 @@
|
||||
captchaType:captchaType.value
|
||||
}
|
||||
reqGet(data).then(res=>{
|
||||
if (res.code == "200") {
|
||||
if (res.code == 1) {
|
||||
backImgBase.value = res.data.originalImageBase64
|
||||
blockBackImgBase.value = res.data.jigsawImageBase64
|
||||
backToken.value = res.data.token
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"title": "Niushop Vite Management side",
|
||||
"title": "Niucloud Vite Management side",
|
||||
"login": "Login",
|
||||
"logging": "Logging",
|
||||
"userPlaceholder": "Please enter your account number",
|
||||
|
||||
32
admin/src/lang/zh-cn/app_store.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"noPlug":"暂无应用",
|
||||
"install":"安装",
|
||||
"unload":"卸载",
|
||||
"installLabel":"已安装",
|
||||
"uninstalledLabel":"未安装",
|
||||
"version":"版本",
|
||||
"title":"名称",
|
||||
"desc":"描述",
|
||||
"plugDetail": "插件信息",
|
||||
"author": "作者",
|
||||
"addonInstall": "插件安装",
|
||||
"dirPermission": "目录读写权限",
|
||||
"path": "路径",
|
||||
"demand": "要求",
|
||||
"readable": "可读",
|
||||
"write": "可写",
|
||||
"packageManageTool": "包管理工具",
|
||||
"name": "名称",
|
||||
"addonInstallSuccess": "插件安装成功",
|
||||
"envCheck": "环境检查",
|
||||
"installProgress": "安装进度",
|
||||
"installComplete": "安装完成",
|
||||
"localAppText":"本地应用",
|
||||
"marketAppText":"官方市场",
|
||||
"installShowDialogCloseTips": "安装任务尚未完成,关闭任务仍会执行,确定要继续关闭吗?",
|
||||
"marketDevelopMessage":"官方市场正在开发中!",
|
||||
"jobError": "任务队列未启动 请在服务端源码部署目录打开终端执行 php think queue:listen",
|
||||
"conflictFiles": "冲突文件",
|
||||
"process": "启动进程",
|
||||
"open": "开启"
|
||||
}
|
||||
@ -14,5 +14,6 @@
|
||||
"sortNumber":"排序号必须是数字",
|
||||
"sortBetween":"排序号不能超过10000",
|
||||
"show":"显示",
|
||||
"hide":"不显示"
|
||||
"hide":"不显示",
|
||||
"articleNumber": "文章数量"
|
||||
}
|
||||
@ -1,12 +1,13 @@
|
||||
{
|
||||
"categoryName":"栏目",
|
||||
"ID":"ID",
|
||||
"title":"标题",
|
||||
"intro":"简介",
|
||||
"summary":"摘要",
|
||||
"image":"封面",
|
||||
"author":"作者",
|
||||
"content":"文章内容",
|
||||
"visit":"实际浏览量",
|
||||
"visit":"浏览量",
|
||||
"visitVirtual":"虚拟浏览量",
|
||||
"isShow":"是否显示",
|
||||
"sort":"排序",
|
||||
@ -17,4 +18,5 @@
|
||||
"titlePlaceholder":"请输入文章标题",
|
||||
"categoryIdPlaceholder":"请选择文章栏目",
|
||||
"articleDeleteTips" : "确定要删除该文章吗?"
|
||||
|
||||
}
|
||||
@ -6,5 +6,6 @@
|
||||
"roleNamePlaceholder": "请输入角色名称",
|
||||
"rulesPlaceholder": "请选择权限",
|
||||
"checkStrictly": "父子级不关联",
|
||||
"permission": "权限"
|
||||
"permission": "权限",
|
||||
"foldText":"展开/折叠"
|
||||
}
|
||||
@ -17,6 +17,7 @@
|
||||
"status":"用户状态",
|
||||
"statusUnlock":"正常",
|
||||
"statusLock":"锁定",
|
||||
"adminDisabled":"超级管理员不可编辑",
|
||||
"userUnlockTips":"确定要解锁该管理员吗?",
|
||||
"userLockTips":"确定要锁定该管理员吗?"
|
||||
}
|
||||
@ -3,5 +3,6 @@
|
||||
"preview": "预览图",
|
||||
"copy": "复制",
|
||||
"clickVisit": "点击访问",
|
||||
"PCDomainName": "pc域名"
|
||||
"PCDomainName": "pc域名",
|
||||
"newInfo": "最新消息"
|
||||
}
|
||||
@ -80,10 +80,11 @@
|
||||
"400": "错误的请求",
|
||||
"401": "请重新登录",
|
||||
"403": "拒绝访问",
|
||||
"404": "请求错误,未找到该资源",
|
||||
"404": "请求错误",
|
||||
"405": "请求方法未允许",
|
||||
"408": "请求超时",
|
||||
"500": "服务器端出错",
|
||||
"409": "请求跨域",
|
||||
"500": "服务器端出错,错误原因:",
|
||||
"501": "网络未实现",
|
||||
"502": "网络错误",
|
||||
"503": "服务不可用",
|
||||
@ -100,5 +101,7 @@
|
||||
"diyLinkUrlPlaceholder": "请输入跳转路径",
|
||||
"diyLinkUrlNotEmpty": "跳转路径不能为空",
|
||||
"returnToPreviousPage": "返回",
|
||||
"preview": "预览"
|
||||
"preview": "预览",
|
||||
"emptyApp": "暂未安装任何应用",
|
||||
"newInfo": "最新消息"
|
||||
}
|
||||
@ -1,9 +1,23 @@
|
||||
{
|
||||
"pageSet": "页面设置",
|
||||
"tabEditContent": "内容",
|
||||
"tabEditStyle": "样式",
|
||||
"pageStyle": "页面样式",
|
||||
"pageContent": "页面内容",
|
||||
"pageName": "页面名称",
|
||||
"pageNamePlaceholder": "请输入页面名称",
|
||||
"pageBgColor": "页面颜色",
|
||||
"bgUrl": "背景图片",
|
||||
"marginSet": "边距设置",
|
||||
"componentStyleTitle": "组件样式",
|
||||
"bottomBgColor": "底部背景",
|
||||
"bottomBgTips": "底部背景包含边距和圆角",
|
||||
"componentBgColor": "组件背景",
|
||||
"marginTop": "上边距",
|
||||
"marginBottom": "下边距",
|
||||
"marginBoth": "左右边距",
|
||||
"topRounded": "上圆角",
|
||||
"bottomRounded": "下圆角",
|
||||
"warmPrompt": "温馨提示",
|
||||
"leavePageTitleTips": "确定离开此页面?",
|
||||
"leavePageContentTips": "系统可能不会保存您所做的更改。",
|
||||
@ -28,6 +42,8 @@
|
||||
"addImageAd": "添加图片",
|
||||
"imageUrlTip": "请上传图片",
|
||||
"articleData": "文章数据",
|
||||
"articleStyle": "文章样式",
|
||||
"articleBgColor": "文章背景",
|
||||
"dataSources": "数据来源",
|
||||
"defaultSources": "默认",
|
||||
"manualSelectionSources": "手动选择",
|
||||
@ -65,6 +81,7 @@
|
||||
"addGraphicNav": "添加导航",
|
||||
"blankHeightSet": "高度设置",
|
||||
"blankHeight": "空白高度",
|
||||
"styleSet": "风格设置",
|
||||
"titleStyle": "标题样式",
|
||||
"selectStyle": "风格选择",
|
||||
"titleContent": "标题内容",
|
||||
@ -73,6 +90,7 @@
|
||||
"textAlign": "对齐方式",
|
||||
"textAlignLeft": "居左",
|
||||
"textAlignCenter": "居中",
|
||||
"textSet": "文字设置",
|
||||
"textFontSize": "文字大小",
|
||||
"textFontWeight": "文字粗细",
|
||||
"fontWeightBold": "加粗",
|
||||
@ -84,5 +102,6 @@
|
||||
"moreContent": "“更多”按钮内容",
|
||||
"more": "文字",
|
||||
"morePlaceholder": "请输入文字",
|
||||
"moreIsShow": "是否显示"
|
||||
"moreIsShow": "是否显示",
|
||||
"memberStyle": "会员样式"
|
||||
}
|
||||
@ -1,9 +1,11 @@
|
||||
{
|
||||
"title": "页面名称",
|
||||
"typeName": "页面类型",
|
||||
"typeName": "页面模板",
|
||||
"addPageTips": "创建新页面",
|
||||
"pageTypePlaceholder": "请选择页面类型",
|
||||
"pageTemplatePlaceholder": "请选择页面模板",
|
||||
"nameMax": "名称不能超过12个字符",
|
||||
"templateName": "模板名称",
|
||||
"empty": "空白",
|
||||
"status": "状态",
|
||||
"updateTime": "更新时间",
|
||||
"use": "使用",
|
||||
|
||||
88
admin/src/lang/zh-cn/diy.member.json
Normal file
@ -0,0 +1,88 @@
|
||||
{
|
||||
"pageSet": "页面设置",
|
||||
"pageContent": "页面内容",
|
||||
"pageName": "页面名称",
|
||||
"pageNamePlaceholder": "请输入页面名称",
|
||||
"pageBgColor": "页面颜色",
|
||||
"warmPrompt": "温馨提示",
|
||||
"leavePageTitleTips": "确定离开此页面?",
|
||||
"leavePageContentTips": "系统可能不会保存您所做的更改。",
|
||||
"decorating": "正在装修",
|
||||
"moveUpComponent": "上移",
|
||||
"moveDownComponent": "下移",
|
||||
"copyComponent": "复制",
|
||||
"delComponent": "删除",
|
||||
"resetComponent": "重置",
|
||||
"tabbar": "底部导航",
|
||||
"tabbarSwitchTips": "此处控制当前页面底部导航菜单是否显示",
|
||||
"link": "链接地址",
|
||||
"delComponentTips": "确定要删除吗?",
|
||||
"notCopy": "无法复制",
|
||||
"componentCanOnlyAdd": "组件只能添加",
|
||||
"piece": "个",
|
||||
"resetComponentTips": "确认要重置组件默认数据吗?",
|
||||
"image": "图片上传",
|
||||
"imageUpload": "图片上传",
|
||||
"imageSet": "图片设置",
|
||||
"imageAdsTips": "建议上传尺寸相同的图片,推荐尺寸750*350",
|
||||
"addImageAd": "添加图片",
|
||||
"imageUrlTip": "请上传图片",
|
||||
"articleData": "文章数据",
|
||||
"dataSources": "数据来源",
|
||||
"defaultSources": "默认",
|
||||
"manualSelectionSources": "手动选择",
|
||||
"articleNum": "文章数量",
|
||||
"selectPlaceholder": "请选择",
|
||||
"selectArticleTips": "文章选择",
|
||||
"articleTitle": "标题",
|
||||
"articleImage": "封面",
|
||||
"articleCategoryName": "栏目",
|
||||
"articleSummary": "摘要",
|
||||
"selected": "已选",
|
||||
"selectArticleTip": "请选择文章",
|
||||
"graphicNavModeTitle": "导航模式",
|
||||
"layoutMode": "排版模式",
|
||||
"layoutModeHorizontal": "横排",
|
||||
"layoutModeVertical": "竖排",
|
||||
"graphicNavSelectMode": "选择模式",
|
||||
"graphicNavModeGraphic": "图文导航",
|
||||
"graphicNavModeImg": "图片导航",
|
||||
"graphicNavModeText": "文字导航",
|
||||
"graphicNavImageSet": "图片设置",
|
||||
"graphicNavImageSize": "图片大小",
|
||||
"graphicNavAroundRadius": "图片圆角",
|
||||
"graphicNavShowStyle": "展示风格",
|
||||
"graphicNavStyleFixed": "固定显示",
|
||||
"graphicNavStyleSingleSlide": "单行滑动",
|
||||
"graphicNavStylePageSlide": "分页滑动",
|
||||
"graphicNavRowCount": "每行数量",
|
||||
"graphicNavPageCount": "每行数量",
|
||||
"graphicNavSetLabel": "导航设置",
|
||||
"line": "行",
|
||||
"graphicNavTips": "建议上传尺寸相同的图片,推荐尺寸60*60",
|
||||
"graphicNavTitle": "标题",
|
||||
"graphicNavTitlePlaceholder": "请输入标题",
|
||||
"addGraphicNav": "添加导航",
|
||||
"blankHeightSet": "高度设置",
|
||||
"blankHeight": "空白高度",
|
||||
"titleStyle": "标题样式",
|
||||
"selectStyle": "风格选择",
|
||||
"titleContent": "标题内容",
|
||||
"title": "标题名称",
|
||||
"titlePlaceholder": "请输入标题",
|
||||
"textAlign": "对齐方式",
|
||||
"textAlignLeft": "居左",
|
||||
"textAlignCenter": "居中",
|
||||
"textFontSize": "文字大小",
|
||||
"textFontWeight": "文字粗细",
|
||||
"fontWeightBold": "加粗",
|
||||
"fontWeightNormal": "常规",
|
||||
"textColor": "文字颜色",
|
||||
"subTitleContent": "标题内容",
|
||||
"subTitle": "副标题",
|
||||
"subTitlePlaceholder": "请输入副标题",
|
||||
"moreContent": "“更多”按钮内容",
|
||||
"more": "文字",
|
||||
"morePlaceholder": "请输入文字",
|
||||
"moreIsShow": "是否显示"
|
||||
}
|
||||
@ -2,14 +2,14 @@
|
||||
"siteId":"站点id",
|
||||
"title":"页面名称",
|
||||
"name":"页面标识",
|
||||
"type":"页面类型",
|
||||
"type":"页面模板",
|
||||
"value":"页面数据,json格式",
|
||||
"isDefault":"是否默认页面,1:是,0:否",
|
||||
"visitCount":"访问量",
|
||||
"siteIdPlaceholder":"请输入站点id",
|
||||
"titlePlaceholder":"请输入页面名称",
|
||||
"namePlaceholder":"请输入页面标识",
|
||||
"typePlaceholder":"请输入页面类型",
|
||||
"typePlaceholder":"请输入页面模板",
|
||||
"valuePlaceholder":"请输入页面数据,json格式",
|
||||
"isDefaultPlaceholder":"请输入是否默认页面,1:是,0:否",
|
||||
"visitCountPlaceholder":"请输入访问量",
|
||||
|
||||
@ -4,6 +4,10 @@
|
||||
"orderNoPlaceholder":"请输入订单编号",
|
||||
"createTime":"创建时间",
|
||||
"rechargeMoney":"充值金额",
|
||||
"totalTransfered":"累计提现(元)",
|
||||
"totalCashOuting":"提现中(元)",
|
||||
"transfered":"累计提现",
|
||||
"cashOuting":"提现中",
|
||||
"orderMoney":"订单金额",
|
||||
"member":"买家",
|
||||
"orderFromName":"订单来源",
|
||||
@ -34,6 +38,11 @@
|
||||
"nickname":"会员名称",
|
||||
"headimg":"会员头像",
|
||||
"cashOutDetail":"提现详情",
|
||||
"cashOutMoney": "转账金额"
|
||||
"cashOutMoney": "转账金额",
|
||||
"auditTime": "审核时间",
|
||||
"transferTime": "转账时间",
|
||||
"memberInfoPlaceholder":"请输入会员名称/会员昵称/手机号",
|
||||
"cashOutNumber": "提现单号",
|
||||
"cashOutNumberPlaceholder": "请输入提现单号"
|
||||
|
||||
}
|
||||
|
||||
@ -1,18 +1,23 @@
|
||||
{
|
||||
"orderNo":"订单编号",
|
||||
"orderStatus":"订单状态",
|
||||
"orderNoPlaceholder":"请输入订单编号",
|
||||
"createTime":"创建时间",
|
||||
"rechargeMoney":"充值金额",
|
||||
"orderMoney":"订单金额",
|
||||
"member":"买家",
|
||||
"orderFromName":"订单来源",
|
||||
"payTypeName":"支付方式",
|
||||
"startDate":"开始时间",
|
||||
"endDate":"结束时间",
|
||||
"namePlaceholder":"请选择",
|
||||
"refundBtn":"退款",
|
||||
"refundContent":"是否确认退款"
|
||||
|
||||
|
||||
}
|
||||
"totalRechargeRefundMoney":"充值退款(元)",
|
||||
"totalRechargeMoney":"充值金额(元)",
|
||||
"rechargeRefundMoney":"充值退款",
|
||||
"rechargeNo":"充值单号",
|
||||
"orderStatus":"订单状态",
|
||||
"rechargeNoPlaceholder":"请输入充值单号",
|
||||
"createTime":"充值时间",
|
||||
"rechargeMoney":"充值金额",
|
||||
"orderMoney":"订单金额",
|
||||
"member":"会员信息",
|
||||
"orderFromName":"订单来源",
|
||||
"payTypeName":"支付方式",
|
||||
"startDate":"开始时间",
|
||||
"endDate":"结束时间",
|
||||
"namePlaceholder":"请选择",
|
||||
"refundBtn":"退款",
|
||||
"refundContent":"是否确认退款",
|
||||
"payTime": "支付时间",
|
||||
"refundStatus": "退款状态",
|
||||
"startMoney": "起始金额",
|
||||
"endMoney": "结束金额"
|
||||
}
|
||||
@ -6,9 +6,19 @@
|
||||
"refundTime":"退款时间",
|
||||
"detail": "详情",
|
||||
"statusName": "状态",
|
||||
"memberInfo": "会员",
|
||||
"memberInfo": "会员信息",
|
||||
"refundSource": "退款来源",
|
||||
"startDate":"开始时间",
|
||||
"endDate":"结束时间",
|
||||
"refundStatus": "退款状态"
|
||||
"refundStatus": "退款状态",
|
||||
"accumulateRefundMoney": "累计退款金额(元)",
|
||||
"haveRefundMoney": "退款中金额(元)",
|
||||
"refundSuccessMonry": "退款成功金额(元)",
|
||||
"refundFailMoney": "退款失败金额(元)",
|
||||
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号",
|
||||
"refundNumberPlaceholder":"请输入退款单号",
|
||||
"orderNumber": "来源单号",
|
||||
"orderNumberPlaceholder": "请输入来源单号",
|
||||
"refundDetail": "退款详情",
|
||||
"nickname": "会员昵称"
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"dataSummarize": "数据概括",
|
||||
"dataSummarize": "数据概况",
|
||||
"todayData": "今日数据",
|
||||
"memberNumb": "新增会员数",
|
||||
"orderMoney": "订单金额",
|
||||
@ -38,8 +38,14 @@
|
||||
"newSite": "新增站点",
|
||||
"appMarketplace": "应用市场",
|
||||
"siteDistribution": "站点分布",
|
||||
"siteSum": "站点数",
|
||||
"memberSum": "用户数",
|
||||
"appSum": "应用数",
|
||||
"installAppSun": "安装应用数"
|
||||
"normalSiteSum": "正常站点(个)",
|
||||
"expireSiteSum": "过期站点(个)",
|
||||
"noInstallAppSun": "未安装应用(个)",
|
||||
"installAppSun": "已安装应用(个)",
|
||||
"officialAccount": "Niucloud官方公众号",
|
||||
"officialAccountDesc": "微信扫码关注",
|
||||
"WeCom": "客服二维码",
|
||||
"WeComDesc": "扫码联系客服",
|
||||
"tel": "服务热线:"
|
||||
|
||||
}
|
||||
@ -1,12 +1,14 @@
|
||||
{
|
||||
"accountData":"金额",
|
||||
"memberId":"会员编号",
|
||||
"accountData":"变动金额",
|
||||
"fromType":"来源/用途",
|
||||
"balanceInfo":"余额变动详情",
|
||||
"memberInfo":"会员信息",
|
||||
"memo":"备注",
|
||||
"mobile":"手机号码",
|
||||
"nickName":"会员昵称",
|
||||
"headimg":"会员头像",
|
||||
"createTime":"产生时间",
|
||||
"createTime":"发生时间",
|
||||
"startDate":"开始时间",
|
||||
"endDate":"结束时间",
|
||||
"searchMember":"昵称/手机号",
|
||||
@ -21,7 +23,12 @@
|
||||
"addMemberAccountLog":"添加会员账单表",
|
||||
"updateMemberAccountLog":"编辑会员账单表",
|
||||
"memberAccountLogDeleteTips":"确定要删除该会员账单表吗?",
|
||||
"balance": "不可提现余额",
|
||||
"money":"可提现余额",
|
||||
"balanceType":"账户类型"
|
||||
"totalAllBalance": "余额(元)",
|
||||
"totalBalance": "不可提现(元)",
|
||||
"totalMoney": "可提现(元)",
|
||||
"balance": "不可提现",
|
||||
"money":"可提现",
|
||||
"balanceType":"账户类型",
|
||||
"accountSum" : "剩余金额",
|
||||
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号"
|
||||
}
|
||||
@ -1,12 +1,18 @@
|
||||
{
|
||||
"accountData":"金额",
|
||||
"totalCommission":"累计佣金(元)",
|
||||
"commission":"未提现佣金(元)",
|
||||
"withdrawnCommission":"已提现佣金(元)",
|
||||
"cashOutingCommission":"提现中佣金(元)",
|
||||
"accountData":"变动金额",
|
||||
"memberId":"会员编号",
|
||||
"accountSum":"剩余金额",
|
||||
"fromType":"来源/用途",
|
||||
"moneyInfo":"佣金变动详情",
|
||||
"memo":"备注",
|
||||
"mobile":"手机号码",
|
||||
"nickName":"会员信息",
|
||||
"headimg":"会员头像",
|
||||
"createTime":"产生时间",
|
||||
"createTime":"发生时间",
|
||||
"startDate":"开始时间",
|
||||
"endDate":"结束时间",
|
||||
"searchMember":"昵称/手机号",
|
||||
@ -20,5 +26,8 @@
|
||||
"memoPlaceholder":"请输入备注信息",
|
||||
"addMemberAccountLog":"添加会员账单表",
|
||||
"updateMemberAccountLog":"编辑会员账单表",
|
||||
"member_account_logDeleteTips":"确定要删除该会员账单表吗?"
|
||||
"member_account_logDeleteTips":"确定要删除该会员账单表吗?",
|
||||
"memberInfo":"会员信息",
|
||||
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号"
|
||||
|
||||
}
|
||||
@ -5,6 +5,7 @@
|
||||
"adjustReducePoint":"减少积分",
|
||||
"adjustAddPoint":"增加积分",
|
||||
"adjustBalance":"调整余额",
|
||||
"memberNo":"会员编号",
|
||||
"currBalance":"当前余额",
|
||||
"currPoint":"当前积分",
|
||||
"memo":"备注",
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
{
|
||||
"labelName":"标签名称",
|
||||
"memberNumber":"会员数量",
|
||||
"memo":"备注",
|
||||
"sort":"排序",
|
||||
"siteIdPlaceholder":"请输入站点id",
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"registerChannel":"注册来源",
|
||||
"nickname":"会员名称",
|
||||
"memberNo":"会员编号",
|
||||
"mobile":"手机号",
|
||||
"createTime":"注册时间",
|
||||
"lastVisitTime":"最后访问时间",
|
||||
@ -9,9 +10,11 @@
|
||||
"nickNamePlaceholder":"请输入会员名称",
|
||||
"mobilePlaceholder":"请输入手机号",
|
||||
"channelPlaceholder":"请选择注册类型",
|
||||
"memberNoPlaceholder":"请选择会员编号",
|
||||
"memberDeleteTips" : "确定要删除该会员吗?",
|
||||
"detail": "详情",
|
||||
"edit": "编辑",
|
||||
"memberDelete":"删除",
|
||||
"adjust":"调整",
|
||||
"startDate": "开始时间",
|
||||
"endDate": "结束时间",
|
||||
@ -37,13 +40,14 @@
|
||||
"passwordCopy": "确认密码",
|
||||
"passwordPlaceholder": "请输入密码",
|
||||
"doubleCipherHint": "输入的两次密码不一致",
|
||||
"memberNoHint":"会员编号只能输入字母和数字",
|
||||
"mobileHint": "请输入正确的手机号!",
|
||||
"lable": "标签",
|
||||
"setLable": "标签",
|
||||
"notAvailable": "暂无",
|
||||
"memberLabelPlaceholder": "请选择会员标签",
|
||||
"memberInfo":"会员信息",
|
||||
"memberInfoPlaceholder":"请输入会员名称/会员昵称/手机号",
|
||||
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号",
|
||||
"lock": "锁定",
|
||||
"scrubLock": "取消锁定"
|
||||
"normal": "正常"
|
||||
}
|
||||
@ -1,24 +0,0 @@
|
||||
{
|
||||
"accountData":"金额",
|
||||
"fromType":"来源/用途",
|
||||
"moneyInfo":"零钱变动详情",
|
||||
"memo":"备注",
|
||||
"mobile":"手机号码",
|
||||
"nickName":"会员信息",
|
||||
"headimg":"会员头像",
|
||||
"createTime":"产生时间",
|
||||
"startDate":"开始时间",
|
||||
"endDate":"结束时间",
|
||||
"searchMember":"昵称/手机号",
|
||||
"searchMemberPlaceholder":"请输入会员昵称/手机号码",
|
||||
"memberIdPlaceholder":"请输入会员id",
|
||||
"accountTypePlaceholder":"请输入账户类型",
|
||||
"accountDataPlaceholder":"请输入账户数据",
|
||||
"fromTypePlaceholder":"请输入来源类型",
|
||||
"relatedIdPlaceholder":"请输入关联Id",
|
||||
"createTimePlaceholder":"请输入创建时间",
|
||||
"memoPlaceholder":"请输入备注信息",
|
||||
"addMemberAccountLog":"添加会员账单表",
|
||||
"updateMemberAccountLog":"编辑会员账单表",
|
||||
"member_account_logDeleteTips":"确定要删除该会员账单表吗?"
|
||||
}
|
||||
@ -1,12 +1,16 @@
|
||||
{
|
||||
"accountData":"积分数量",
|
||||
"pointGet":"累计发放积分",
|
||||
"pointUse":"累计使用积分",
|
||||
"accountData":"变动积分",
|
||||
"accountSum":"剩余积分",
|
||||
"fromType":"来源/用途",
|
||||
"memberId":"会员编号",
|
||||
"pointInfo":"积分变动详情",
|
||||
"memo":"备注",
|
||||
"mobile":"手机号码",
|
||||
"nickName":"会员信息",
|
||||
"headimg":"会员头像",
|
||||
"createTime":"产生时间",
|
||||
"createTime":"发生时间",
|
||||
"startDate":"开始时间",
|
||||
"endDate":"结束时间",
|
||||
"searchMember":"昵称/手机号",
|
||||
@ -20,5 +24,7 @@
|
||||
"memoPlaceholder":"请输入备注信息",
|
||||
"addMemberAccountLog":"添加会员账单表",
|
||||
"updateMemberAccountLog":"编辑会员账单表",
|
||||
"member_account_logDeleteTips":"确定要删除该会员账单表吗?"
|
||||
"member_account_logDeleteTips":"确定要删除该会员账单表吗?",
|
||||
"memberInfo":"会员信息",
|
||||
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号"
|
||||
}
|
||||
@ -1,7 +1,8 @@
|
||||
{
|
||||
"isCaptcha": "是否启用验证码",
|
||||
"bgImg": "背景图片",
|
||||
"bgImg": "登录页广告图",
|
||||
"admin": "平台端",
|
||||
"isBgImgTip": "建议上传尺寸为450*400px",
|
||||
"site": "站点端"
|
||||
"adminBgImgTip": "建议上传尺寸为450*400px",
|
||||
"site": "站点端",
|
||||
"siteBgImgTip": "建议上传尺寸为450*400px"
|
||||
}
|
||||
@ -1,11 +1,15 @@
|
||||
{
|
||||
"logonMode": "普通注册方式",
|
||||
"isUsername": "账号密码登录",
|
||||
"isMobile": "手机验证码登录",
|
||||
"isAuthRegister": "第三方自动注册",
|
||||
"isBindMobile": "强制绑定手机",
|
||||
"isUsernameTip": "开启之后可以使用账号+密码进行注册和登录",
|
||||
"isMobileTip": "开启之后可以使用手机+验证码进行注册和登录",
|
||||
"isAuthRegisterTip": "开启之后,微信公众号、小程序等等第三方平台可以自动注册会员。方便会员自动登录",
|
||||
"isBindMobileTip": "开启之后,会员通过账号或者第三方注册账户会强制绑定手机号,方便商家进行管理,同时方便会员在不同端口统一账号"
|
||||
"logonMode": "普通注册方式",
|
||||
"isUsername": "账号密码登录",
|
||||
"isMobile": "手机验证码登录",
|
||||
"isAuthRegister": "第三方自动注册",
|
||||
"isBindMobile": "强制绑定手机",
|
||||
"isUsernameTip": "开启之后可以使用账号+密码进行注册和登录",
|
||||
"isMobileTip": "开启之后可以使用手机+验证码进行注册和登录",
|
||||
"isAuthRegisterTip": "开启之后,微信公众号、小程序等等第三方平台可以自动注册会员。方便会员自动登录",
|
||||
"isBindMobileTip": "开启之后,会员通过账号或者第三方注册账户会强制绑定手机号,方便商家进行管理,同时方便会员在不同端口统一账号",
|
||||
"agreement": "政策协议",
|
||||
"agreementTips": "注册时服务协议和隐私协议是否进行展示",
|
||||
"commonSetting": "通用设置",
|
||||
"tripartiteSetting": "第三方设置"
|
||||
}
|
||||
11
admin/src/lang/zh-cn/setting.member.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"memberNoRule": "会员编号生成规则",
|
||||
"prefix": "编码前缀",
|
||||
"prefixPlaceholder": "请输入编码前缀",
|
||||
"prefixHint":"编码前缀只能为英文字母",
|
||||
"lengthHint":"编码长度包含前缀,去除前缀最少不能低于4位,最多不能超过30位",
|
||||
"prefixTips": "编码格式如:",
|
||||
"length": "编码长度",
|
||||
"lengthPlaceholder": "请输入编码长度",
|
||||
"lengthTips": "编码长度包含前缀,去除前缀最少不能低于4位,最多不能超过30位"
|
||||
}
|
||||
@ -16,6 +16,7 @@
|
||||
"content": "模板内容",
|
||||
"weappTempKey" : "模板编号",
|
||||
"smsId":"短信模版ID",
|
||||
"smsIdPlaceholder":"短信模版ID"
|
||||
"smsIdPlaceholder":"短信模版ID",
|
||||
"noticeType":"消息类型"
|
||||
|
||||
}
|
||||
19
admin/src/lang/zh-cn/setting.oplatform.json
Normal file
@ -0,0 +1,19 @@
|
||||
{
|
||||
"oplatformSetting": "开放平台设置",
|
||||
"appidPlaceholder": "微信第三方平台AppId",
|
||||
"appsecretPlaceholder": "微信第三方平台AppSecret",
|
||||
"oplatformComm": "开放平台通信",
|
||||
"empowerStartDomain": "授权发起页域名",
|
||||
"empowerReceiveUrl": "授权事件接收URL",
|
||||
"messageValidationToken": "消息校验Token",
|
||||
"messageDecryptKey": "消息加解密Key",
|
||||
"messageReceiveUrl": "消息与事件接收URL",
|
||||
"wechatDomain": "公众号开发域名",
|
||||
"weappDomain": "小程序服务器域名",
|
||||
"weappBusinessDomain": "小程序业务域名",
|
||||
"oplatformBuilder": "开发者设置",
|
||||
"builderEmail": "开发者邮箱",
|
||||
"builderMobile": "开发者手机号",
|
||||
"builderQQ": "开发者QQ",
|
||||
"builderWx": "开发者微信"
|
||||
}
|
||||
@ -46,7 +46,7 @@
|
||||
"enablePaymentMode": "请先开启该支付方式",
|
||||
"clickConfigure": "点击配置",
|
||||
"setConfig": "设置支付配置",
|
||||
"open": "开启",
|
||||
"open": "已开启",
|
||||
"notOpen": "未开启",
|
||||
"cancel": "取消"
|
||||
|
||||
|
||||
@ -1,25 +1,34 @@
|
||||
{
|
||||
"websiteInfo":"网站设置",
|
||||
"contactAddress":"联系地址",
|
||||
"siteName": "站点名称",
|
||||
"keywords": "网站关键字",
|
||||
"logo": "网站Logo",
|
||||
"desc": "网站简介",
|
||||
"province": "省",
|
||||
"city": "市",
|
||||
"district": "区/县",
|
||||
"selectAddress": "请选择地址",
|
||||
"address": "详细地址",
|
||||
"phone": "客服电话",
|
||||
"businessHours": "营业时间",
|
||||
"contactAddressPlaceholder":"联系地址",
|
||||
"siteNamePlaceholder": "站点名称",
|
||||
"keywordsPlaceholder": "网站关键字",
|
||||
"logoPlaceholder": "网站Logo",
|
||||
"descPlaceholder": "网站简介",
|
||||
|
||||
"addressPlaceholder": "详细地址",
|
||||
"phonePlaceholder": "客服电话",
|
||||
"businessHoursPlaceholder": "营业时间",
|
||||
"businessHoursTips": "例:上午9:00-12:00,下午2:00-6:00"
|
||||
"websiteInfo":"后台设置",
|
||||
"contactAddress":"联系地址",
|
||||
"siteName": "站点名称",
|
||||
"keywords": "网站关键字",
|
||||
"logo": "网站Logo",
|
||||
"desc": "网站简介",
|
||||
"province": "省",
|
||||
"city": "市",
|
||||
"district": "区/县",
|
||||
"selectAddress": "请选择地址",
|
||||
"address": "详细地址",
|
||||
"phone": "客服电话",
|
||||
"businessHours": "营业时间",
|
||||
"contactAddressPlaceholder":"联系地址",
|
||||
"siteNamePlaceholder": "站点名称",
|
||||
"keywordsPlaceholder": "网站关键字",
|
||||
"logoPlaceholder": "网站Logo",
|
||||
"descPlaceholder": "网站简介",
|
||||
"addressPlaceholder": "详细地址",
|
||||
"phonePlaceholder": "客服电话",
|
||||
"businessHoursPlaceholder": "营业时间",
|
||||
"businessHoursTips": "例:上午9:00-12:00,下午2:00-6:00",
|
||||
"frontEndInfo": "前台设置",
|
||||
"frontEndName": "前台名称",
|
||||
"frontEndNamePlaceholder": "请输入前台名称",
|
||||
"frontEndLogo": "前台Logo",
|
||||
"icon": "网站图标",
|
||||
"serviceInformation": "服务信息",
|
||||
"wechatCode": "公众号二维码",
|
||||
"customerServiceCode": "客服二维码",
|
||||
"contactsTel": "联系电话",
|
||||
"contactsTelPlaceholder": "请输入联系电话"
|
||||
}
|
||||
@ -16,5 +16,6 @@
|
||||
"checkStrictly": "父子级不关联",
|
||||
"remark": "套餐说明",
|
||||
"reset": "重置",
|
||||
"search": "搜索"
|
||||
"search": "搜索",
|
||||
"foldText":"展开/折叠"
|
||||
}
|
||||
@ -25,6 +25,17 @@
|
||||
"userRealNamePlaceholder": "请输入名称",
|
||||
"expireTimePlaceholder":"请选择到期时间",
|
||||
"confirmPasswordError": "两次输入的密码不一致",
|
||||
"operationTip": "温馨提示:站点登录页面"
|
||||
|
||||
}
|
||||
"operationTip": "温馨提示:站点登录页面",
|
||||
"siteId": "站点ID",
|
||||
"siteInfo": "站点信息",
|
||||
"siteInlet": "站点入口",
|
||||
"enterSite": "访问站点",
|
||||
"siteList": "站点列表",
|
||||
"openClose": "开启/停止",
|
||||
"closeTxt":"停止",
|
||||
"openTxt":"开启",
|
||||
"siteUrlDevelopMessage": "站点域名功能正在开发中",
|
||||
"url": "域名",
|
||||
"startDate":"开始时间",
|
||||
"endDate":"开始时间"
|
||||
}
|
||||
@ -14,6 +14,8 @@
|
||||
"userRoleName": "角色",
|
||||
"isAdmin":"超级管理员",
|
||||
"siteName":"站点名称",
|
||||
"siteId": "站点ID",
|
||||
"enterSite": "访问站点",
|
||||
"userRolePlaceholder": "请选择角色",
|
||||
"siteNamePlaceholder":"请输入站点名称"
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
{
|
||||
"todayData": "今日数据",
|
||||
"memberNumb": "新增会员数",
|
||||
"orderMoney": "订单金额",
|
||||
"todayData": "实时概况",
|
||||
"memberNumb": "新增会员数(人)",
|
||||
"orderMoney": "订单金额(元)",
|
||||
"numberOfSites": "站点数量",
|
||||
"numberOfVisitors": "今日访客数",
|
||||
"numberOfVisitors": "今日访客数(人)",
|
||||
"commonlyUsedFunction": "常用功能",
|
||||
"articleList": "文章列表",
|
||||
"memberManagement": "会员管理",
|
||||
@ -22,11 +22,23 @@
|
||||
"channel": "获取渠道",
|
||||
"serviceSupport": "服务支持",
|
||||
"officialWbsite": "官网",
|
||||
"pageView": "访问量",
|
||||
"pageView": "访客数(人)",
|
||||
"siteInfo":"站点信息",
|
||||
"siteName":"站点名称",
|
||||
"groupName":"站点套餐",
|
||||
"expireTime":"过期时间",
|
||||
"permanent":"永久",
|
||||
"statusName":"站点状态"
|
||||
"statusName":"站点状态",
|
||||
"orderNumber": "订单数(笔)",
|
||||
"wechatCode": "公众号二维码",
|
||||
"wechatCodeDesc": "微信扫码关注",
|
||||
"enterpriseWechatCode": "客服二维码",
|
||||
"enterpriseWechatCodeDesc": "扫码联系客服",
|
||||
"tel": "服务热线:",
|
||||
"message": "请联系客服",
|
||||
"messageTitle": "提示",
|
||||
"accumulative":"累计",
|
||||
"officialAccount": "Niucloud官方公众号",
|
||||
"officialAccountDesc": "微信扫码关注",
|
||||
"WeCom": "添加企业微信群"
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
{
|
||||
"noPlug":"暂无插件",
|
||||
"install":"安装",
|
||||
"unload":"卸载",
|
||||
"installLabel":"已安装",
|
||||
"uninstalledLabel":"未安装",
|
||||
"version":"版本",
|
||||
"title":"名称",
|
||||
"desc":"描述",
|
||||
"plugDetail": "插件信息",
|
||||
"author": "作者"
|
||||
}
|
||||
@ -1,15 +1,16 @@
|
||||
{
|
||||
"title": "名称",
|
||||
"serverInformation": "服务器信息",
|
||||
"systemDemand": "系统环境要求",
|
||||
"authorityStatus": "权限状态",
|
||||
"name": "选项",
|
||||
"demand": "要求",
|
||||
"status": "状态",
|
||||
"environment": "环境",
|
||||
"version": "版本",
|
||||
"phpType": "PHP版本",
|
||||
"phpTypeValue": "大于等于8.0.0",
|
||||
"mysqlType": "mysql版本",
|
||||
"mysqlTypeValue": "大于等于5.7"
|
||||
"title": "名称",
|
||||
"serverInformation": "服务器信息",
|
||||
"systemDemand": "系统环境要求",
|
||||
"authorityStatus": "权限状态",
|
||||
"name": "选项",
|
||||
"demand": "要求",
|
||||
"status": "状态",
|
||||
"environment": "环境",
|
||||
"version": "版本",
|
||||
"phpType": "PHP版本",
|
||||
"phpTypeValue": "大于等于8.0.0",
|
||||
"mysqlType": "mysql版本",
|
||||
"mysqlTypeValue": "大于等于5.7",
|
||||
"process": "启动进程"
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-container class="w-screen h-screen">
|
||||
<el-container class="w-screen h-screen min-w-[1200px]">
|
||||
<router-view></router-view>
|
||||
</el-container>
|
||||
</template>
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
<template>
|
||||
<el-aside class="h-screen layout-aside w-auto">
|
||||
<el-aside :class="['h-screen layout-aside w-auto',{'bright': !dark}]">
|
||||
<side class="hidden-xs-only" />
|
||||
</el-aside>
|
||||
|
||||
<el-drawer v-model="systemStore.menuDrawer" direction="ltr" :with-header="false" custom-class="aside-drawer"
|
||||
size="210px">
|
||||
<el-drawer v-model="systemStore.menuDrawer" direction="ltr" :with-header="false" custom-class="aside-drawer" size="210px">
|
||||
<template #default>
|
||||
<side />
|
||||
</template>
|
||||
@ -12,15 +11,17 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { watch } from 'vue'
|
||||
import { watch,computed } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import side from './side.vue'
|
||||
import useSystemStore from '@/stores/modules/system'
|
||||
|
||||
const systemStore = useSystemStore()
|
||||
const dark = computed(()=>{
|
||||
return systemStore.dark
|
||||
})
|
||||
|
||||
const route = useRoute()
|
||||
|
||||
watch(route, () => {
|
||||
systemStore.$patch(state => {
|
||||
state.menuDrawer = false
|
||||
@ -33,6 +34,26 @@ watch(route, () => {
|
||||
background-color: var(--side-dark-color, var(--el-bg-color));
|
||||
border-right: 1px solid var(--el-border-color-lighter);
|
||||
z-index: 101;
|
||||
&.bright{
|
||||
background-color: #F5F7F9;
|
||||
li{
|
||||
background-color: #F5F7F9;
|
||||
&.is-active:not(.is-opened){
|
||||
position: relative;
|
||||
color: #333;
|
||||
background-color: #fff;
|
||||
&::after{
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 2px;
|
||||
background-color: var(--el-menu-active-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.aside-drawer {
|
||||
|
||||
@ -2,22 +2,32 @@
|
||||
<template v-if="meta.show">
|
||||
<el-sub-menu v-if="routes.children" :index="String(routes.name)">
|
||||
<template #title>
|
||||
<icon v-if="meta.icon" :name="meta.icon" class="mr-[6px] w-auto" />
|
||||
<span>{{ meta.title }}</span>
|
||||
<div v-if="meta.icon && routes.meta.class == 1" class="w-[16px] h-[16px] relative flex items-center">
|
||||
<icon v-if="meta.icon" :name="meta.icon" class="absolute !w-auto" />
|
||||
</div>
|
||||
<span :class="['ml-[10px]', {'text-[15px]': routes.meta.class == 1}, {'text-[14px]': routes.meta.class != 1}]">{{ meta.title }}</span>
|
||||
</template>
|
||||
<menu-item v-for="(route, index) in routes.children" :routes="route" :route-path="resolvePath(route.path)"
|
||||
:key="index" />
|
||||
</el-sub-menu>
|
||||
<el-menu-item v-else :index="String(routes.name)" :route="routePath">
|
||||
<icon v-if="meta.icon" :name="meta.icon" class="mr-[6px] w-auto" />
|
||||
<el-menu-item v-else-if="routes.meta.class == 1" :index="String(routes.name)" :route="routePath">
|
||||
<div v-if="meta.icon" class="w-[16px] h-[16px] relative flex justify-center">
|
||||
<icon :name="meta.icon" class="absolute top-[50%] -translate-y-[50%]" />
|
||||
</div>
|
||||
<template #title>
|
||||
<span>{{ meta.title }}</span>
|
||||
<span :class="['ml-[10px]', {'text-[15px]': routes.meta.class == 1}, {'text-[14px]': routes.meta.class != 1}]">{{ meta.title }}</span>
|
||||
</template>
|
||||
</el-menu-item>
|
||||
<el-menu-item v-else :index="String(routes.name)" :route="routePath">
|
||||
<template #title>
|
||||
<span :class="[{'text-[15px]': routes.meta.class == 1}, {'text-[14px]': routes.meta.class != 1}, {'ml-[10px]': routes.meta.class == 2, 'ml-[15px]': routes.meta.class == 3}]">{{ meta.title }}</span>
|
||||
</template>
|
||||
</el-menu-item>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { CollectionTag } from '@element-plus/icons-vue'
|
||||
import { computed } from 'vue'
|
||||
import menuItem from './menu-item.vue'
|
||||
|
||||
@ -38,8 +48,16 @@ const resolvePath = (path: string) => {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.w-auto {
|
||||
width: auto !important;
|
||||
<style lang="scss">
|
||||
.el-sub-menu{
|
||||
.el-icon{
|
||||
width: auto;
|
||||
}
|
||||
li{
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
.el-alert .el-alert__description{
|
||||
margin-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -14,8 +14,7 @@
|
||||
<el-scrollbar>
|
||||
<el-menu :default-active="menuActive" :router="true" class="aside-menu h-full" unique-opened="true"
|
||||
:collapse="systemStore.menuIsCollapse">
|
||||
<menu-item v-for="(route, index) in userStore.routers" :routes="route" :route-path="route.path"
|
||||
:key="index" />
|
||||
<menu-item v-for="(route, index) in userStore.routers" :routes="route" :route-path="route.path" :key="index" />
|
||||
</el-menu>
|
||||
</el-scrollbar>
|
||||
</el-main>
|
||||
@ -38,9 +37,23 @@ const route = useRoute()
|
||||
const siteInfo = storage.get('siteInfo') || false
|
||||
|
||||
const menuActive = computed(() => String(route.name))
|
||||
|
||||
userStore.routers.forEach((item,index) => {
|
||||
item.meta.class = 1;
|
||||
if(item.children){
|
||||
item.children.forEach((subItem,subIndex) => {
|
||||
subItem.meta.class = 2;
|
||||
if(subItem.children){
|
||||
subItem.children.forEach((threeItem,threeIndex) => {
|
||||
threeItem.meta.class = 3;
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
<style lang="scss">
|
||||
.aside-menu:not(.el-menu--collapse) {
|
||||
width: var(--aside-width);
|
||||
}
|
||||
@ -66,15 +79,15 @@ const menuActive = computed(() => String(route.name))
|
||||
}
|
||||
|
||||
.menu-wrap {
|
||||
flex: 1;
|
||||
height: 0;
|
||||
padding: 0;
|
||||
flex: 1 !important;
|
||||
height: 0 !important;
|
||||
padding: 0 !important;
|
||||
|
||||
:deep(.el-menu) {
|
||||
.el-menu {
|
||||
border-right: 0 !important;
|
||||
}
|
||||
}
|
||||
::v-deep.sidebar-dark-mode{
|
||||
.sidebar-dark-mode{
|
||||
background-color: #191a23;
|
||||
& > .logo-wrap{
|
||||
.logo>i{
|
||||
@ -84,23 +97,29 @@ const menuActive = computed(() => String(route.name))
|
||||
}
|
||||
.el-menu{
|
||||
background-color: #191a23;
|
||||
ul.el-menu--inline{
|
||||
background-color: #101117;
|
||||
.el-sub-menu{
|
||||
background: transparent !important;
|
||||
}
|
||||
.el-sub-menu__title, .el-menu-item{
|
||||
background: transparent !important;
|
||||
color: #B7B7ba;
|
||||
&:hover{
|
||||
background-color: transparent;
|
||||
color: #fff;
|
||||
background-color: transparent !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
}
|
||||
.el-menu-item.is-active{
|
||||
color: #fff;
|
||||
background-color: var(--el-color-primary);
|
||||
color: #fff !important;
|
||||
background-color: var(--el-color-primary) !important;
|
||||
}
|
||||
li::after{
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
::v-deep.sidebar-brightness-mode{
|
||||
.sidebar-brightness-mode{
|
||||
& > .logo-wrap{
|
||||
.logo>i{
|
||||
font-size: 20px;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-container class="layout-header h-full border-b border-color px-[10px]">
|
||||
<el-container :class="['h-full px-[10px]',{'layout-header border-b border-color': !dark}]" >
|
||||
<el-row class="w-100 h-full w-full">
|
||||
<el-col :span="12">
|
||||
<div class="left-panel h-full flex items-center">
|
||||
@ -33,8 +33,7 @@
|
||||
<el-col :span="12">
|
||||
<div class="right-panel h-full flex items-center justify-end">
|
||||
<!-- 预览 只有站点时展示-->
|
||||
<img class="w-[16px] h-[16px] mr-1" v-if="appType == 'site'" src="@/assets/images/icon_preview.png"
|
||||
:alt="t('preview')" :title="t('preview')">
|
||||
<i class="iconfont iconlingdang-xianxing cursor-pointer px-[8px]" :title="t('newInfo')" v-if="appType == 'site'"></i>
|
||||
<!-- 切换语言 -->
|
||||
<div class="navbar-item flex items-center h-full cursor-pointer">
|
||||
<switch-lang />
|
||||
@ -90,6 +89,10 @@ const appStore = useAppStore()
|
||||
const route = useRoute()
|
||||
const screenWidth = ref(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth)
|
||||
|
||||
const dark = computed(()=>{
|
||||
return systemStore.dark
|
||||
})
|
||||
|
||||
// 检测登录 start
|
||||
const detectionLoginDialog = ref(false)
|
||||
const comparisonToken = ref('')
|
||||
@ -164,6 +167,11 @@ const backFn = () => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.layout-header{
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
box-shadow: 0px 0px 4px 0px rgba(0,145,255,0.1);
|
||||
}
|
||||
.navbar-item {
|
||||
padding: 0 8px;
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="common-layout">
|
||||
<div class="common-layout min-w-[1200px]" >
|
||||
<el-container class="w-100 h-screen">
|
||||
<layout-aside></layout-aside>
|
||||
|
||||
@ -8,9 +8,9 @@
|
||||
<layout-header></layout-header>
|
||||
</el-header>
|
||||
|
||||
<el-main class="main-wrap h-full bg-page p-0">
|
||||
<el-main :class="['main-wrap h-full p-0',{'bg-page': dark}]">
|
||||
<el-scrollbar>
|
||||
<div class="p-[16px]">
|
||||
<div class="p-[10px]">
|
||||
<router-view v-slot="{ Component, route }" v-if="appStore.routeRefrehTag">
|
||||
<keep-alive :include="tabbarStore.tabNames">
|
||||
<component :is="Component" :key="route.fullPath" />
|
||||
@ -26,13 +26,19 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { computed } from 'vue'
|
||||
import layoutHeader from './components/header/index.vue'
|
||||
import layoutAside from './components/aside/index.vue'
|
||||
import useAppStore from '@/stores/modules/app'
|
||||
import useTabbarStore from '@/stores/modules/tabbar'
|
||||
import useSystemStore from '@/stores/modules/system'
|
||||
|
||||
const appStore = useAppStore()
|
||||
const tabbarStore = useTabbarStore()
|
||||
const systemStore = useSystemStore()
|
||||
const dark = computed(()=>{
|
||||
return systemStore.dark
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
|
||||
@ -10,7 +10,7 @@ import storage from '@/utils/storage'
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
routes: [...STATIC_ROUTES, ADMIN_ROUTE, SITE_ROUTE]
|
||||
routes: [ADMIN_ROUTE, SITE_ROUTE, ...STATIC_ROUTES]
|
||||
})
|
||||
|
||||
/**
|
||||
@ -33,14 +33,23 @@ router.beforeEach(async (to, from, next) => {
|
||||
|
||||
const userStore = useUserStore()
|
||||
const siteInfo = storage.get('siteInfo') || false
|
||||
let title = (to.meta?.title || '') + (siteInfo.site_name ? ('-' + siteInfo.site_name) : '')
|
||||
let title = (to.meta.title ? (to.meta.title + ' - ') : '') + (siteInfo.site_name ? siteInfo.site_name : '')
|
||||
|
||||
// 设置网站标题
|
||||
setWindowTitle(title)
|
||||
|
||||
// 加载语言包
|
||||
await language.loadLocaleMessages(to.path, useSystemStore().lang);
|
||||
|
||||
const loginPath = to.path == '/' ? '/admin/login' : `${to.matched[0].path}/login`
|
||||
let matched: any = to.matched;
|
||||
|
||||
if (matched && matched.length && matched[0].path != '/:pathMatch(.*)*') {
|
||||
matched = matched[0].path;
|
||||
} else {
|
||||
matched = 'site';
|
||||
}
|
||||
|
||||
const loginPath = to.path == '/' ? '/admin/login' : `${matched}/login`
|
||||
|
||||
// 判断是否需登录
|
||||
if (NO_LOGIN_ROUTES.includes(to.path)) {
|
||||
|
||||
@ -4,40 +4,91 @@ import {toRaw, watch} from 'vue'
|
||||
import {ElMessage, ElMessageBox} from 'element-plus'
|
||||
import {cloneDeep, range, isEmpty} from 'lodash-es'
|
||||
|
||||
interface Diy {
|
||||
// 全局属性
|
||||
id: number
|
||||
load: boolean,
|
||||
currentIndex: number,
|
||||
currentComponent: string, // 当前正在编辑的组件
|
||||
name: string, // 页面标识
|
||||
type: string, // 页面类型
|
||||
typeName: string, // 页面类型名称
|
||||
components: any[], // 组件集合
|
||||
global: {
|
||||
title: string,
|
||||
pageBgColor: string, // 页面背景颜色
|
||||
tabbarSwitch: boolean, // 底部导航开关
|
||||
},
|
||||
// 组件集合
|
||||
value: any[]
|
||||
}
|
||||
|
||||
const useDiyStore = defineStore('diy', {
|
||||
state: (): Diy => {
|
||||
state: () => {
|
||||
return {
|
||||
id: 0,
|
||||
load: false, // 加载状态
|
||||
currentIndex: -99,
|
||||
currentComponent: 'edit-page',
|
||||
name: '',
|
||||
type: '',
|
||||
typeName: '',
|
||||
components: [],
|
||||
currentIndex: -99, // 当前正在编辑的组件下标
|
||||
currentComponent: 'edit-page', // 当前正在编辑的组件名称
|
||||
editTab: 'content',// 编辑页面
|
||||
name: '', // 页面标识
|
||||
type: '', // 页面模板
|
||||
typeName: '', // 页面模板名称
|
||||
isDefault: 0, // 是否默认页面
|
||||
predefineColors: [
|
||||
'#F4391c',
|
||||
'#ff4500',
|
||||
'#ff8c00',
|
||||
'#FFD009',
|
||||
'#ffd700',
|
||||
'#19C650',
|
||||
'#90ee90',
|
||||
'#00ced1',
|
||||
'#1e90ff',
|
||||
'#c71585',
|
||||
'#FF407E',
|
||||
'#CFAF70',
|
||||
'#A253FF',
|
||||
'rgba(255, 69, 0, 0.68)',
|
||||
'rgb(255, 120, 0)',
|
||||
'hsl(181, 100%, 37%)',
|
||||
'hsla(209, 100%, 56%, 0.73)',
|
||||
'#c7158577'
|
||||
],
|
||||
components: [], // 组件集合
|
||||
global: {
|
||||
title: "页面",
|
||||
title: "页面", // 页面标题
|
||||
|
||||
pageBgColor: "", // 页面背景颜色
|
||||
tabbarSwitch: true
|
||||
bgUrl: '', // 页面背景图片
|
||||
imgWidth: '', // 页面背景图片宽度
|
||||
imgHeight: '', // 页面背景图片高度
|
||||
|
||||
// 顶部状态栏
|
||||
topStatusBar: {
|
||||
bgColor: "#ffffff", // 背景颜色
|
||||
isTransparent: false, // 是否透明
|
||||
isShow: true, // 是否显示
|
||||
style: 'style-1', // 风格样式
|
||||
textColor: "#333333", // 文字颜色
|
||||
textAlign: 'center', // 文字对齐方式
|
||||
},
|
||||
|
||||
bottomTabBarSwitch: true, // 底部导航开关
|
||||
|
||||
// 弹框 count:不弹出 -1,首次弹出 1,每次弹出 0
|
||||
popWindow: {
|
||||
imgUrl: "",
|
||||
imgWidth: '',
|
||||
imgHeight: '',
|
||||
count: -1,
|
||||
show: 0,
|
||||
link: {
|
||||
name: ""
|
||||
},
|
||||
},
|
||||
|
||||
// 公共模板属性,所有组件都继承,无需重复定义,组件内部根据业务自行调用
|
||||
template: {
|
||||
textColor: "#303133", // 文字颜色
|
||||
pageBgColor: '', // 底部背景颜色
|
||||
|
||||
componentBgColor: '', // 组件背景颜色
|
||||
topRounded: 0, // 组件上圆角
|
||||
bottomRounded: 0, // 组件下圆角
|
||||
|
||||
elementBgColor: '', // 元素背景颜色
|
||||
topElementRounded: 0, // 元素上圆角
|
||||
bottomElementRounded: 0, // 元素下圆角
|
||||
|
||||
margin: {
|
||||
top: 0, // 上边距
|
||||
bottom: 0, // 下边距
|
||||
both: 0, // 左右边距
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
// 组件集合
|
||||
value: []
|
||||
@ -45,10 +96,71 @@ const useDiyStore = defineStore('diy', {
|
||||
},
|
||||
getters: {
|
||||
editComponent: (state) => {
|
||||
return state.value[state.currentIndex];
|
||||
if (state.currentIndex == -99) {
|
||||
return state.global;
|
||||
} else {
|
||||
return state.value[state.currentIndex];
|
||||
}
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
// 初始化数据
|
||||
init() {
|
||||
this.global = {
|
||||
title: "页面", // 页面标题
|
||||
|
||||
pageBgColor: "", // 页面背景颜色
|
||||
bgUrl: '', // 页面背景图片
|
||||
imgWidth: '', // 页面背景图片宽度
|
||||
imgHeight: '', // 页面背景图片高度
|
||||
|
||||
// 顶部状态栏
|
||||
topStatusBar: {
|
||||
bgColor: "#ffffff", // 背景颜色
|
||||
isTransparent: false, // 是否透明
|
||||
isShow: true, // 是否显示
|
||||
style: 'style-1', // 风格样式
|
||||
textColor: "#333333", // 文字颜色
|
||||
textAlign: 'center', // 文字对齐方式
|
||||
},
|
||||
|
||||
bottomTabBarSwitch: true, // 底部导航开关
|
||||
|
||||
// 弹框 count:不弹出 -1,首次弹出 1,每次弹出 0
|
||||
popWindow: {
|
||||
imgUrl: "",
|
||||
imgWidth: '',
|
||||
imgHeight: '',
|
||||
count: -1,
|
||||
show: 0,
|
||||
link: {
|
||||
name: ""
|
||||
},
|
||||
},
|
||||
|
||||
// 公共模板属性,所有组件都继承,无需重复定义,组件内部根据业务自行调用
|
||||
template: {
|
||||
textColor: "#303133", // 文字颜色
|
||||
pageBgColor: '', // 底部背景颜色
|
||||
|
||||
componentBgColor: '', // 组件背景颜色
|
||||
topRounded: 0, // 组件上圆角
|
||||
bottomRounded: 0, // 组件下圆角
|
||||
|
||||
elementBgColor: '', // 元素背景颜色
|
||||
topElementRounded: 0, // 元素上圆角
|
||||
bottomElementRounded: 0, // 元素下圆角
|
||||
|
||||
margin: {
|
||||
top: 0, // 上边距
|
||||
bottom: 0, // 下边距
|
||||
both: 0, // 左右边距
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
this.value = [];
|
||||
},
|
||||
// 添加组件
|
||||
addComponent(key: string, data: any) {
|
||||
// 加载完才能添加组件
|
||||
@ -60,14 +172,17 @@ const useDiyStore = defineStore('diy', {
|
||||
component.id = this.generateRandom();
|
||||
component.componentName = key;
|
||||
component.componentTitle = component.title;
|
||||
component.maxCount = component.max_count;
|
||||
component.ignore = []; // 忽略公共属性
|
||||
|
||||
Object.assign(component, component.value);
|
||||
delete component.title;
|
||||
delete component.value;
|
||||
delete component.type;
|
||||
delete component.icon;
|
||||
delete component.max_count;
|
||||
|
||||
// 继承全局属性
|
||||
let template = cloneDeep(this.global.template);
|
||||
Object.assign(component, template);
|
||||
|
||||
if (!this.checkComponentIsAdd(component)) return;
|
||||
|
||||
@ -180,7 +295,7 @@ const useDiyStore = defineStore('diy', {
|
||||
if (!this.checkComponentIsAdd(component)) {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: `${t('notCopy')},${component.componentTitle}${t('componentCanOnlyAdd')}${component.maxCount}${t('piece')}`,
|
||||
message: `${t('notCopy')},${component.componentTitle}${t('componentCanOnlyAdd')}${component.uses}${t('piece')}`,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -194,15 +309,15 @@ const useDiyStore = defineStore('diy', {
|
||||
// 检测组件是否允许添加,true:允许 false:不允许
|
||||
checkComponentIsAdd(component: any) {
|
||||
|
||||
//maxCount为0时不处理
|
||||
if (component.maxCount === 0) return true;
|
||||
//为0时不处理
|
||||
if (component.uses === 0) return true;
|
||||
|
||||
var count = 0;
|
||||
|
||||
//遍历已添加的自定义组件,检测是否超出数量
|
||||
for (var i in this.value) if (this.value[i].componentName === component.componentName) count++;
|
||||
|
||||
if (count >= component.maxCount) return false;
|
||||
if (count >= component.uses) return false;
|
||||
else return true;
|
||||
},
|
||||
// 重置当前组件数据
|
||||
|
||||
@ -1,21 +1,12 @@
|
||||
:root {
|
||||
--aside-width: 210px;
|
||||
--el-mask-color: rgba(255,255,255,1)
|
||||
--el-mask-color: rgba(255,255,255,1);
|
||||
}
|
||||
|
||||
.border-color {
|
||||
border-color: var(--el-border-color-lighter);
|
||||
}
|
||||
|
||||
.table-search-wrap {
|
||||
background: #f5f7fa !important;
|
||||
border-radius: 0!important;
|
||||
|
||||
.el-form {
|
||||
margin-bottom: -18px;
|
||||
}
|
||||
}
|
||||
|
||||
.el-form {
|
||||
.form-tip {
|
||||
width: 100%;
|
||||
@ -96,4 +87,80 @@ html.dark {
|
||||
textarea:-webkit-autofill,
|
||||
select:-webkit-autofill {
|
||||
box-shadow: 0 0 50px 50px white inset;
|
||||
}
|
||||
|
||||
// 表格
|
||||
.el-pager li.is-active{
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
// 筛选框
|
||||
.table-search-wrap {
|
||||
.el-card__body{
|
||||
padding: 10px 0;
|
||||
}
|
||||
.el-form {
|
||||
margin-bottom: -18px;
|
||||
}
|
||||
}
|
||||
|
||||
// 背景颜色
|
||||
.base-bg{
|
||||
background-color: transparent !important;
|
||||
// background-color: #F5F7F9 !important; 原来的颜色
|
||||
}
|
||||
|
||||
// 数据展示面板
|
||||
.el-statistic {
|
||||
--el-statistic-content-font-size: 28px !important;
|
||||
}
|
||||
|
||||
.region-input {
|
||||
--region-input-border-color: var(--el-border-color);
|
||||
display: flex;
|
||||
box-shadow: 0 0 0 1px var(--region-input-border-color) inset;
|
||||
border-radius: var(--el-input-border-radius,var(--el-border-radius-base));
|
||||
height: calc(var(--el-input-inner-height) - 2px);
|
||||
line-height: calc(var(--el-input-inner-height) - 2px);
|
||||
transition: var(--el-transition-box-shadow);
|
||||
|
||||
&:hover {
|
||||
--region-input-border-color: var(--el-color-primary);
|
||||
}
|
||||
|
||||
.separator {
|
||||
flex: 1;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
padding: 0 5px;
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
word-break: keep-all;
|
||||
color: var(--el-text-color-primary);
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
input {
|
||||
padding: 0 10px;
|
||||
appearance: none;
|
||||
border: none;
|
||||
outline: 0;
|
||||
display: inline-block;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
font-size: var(--el-font-size-base);
|
||||
color: var(--el-text-color-regular);
|
||||
background-color: transparent;
|
||||
|
||||
&::placeholder {
|
||||
color: var(--el-text-color-placeholder);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5,6 +5,21 @@
|
||||
--el-header-height: 64px !important;
|
||||
}
|
||||
|
||||
.el-table {
|
||||
--el-table-header-bg-color: #F5F7F9!important;
|
||||
--el-table-header-text-color:#333!important;
|
||||
}
|
||||
|
||||
.dark {
|
||||
.el-table {
|
||||
--el-table-header-text-color: var(--el-text-color-secondary)!important;
|
||||
}
|
||||
}
|
||||
|
||||
.el-table thead, .el-table thead th {
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
.el-button {
|
||||
background-color: var(--el-button-bg-color, var(--el-color-white));
|
||||
}
|
||||
@ -13,10 +28,6 @@
|
||||
max-width: calc(100vw - 50px);
|
||||
}
|
||||
|
||||
.el-table {
|
||||
--el-table-header-bg-color: #f5f7fa!important
|
||||
}
|
||||
|
||||
.el-date-editor--daterange, .el-date-editor--timerange, .el-date-editor.el-input, .el-date-editor .el-input__wrapper {
|
||||
--el-date-editor-width: 100%!important;
|
||||
width: 100%;
|
||||
@ -1,8 +1,8 @@
|
||||
@font-face {
|
||||
font-family: "iconfont"; /* Project id 3883393 */
|
||||
src: url('//at.alicdn.com/t/c/font_3883393_4jlgm3tby7.woff2?t=1683947082967') format('woff2'),
|
||||
url('//at.alicdn.com/t/c/font_3883393_4jlgm3tby7.woff?t=1683947082967') format('woff'),
|
||||
url('//at.alicdn.com/t/c/font_3883393_4jlgm3tby7.ttf?t=1683947082967') format('truetype');
|
||||
src: url('//at.alicdn.com/t/c/font_3883393_pok9rb5nvbr.woff2?t=1685440441519') format('woff2'),
|
||||
url('//at.alicdn.com/t/c/font_3883393_pok9rb5nvbr.woff?t=1685440441519') format('woff'),
|
||||
url('//at.alicdn.com/t/c/font_3883393_pok9rb5nvbr.ttf?t=1685440441519') format('truetype');
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
@ -13,6 +13,62 @@
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.iconyingyongshichang1:before {
|
||||
content: "\e61c";
|
||||
}
|
||||
|
||||
.iconyingyongshichang2:before {
|
||||
content: "\e60b";
|
||||
}
|
||||
|
||||
.iconlingdang-xianxing:before {
|
||||
content: "\e8c0";
|
||||
}
|
||||
|
||||
.icondianhua:before {
|
||||
content: "\e8c3";
|
||||
}
|
||||
|
||||
.iconic_manage_assignprop:before {
|
||||
content: "\e60c";
|
||||
}
|
||||
|
||||
.iconchengshi:before {
|
||||
content: "\ec70";
|
||||
}
|
||||
|
||||
.icontaocanliebiao:before {
|
||||
content: "\e6b2";
|
||||
}
|
||||
|
||||
.iconweixin:before {
|
||||
content: "\e647";
|
||||
}
|
||||
|
||||
.iconhuiyuanguanli:before {
|
||||
content: "\e64c";
|
||||
}
|
||||
|
||||
.iconhuangjinhuiyuan0101-copy:before {
|
||||
content: "\e621";
|
||||
}
|
||||
|
||||
.iconhuiyuan1:before {
|
||||
content: "\e644";
|
||||
}
|
||||
|
||||
.iconqianbao:before {
|
||||
content: "\e6ca";
|
||||
}
|
||||
|
||||
.iconic_description_file24px:before {
|
||||
content: "\e61a";
|
||||
}
|
||||
|
||||
.iconzhuangxiu1:before {
|
||||
content: "\e66b";
|
||||
}
|
||||
|
||||
.icontuikuanjilu:before {
|
||||
content: "\e8cf";
|
||||
}
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
@import 'element-plus/theme-chalk/dark/css-vars.css';
|
||||
@import 'element-plus/theme-chalk/display.css';
|
||||
@import 'tailwind.css';
|
||||
@import 'element-plus.css';
|
||||
@import 'element-plus.scss';
|
||||
@import 'iconfont.css';
|
||||
@import 'common.scss';
|
||||
2
admin/src/types/global.d.ts
vendored
@ -13,6 +13,6 @@ declare module '@wangeditor/editor' {
|
||||
}
|
||||
}
|
||||
|
||||
interface AnyObject {
|
||||
declare interface AnyObject {
|
||||
[key: string]: any;
|
||||
}
|
||||
@ -1,18 +1,16 @@
|
||||
import axios, { HttpStatusCode } from 'axios'
|
||||
import type { AxiosInstance, InternalAxiosRequestConfig, AxiosResponse, AxiosRequestConfig } from 'axios'
|
||||
import { getToken } from './common';
|
||||
import { getToken, isUrl } from './common';
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { t } from '@/lang'
|
||||
import useUserStore from '@/stores/modules/user'
|
||||
import storage from '@/utils/storage'
|
||||
|
||||
interface RequestConfig extends AxiosRequestConfig {
|
||||
showErrorMessage?: boolean
|
||||
showSuccessMessage?: boolean
|
||||
}
|
||||
|
||||
interface InternalRequestConfig extends InternalAxiosRequestConfig {
|
||||
showErrorMessage?: boolean
|
||||
showSuccessMessage?: boolean
|
||||
}
|
||||
|
||||
@ -26,7 +24,7 @@ class Request {
|
||||
constructor() {
|
||||
this.instance = axios.create({
|
||||
baseURL: import.meta.env.VITE_APP_BASE_URL,
|
||||
timeout: 5000,
|
||||
timeout: 30000,
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded;',
|
||||
'lang': storage.get('lang') ?? 'zh-cn'
|
||||
@ -54,7 +52,7 @@ class Request {
|
||||
const res = response.data
|
||||
if (res.code != 1) {
|
||||
this.handleAuthError(res.code)
|
||||
if (response.config.showErrorMessage) ElMessage({ message: res.msg, type: 'error' })
|
||||
if (res.code != 401) ElMessage({ message: res.msg, type: 'error' })
|
||||
return Promise.reject(new Error(res.msg || 'Error'))
|
||||
} else {
|
||||
if (response.config.showSuccessMessage) ElMessage({ message: res.msg, type: 'success' })
|
||||
@ -113,7 +111,8 @@ class Request {
|
||||
* @param err
|
||||
*/
|
||||
private handleNetworkError(err: any) {
|
||||
let errMessage = t('axios.unknownError')
|
||||
let errMessage = t('axios.requestError')
|
||||
|
||||
if (err.response && err.response.status) {
|
||||
const errStatus = err.response.status
|
||||
switch (errStatus) {
|
||||
@ -127,7 +126,8 @@ class Request {
|
||||
errMessage = t('axios.403')
|
||||
break
|
||||
case 404:
|
||||
errMessage = t('axios.404')
|
||||
const baseURL = isUrl(err.response.config.baseURL) ? err.response.config.baseURL : location.origin
|
||||
errMessage = baseURL + t('axios.404')
|
||||
break
|
||||
case 405:
|
||||
errMessage = t('axios.405')
|
||||
@ -135,6 +135,9 @@ class Request {
|
||||
case 408:
|
||||
errMessage = t('axios.408')
|
||||
break
|
||||
case 409:
|
||||
errMessage = t('axios.409')
|
||||
break
|
||||
case 500:
|
||||
errMessage = t('axios.500')
|
||||
break
|
||||
|
||||