更新后台
@ -5,7 +5,7 @@ import request from '@/utils/request'
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getAddonLocal(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function installAddon(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function uninstallAddon(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setAliappConfig(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addArticle(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editArticle(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteArticle(id: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addArticleCategory(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editArticleCategory(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteArticleCategory(category_id: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function login(params: Record<string, any>, app_type: string) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addDiyPage(params: Record<string, any>) {
|
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
|
* @param params
|
||||||
*/
|
*/
|
||||||
export function editDiyPage(params: Record<string, any>) {
|
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
|
* @param params
|
||||||
*/
|
*/
|
||||||
export function setUseDiyPage(params: Record<string, any>) {
|
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
|
* @param params
|
||||||
*/
|
*/
|
||||||
export function editDiyPageShare(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteDiyPage(id: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setDiyBottom(params: Record<string, any>) {
|
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>) {
|
export function getDiyTemplate(params: Record<string, any>) {
|
||||||
return request.get(`diy/type`, { params })
|
return request.get(`diy/template`, { params })
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -121,5 +121,5 @@ export function getDiyRouteInfo(params: Record<string, any>) {
|
|||||||
* @param params
|
* @param params
|
||||||
*/
|
*/
|
||||||
export function editDiyRouteShare(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setH5Config(params: Record<string, any>) {
|
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}`);
|
return request.get(`member/member/${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取会员编码
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function getMemberNo() {
|
||||||
|
return request.get(`member/memberno`);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加会员
|
* 添加会员
|
||||||
* @param params
|
* @param params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addMember(params: Record<string, any>) {
|
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)
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addMemberLabel(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function updateMemberLabel(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteMemberLabel(label_id: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editMemberDetail(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function adjustPoint(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function adjustBalance(params: Record<string, any>) {
|
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
|
* @param params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getLoginConfig(params: Record<string, any>) {
|
export function getLoginConfig() {
|
||||||
return request.get(`member/config/login`, params)
|
return request.get(`member/config/login`)
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 注册登录设置
|
* 注册登录设置
|
||||||
@ -198,9 +215,29 @@ export function getLoginConfig(params: Record<string, any>) {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setLoginConfig(params: Record<string, any>) {
|
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
|
* @param params
|
||||||
@ -210,6 +247,25 @@ export function getTransfertype() {
|
|||||||
return request.get(`member/cash_out/transfertype`)
|
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
|
* @param params
|
||||||
@ -243,7 +299,7 @@ export function getAccountType(params: Record<string, any>) {
|
|||||||
* @param params
|
* @param params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getWithdrawConfig() {
|
export function getCashOutConfig() {
|
||||||
return request.get(`member/config/cash_out`)
|
return request.get(`member/config/cash_out`)
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -251,8 +307,8 @@ export function getWithdrawConfig() {
|
|||||||
* @param params
|
* @param params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setWithdrawConfig(params: Record<string, any>) {
|
export function setCashOutConfig(params: Record<string, any>) {
|
||||||
return request.post(`member/config/cash_out`, params, { showErrorMessage: true, showSuccessMessage: true })
|
return request.post(`member/config/cash_out`, params, { showSuccessMessage: true })
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -260,7 +316,7 @@ export function setWithdrawConfig(params: Record<string, any>) {
|
|||||||
* @param params
|
* @param params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getWithdrawList(params: Record<string, any>) {
|
export function getCashOutList(params: Record<string, any>) {
|
||||||
return request.get(`member/cash_out`, { params })
|
return request.get(`member/cash_out`, { params })
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,7 +325,7 @@ export function getWithdrawList(params: Record<string, any>) {
|
|||||||
* @param params
|
* @param params
|
||||||
* @returns id
|
* @returns id
|
||||||
*/
|
*/
|
||||||
export function getWithdrawDetail(id: number) {
|
export function getCashOutDetail(id: number) {
|
||||||
return request.get(`member/cash_out/${id}`, {})
|
return request.get(`member/cash_out/${id}`, {})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,7 +336,7 @@ export function getWithdrawDetail(id: number) {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function memberAudit(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function memberTransfer(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editMemberStatus(params: Record<string, any>) {
|
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
|
* @param params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getWithdrawStatusList() {
|
export function getCashOutStatusList() {
|
||||||
return request.get(`member/cash_out/status`)
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editNoticeStatus(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editNotice(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editSms(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getSmsLog(params: Record<string, any>) {
|
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 })
|
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
|
* @param order_id
|
||||||
@ -19,7 +28,7 @@ export function getRechargeOrderList(params: Record<string, any>) {
|
|||||||
export function getRechargeOrderInfo(order_id: number) {
|
export function getRechargeOrderInfo(order_id: number) {
|
||||||
return request.get(`order/recharge/${order_id}`);
|
return request.get(`order/recharge/${order_id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取充值订单状态列表
|
* 获取充值订单状态列表
|
||||||
* @returns
|
* @returns
|
||||||
@ -48,6 +57,14 @@ export function getRefundStatus() {
|
|||||||
* 充值订单发起退款
|
* 充值订单发起退款
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function rechargeRefund(id) {
|
export function rechargeRefund(id: number) {
|
||||||
return request.get(`order/recharge/refund/${id}`);
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setUserInfo(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addSite(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editSite(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addSiteGroup(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editSiteGroup(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteSiteGroup(group_id: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addUser(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editUser(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteUser(uid: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addRole(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editRole(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteRole(roleId: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addMenu(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editMenu(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteMenu(menu_key: string) {
|
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')
|
return request.get('sys/config/website')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取网站设置
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function getWebConfig() {
|
||||||
|
return request.get('sys/web/website')
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新网站设置
|
* 更新网站设置
|
||||||
* @param params
|
* @param params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setWebsite(params: Record<string, any>) {
|
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')
|
return request.get('sys/config/copyright')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获服务信息
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function getService() {
|
||||||
|
return request.get('sys/config/service')
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新版权设置
|
* 更新版权设置
|
||||||
* @param params
|
* @param params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setCopyright(params: Record<string, any>) {
|
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
|
* @param params
|
||||||
*/
|
*/
|
||||||
export function addAttachmentCategory(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editAttachmentCategory(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteAttachmentCategory(id: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteAttachment(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editStorage(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setPayConfig(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editAgreement(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setConfigLogin(params: Record<string, any>) {
|
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>) {
|
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>) {
|
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`)
|
return request.get(`sys/applist`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,7 @@ export function getGenerateTableInfo(id: number) {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addGenerateTable(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editGenerateTable(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function deleteGenerateTable(id: number) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function addUser(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editUser(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function setWeappConfig(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getBatchAcquisition(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editWechatConfig(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function editWechatMenu(params: Record<string, any>) {
|
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
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getBatchAcquisition(params: Record<string, any>) {
|
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) => {
|
getLink({}).then((res: any) => {
|
||||||
link.value = res.data;
|
link.value = res.data;
|
||||||
|
|
||||||
childList.value = link.value[0].child_list;
|
childList.value = Object.values(link.value)[0].child_list;
|
||||||
if (value.value.name != '') {
|
if (value.value.name != '') {
|
||||||
selectLink.value = cloneDeep(value.value);
|
selectLink.value = cloneDeep(value.value);
|
||||||
} else {
|
} else {
|
||||||
selectLink.value = {
|
selectLink.value = {
|
||||||
parent: link.value[0].name
|
parent: Object.values(link.value)[0].name
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
parentLinkName.value = selectLink.value.parent;
|
parentLinkName.value = selectLink.value.parent;
|
||||||
|
|||||||
@ -47,7 +47,7 @@ const element = computed(() => {
|
|||||||
|
|
||||||
// iconfont 图标
|
// iconfont 图标
|
||||||
const iconfont = computed(() => {
|
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))
|
const icons = Array.from(iconfile.matchAll(/(icon.*)\:before/g))
|
||||||
|
|
||||||
return icons.map(item => {
|
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="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">
|
<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()" />
|
prefix-icon="Search" @input="getAttachmentCategoryList()" />
|
||||||
<div class="group-list flex-1 my-[10px]">
|
<div class="group-list flex-1 my-[10px]">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
@ -40,23 +41,26 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<el-upload v-bind="upload" ref="uploadRef">
|
<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-upload>
|
||||||
<el-button v-if="operate === false" class="ml-[10px]" type="primary" @click="operate = true">{{
|
<div v-if="scene == 'attachment'">
|
||||||
t('edit') }}</el-button>
|
<el-button v-if="operate === false" class="ml-[10px]" type="primary" @click="operate = true">{{
|
||||||
<el-button v-else class="ml-[10px]" type="primary" @click="operate = false">{{ t('complete')
|
t('edit') }}</el-button>
|
||||||
}}</el-button>
|
<el-button v-else class="ml-[10px]" type="primary" @click="operate = false">{{ t('complete')
|
||||||
|
}}</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12" class="text-right">
|
<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"
|
:placeholder="t('upload.placeholder' + type + 'Name')" prefix-icon="Search"
|
||||||
@input="getAttachmentList()" />
|
@input="getAttachmentList()" />
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<div class="flex-1 my-[15px] h-0" v-loading="attachment.loading">
|
<div class="flex-1 my-[15px] h-0" v-loading="attachment.loading">
|
||||||
<el-scrollbar>
|
<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]'"
|
<div class="attachment-item mr-[10px]" :class="scene == 'select' ? 'w-[100px]' : 'w-[120px]'"
|
||||||
v-for="(item, index) in attachment.data" :key="index">
|
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"
|
<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,
|
headers,
|
||||||
onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => {
|
onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => {
|
||||||
if (response.code == 200) {
|
if (response.code >= 1) {
|
||||||
getAttachmentList()
|
getAttachmentList()
|
||||||
uploadRef.value?.handleRemove(uploadFile)
|
uploadRef.value?.handleRemove(uploadFile)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -156,7 +156,7 @@
|
|||||||
"captcha_key":backToken.value
|
"captcha_key":backToken.value
|
||||||
}
|
}
|
||||||
reqCheck(data).then(res=>{
|
reqCheck(data).then(res=>{
|
||||||
if (res.code == "200") {
|
if (res.code == 1) {
|
||||||
barAreaColor.value = '#4cae4c'
|
barAreaColor.value = '#4cae4c'
|
||||||
barAreaBorderColor.value = '#5cb85c'
|
barAreaBorderColor.value = '#5cb85c'
|
||||||
text.value = '验证成功'
|
text.value = '验证成功'
|
||||||
@ -214,7 +214,7 @@
|
|||||||
captchaType:captchaType.value
|
captchaType:captchaType.value
|
||||||
}
|
}
|
||||||
reqGet(data).then(res=>{
|
reqGet(data).then(res=>{
|
||||||
if (res.code == "200") {
|
if (res.code == 1) {
|
||||||
pointBackImgBase.value = res.data.originalImageBase64
|
pointBackImgBase.value = res.data.originalImageBase64
|
||||||
backToken.value = res.data.token
|
backToken.value = res.data.token
|
||||||
secretKey.value = res.data.secretKey
|
secretKey.value = res.data.secretKey
|
||||||
|
|||||||
@ -248,7 +248,7 @@
|
|||||||
"captcha_key":backToken.value
|
"captcha_key":backToken.value
|
||||||
}
|
}
|
||||||
reqCheck(data).then(res=>{
|
reqCheck(data).then(res=>{
|
||||||
if (res.code == "200") {
|
if (res.code == 1) {
|
||||||
moveBlockBackgroundColor.value = '#5cb85c'
|
moveBlockBackgroundColor.value = '#5cb85c'
|
||||||
leftBarBorderColor.value = '#5cb85c'
|
leftBarBorderColor.value = '#5cb85c'
|
||||||
iconColor.value = '#fff'
|
iconColor.value = '#fff'
|
||||||
@ -319,7 +319,7 @@
|
|||||||
captchaType:captchaType.value
|
captchaType:captchaType.value
|
||||||
}
|
}
|
||||||
reqGet(data).then(res=>{
|
reqGet(data).then(res=>{
|
||||||
if (res.code == "200") {
|
if (res.code == 1) {
|
||||||
backImgBase.value = res.data.originalImageBase64
|
backImgBase.value = res.data.originalImageBase64
|
||||||
blockBackImgBase.value = res.data.jigsawImageBase64
|
blockBackImgBase.value = res.data.jigsawImageBase64
|
||||||
backToken.value = res.data.token
|
backToken.value = res.data.token
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"title": "Niushop Vite Management side",
|
"title": "Niucloud Vite Management side",
|
||||||
"login": "Login",
|
"login": "Login",
|
||||||
"logging": "Logging",
|
"logging": "Logging",
|
||||||
"userPlaceholder": "Please enter your account number",
|
"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":"排序号必须是数字",
|
"sortNumber":"排序号必须是数字",
|
||||||
"sortBetween":"排序号不能超过10000",
|
"sortBetween":"排序号不能超过10000",
|
||||||
"show":"显示",
|
"show":"显示",
|
||||||
"hide":"不显示"
|
"hide":"不显示",
|
||||||
|
"articleNumber": "文章数量"
|
||||||
}
|
}
|
||||||
@ -1,12 +1,13 @@
|
|||||||
{
|
{
|
||||||
"categoryName":"栏目",
|
"categoryName":"栏目",
|
||||||
|
"ID":"ID",
|
||||||
"title":"标题",
|
"title":"标题",
|
||||||
"intro":"简介",
|
"intro":"简介",
|
||||||
"summary":"摘要",
|
"summary":"摘要",
|
||||||
"image":"封面",
|
"image":"封面",
|
||||||
"author":"作者",
|
"author":"作者",
|
||||||
"content":"文章内容",
|
"content":"文章内容",
|
||||||
"visit":"实际浏览量",
|
"visit":"浏览量",
|
||||||
"visitVirtual":"虚拟浏览量",
|
"visitVirtual":"虚拟浏览量",
|
||||||
"isShow":"是否显示",
|
"isShow":"是否显示",
|
||||||
"sort":"排序",
|
"sort":"排序",
|
||||||
@ -17,4 +18,5 @@
|
|||||||
"titlePlaceholder":"请输入文章标题",
|
"titlePlaceholder":"请输入文章标题",
|
||||||
"categoryIdPlaceholder":"请选择文章栏目",
|
"categoryIdPlaceholder":"请选择文章栏目",
|
||||||
"articleDeleteTips" : "确定要删除该文章吗?"
|
"articleDeleteTips" : "确定要删除该文章吗?"
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -6,5 +6,6 @@
|
|||||||
"roleNamePlaceholder": "请输入角色名称",
|
"roleNamePlaceholder": "请输入角色名称",
|
||||||
"rulesPlaceholder": "请选择权限",
|
"rulesPlaceholder": "请选择权限",
|
||||||
"checkStrictly": "父子级不关联",
|
"checkStrictly": "父子级不关联",
|
||||||
"permission": "权限"
|
"permission": "权限",
|
||||||
|
"foldText":"展开/折叠"
|
||||||
}
|
}
|
||||||
@ -17,6 +17,7 @@
|
|||||||
"status":"用户状态",
|
"status":"用户状态",
|
||||||
"statusUnlock":"正常",
|
"statusUnlock":"正常",
|
||||||
"statusLock":"锁定",
|
"statusLock":"锁定",
|
||||||
|
"adminDisabled":"超级管理员不可编辑",
|
||||||
"userUnlockTips":"确定要解锁该管理员吗?",
|
"userUnlockTips":"确定要解锁该管理员吗?",
|
||||||
"userLockTips":"确定要锁定该管理员吗?"
|
"userLockTips":"确定要锁定该管理员吗?"
|
||||||
}
|
}
|
||||||
@ -3,5 +3,6 @@
|
|||||||
"preview": "预览图",
|
"preview": "预览图",
|
||||||
"copy": "复制",
|
"copy": "复制",
|
||||||
"clickVisit": "点击访问",
|
"clickVisit": "点击访问",
|
||||||
"PCDomainName": "pc域名"
|
"PCDomainName": "pc域名",
|
||||||
|
"newInfo": "最新消息"
|
||||||
}
|
}
|
||||||
@ -80,10 +80,11 @@
|
|||||||
"400": "错误的请求",
|
"400": "错误的请求",
|
||||||
"401": "请重新登录",
|
"401": "请重新登录",
|
||||||
"403": "拒绝访问",
|
"403": "拒绝访问",
|
||||||
"404": "请求错误,未找到该资源",
|
"404": "请求错误",
|
||||||
"405": "请求方法未允许",
|
"405": "请求方法未允许",
|
||||||
"408": "请求超时",
|
"408": "请求超时",
|
||||||
"500": "服务器端出错",
|
"409": "请求跨域",
|
||||||
|
"500": "服务器端出错,错误原因:",
|
||||||
"501": "网络未实现",
|
"501": "网络未实现",
|
||||||
"502": "网络错误",
|
"502": "网络错误",
|
||||||
"503": "服务不可用",
|
"503": "服务不可用",
|
||||||
@ -100,5 +101,7 @@
|
|||||||
"diyLinkUrlPlaceholder": "请输入跳转路径",
|
"diyLinkUrlPlaceholder": "请输入跳转路径",
|
||||||
"diyLinkUrlNotEmpty": "跳转路径不能为空",
|
"diyLinkUrlNotEmpty": "跳转路径不能为空",
|
||||||
"returnToPreviousPage": "返回",
|
"returnToPreviousPage": "返回",
|
||||||
"preview": "预览"
|
"preview": "预览",
|
||||||
|
"emptyApp": "暂未安装任何应用",
|
||||||
|
"newInfo": "最新消息"
|
||||||
}
|
}
|
||||||
@ -1,9 +1,23 @@
|
|||||||
{
|
{
|
||||||
"pageSet": "页面设置",
|
"pageSet": "页面设置",
|
||||||
|
"tabEditContent": "内容",
|
||||||
|
"tabEditStyle": "样式",
|
||||||
|
"pageStyle": "页面样式",
|
||||||
"pageContent": "页面内容",
|
"pageContent": "页面内容",
|
||||||
"pageName": "页面名称",
|
"pageName": "页面名称",
|
||||||
"pageNamePlaceholder": "请输入页面名称",
|
"pageNamePlaceholder": "请输入页面名称",
|
||||||
"pageBgColor": "页面颜色",
|
"pageBgColor": "页面颜色",
|
||||||
|
"bgUrl": "背景图片",
|
||||||
|
"marginSet": "边距设置",
|
||||||
|
"componentStyleTitle": "组件样式",
|
||||||
|
"bottomBgColor": "底部背景",
|
||||||
|
"bottomBgTips": "底部背景包含边距和圆角",
|
||||||
|
"componentBgColor": "组件背景",
|
||||||
|
"marginTop": "上边距",
|
||||||
|
"marginBottom": "下边距",
|
||||||
|
"marginBoth": "左右边距",
|
||||||
|
"topRounded": "上圆角",
|
||||||
|
"bottomRounded": "下圆角",
|
||||||
"warmPrompt": "温馨提示",
|
"warmPrompt": "温馨提示",
|
||||||
"leavePageTitleTips": "确定离开此页面?",
|
"leavePageTitleTips": "确定离开此页面?",
|
||||||
"leavePageContentTips": "系统可能不会保存您所做的更改。",
|
"leavePageContentTips": "系统可能不会保存您所做的更改。",
|
||||||
@ -28,6 +42,8 @@
|
|||||||
"addImageAd": "添加图片",
|
"addImageAd": "添加图片",
|
||||||
"imageUrlTip": "请上传图片",
|
"imageUrlTip": "请上传图片",
|
||||||
"articleData": "文章数据",
|
"articleData": "文章数据",
|
||||||
|
"articleStyle": "文章样式",
|
||||||
|
"articleBgColor": "文章背景",
|
||||||
"dataSources": "数据来源",
|
"dataSources": "数据来源",
|
||||||
"defaultSources": "默认",
|
"defaultSources": "默认",
|
||||||
"manualSelectionSources": "手动选择",
|
"manualSelectionSources": "手动选择",
|
||||||
@ -65,6 +81,7 @@
|
|||||||
"addGraphicNav": "添加导航",
|
"addGraphicNav": "添加导航",
|
||||||
"blankHeightSet": "高度设置",
|
"blankHeightSet": "高度设置",
|
||||||
"blankHeight": "空白高度",
|
"blankHeight": "空白高度",
|
||||||
|
"styleSet": "风格设置",
|
||||||
"titleStyle": "标题样式",
|
"titleStyle": "标题样式",
|
||||||
"selectStyle": "风格选择",
|
"selectStyle": "风格选择",
|
||||||
"titleContent": "标题内容",
|
"titleContent": "标题内容",
|
||||||
@ -73,6 +90,7 @@
|
|||||||
"textAlign": "对齐方式",
|
"textAlign": "对齐方式",
|
||||||
"textAlignLeft": "居左",
|
"textAlignLeft": "居左",
|
||||||
"textAlignCenter": "居中",
|
"textAlignCenter": "居中",
|
||||||
|
"textSet": "文字设置",
|
||||||
"textFontSize": "文字大小",
|
"textFontSize": "文字大小",
|
||||||
"textFontWeight": "文字粗细",
|
"textFontWeight": "文字粗细",
|
||||||
"fontWeightBold": "加粗",
|
"fontWeightBold": "加粗",
|
||||||
@ -84,5 +102,6 @@
|
|||||||
"moreContent": "“更多”按钮内容",
|
"moreContent": "“更多”按钮内容",
|
||||||
"more": "文字",
|
"more": "文字",
|
||||||
"morePlaceholder": "请输入文字",
|
"morePlaceholder": "请输入文字",
|
||||||
"moreIsShow": "是否显示"
|
"moreIsShow": "是否显示",
|
||||||
|
"memberStyle": "会员样式"
|
||||||
}
|
}
|
||||||
@ -1,9 +1,11 @@
|
|||||||
{
|
{
|
||||||
"title": "页面名称",
|
"title": "页面名称",
|
||||||
"typeName": "页面类型",
|
"typeName": "页面模板",
|
||||||
"addPageTips": "创建新页面",
|
"addPageTips": "创建新页面",
|
||||||
"pageTypePlaceholder": "请选择页面类型",
|
"pageTemplatePlaceholder": "请选择页面模板",
|
||||||
"nameMax": "名称不能超过12个字符",
|
"nameMax": "名称不能超过12个字符",
|
||||||
|
"templateName": "模板名称",
|
||||||
|
"empty": "空白",
|
||||||
"status": "状态",
|
"status": "状态",
|
||||||
"updateTime": "更新时间",
|
"updateTime": "更新时间",
|
||||||
"use": "使用",
|
"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",
|
"siteId":"站点id",
|
||||||
"title":"页面名称",
|
"title":"页面名称",
|
||||||
"name":"页面标识",
|
"name":"页面标识",
|
||||||
"type":"页面类型",
|
"type":"页面模板",
|
||||||
"value":"页面数据,json格式",
|
"value":"页面数据,json格式",
|
||||||
"isDefault":"是否默认页面,1:是,0:否",
|
"isDefault":"是否默认页面,1:是,0:否",
|
||||||
"visitCount":"访问量",
|
"visitCount":"访问量",
|
||||||
"siteIdPlaceholder":"请输入站点id",
|
"siteIdPlaceholder":"请输入站点id",
|
||||||
"titlePlaceholder":"请输入页面名称",
|
"titlePlaceholder":"请输入页面名称",
|
||||||
"namePlaceholder":"请输入页面标识",
|
"namePlaceholder":"请输入页面标识",
|
||||||
"typePlaceholder":"请输入页面类型",
|
"typePlaceholder":"请输入页面模板",
|
||||||
"valuePlaceholder":"请输入页面数据,json格式",
|
"valuePlaceholder":"请输入页面数据,json格式",
|
||||||
"isDefaultPlaceholder":"请输入是否默认页面,1:是,0:否",
|
"isDefaultPlaceholder":"请输入是否默认页面,1:是,0:否",
|
||||||
"visitCountPlaceholder":"请输入访问量",
|
"visitCountPlaceholder":"请输入访问量",
|
||||||
|
|||||||
@ -4,6 +4,10 @@
|
|||||||
"orderNoPlaceholder":"请输入订单编号",
|
"orderNoPlaceholder":"请输入订单编号",
|
||||||
"createTime":"创建时间",
|
"createTime":"创建时间",
|
||||||
"rechargeMoney":"充值金额",
|
"rechargeMoney":"充值金额",
|
||||||
|
"totalTransfered":"累计提现(元)",
|
||||||
|
"totalCashOuting":"提现中(元)",
|
||||||
|
"transfered":"累计提现",
|
||||||
|
"cashOuting":"提现中",
|
||||||
"orderMoney":"订单金额",
|
"orderMoney":"订单金额",
|
||||||
"member":"买家",
|
"member":"买家",
|
||||||
"orderFromName":"订单来源",
|
"orderFromName":"订单来源",
|
||||||
@ -34,6 +38,11 @@
|
|||||||
"nickname":"会员名称",
|
"nickname":"会员名称",
|
||||||
"headimg":"会员头像",
|
"headimg":"会员头像",
|
||||||
"cashOutDetail":"提现详情",
|
"cashOutDetail":"提现详情",
|
||||||
"cashOutMoney": "转账金额"
|
"cashOutMoney": "转账金额",
|
||||||
|
"auditTime": "审核时间",
|
||||||
|
"transferTime": "转账时间",
|
||||||
|
"memberInfoPlaceholder":"请输入会员名称/会员昵称/手机号",
|
||||||
|
"cashOutNumber": "提现单号",
|
||||||
|
"cashOutNumberPlaceholder": "请输入提现单号"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,23 @@
|
|||||||
{
|
{
|
||||||
"orderNo":"订单编号",
|
"totalRechargeRefundMoney":"充值退款(元)",
|
||||||
"orderStatus":"订单状态",
|
"totalRechargeMoney":"充值金额(元)",
|
||||||
"orderNoPlaceholder":"请输入订单编号",
|
"rechargeRefundMoney":"充值退款",
|
||||||
"createTime":"创建时间",
|
"rechargeNo":"充值单号",
|
||||||
"rechargeMoney":"充值金额",
|
"orderStatus":"订单状态",
|
||||||
"orderMoney":"订单金额",
|
"rechargeNoPlaceholder":"请输入充值单号",
|
||||||
"member":"买家",
|
"createTime":"充值时间",
|
||||||
"orderFromName":"订单来源",
|
"rechargeMoney":"充值金额",
|
||||||
"payTypeName":"支付方式",
|
"orderMoney":"订单金额",
|
||||||
"startDate":"开始时间",
|
"member":"会员信息",
|
||||||
"endDate":"结束时间",
|
"orderFromName":"订单来源",
|
||||||
"namePlaceholder":"请选择",
|
"payTypeName":"支付方式",
|
||||||
"refundBtn":"退款",
|
"startDate":"开始时间",
|
||||||
"refundContent":"是否确认退款"
|
"endDate":"结束时间",
|
||||||
|
"namePlaceholder":"请选择",
|
||||||
|
"refundBtn":"退款",
|
||||||
}
|
"refundContent":"是否确认退款",
|
||||||
|
"payTime": "支付时间",
|
||||||
|
"refundStatus": "退款状态",
|
||||||
|
"startMoney": "起始金额",
|
||||||
|
"endMoney": "结束金额"
|
||||||
|
}
|
||||||
@ -6,9 +6,19 @@
|
|||||||
"refundTime":"退款时间",
|
"refundTime":"退款时间",
|
||||||
"detail": "详情",
|
"detail": "详情",
|
||||||
"statusName": "状态",
|
"statusName": "状态",
|
||||||
"memberInfo": "会员",
|
"memberInfo": "会员信息",
|
||||||
"refundSource": "退款来源",
|
"refundSource": "退款来源",
|
||||||
"startDate":"开始时间",
|
"startDate":"开始时间",
|
||||||
"endDate":"结束时间",
|
"endDate":"结束时间",
|
||||||
"refundStatus": "退款状态"
|
"refundStatus": "退款状态",
|
||||||
|
"accumulateRefundMoney": "累计退款金额(元)",
|
||||||
|
"haveRefundMoney": "退款中金额(元)",
|
||||||
|
"refundSuccessMonry": "退款成功金额(元)",
|
||||||
|
"refundFailMoney": "退款失败金额(元)",
|
||||||
|
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号",
|
||||||
|
"refundNumberPlaceholder":"请输入退款单号",
|
||||||
|
"orderNumber": "来源单号",
|
||||||
|
"orderNumberPlaceholder": "请输入来源单号",
|
||||||
|
"refundDetail": "退款详情",
|
||||||
|
"nickname": "会员昵称"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"dataSummarize": "数据概括",
|
"dataSummarize": "数据概况",
|
||||||
"todayData": "今日数据",
|
"todayData": "今日数据",
|
||||||
"memberNumb": "新增会员数",
|
"memberNumb": "新增会员数",
|
||||||
"orderMoney": "订单金额",
|
"orderMoney": "订单金额",
|
||||||
@ -38,8 +38,14 @@
|
|||||||
"newSite": "新增站点",
|
"newSite": "新增站点",
|
||||||
"appMarketplace": "应用市场",
|
"appMarketplace": "应用市场",
|
||||||
"siteDistribution": "站点分布",
|
"siteDistribution": "站点分布",
|
||||||
"siteSum": "站点数",
|
"normalSiteSum": "正常站点(个)",
|
||||||
"memberSum": "用户数",
|
"expireSiteSum": "过期站点(个)",
|
||||||
"appSum": "应用数",
|
"noInstallAppSun": "未安装应用(个)",
|
||||||
"installAppSun": "安装应用数"
|
"installAppSun": "已安装应用(个)",
|
||||||
|
"officialAccount": "Niucloud官方公众号",
|
||||||
|
"officialAccountDesc": "微信扫码关注",
|
||||||
|
"WeCom": "客服二维码",
|
||||||
|
"WeComDesc": "扫码联系客服",
|
||||||
|
"tel": "服务热线:"
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,12 +1,14 @@
|
|||||||
{
|
{
|
||||||
"accountData":"金额",
|
"memberId":"会员编号",
|
||||||
|
"accountData":"变动金额",
|
||||||
"fromType":"来源/用途",
|
"fromType":"来源/用途",
|
||||||
"balanceInfo":"余额变动详情",
|
"balanceInfo":"余额变动详情",
|
||||||
|
"memberInfo":"会员信息",
|
||||||
"memo":"备注",
|
"memo":"备注",
|
||||||
"mobile":"手机号码",
|
"mobile":"手机号码",
|
||||||
"nickName":"会员昵称",
|
"nickName":"会员昵称",
|
||||||
"headimg":"会员头像",
|
"headimg":"会员头像",
|
||||||
"createTime":"产生时间",
|
"createTime":"发生时间",
|
||||||
"startDate":"开始时间",
|
"startDate":"开始时间",
|
||||||
"endDate":"结束时间",
|
"endDate":"结束时间",
|
||||||
"searchMember":"昵称/手机号",
|
"searchMember":"昵称/手机号",
|
||||||
@ -21,7 +23,12 @@
|
|||||||
"addMemberAccountLog":"添加会员账单表",
|
"addMemberAccountLog":"添加会员账单表",
|
||||||
"updateMemberAccountLog":"编辑会员账单表",
|
"updateMemberAccountLog":"编辑会员账单表",
|
||||||
"memberAccountLogDeleteTips":"确定要删除该会员账单表吗?",
|
"memberAccountLogDeleteTips":"确定要删除该会员账单表吗?",
|
||||||
"balance": "不可提现余额",
|
"totalAllBalance": "余额(元)",
|
||||||
"money":"可提现余额",
|
"totalBalance": "不可提现(元)",
|
||||||
"balanceType":"账户类型"
|
"totalMoney": "可提现(元)",
|
||||||
|
"balance": "不可提现",
|
||||||
|
"money":"可提现",
|
||||||
|
"balanceType":"账户类型",
|
||||||
|
"accountSum" : "剩余金额",
|
||||||
|
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号"
|
||||||
}
|
}
|
||||||
@ -1,12 +1,18 @@
|
|||||||
{
|
{
|
||||||
"accountData":"金额",
|
"totalCommission":"累计佣金(元)",
|
||||||
|
"commission":"未提现佣金(元)",
|
||||||
|
"withdrawnCommission":"已提现佣金(元)",
|
||||||
|
"cashOutingCommission":"提现中佣金(元)",
|
||||||
|
"accountData":"变动金额",
|
||||||
|
"memberId":"会员编号",
|
||||||
|
"accountSum":"剩余金额",
|
||||||
"fromType":"来源/用途",
|
"fromType":"来源/用途",
|
||||||
"moneyInfo":"佣金变动详情",
|
"moneyInfo":"佣金变动详情",
|
||||||
"memo":"备注",
|
"memo":"备注",
|
||||||
"mobile":"手机号码",
|
"mobile":"手机号码",
|
||||||
"nickName":"会员信息",
|
"nickName":"会员信息",
|
||||||
"headimg":"会员头像",
|
"headimg":"会员头像",
|
||||||
"createTime":"产生时间",
|
"createTime":"发生时间",
|
||||||
"startDate":"开始时间",
|
"startDate":"开始时间",
|
||||||
"endDate":"结束时间",
|
"endDate":"结束时间",
|
||||||
"searchMember":"昵称/手机号",
|
"searchMember":"昵称/手机号",
|
||||||
@ -20,5 +26,8 @@
|
|||||||
"memoPlaceholder":"请输入备注信息",
|
"memoPlaceholder":"请输入备注信息",
|
||||||
"addMemberAccountLog":"添加会员账单表",
|
"addMemberAccountLog":"添加会员账单表",
|
||||||
"updateMemberAccountLog":"编辑会员账单表",
|
"updateMemberAccountLog":"编辑会员账单表",
|
||||||
"member_account_logDeleteTips":"确定要删除该会员账单表吗?"
|
"member_account_logDeleteTips":"确定要删除该会员账单表吗?",
|
||||||
|
"memberInfo":"会员信息",
|
||||||
|
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号"
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -5,6 +5,7 @@
|
|||||||
"adjustReducePoint":"减少积分",
|
"adjustReducePoint":"减少积分",
|
||||||
"adjustAddPoint":"增加积分",
|
"adjustAddPoint":"增加积分",
|
||||||
"adjustBalance":"调整余额",
|
"adjustBalance":"调整余额",
|
||||||
|
"memberNo":"会员编号",
|
||||||
"currBalance":"当前余额",
|
"currBalance":"当前余额",
|
||||||
"currPoint":"当前积分",
|
"currPoint":"当前积分",
|
||||||
"memo":"备注",
|
"memo":"备注",
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"labelName":"标签名称",
|
"labelName":"标签名称",
|
||||||
|
"memberNumber":"会员数量",
|
||||||
"memo":"备注",
|
"memo":"备注",
|
||||||
"sort":"排序",
|
"sort":"排序",
|
||||||
"siteIdPlaceholder":"请输入站点id",
|
"siteIdPlaceholder":"请输入站点id",
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"registerChannel":"注册来源",
|
"registerChannel":"注册来源",
|
||||||
"nickname":"会员名称",
|
"nickname":"会员名称",
|
||||||
|
"memberNo":"会员编号",
|
||||||
"mobile":"手机号",
|
"mobile":"手机号",
|
||||||
"createTime":"注册时间",
|
"createTime":"注册时间",
|
||||||
"lastVisitTime":"最后访问时间",
|
"lastVisitTime":"最后访问时间",
|
||||||
@ -9,9 +10,11 @@
|
|||||||
"nickNamePlaceholder":"请输入会员名称",
|
"nickNamePlaceholder":"请输入会员名称",
|
||||||
"mobilePlaceholder":"请输入手机号",
|
"mobilePlaceholder":"请输入手机号",
|
||||||
"channelPlaceholder":"请选择注册类型",
|
"channelPlaceholder":"请选择注册类型",
|
||||||
|
"memberNoPlaceholder":"请选择会员编号",
|
||||||
"memberDeleteTips" : "确定要删除该会员吗?",
|
"memberDeleteTips" : "确定要删除该会员吗?",
|
||||||
"detail": "详情",
|
"detail": "详情",
|
||||||
"edit": "编辑",
|
"edit": "编辑",
|
||||||
|
"memberDelete":"删除",
|
||||||
"adjust":"调整",
|
"adjust":"调整",
|
||||||
"startDate": "开始时间",
|
"startDate": "开始时间",
|
||||||
"endDate": "结束时间",
|
"endDate": "结束时间",
|
||||||
@ -37,13 +40,14 @@
|
|||||||
"passwordCopy": "确认密码",
|
"passwordCopy": "确认密码",
|
||||||
"passwordPlaceholder": "请输入密码",
|
"passwordPlaceholder": "请输入密码",
|
||||||
"doubleCipherHint": "输入的两次密码不一致",
|
"doubleCipherHint": "输入的两次密码不一致",
|
||||||
|
"memberNoHint":"会员编号只能输入字母和数字",
|
||||||
"mobileHint": "请输入正确的手机号!",
|
"mobileHint": "请输入正确的手机号!",
|
||||||
"lable": "标签",
|
"lable": "标签",
|
||||||
"setLable": "标签",
|
"setLable": "标签",
|
||||||
"notAvailable": "暂无",
|
"notAvailable": "暂无",
|
||||||
"memberLabelPlaceholder": "请选择会员标签",
|
"memberLabelPlaceholder": "请选择会员标签",
|
||||||
"memberInfo":"会员信息",
|
"memberInfo":"会员信息",
|
||||||
"memberInfoPlaceholder":"请输入会员名称/会员昵称/手机号",
|
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号",
|
||||||
"lock": "锁定",
|
"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":"来源/用途",
|
"fromType":"来源/用途",
|
||||||
|
"memberId":"会员编号",
|
||||||
"pointInfo":"积分变动详情",
|
"pointInfo":"积分变动详情",
|
||||||
"memo":"备注",
|
"memo":"备注",
|
||||||
"mobile":"手机号码",
|
"mobile":"手机号码",
|
||||||
"nickName":"会员信息",
|
"nickName":"会员信息",
|
||||||
"headimg":"会员头像",
|
"headimg":"会员头像",
|
||||||
"createTime":"产生时间",
|
"createTime":"发生时间",
|
||||||
"startDate":"开始时间",
|
"startDate":"开始时间",
|
||||||
"endDate":"结束时间",
|
"endDate":"结束时间",
|
||||||
"searchMember":"昵称/手机号",
|
"searchMember":"昵称/手机号",
|
||||||
@ -20,5 +24,7 @@
|
|||||||
"memoPlaceholder":"请输入备注信息",
|
"memoPlaceholder":"请输入备注信息",
|
||||||
"addMemberAccountLog":"添加会员账单表",
|
"addMemberAccountLog":"添加会员账单表",
|
||||||
"updateMemberAccountLog":"编辑会员账单表",
|
"updateMemberAccountLog":"编辑会员账单表",
|
||||||
"member_account_logDeleteTips":"确定要删除该会员账单表吗?"
|
"member_account_logDeleteTips":"确定要删除该会员账单表吗?",
|
||||||
|
"memberInfo":"会员信息",
|
||||||
|
"memberInfoPlaceholder":"请输入会员编号/昵称/手机号"
|
||||||
}
|
}
|
||||||
@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"isCaptcha": "是否启用验证码",
|
"isCaptcha": "是否启用验证码",
|
||||||
"bgImg": "背景图片",
|
"bgImg": "登录页广告图",
|
||||||
"admin": "平台端",
|
"admin": "平台端",
|
||||||
"isBgImgTip": "建议上传尺寸为450*400px",
|
"adminBgImgTip": "建议上传尺寸为450*400px",
|
||||||
"site": "站点端"
|
"site": "站点端",
|
||||||
|
"siteBgImgTip": "建议上传尺寸为450*400px"
|
||||||
}
|
}
|
||||||
@ -1,11 +1,15 @@
|
|||||||
{
|
{
|
||||||
"logonMode": "普通注册方式",
|
"logonMode": "普通注册方式",
|
||||||
"isUsername": "账号密码登录",
|
"isUsername": "账号密码登录",
|
||||||
"isMobile": "手机验证码登录",
|
"isMobile": "手机验证码登录",
|
||||||
"isAuthRegister": "第三方自动注册",
|
"isAuthRegister": "第三方自动注册",
|
||||||
"isBindMobile": "强制绑定手机",
|
"isBindMobile": "强制绑定手机",
|
||||||
"isUsernameTip": "开启之后可以使用账号+密码进行注册和登录",
|
"isUsernameTip": "开启之后可以使用账号+密码进行注册和登录",
|
||||||
"isMobileTip": "开启之后可以使用手机+验证码进行注册和登录",
|
"isMobileTip": "开启之后可以使用手机+验证码进行注册和登录",
|
||||||
"isAuthRegisterTip": "开启之后,微信公众号、小程序等等第三方平台可以自动注册会员。方便会员自动登录",
|
"isAuthRegisterTip": "开启之后,微信公众号、小程序等等第三方平台可以自动注册会员。方便会员自动登录",
|
||||||
"isBindMobileTip": "开启之后,会员通过账号或者第三方注册账户会强制绑定手机号,方便商家进行管理,同时方便会员在不同端口统一账号"
|
"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": "模板内容",
|
"content": "模板内容",
|
||||||
"weappTempKey" : "模板编号",
|
"weappTempKey" : "模板编号",
|
||||||
"smsId":"短信模版ID",
|
"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": "请先开启该支付方式",
|
"enablePaymentMode": "请先开启该支付方式",
|
||||||
"clickConfigure": "点击配置",
|
"clickConfigure": "点击配置",
|
||||||
"setConfig": "设置支付配置",
|
"setConfig": "设置支付配置",
|
||||||
"open": "开启",
|
"open": "已开启",
|
||||||
"notOpen": "未开启",
|
"notOpen": "未开启",
|
||||||
"cancel": "取消"
|
"cancel": "取消"
|
||||||
|
|
||||||
|
|||||||
@ -1,25 +1,34 @@
|
|||||||
{
|
{
|
||||||
"websiteInfo":"网站设置",
|
"websiteInfo":"后台设置",
|
||||||
"contactAddress":"联系地址",
|
"contactAddress":"联系地址",
|
||||||
"siteName": "站点名称",
|
"siteName": "站点名称",
|
||||||
"keywords": "网站关键字",
|
"keywords": "网站关键字",
|
||||||
"logo": "网站Logo",
|
"logo": "网站Logo",
|
||||||
"desc": "网站简介",
|
"desc": "网站简介",
|
||||||
"province": "省",
|
"province": "省",
|
||||||
"city": "市",
|
"city": "市",
|
||||||
"district": "区/县",
|
"district": "区/县",
|
||||||
"selectAddress": "请选择地址",
|
"selectAddress": "请选择地址",
|
||||||
"address": "详细地址",
|
"address": "详细地址",
|
||||||
"phone": "客服电话",
|
"phone": "客服电话",
|
||||||
"businessHours": "营业时间",
|
"businessHours": "营业时间",
|
||||||
"contactAddressPlaceholder":"联系地址",
|
"contactAddressPlaceholder":"联系地址",
|
||||||
"siteNamePlaceholder": "站点名称",
|
"siteNamePlaceholder": "站点名称",
|
||||||
"keywordsPlaceholder": "网站关键字",
|
"keywordsPlaceholder": "网站关键字",
|
||||||
"logoPlaceholder": "网站Logo",
|
"logoPlaceholder": "网站Logo",
|
||||||
"descPlaceholder": "网站简介",
|
"descPlaceholder": "网站简介",
|
||||||
|
"addressPlaceholder": "详细地址",
|
||||||
"addressPlaceholder": "详细地址",
|
"phonePlaceholder": "客服电话",
|
||||||
"phonePlaceholder": "客服电话",
|
"businessHoursPlaceholder": "营业时间",
|
||||||
"businessHoursPlaceholder": "营业时间",
|
"businessHoursTips": "例:上午9:00-12:00,下午2:00-6:00",
|
||||||
"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": "父子级不关联",
|
"checkStrictly": "父子级不关联",
|
||||||
"remark": "套餐说明",
|
"remark": "套餐说明",
|
||||||
"reset": "重置",
|
"reset": "重置",
|
||||||
"search": "搜索"
|
"search": "搜索",
|
||||||
|
"foldText":"展开/折叠"
|
||||||
}
|
}
|
||||||
@ -25,6 +25,17 @@
|
|||||||
"userRealNamePlaceholder": "请输入名称",
|
"userRealNamePlaceholder": "请输入名称",
|
||||||
"expireTimePlaceholder":"请选择到期时间",
|
"expireTimePlaceholder":"请选择到期时间",
|
||||||
"confirmPasswordError": "两次输入的密码不一致",
|
"confirmPasswordError": "两次输入的密码不一致",
|
||||||
"operationTip": "温馨提示:站点登录页面"
|
"operationTip": "温馨提示:站点登录页面",
|
||||||
|
"siteId": "站点ID",
|
||||||
}
|
"siteInfo": "站点信息",
|
||||||
|
"siteInlet": "站点入口",
|
||||||
|
"enterSite": "访问站点",
|
||||||
|
"siteList": "站点列表",
|
||||||
|
"openClose": "开启/停止",
|
||||||
|
"closeTxt":"停止",
|
||||||
|
"openTxt":"开启",
|
||||||
|
"siteUrlDevelopMessage": "站点域名功能正在开发中",
|
||||||
|
"url": "域名",
|
||||||
|
"startDate":"开始时间",
|
||||||
|
"endDate":"开始时间"
|
||||||
|
}
|
||||||
@ -14,6 +14,8 @@
|
|||||||
"userRoleName": "角色",
|
"userRoleName": "角色",
|
||||||
"isAdmin":"超级管理员",
|
"isAdmin":"超级管理员",
|
||||||
"siteName":"站点名称",
|
"siteName":"站点名称",
|
||||||
|
"siteId": "站点ID",
|
||||||
|
"enterSite": "访问站点",
|
||||||
"userRolePlaceholder": "请选择角色",
|
"userRolePlaceholder": "请选择角色",
|
||||||
"siteNamePlaceholder":"请输入站点名称"
|
"siteNamePlaceholder":"请输入站点名称"
|
||||||
}
|
}
|
||||||
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"todayData": "今日数据",
|
"todayData": "实时概况",
|
||||||
"memberNumb": "新增会员数",
|
"memberNumb": "新增会员数(人)",
|
||||||
"orderMoney": "订单金额",
|
"orderMoney": "订单金额(元)",
|
||||||
"numberOfSites": "站点数量",
|
"numberOfSites": "站点数量",
|
||||||
"numberOfVisitors": "今日访客数",
|
"numberOfVisitors": "今日访客数(人)",
|
||||||
"commonlyUsedFunction": "常用功能",
|
"commonlyUsedFunction": "常用功能",
|
||||||
"articleList": "文章列表",
|
"articleList": "文章列表",
|
||||||
"memberManagement": "会员管理",
|
"memberManagement": "会员管理",
|
||||||
@ -22,11 +22,23 @@
|
|||||||
"channel": "获取渠道",
|
"channel": "获取渠道",
|
||||||
"serviceSupport": "服务支持",
|
"serviceSupport": "服务支持",
|
||||||
"officialWbsite": "官网",
|
"officialWbsite": "官网",
|
||||||
"pageView": "访问量",
|
"pageView": "访客数(人)",
|
||||||
"siteInfo":"站点信息",
|
"siteInfo":"站点信息",
|
||||||
"siteName":"站点名称",
|
"siteName":"站点名称",
|
||||||
"groupName":"站点套餐",
|
"groupName":"站点套餐",
|
||||||
"expireTime":"过期时间",
|
"expireTime":"过期时间",
|
||||||
"permanent":"永久",
|
"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": "名称",
|
"title": "名称",
|
||||||
"serverInformation": "服务器信息",
|
"serverInformation": "服务器信息",
|
||||||
"systemDemand": "系统环境要求",
|
"systemDemand": "系统环境要求",
|
||||||
"authorityStatus": "权限状态",
|
"authorityStatus": "权限状态",
|
||||||
"name": "选项",
|
"name": "选项",
|
||||||
"demand": "要求",
|
"demand": "要求",
|
||||||
"status": "状态",
|
"status": "状态",
|
||||||
"environment": "环境",
|
"environment": "环境",
|
||||||
"version": "版本",
|
"version": "版本",
|
||||||
"phpType": "PHP版本",
|
"phpType": "PHP版本",
|
||||||
"phpTypeValue": "大于等于8.0.0",
|
"phpTypeValue": "大于等于8.0.0",
|
||||||
"mysqlType": "mysql版本",
|
"mysqlType": "mysql版本",
|
||||||
"mysqlTypeValue": "大于等于5.7"
|
"mysqlTypeValue": "大于等于5.7",
|
||||||
|
"process": "启动进程"
|
||||||
}
|
}
|
||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-container class="w-screen h-screen">
|
<el-container class="w-screen h-screen min-w-[1200px]">
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
</el-container>
|
</el-container>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
<template>
|
<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" />
|
<side class="hidden-xs-only" />
|
||||||
</el-aside>
|
</el-aside>
|
||||||
|
|
||||||
<el-drawer v-model="systemStore.menuDrawer" direction="ltr" :with-header="false" custom-class="aside-drawer"
|
<el-drawer v-model="systemStore.menuDrawer" direction="ltr" :with-header="false" custom-class="aside-drawer" size="210px">
|
||||||
size="210px">
|
|
||||||
<template #default>
|
<template #default>
|
||||||
<side />
|
<side />
|
||||||
</template>
|
</template>
|
||||||
@ -12,15 +11,17 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { watch } from 'vue'
|
import { watch,computed } from 'vue'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import side from './side.vue'
|
import side from './side.vue'
|
||||||
import useSystemStore from '@/stores/modules/system'
|
import useSystemStore from '@/stores/modules/system'
|
||||||
|
|
||||||
const systemStore = useSystemStore()
|
const systemStore = useSystemStore()
|
||||||
|
const dark = computed(()=>{
|
||||||
|
return systemStore.dark
|
||||||
|
})
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|
||||||
watch(route, () => {
|
watch(route, () => {
|
||||||
systemStore.$patch(state => {
|
systemStore.$patch(state => {
|
||||||
state.menuDrawer = false
|
state.menuDrawer = false
|
||||||
@ -33,6 +34,26 @@ watch(route, () => {
|
|||||||
background-color: var(--side-dark-color, var(--el-bg-color));
|
background-color: var(--side-dark-color, var(--el-bg-color));
|
||||||
border-right: 1px solid var(--el-border-color-lighter);
|
border-right: 1px solid var(--el-border-color-lighter);
|
||||||
z-index: 101;
|
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 {
|
.aside-drawer {
|
||||||
|
|||||||
@ -2,22 +2,32 @@
|
|||||||
<template v-if="meta.show">
|
<template v-if="meta.show">
|
||||||
<el-sub-menu v-if="routes.children" :index="String(routes.name)">
|
<el-sub-menu v-if="routes.children" :index="String(routes.name)">
|
||||||
<template #title>
|
<template #title>
|
||||||
<icon v-if="meta.icon" :name="meta.icon" class="mr-[6px] w-auto" />
|
<div v-if="meta.icon && routes.meta.class == 1" class="w-[16px] h-[16px] relative flex items-center">
|
||||||
<span>{{ meta.title }}</span>
|
<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>
|
</template>
|
||||||
<menu-item v-for="(route, index) in routes.children" :routes="route" :route-path="resolvePath(route.path)"
|
<menu-item v-for="(route, index) in routes.children" :routes="route" :route-path="resolvePath(route.path)"
|
||||||
:key="index" />
|
:key="index" />
|
||||||
</el-sub-menu>
|
</el-sub-menu>
|
||||||
<el-menu-item v-else :index="String(routes.name)" :route="routePath">
|
<el-menu-item v-else-if="routes.meta.class == 1" :index="String(routes.name)" :route="routePath">
|
||||||
<icon v-if="meta.icon" :name="meta.icon" class="mr-[6px] w-auto" />
|
<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>
|
<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>
|
</template>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { CollectionTag } from '@element-plus/icons-vue'
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
import menuItem from './menu-item.vue'
|
import menuItem from './menu-item.vue'
|
||||||
|
|
||||||
@ -38,8 +48,16 @@ const resolvePath = (path: string) => {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss">
|
||||||
.w-auto {
|
.el-sub-menu{
|
||||||
width: auto !important;
|
.el-icon{
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
li{
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-alert .el-alert__description{
|
||||||
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -14,8 +14,7 @@
|
|||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-menu :default-active="menuActive" :router="true" class="aside-menu h-full" unique-opened="true"
|
<el-menu :default-active="menuActive" :router="true" class="aside-menu h-full" unique-opened="true"
|
||||||
:collapse="systemStore.menuIsCollapse">
|
:collapse="systemStore.menuIsCollapse">
|
||||||
<menu-item v-for="(route, index) in userStore.routers" :routes="route" :route-path="route.path"
|
<menu-item v-for="(route, index) in userStore.routers" :routes="route" :route-path="route.path" :key="index" />
|
||||||
:key="index" />
|
|
||||||
</el-menu>
|
</el-menu>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</el-main>
|
</el-main>
|
||||||
@ -38,9 +37,23 @@ const route = useRoute()
|
|||||||
const siteInfo = storage.get('siteInfo') || false
|
const siteInfo = storage.get('siteInfo') || false
|
||||||
|
|
||||||
const menuActive = computed(() => String(route.name))
|
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>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss">
|
||||||
.aside-menu:not(.el-menu--collapse) {
|
.aside-menu:not(.el-menu--collapse) {
|
||||||
width: var(--aside-width);
|
width: var(--aside-width);
|
||||||
}
|
}
|
||||||
@ -66,15 +79,15 @@ const menuActive = computed(() => String(route.name))
|
|||||||
}
|
}
|
||||||
|
|
||||||
.menu-wrap {
|
.menu-wrap {
|
||||||
flex: 1;
|
flex: 1 !important;
|
||||||
height: 0;
|
height: 0 !important;
|
||||||
padding: 0;
|
padding: 0 !important;
|
||||||
|
|
||||||
:deep(.el-menu) {
|
.el-menu {
|
||||||
border-right: 0 !important;
|
border-right: 0 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.sidebar-dark-mode{
|
.sidebar-dark-mode{
|
||||||
background-color: #191a23;
|
background-color: #191a23;
|
||||||
& > .logo-wrap{
|
& > .logo-wrap{
|
||||||
.logo>i{
|
.logo>i{
|
||||||
@ -84,23 +97,29 @@ const menuActive = computed(() => String(route.name))
|
|||||||
}
|
}
|
||||||
.el-menu{
|
.el-menu{
|
||||||
background-color: #191a23;
|
background-color: #191a23;
|
||||||
ul.el-menu--inline{
|
.el-sub-menu{
|
||||||
background-color: #101117;
|
background: transparent !important;
|
||||||
}
|
}
|
||||||
.el-sub-menu__title, .el-menu-item{
|
.el-sub-menu__title, .el-menu-item{
|
||||||
|
background: transparent !important;
|
||||||
color: #B7B7ba;
|
color: #B7B7ba;
|
||||||
&:hover{
|
&:hover{
|
||||||
background-color: transparent;
|
background-color: transparent !important;
|
||||||
color: #fff;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.el-menu-item.is-active{
|
.el-menu-item.is-active{
|
||||||
color: #fff;
|
color: #fff !important;
|
||||||
background-color: var(--el-color-primary);
|
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-wrap{
|
||||||
.logo>i{
|
.logo>i{
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<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-row class="w-100 h-full w-full">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="left-panel h-full flex items-center">
|
<div class="left-panel h-full flex items-center">
|
||||||
@ -33,8 +33,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="right-panel h-full flex items-center justify-end">
|
<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"
|
<i class="iconfont iconlingdang-xianxing cursor-pointer px-[8px]" :title="t('newInfo')" v-if="appType == 'site'"></i>
|
||||||
:alt="t('preview')" :title="t('preview')">
|
|
||||||
<!-- 切换语言 -->
|
<!-- 切换语言 -->
|
||||||
<div class="navbar-item flex items-center h-full cursor-pointer">
|
<div class="navbar-item flex items-center h-full cursor-pointer">
|
||||||
<switch-lang />
|
<switch-lang />
|
||||||
@ -90,6 +89,10 @@ const appStore = useAppStore()
|
|||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const screenWidth = ref(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth)
|
const screenWidth = ref(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth)
|
||||||
|
|
||||||
|
const dark = computed(()=>{
|
||||||
|
return systemStore.dark
|
||||||
|
})
|
||||||
|
|
||||||
// 检测登录 start
|
// 检测登录 start
|
||||||
const detectionLoginDialog = ref(false)
|
const detectionLoginDialog = ref(false)
|
||||||
const comparisonToken = ref('')
|
const comparisonToken = ref('')
|
||||||
@ -164,6 +167,11 @@ const backFn = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<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 {
|
.navbar-item {
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="common-layout">
|
<div class="common-layout min-w-[1200px]" >
|
||||||
<el-container class="w-100 h-screen">
|
<el-container class="w-100 h-screen">
|
||||||
<layout-aside></layout-aside>
|
<layout-aside></layout-aside>
|
||||||
|
|
||||||
@ -8,9 +8,9 @@
|
|||||||
<layout-header></layout-header>
|
<layout-header></layout-header>
|
||||||
</el-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>
|
<el-scrollbar>
|
||||||
<div class="p-[16px]">
|
<div class="p-[10px]">
|
||||||
<router-view v-slot="{ Component, route }" v-if="appStore.routeRefrehTag">
|
<router-view v-slot="{ Component, route }" v-if="appStore.routeRefrehTag">
|
||||||
<keep-alive :include="tabbarStore.tabNames">
|
<keep-alive :include="tabbarStore.tabNames">
|
||||||
<component :is="Component" :key="route.fullPath" />
|
<component :is="Component" :key="route.fullPath" />
|
||||||
@ -26,13 +26,19 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { computed } from 'vue'
|
||||||
import layoutHeader from './components/header/index.vue'
|
import layoutHeader from './components/header/index.vue'
|
||||||
import layoutAside from './components/aside/index.vue'
|
import layoutAside from './components/aside/index.vue'
|
||||||
import useAppStore from '@/stores/modules/app'
|
import useAppStore from '@/stores/modules/app'
|
||||||
import useTabbarStore from '@/stores/modules/tabbar'
|
import useTabbarStore from '@/stores/modules/tabbar'
|
||||||
|
import useSystemStore from '@/stores/modules/system'
|
||||||
|
|
||||||
const appStore = useAppStore()
|
const appStore = useAppStore()
|
||||||
const tabbarStore = useTabbarStore()
|
const tabbarStore = useTabbarStore()
|
||||||
|
const systemStore = useSystemStore()
|
||||||
|
const dark = computed(()=>{
|
||||||
|
return systemStore.dark
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped></style>
|
<style lang="scss" scoped></style>
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import storage from '@/utils/storage'
|
|||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
history: createWebHistory(import.meta.env.BASE_URL),
|
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 userStore = useUserStore()
|
||||||
const siteInfo = storage.get('siteInfo') || false
|
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)
|
setWindowTitle(title)
|
||||||
|
|
||||||
// 加载语言包
|
// 加载语言包
|
||||||
await language.loadLocaleMessages(to.path, useSystemStore().lang);
|
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)) {
|
if (NO_LOGIN_ROUTES.includes(to.path)) {
|
||||||
|
|||||||
@ -4,40 +4,91 @@ import {toRaw, watch} from 'vue'
|
|||||||
import {ElMessage, ElMessageBox} from 'element-plus'
|
import {ElMessage, ElMessageBox} from 'element-plus'
|
||||||
import {cloneDeep, range, isEmpty} from 'lodash-es'
|
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', {
|
const useDiyStore = defineStore('diy', {
|
||||||
state: (): Diy => {
|
state: () => {
|
||||||
return {
|
return {
|
||||||
id: 0,
|
id: 0,
|
||||||
load: false, // 加载状态
|
load: false, // 加载状态
|
||||||
currentIndex: -99,
|
currentIndex: -99, // 当前正在编辑的组件下标
|
||||||
currentComponent: 'edit-page',
|
currentComponent: 'edit-page', // 当前正在编辑的组件名称
|
||||||
name: '',
|
editTab: 'content',// 编辑页面
|
||||||
type: '',
|
name: '', // 页面标识
|
||||||
typeName: '',
|
type: '', // 页面模板
|
||||||
components: [],
|
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: {
|
global: {
|
||||||
title: "页面",
|
title: "页面", // 页面标题
|
||||||
|
|
||||||
pageBgColor: "", // 页面背景颜色
|
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: []
|
value: []
|
||||||
@ -45,10 +96,71 @@ const useDiyStore = defineStore('diy', {
|
|||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
editComponent: (state) => {
|
editComponent: (state) => {
|
||||||
return state.value[state.currentIndex];
|
if (state.currentIndex == -99) {
|
||||||
|
return state.global;
|
||||||
|
} else {
|
||||||
|
return state.value[state.currentIndex];
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
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) {
|
addComponent(key: string, data: any) {
|
||||||
// 加载完才能添加组件
|
// 加载完才能添加组件
|
||||||
@ -60,14 +172,17 @@ const useDiyStore = defineStore('diy', {
|
|||||||
component.id = this.generateRandom();
|
component.id = this.generateRandom();
|
||||||
component.componentName = key;
|
component.componentName = key;
|
||||||
component.componentTitle = component.title;
|
component.componentTitle = component.title;
|
||||||
component.maxCount = component.max_count;
|
component.ignore = []; // 忽略公共属性
|
||||||
|
|
||||||
Object.assign(component, component.value);
|
Object.assign(component, component.value);
|
||||||
delete component.title;
|
delete component.title;
|
||||||
delete component.value;
|
delete component.value;
|
||||||
delete component.type;
|
delete component.type;
|
||||||
delete component.icon;
|
delete component.icon;
|
||||||
delete component.max_count;
|
|
||||||
|
// 继承全局属性
|
||||||
|
let template = cloneDeep(this.global.template);
|
||||||
|
Object.assign(component, template);
|
||||||
|
|
||||||
if (!this.checkComponentIsAdd(component)) return;
|
if (!this.checkComponentIsAdd(component)) return;
|
||||||
|
|
||||||
@ -180,7 +295,7 @@ const useDiyStore = defineStore('diy', {
|
|||||||
if (!this.checkComponentIsAdd(component)) {
|
if (!this.checkComponentIsAdd(component)) {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
type: 'warning',
|
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;
|
return;
|
||||||
}
|
}
|
||||||
@ -194,15 +309,15 @@ const useDiyStore = defineStore('diy', {
|
|||||||
// 检测组件是否允许添加,true:允许 false:不允许
|
// 检测组件是否允许添加,true:允许 false:不允许
|
||||||
checkComponentIsAdd(component: any) {
|
checkComponentIsAdd(component: any) {
|
||||||
|
|
||||||
//maxCount为0时不处理
|
//为0时不处理
|
||||||
if (component.maxCount === 0) return true;
|
if (component.uses === 0) return true;
|
||||||
|
|
||||||
var count = 0;
|
var count = 0;
|
||||||
|
|
||||||
//遍历已添加的自定义组件,检测是否超出数量
|
//遍历已添加的自定义组件,检测是否超出数量
|
||||||
for (var i in this.value) if (this.value[i].componentName === component.componentName) count++;
|
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;
|
else return true;
|
||||||
},
|
},
|
||||||
// 重置当前组件数据
|
// 重置当前组件数据
|
||||||
|
|||||||
@ -1,21 +1,12 @@
|
|||||||
:root {
|
:root {
|
||||||
--aside-width: 210px;
|
--aside-width: 210px;
|
||||||
--el-mask-color: rgba(255,255,255,1)
|
--el-mask-color: rgba(255,255,255,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.border-color {
|
.border-color {
|
||||||
border-color: var(--el-border-color-lighter);
|
border-color: var(--el-border-color-lighter);
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-search-wrap {
|
|
||||||
background: #f5f7fa !important;
|
|
||||||
border-radius: 0!important;
|
|
||||||
|
|
||||||
.el-form {
|
|
||||||
margin-bottom: -18px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-form {
|
.el-form {
|
||||||
.form-tip {
|
.form-tip {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -96,4 +87,80 @@ html.dark {
|
|||||||
textarea:-webkit-autofill,
|
textarea:-webkit-autofill,
|
||||||
select:-webkit-autofill {
|
select:-webkit-autofill {
|
||||||
box-shadow: 0 0 50px 50px white inset;
|
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-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 {
|
.el-button {
|
||||||
background-color: var(--el-button-bg-color, var(--el-color-white));
|
background-color: var(--el-button-bg-color, var(--el-color-white));
|
||||||
}
|
}
|
||||||
@ -13,10 +28,6 @@
|
|||||||
max-width: calc(100vw - 50px);
|
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--daterange, .el-date-editor--timerange, .el-date-editor.el-input, .el-date-editor .el-input__wrapper {
|
||||||
--el-date-editor-width: 100%!important;
|
--el-date-editor-width: 100%!important;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -1,8 +1,8 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: "iconfont"; /* Project id 3883393 */
|
font-family: "iconfont"; /* Project id 3883393 */
|
||||||
src: url('//at.alicdn.com/t/c/font_3883393_4jlgm3tby7.woff2?t=1683947082967') format('woff2'),
|
src: url('//at.alicdn.com/t/c/font_3883393_pok9rb5nvbr.woff2?t=1685440441519') format('woff2'),
|
||||||
url('//at.alicdn.com/t/c/font_3883393_4jlgm3tby7.woff?t=1683947082967') format('woff'),
|
url('//at.alicdn.com/t/c/font_3883393_pok9rb5nvbr.woff?t=1685440441519') format('woff'),
|
||||||
url('//at.alicdn.com/t/c/font_3883393_4jlgm3tby7.ttf?t=1683947082967') format('truetype');
|
url('//at.alicdn.com/t/c/font_3883393_pok9rb5nvbr.ttf?t=1685440441519') format('truetype');
|
||||||
}
|
}
|
||||||
|
|
||||||
.iconfont {
|
.iconfont {
|
||||||
@ -13,6 +13,62 @@
|
|||||||
-moz-osx-font-smoothing: grayscale;
|
-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 {
|
.icontuikuanjilu:before {
|
||||||
content: "\e8cf";
|
content: "\e8cf";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,6 @@
|
|||||||
@import 'element-plus/theme-chalk/dark/css-vars.css';
|
@import 'element-plus/theme-chalk/dark/css-vars.css';
|
||||||
@import 'element-plus/theme-chalk/display.css';
|
@import 'element-plus/theme-chalk/display.css';
|
||||||
@import 'tailwind.css';
|
@import 'tailwind.css';
|
||||||
@import 'element-plus.css';
|
@import 'element-plus.scss';
|
||||||
@import 'iconfont.css';
|
@import 'iconfont.css';
|
||||||
@import 'common.scss';
|
@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;
|
[key: string]: any;
|
||||||
}
|
}
|
||||||
@ -1,18 +1,16 @@
|
|||||||
import axios, { HttpStatusCode } from 'axios'
|
import axios, { HttpStatusCode } from 'axios'
|
||||||
import type { AxiosInstance, InternalAxiosRequestConfig, AxiosResponse, AxiosRequestConfig } 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 { ElMessage } from 'element-plus'
|
||||||
import { t } from '@/lang'
|
import { t } from '@/lang'
|
||||||
import useUserStore from '@/stores/modules/user'
|
import useUserStore from '@/stores/modules/user'
|
||||||
import storage from '@/utils/storage'
|
import storage from '@/utils/storage'
|
||||||
|
|
||||||
interface RequestConfig extends AxiosRequestConfig {
|
interface RequestConfig extends AxiosRequestConfig {
|
||||||
showErrorMessage?: boolean
|
|
||||||
showSuccessMessage?: boolean
|
showSuccessMessage?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
interface InternalRequestConfig extends InternalAxiosRequestConfig {
|
interface InternalRequestConfig extends InternalAxiosRequestConfig {
|
||||||
showErrorMessage?: boolean
|
|
||||||
showSuccessMessage?: boolean
|
showSuccessMessage?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,7 +24,7 @@ class Request {
|
|||||||
constructor() {
|
constructor() {
|
||||||
this.instance = axios.create({
|
this.instance = axios.create({
|
||||||
baseURL: import.meta.env.VITE_APP_BASE_URL,
|
baseURL: import.meta.env.VITE_APP_BASE_URL,
|
||||||
timeout: 5000,
|
timeout: 30000,
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/x-www-form-urlencoded;',
|
'Content-Type': 'application/x-www-form-urlencoded;',
|
||||||
'lang': storage.get('lang') ?? 'zh-cn'
|
'lang': storage.get('lang') ?? 'zh-cn'
|
||||||
@ -54,7 +52,7 @@ class Request {
|
|||||||
const res = response.data
|
const res = response.data
|
||||||
if (res.code != 1) {
|
if (res.code != 1) {
|
||||||
this.handleAuthError(res.code)
|
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'))
|
return Promise.reject(new Error(res.msg || 'Error'))
|
||||||
} else {
|
} else {
|
||||||
if (response.config.showSuccessMessage) ElMessage({ message: res.msg, type: 'success' })
|
if (response.config.showSuccessMessage) ElMessage({ message: res.msg, type: 'success' })
|
||||||
@ -113,7 +111,8 @@ class Request {
|
|||||||
* @param err
|
* @param err
|
||||||
*/
|
*/
|
||||||
private handleNetworkError(err: any) {
|
private handleNetworkError(err: any) {
|
||||||
let errMessage = t('axios.unknownError')
|
let errMessage = t('axios.requestError')
|
||||||
|
|
||||||
if (err.response && err.response.status) {
|
if (err.response && err.response.status) {
|
||||||
const errStatus = err.response.status
|
const errStatus = err.response.status
|
||||||
switch (errStatus) {
|
switch (errStatus) {
|
||||||
@ -127,7 +126,8 @@ class Request {
|
|||||||
errMessage = t('axios.403')
|
errMessage = t('axios.403')
|
||||||
break
|
break
|
||||||
case 404:
|
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
|
break
|
||||||
case 405:
|
case 405:
|
||||||
errMessage = t('axios.405')
|
errMessage = t('axios.405')
|
||||||
@ -135,6 +135,9 @@ class Request {
|
|||||||
case 408:
|
case 408:
|
||||||
errMessage = t('axios.408')
|
errMessage = t('axios.408')
|
||||||
break
|
break
|
||||||
|
case 409:
|
||||||
|
errMessage = t('axios.409')
|
||||||
|
break
|
||||||
case 500:
|
case 500:
|
||||||
errMessage = t('axios.500')
|
errMessage = t('axios.500')
|
||||||
break
|
break
|
||||||
|
|||||||