From 21d960df44aec580d0cd9c4df7f088668bb64e38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=A8=E6=A0=88=E5=B0=8F=E5=AD=A6=E7=94=9F?= <1518079521@qq.com> Date: Wed, 21 Jun 2023 16:42:54 +0800 Subject: [PATCH] update admin --- admin/src/App.vue | 6 +- admin/src/api/diy.ts | 66 +- admin/src/api/site.ts | 35 + admin/src/api/sys.ts | 51 +- admin/src/assets/images/index/add_menu.png | Bin 0 -> 897 bytes admin/src/assets/images/index/del_model.png | Bin 0 -> 773 bytes admin/src/assets/images/index/edit.png | Bin 0 -> 550 bytes admin/src/assets/images/index/model_tag.png | Bin 0 -> 157 bytes admin/src/assets/images/index/site_img.png | Bin 0 -> 1579 bytes admin/src/assets/images/iphone_bg.png | Bin 0 -> 60177 bytes admin/src/lang/language.ts | 1 - .../zh-cn/{app_store.json => app.store.json} | 0 admin/src/lang/zh-cn/auth.menu.site.json | 25 - ...th.menu.admin.json => auth.site_menu.json} | 0 ...ssage.json => channel.weapp.template.json} | 0 ...sage.json => channel.wechat.template.json} | 0 admin/src/lang/zh-cn/common.json | 9 +- admin/src/lang/zh-cn/decorate.preview.json | 12 + .../zh-cn/{diy.member.json => diy.edit.json} | 27 +- admin/src/lang/zh-cn/diy.index.json | 19 +- admin/src/lang/zh-cn/diy.list.json | 7 +- admin/src/lang/zh-cn/diy.preview.json | 12 + admin/src/lang/zh-cn/diy.route.json | 36 + admin/src/lang/zh-cn/finance.account.json | 33 + .../zh-cn/{index.json => index.index.json} | 0 .../{siteindex.json => index.site_index.json} | 25 +- ....detail.json => member.member_detail.json} | 0 ...ge.order.json => order.recharge.list.json} | 0 ...tice.template.json => setting.notice.json} | 3 +- ...cords.json => setting.notice_records.json} | 0 ...ting.pay.channel.json => setting.pay.json} | 0 ...ting.sms.setting.json => setting.sms.json} | 0 ....records.json => setting.sms_records.json} | 0 ...ay.transfer.json => setting.transfer.json} | 0 ...platform.json => setting.wxoplatform.json} | 0 admin/src/lang/zh-cn/tools.code.edit.json | 4 +- ...{tools.code.json => tools.code.index.json} | 0 .../{tools.cron.json => tools.schedule.json} | 5 +- ...ols.update.json => tools.updatecache.json} | 0 .../default/components/aside/menu-item.vue | 57 +- .../default/components/header/index.vue | 63 +- admin/src/layout/default/index.vue | 2 +- admin/src/router/index.ts | 15 +- admin/src/router/routers.ts | 3 +- admin/src/stores/modules/app.ts | 8 +- admin/src/stores/modules/diy.ts | 1 + admin/src/stores/modules/user.ts | 4 +- admin/src/styles/iconfont.css | 10 +- admin/src/utils/request.ts | 9 +- .../views/diy/components/edit-image-ads.vue | 2 +- admin/src/views/diy/edit.vue | 22 +- admin/src/views/diy/index.vue | 483 ++++++++----- admin/src/views/diy/list.vue | 613 ++++++---------- admin/src/views/diy/member.vue | 18 - admin/src/views/diy/preview.vue | 196 ++++++ admin/src/views/diy/route.vue | 258 +++++++ admin/src/views/finance/account.vue | 283 ++++++++ admin/src/views/index/site_index.vue | 659 ++++++++++-------- admin/src/views/index/site_index__.vue | 340 +++++++++ admin/src/views/setting/map.vue | 2 +- admin/src/views/setting/notice.vue | 4 +- admin/src/views/setting/notice_records.vue | 2 +- admin/src/views/setting/sms_records.vue | 2 +- admin/src/views/tools/code/edit.vue | 45 +- admin/src/views/tools/cron.vue | 160 ----- admin/src/views/tools/schedule.vue | 101 +++ 66 files changed, 2605 insertions(+), 1133 deletions(-) create mode 100644 admin/src/assets/images/index/add_menu.png create mode 100644 admin/src/assets/images/index/del_model.png create mode 100644 admin/src/assets/images/index/edit.png create mode 100644 admin/src/assets/images/index/model_tag.png create mode 100644 admin/src/assets/images/index/site_img.png create mode 100644 admin/src/assets/images/iphone_bg.png rename admin/src/lang/zh-cn/{app_store.json => app.store.json} (100%) delete mode 100644 admin/src/lang/zh-cn/auth.menu.site.json rename admin/src/lang/zh-cn/{auth.menu.admin.json => auth.site_menu.json} (100%) rename admin/src/lang/zh-cn/{channel.weapp.message.json => channel.weapp.template.json} (100%) rename admin/src/lang/zh-cn/{channel.wechat.message.json => channel.wechat.template.json} (100%) create mode 100644 admin/src/lang/zh-cn/decorate.preview.json rename admin/src/lang/zh-cn/{diy.member.json => diy.edit.json} (77%) create mode 100644 admin/src/lang/zh-cn/diy.preview.json create mode 100644 admin/src/lang/zh-cn/diy.route.json create mode 100644 admin/src/lang/zh-cn/finance.account.json rename admin/src/lang/zh-cn/{index.json => index.index.json} (100%) rename admin/src/lang/zh-cn/{siteindex.json => index.site_index.json} (66%) rename admin/src/lang/zh-cn/{member.detail.json => member.member_detail.json} (100%) rename admin/src/lang/zh-cn/{order.recharge.order.json => order.recharge.list.json} (100%) rename admin/src/lang/zh-cn/{setting.notice.template.json => setting.notice.json} (94%) rename admin/src/lang/zh-cn/{setting.notice.records.json => setting.notice_records.json} (100%) rename admin/src/lang/zh-cn/{setting.pay.channel.json => setting.pay.json} (100%) rename admin/src/lang/zh-cn/{setting.sms.setting.json => setting.sms.json} (100%) rename admin/src/lang/zh-cn/{setting.sms.records.json => setting.sms_records.json} (100%) rename admin/src/lang/zh-cn/{setting.pay.transfer.json => setting.transfer.json} (100%) rename admin/src/lang/zh-cn/{setting.oplatform.json => setting.wxoplatform.json} (100%) rename admin/src/lang/zh-cn/{tools.code.json => tools.code.index.json} (100%) rename admin/src/lang/zh-cn/{tools.cron.json => tools.schedule.json} (79%) rename admin/src/lang/zh-cn/{tools.update.json => tools.updatecache.json} (100%) delete mode 100644 admin/src/views/diy/member.vue create mode 100644 admin/src/views/diy/preview.vue create mode 100644 admin/src/views/diy/route.vue create mode 100644 admin/src/views/finance/account.vue create mode 100644 admin/src/views/index/site_index__.vue delete mode 100644 admin/src/views/tools/cron.vue create mode 100644 admin/src/views/tools/schedule.vue diff --git a/admin/src/App.vue b/admin/src/App.vue index e5191849d..f56b86b2a 100644 --- a/admin/src/App.vue +++ b/admin/src/App.vue @@ -12,7 +12,6 @@ import useSystemStore from '@/stores/modules/system' import useAppStore from '@/stores/modules/app' import { useDark, useToggle } from '@vueuse/core' import { setThemeColor } from '@/utils/common' -import { language } from '@/lang' import { useRoute } from 'vue-router' const route = useRoute() @@ -20,15 +19,14 @@ const route = useRoute() // 初始化设置语言 const systemStore = useSystemStore() const locale = computed(() => (systemStore.lang === 'zh-cn' ? zhCn : en)) -language.loadLocaleMessages(route.path, systemStore.lang) const toggleDark = useToggle(useDark()) watch(route, () => { useAppStore().$patch(state => { - state.route = route.path + state.route = route.meta.view || route.path }) -}) +}, { immediate: true }) onMounted(() => { // 设置主题色 diff --git a/admin/src/api/diy.ts b/admin/src/api/diy.ts index 313e0bd75..df66a57a2 100644 --- a/admin/src/api/diy.ts +++ b/admin/src/api/diy.ts @@ -2,13 +2,22 @@ import request from '@/utils/request' /***************************************************** 自定义页面 ****************************************************/ +/** + * 获取自定义页面分页列表 + * @param params + * @returns + */ +export function getDiyPageList(params: Record) { + return request.get(`diy/diy`, {params}) +} + /** * 获取自定义页面列表 * @param params * @returns */ -export function getDiyPageList(params: Record) { - return request.get(`diy/diy`, { params }) +export function getDiyList(params: Record) { + return request.get(`diy/list`, {params}) } /** @@ -26,7 +35,7 @@ export function getDiyPageInfo(id: number) { * @returns */ export function addDiyPage(params: Record) { - return request.post('diy/diy', params, { showSuccessMessage: true }) + return request.post('diy/diy', params, {showSuccessMessage: true}) } /** @@ -34,7 +43,7 @@ export function addDiyPage(params: Record) { * @param params */ export function editDiyPage(params: Record) { - return request.put(`diy/diy/${params.id}`, params, { showSuccessMessage: true }) + return request.put(`diy/diy/${params.id}`, params, {showSuccessMessage: true}) } /** @@ -42,7 +51,7 @@ export function editDiyPage(params: Record) { * @param params */ export function setUseDiyPage(params: Record) { - return request.put(`diy/use`, params, { showSuccessMessage: true }) + return request.put(`diy/use`, params, {showSuccessMessage: true}) } /** @@ -50,7 +59,7 @@ export function setUseDiyPage(params: Record) { * @param params */ export function editDiyPageShare(params: Record) { - return request.put(`diy/diy/share`, params, { showSuccessMessage: true }) + return request.put(`diy/diy/share`, params, {showSuccessMessage: true}) } /** @@ -59,28 +68,28 @@ export function editDiyPageShare(params: Record) { * @returns */ export function deleteDiyPage(id: number) { - return request.delete(`diy/diy/${id}`, { showSuccessMessage: true }) + return request.delete(`diy/diy/${id}`, {showSuccessMessage: true}) } /** * 获取自定义页面初始化数据 */ export function initPage(params: Record) { - return request.get(`diy/init`, { params }) + return request.get(`diy/init`, {params}) } /** * 获取自定义链接列表 */ export function getLink(params: Record) { - return request.get(`diy/link`, { params }) + return request.get(`diy/link`, {params}) } /** * 获取底部导航数据 */ export function getDiyBottom(params: Record) { - return request.get(`diy/bottom`, { params }) + return request.get(`diy/bottom`, {params}) } /** @@ -89,14 +98,14 @@ export function getDiyBottom(params: Record) { * @returns */ export function setDiyBottom(params: Record) { - return request.post('diy/bottom', params, { showSuccessMessage: true }) + return request.post('diy/bottom', params, {showSuccessMessage: true}) } /** * 获取页面模板 */ export function getDiyTemplate(params: Record) { - return request.get(`diy/template`, { params }) + return request.get(`diy/template`, {params}) } /** @@ -105,7 +114,7 @@ export function getDiyTemplate(params: Record) { * @returns */ export function getDiyRouteList(params: Record) { - return request.get(`diy/route`, { params }) + return request.get(`diy/route`, {params}) } /** @@ -113,7 +122,7 @@ export function getDiyRouteList(params: Record) { * @param params */ export function getDiyRouteInfo(params: Record) { - return request.get(`diy/route/info`, { params }); + return request.get(`diy/route/info`, {params}); } /** @@ -121,5 +130,32 @@ export function getDiyRouteInfo(params: Record) { * @param params */ export function editDiyRouteShare(params: Record) { - return request.put(`diy/route/share`, params, { showSuccessMessage: true }) + return request.put(`diy/route/share`, params, {showSuccessMessage: true}) +} + +/** + * 获取自定义页面列表 + * @param params + * @returns + */ +export function getDecoratePage(params: Record) { + return request.get(`diy/decorate`, {params}) +} + +/** + * 切换模板 + * @param params + * @returns + */ +export function changeTemplate(params: Record) { + return request.put(`diy/change`, params, {showSuccessMessage: true}) +} + +/** + * 获取预览数据 + * @param params + * @returns + */ +export function getPreviewData(params: Record) { + return request.put(`diy/preview`, params, {showSuccessMessage: false}) } \ No newline at end of file diff --git a/admin/src/api/site.ts b/admin/src/api/site.ts index 8a57eee23..d4e89cb36 100644 --- a/admin/src/api/site.ts +++ b/admin/src/api/site.ts @@ -216,4 +216,39 @@ export function getLogList(params: Record) { */ export function getLogInfo(id: number) { return request.get(`site/log/${id}`) +} +/***************************************************** 账单列表 **************************************************/ + +/** + * 获取账单列表 + * @param params + * @returns + */ +export function getAccountList(params: Record) { + return request.get(`site/account`, { params }) +} + +/** + * 获取账单详情 + * @param params + * @returns + */ +export function getAccountInfo(id: number) { + return request.get(`site/account/${id}`) +} + +/** + * 获取账单统计 + * @returns + */ +export function getAccountStat() { + return request.get(`site/account/stat`) +} + +/** + * 获取账单类型 + * @returns + */ +export function getAccountType() { + return request.get(`site/account/type`) } \ No newline at end of file diff --git a/admin/src/api/sys.ts b/admin/src/api/sys.ts index 6ed0283fe..8d061e423 100644 --- a/admin/src/api/sys.ts +++ b/admin/src/api/sys.ts @@ -244,6 +244,26 @@ export function moveAttachment(params: Record) { return request.put(`sys/attachment/batchmove`, params) } +/** + * 获取menu菜单 + */ +export function getAuthMenu() { + return request.get(`auth/site/showmenu`) +} + +/** + * 获取快捷菜单 + */ +export function getShortcutMenu() { + return request.get(`sys/config/shortcut_menu`) +} + +/** + * 添加快捷菜单 + */ +export function setShortcutMenu(params: Record) { + return request.put(`sys/config/shortcut_menu`, params, { showSuccessMessage: true }) +} /***************************************************** 地址管理 ****************************************************/ @@ -265,6 +285,21 @@ export function getAreatree(level: number = 1) { return request.get(`sys/area/tree/${level}`) } + +/** + * 获取地址信息 + */ +export function getAddressInfo(params: any) { + return request.get(`sys/area/get_info`, { params }) +} + +/** + * 获取地址信息 + */ +export function getContraryAddress(params: any) { + return request.get(`sys/area/contrary`, { params }) +} + /***************************************************** 存储设置 ****************************************************/ /** @@ -345,7 +380,7 @@ export function setTransferInfo(params: Record) { * @returns */ export function getCronList(params: any) { - return request.get(`sys/cron`, { params }) + return request.get(`sys/schedule/list`, { params }) } /** @@ -481,5 +516,17 @@ export function getMap() { return request.get(`sys/config/map`) } +/***************************************************** 首页 ****************************************************/ +/** + * 获取首页列表 + */ +export function getIndexList() { + return request.get(`sys/config/site_index`) +} - +/** + * 设置首页模版 + */ +export function setIndexList(params: Record) { + return request.put(`sys/config/site_index`, params, { showSuccessMessage: true }) +} diff --git a/admin/src/assets/images/index/add_menu.png b/admin/src/assets/images/index/add_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..3bc05d8fc7e808fb71b2beb2d3d6b44e16aafb3c GIT binary patch literal 897 zcmV-{1AhF8P)Px&J4r-AR9HvVnL%h2XB5YO|IMn=swmQv)ljHVsb@tGf`@2!6mQxVq*yFOD7&kI z1;OG*Po z4K?y=2)H3{i#^d}u)2|1$p420>0(yB_2TLRI(cjN#4*8wkjcZye;$28`a(`)lLh$# zI<9RtqX#iPOtvUm6Q^Gc^ZA9GUc4DUDd4(-txtHIL?ojmj1nW`L~(>oekZk3{ zzD_+#x%LB4^DKq*9YM4WWc0MMf~kVd#kdd53Tad$FTG^;+1+~PxRx{6*Nm4$wwO_& z0_b$x*XD7w8N+hyR00B52C`aSUBOcr8)F7YONoz^%UR;`d>#Yy;s%J=q7AMsDZyZ~ zaPMG?%O&QJD#x1fOB?}B^viMW8-pVO0slbUsH5FHkkQ{Au6-f#rH^g~9&3U$A%d&w z$lFedgAD=2 z84SC{BfuR$t4#WJdh1g=lmqK4QmB(3R-@Hi-O;H-I+(e z6;9gnmmy<)X(|K8{@PiFjP=F6`ozY1^ihS3_3&sM@_mfo#80EcWI~VMs*tfBVE$J{ zV>|+$Sn9`z=wcg07@|XOqC|K9PW>75lxaAl_A{FFGX%`73_V|ehA3YRZed(&<}<`A XNUpmhP-RPx%zez+vR7gw3m(ObxK^TUgia$_LK?Fe$(u0B*K?DyXYTGon!H88zFp20l*wc+>Dk=eTw{EET&r_e zF5l?=w*spHBu$fW4YgbF+;!D%z zTrH_Zsa;8ayDp{>ohclT>+B|IezP}K_4YaLRtyY`OX0!8MN}}dc5m;U6R+N() zjYfK8WTXu!m&=lpd_FHjYP6co=0YNoSfxft0`k*sfe!#T06DkoFz~jdc5t)VoR0z3 zD{}W8fsX)}qgEV1%H{I8TrQ{h_NY`UGx>b}SybZYxmG;WGkAJ>`m81I%3PAYP$)d_ z6)dT5#yJdJ_pVp!SmtuwD|rRBWbfHrakf*tIk@h1-QLS~>ZyT*xz}}j+y)}W;0@?kEP)Px$;7LS5R5(wq)4z)oK@Qn(mWtr9 zVsTcA9H*N}^x|owrP%9V;2$6dHYU+Oz$V3eGRtk)=w*%I)bl=k-+MEJ|8(eI9Ov9+ z5jg|kn}}@o`~4q9{lXA4KLKzPz()Yb0fgG~-uur1TL@z2r>g1zw0gbX`*yp1pwVc2 zP}QT8$>ii00_ukBd0`eSyC8B%XZg<@|cSuCSd~!@g&H}g}MbT20W$*Ta$XeS~ zRZ}3vW=hx*0Q&&E^xm)hG3+!=qw#p`RdwZeq`<7TPE|wNtt3fS(=?SCC?KQJs2}E7 zfh?)&8zOq$Y&NIJ6bi_2INTzlEAtR$z69XaUPunLTCG|f#{&S%6-ky=HQd=Qw^RNV zWQ=)0L~9jEt^#;bh2)8tc^klK?|pdoGshTnjfi@orFluFe{B~!;k`dqR+xDeKz9+O zoM;Ae&RG$8wkVQA#+W-q^bo+8-9)6S$B1Z9wBwv>i^$!1pFAugY;AuW$F~85;{2tn o>Q0g*>&0WU)}B+A;NUjP6A literal 0 HcmV?d00001 diff --git a/admin/src/assets/images/index/model_tag.png b/admin/src/assets/images/index/model_tag.png new file mode 100644 index 0000000000000000000000000000000000000000..01cfc40f78de3d5322abb865d5af337d08d0aaf7 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k#^NA%Cx&(BWL^R};hrvzAsWHS zDGGuHO;@C)rS+3jQbZ0f|Nj5~|MlnQ*-EoszHsos0R^W6o6OVC&s)oot-v~A`N11E zDt-Y~xN_bo`FCe$@md4>3CkMw>J)S%Jo_wy{xC2+*`me!ezGMi&Px)upnW31K}zDN>^n1+xO zu+#+hQu9Mg{Q?p;si0re&4YYR93^8uG!4#Oh54gk=5TY_5n)<;H~|Y-vqI)d5p<1( z!eZDI3q!iY=}RzU9mEWQXS(vU0<)Tc{OAE{B4H@JS53*aHsy3C}KorVU|VGPG%?_3-TVu%-Z{ zES@wFmW;zl)!`O7__Xy<8HiHWhlKt$Zh9MEcj2?bRP2gC% zf=kVZgw62!AU$TG+`SN$>CVZuL3#V`Mo8ZV^G3q#5o*JoVw9ioH6tmEY(*u8VWn(r zGYM{#z{QW$+2*W=mD^!Olxk9F`Z`#%!(Hs;fv`ME->usPF>7Js07!|}sMIW4>xT1d z&EQsaD}}{|VHVDWRp+=ihX1udIEaxN^+h8ZtF!e|w?Bp2S#b{8yTGDj#m2Nvf* z+;CVh3dE7yy#cN7g5Nz(#v6QRyLHWOt*0CO9_&5_IWu9vWAN=SFf1AFZvp$4sJF|8 z`X<1c%POvIE7-YE0Tq`*ueosIoI0&IuQ;qYuGq8KwH2}q*rmNOz2U>jdYrxI!=aNf zZ73wZq~a#7g3Y`2cXS`fn4rHCx4^PI=zK5iNz&t;vKlsg2XjWi+>ut``k~=d7vPDR z3RJS(ARd~zB@LL9i1Vc)`0?vvj!i zlJRyef`%1!f*EY5(^(B`E@oGY;8GEExZ9n*I923Znz|3A=;nIHyPHMT6(=u1(+FtV z$P8xXxbqUmYT__s>&jY^`Q99?v(vUI@Z4F@zrrlc`1l%kCJw8q*-X%@D`Cs`-e-9; z3p0M+#+|9zYVqSsfK+>tQ?HG4?~=8Yr;A2|)# zaWJr(|N8aXgbJHL+I#^kpvBo-;mi|~bQ;oejC&5UCi(}s#x`Hr1agtmb_z&KbmRlL zueo2h&KQL002ovPDHLkV1ia1?IHjG literal 0 HcmV?d00001 diff --git a/admin/src/assets/images/iphone_bg.png b/admin/src/assets/images/iphone_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..3feb4143e29944fda60b98b498fefdb916d85dff GIT binary patch literal 60177 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 OcUML8cGk_Oul@(|z{9iv literal 0 HcmV?d00001 diff --git a/admin/src/lang/language.ts b/admin/src/lang/language.ts index f62c565be..5d363f8cb 100644 --- a/admin/src/lang/language.ts +++ b/admin/src/lang/language.ts @@ -44,7 +44,6 @@ class Language { this.setI18nLanguage(locale) return nextTick() } catch (e) { - console.log(e) this.setI18nLanguage(locale) return nextTick() } diff --git a/admin/src/lang/zh-cn/app_store.json b/admin/src/lang/zh-cn/app.store.json similarity index 100% rename from admin/src/lang/zh-cn/app_store.json rename to admin/src/lang/zh-cn/app.store.json diff --git a/admin/src/lang/zh-cn/auth.menu.site.json b/admin/src/lang/zh-cn/auth.menu.site.json deleted file mode 100644 index b8d33d6ef..000000000 --- a/admin/src/lang/zh-cn/auth.menu.site.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "menuName": "菜单名称", - "menuType": "类型", - "authId": "权限标识", - "menuTypeDir": "目录", - "menuTypeMenu": "菜单", - "menuTypeButton": "按钮", - "menuDeleteTips": "确定要删除该菜单吗?", - "addMenu": "添加菜单", - "updateMenu": "编辑菜单", - "routePath": "路由路径", - "viewPath": "组件路径", - "parentMenu": "父级菜单", - "menuIcon": "菜单图标", - "sort":"权重", - "menuKey":"菜单标识", - "menuNamePlaceholder": "请输入菜单名称", - "menuKeyPlaceholder": "请输入菜单标识", - "menuKeyValidata":"菜单标识只能使用字母数字下划线并且开头不能为数字", - "routePathPlaceholder": "请输入路由路径", - "viewPathPlaceholder": "请输入组件路径", - "authIdPlaceholder": "请输入权限标识", - "selectIconPlaceholder": "请选择菜单图标", - "topLevel": "顶级" -} \ No newline at end of file diff --git a/admin/src/lang/zh-cn/auth.menu.admin.json b/admin/src/lang/zh-cn/auth.site_menu.json similarity index 100% rename from admin/src/lang/zh-cn/auth.menu.admin.json rename to admin/src/lang/zh-cn/auth.site_menu.json diff --git a/admin/src/lang/zh-cn/channel.weapp.message.json b/admin/src/lang/zh-cn/channel.weapp.template.json similarity index 100% rename from admin/src/lang/zh-cn/channel.weapp.message.json rename to admin/src/lang/zh-cn/channel.weapp.template.json diff --git a/admin/src/lang/zh-cn/channel.wechat.message.json b/admin/src/lang/zh-cn/channel.wechat.template.json similarity index 100% rename from admin/src/lang/zh-cn/channel.wechat.message.json rename to admin/src/lang/zh-cn/channel.wechat.template.json diff --git a/admin/src/lang/zh-cn/common.json b/admin/src/lang/zh-cn/common.json index 516e2635f..c22ab7c96 100644 --- a/admin/src/lang/zh-cn/common.json +++ b/admin/src/lang/zh-cn/common.json @@ -90,7 +90,9 @@ "503": "服务不可用", "504": "网络超时", "505": "http版本不支持该请求", - "timeout": "网络请求超时!" + "timeout": "网络请求超时!", + "requestError": "请求错误", + "errNetwork": "网络请求错误" }, "linkPlaceholder": "请选择跳转链接", "selectLinkTips": "链接选择", @@ -105,5 +107,8 @@ "emptyApp": "暂未安装任何应用", "newInfo": "最新消息", "mapSetting": "地图设置", - "mapKey": "腾讯地图KEY" + "mapKey": "腾讯地图KEY", + "indexTemplate": "首页模版", + "indexSwitch": "切换首页", + "indexWarning": "你确定要切换首页吗?" } \ No newline at end of file diff --git a/admin/src/lang/zh-cn/decorate.preview.json b/admin/src/lang/zh-cn/decorate.preview.json new file mode 100644 index 000000000..b706dee11 --- /dev/null +++ b/admin/src/lang/zh-cn/decorate.preview.json @@ -0,0 +1,12 @@ +{ + "preview": "预览", + "weapp": "微信小程序", + "wechat": "微信公众号", + "link": "链接", + "copy": "复制", + "copySuccess": "复制成功", + "weappNotSet": "小程序未配置", + "developTitle": "开发环境配置", + "wapDomain": "wap域名(WAP_DOMAIN)", + "wapDomainPlaceholder": "请输入wap域名" +} \ No newline at end of file diff --git a/admin/src/lang/zh-cn/diy.member.json b/admin/src/lang/zh-cn/diy.edit.json similarity index 77% rename from admin/src/lang/zh-cn/diy.member.json rename to admin/src/lang/zh-cn/diy.edit.json index 512921482..a38a6a6a8 100644 --- a/admin/src/lang/zh-cn/diy.member.json +++ b/admin/src/lang/zh-cn/diy.edit.json @@ -1,9 +1,26 @@ { + "developTitle": "开发环境配置", + "wapDomain": "wap域名(WAP_DOMAIN)", + "wapDomainPlaceholder": "请输入wap域名", "pageSet": "页面设置", + "tabEditContent": "内容", + "tabEditStyle": "样式", + "pageStyle": "页面样式", "pageContent": "页面内容", "pageName": "页面名称", "pageNamePlaceholder": "请输入页面名称", "pageBgColor": "页面颜色", + "bgUrl": "背景图片", + "marginSet": "边距设置", + "componentStyleTitle": "组件样式", + "bottomBgColor": "底部背景", + "bottomBgTips": "底部背景包含边距和圆角", + "componentBgColor": "组件背景", + "marginTop": "上边距", + "marginBottom": "下边距", + "marginBoth": "左右边距", + "topRounded": "上圆角", + "bottomRounded": "下圆角", "warmPrompt": "温馨提示", "leavePageTitleTips": "确定离开此页面?", "leavePageContentTips": "系统可能不会保存您所做的更改。", @@ -27,7 +44,12 @@ "imageAdsTips": "建议上传尺寸相同的图片,推荐尺寸750*350", "addImageAd": "添加图片", "imageUrlTip": "请上传图片", + "imageHeight": "图片高度", + "imageHeightPlaceholder": "请输入图片高度", + "imageHeightRegNum": "图片高度格式错误,请输入数字", "articleData": "文章数据", + "articleStyle": "文章样式", + "articleBgColor": "文章背景", "dataSources": "数据来源", "defaultSources": "默认", "manualSelectionSources": "手动选择", @@ -65,6 +87,7 @@ "addGraphicNav": "添加导航", "blankHeightSet": "高度设置", "blankHeight": "空白高度", + "styleSet": "风格设置", "titleStyle": "标题样式", "selectStyle": "风格选择", "titleContent": "标题内容", @@ -73,6 +96,7 @@ "textAlign": "对齐方式", "textAlignLeft": "居左", "textAlignCenter": "居中", + "textSet": "文字设置", "textFontSize": "文字大小", "textFontWeight": "文字粗细", "fontWeightBold": "加粗", @@ -84,5 +108,6 @@ "moreContent": "“更多”按钮内容", "more": "文字", "morePlaceholder": "请输入文字", - "moreIsShow": "是否显示" + "moreIsShow": "是否显示", + "memberStyle": "会员样式" } \ No newline at end of file diff --git a/admin/src/lang/zh-cn/diy.index.json b/admin/src/lang/zh-cn/diy.index.json index 4c5e1f486..bac301df5 100644 --- a/admin/src/lang/zh-cn/diy.index.json +++ b/admin/src/lang/zh-cn/diy.index.json @@ -1,12 +1,19 @@ { "decorate": "装修", + "pageDecorate": "页面装修", + "changeTemplate": "切换模板", + "templateName": "模板名称", "preview": "预览", - "weapp": "微信小程序", - "wechat": "微信公众号", - "link": "链接", - "copy": "复制", - "copySuccess": "复制成功", - "weappNotSet": "小程序未配置", + "hopeBeforeTip": "我希望把", + "hopeAfterTip": "切换成其他样式", + "changeTemplateTip": "选择", + "template": "模板", + "changeMyPageTip": "选择微页面作为", + "createPage": "创建微页面", + "myPage": "我的微页面", + "refreshPage": "刷新", + "placeholderTemplate": "请选择一个模板", + "placeholderMyPage": "请选择一个微页面", "developTitle": "开发环境配置", "wapDomain": "wap域名(WAP_DOMAIN)", "wapDomainPlaceholder": "请输入wap域名" diff --git a/admin/src/lang/zh-cn/diy.list.json b/admin/src/lang/zh-cn/diy.list.json index e951cb26b..c3ec6aa73 100644 --- a/admin/src/lang/zh-cn/diy.list.json +++ b/admin/src/lang/zh-cn/diy.list.json @@ -1,11 +1,12 @@ { "title": "页面名称", "typeName": "页面模板", + "addType": "页面类型", "addPageTips": "创建新页面", - "pageTemplatePlaceholder": "请选择页面模板", + "pageTypePlaceholder": "请选择页面模板", "nameMax": "名称不能超过12个字符", - "templateName": "模板名称", - "empty": "空白", + "templateName": "已有模板", + "emptyTemplate": "空模板", "status": "状态", "updateTime": "更新时间", "use": "使用", diff --git a/admin/src/lang/zh-cn/diy.preview.json b/admin/src/lang/zh-cn/diy.preview.json new file mode 100644 index 000000000..b706dee11 --- /dev/null +++ b/admin/src/lang/zh-cn/diy.preview.json @@ -0,0 +1,12 @@ +{ + "preview": "预览", + "weapp": "微信小程序", + "wechat": "微信公众号", + "link": "链接", + "copy": "复制", + "copySuccess": "复制成功", + "weappNotSet": "小程序未配置", + "developTitle": "开发环境配置", + "wapDomain": "wap域名(WAP_DOMAIN)", + "wapDomainPlaceholder": "请输入wap域名" +} \ No newline at end of file diff --git a/admin/src/lang/zh-cn/diy.route.json b/admin/src/lang/zh-cn/diy.route.json new file mode 100644 index 000000000..e951cb26b --- /dev/null +++ b/admin/src/lang/zh-cn/diy.route.json @@ -0,0 +1,36 @@ +{ + "title": "页面名称", + "typeName": "页面模板", + "addPageTips": "创建新页面", + "pageTemplatePlaceholder": "请选择页面模板", + "nameMax": "名称不能超过12个字符", + "templateName": "模板名称", + "empty": "空白", + "status": "状态", + "updateTime": "更新时间", + "use": "使用", + "isUse": "使用中", + "unused": "未使用", + "all": "全部", + "basicRoute": "基础页面", + "diyPage": "自定义页面", + "wapUrl": "wap链接", + "weappUrl": "小程序链接", + "shareLink": "分享链接", + "copy": "复制", + "copySuccess": "复制成功", + "titlePlaceholder": "请输入页面名称", + "addDiyPage": "添加页面", + "diyPageDeleteTips": "确定要删除该自定义页面吗?", + "promote": "推广", + "share": "分享", + "shareSet": "分享设置", + "sharePage": "分享页面", + "wechat": "微信公众号", + "weapp": "微信小程序", + "shareTitle": "分享标题", + "shareTitlePlaceholder": "请输入分享标题", + "shareDesc": "分享描述", + "shareDescPlaceholder": "请输入分享描述", + "shareImageUrl": "分享图片" +} \ No newline at end of file diff --git a/admin/src/lang/zh-cn/finance.account.json b/admin/src/lang/zh-cn/finance.account.json new file mode 100644 index 000000000..6d91b5570 --- /dev/null +++ b/admin/src/lang/zh-cn/finance.account.json @@ -0,0 +1,33 @@ +{ + "id":"主键", + "accountDetail":"账单详情", + "detail":"详情", + "idPlaceholder":"请输入主键", + "siteId":"站点id", + "siteIdPlaceholder":"请输入站点id", + "type":"账单类型", + "money":"账单金额", + "moneyPlaceholder":"请输入账单金额", + "tradeNo":"账单编号", + "tradeNoPlaceholder":"请输入账单编号", + "createTime":"添加时间", + "createTimePlaceholder":"请输入添加时间", + "addSiteAccountLog":"添加站点账单记录", + "updateSiteAccountLog":"编辑站点账单记录", + "siteAccountLogDeleteTips":"确定要删除该站点账单记录吗?", + "totalPay":"累计收款(元)", + "totalRefund":"累计退款(元)", + "totalTransfer":"累计转账(元)", + "accountType": "请选择退款类型", + "startDate": "开始时间", + "endDate": "结束时间", + "transferNo" : "转账单号", + "transferTime": "转账时间", + "transferType": "转账类型", + "transferMoney": "转账金额", + "transferRemark": "转账说明", + "outTradeNo": "单号", + "refundMoney": "退款金额", + "failReason": "退款说明", + "body": "说明" +} \ No newline at end of file diff --git a/admin/src/lang/zh-cn/index.json b/admin/src/lang/zh-cn/index.index.json similarity index 100% rename from admin/src/lang/zh-cn/index.json rename to admin/src/lang/zh-cn/index.index.json diff --git a/admin/src/lang/zh-cn/siteindex.json b/admin/src/lang/zh-cn/index.site_index.json similarity index 66% rename from admin/src/lang/zh-cn/siteindex.json rename to admin/src/lang/zh-cn/index.site_index.json index e3058ad30..8aae3b0b0 100644 --- a/admin/src/lang/zh-cn/siteindex.json +++ b/admin/src/lang/zh-cn/index.site_index.json @@ -40,5 +40,28 @@ "accumulative":"累计", "officialAccount": "Niucloud官方公众号", "officialAccountDesc": "微信扫码关注", - "WeCom": "添加企业微信群" + "WeCom": "添加企业微信群", + "path": "地址", + "menuName": "名称", + "menuNamePlaceholder": "模版名称", + "menuBgColor": "背景颜色", + "menuImg": "选择图标", + "menuDesc": "描述", + "addShortcutMenu": "添加快捷模版", + "appTemplate": "应用模块", + "siteType": "站点类型", + "periodTime": "有效期", + "renew": "续费", + "selectModel": "选择模版", + "addMenu": "添加模块", + "shortcutLink": "链接", + "emptyMenu": "暂无快捷模块", + "select": "选择", + "custom": "自定义", + "accessSite": "访问站点", + "pathSelect": "选择链接", + "bgColorPlaceholder": "请选择背景色", + "iconPlaceholder": "请选择图标", + "pathPlaceholder": "请选择链接", + "descPlaceholder": "输入描述语…" } \ No newline at end of file diff --git a/admin/src/lang/zh-cn/member.detail.json b/admin/src/lang/zh-cn/member.member_detail.json similarity index 100% rename from admin/src/lang/zh-cn/member.detail.json rename to admin/src/lang/zh-cn/member.member_detail.json diff --git a/admin/src/lang/zh-cn/order.recharge.order.json b/admin/src/lang/zh-cn/order.recharge.list.json similarity index 100% rename from admin/src/lang/zh-cn/order.recharge.order.json rename to admin/src/lang/zh-cn/order.recharge.list.json diff --git a/admin/src/lang/zh-cn/setting.notice.template.json b/admin/src/lang/zh-cn/setting.notice.json similarity index 94% rename from admin/src/lang/zh-cn/setting.notice.template.json rename to admin/src/lang/zh-cn/setting.notice.json index f2f25cd8a..2ce179c98 100644 --- a/admin/src/lang/zh-cn/setting.notice.template.json +++ b/admin/src/lang/zh-cn/setting.notice.json @@ -17,6 +17,5 @@ "weappTempKey" : "模板编号", "smsId":"短信模版ID", "smsIdPlaceholder":"短信模版ID", - "noticeType":"消息类型" - + "noticeType":"消息类型" } \ No newline at end of file diff --git a/admin/src/lang/zh-cn/setting.notice.records.json b/admin/src/lang/zh-cn/setting.notice_records.json similarity index 100% rename from admin/src/lang/zh-cn/setting.notice.records.json rename to admin/src/lang/zh-cn/setting.notice_records.json diff --git a/admin/src/lang/zh-cn/setting.pay.channel.json b/admin/src/lang/zh-cn/setting.pay.json similarity index 100% rename from admin/src/lang/zh-cn/setting.pay.channel.json rename to admin/src/lang/zh-cn/setting.pay.json diff --git a/admin/src/lang/zh-cn/setting.sms.setting.json b/admin/src/lang/zh-cn/setting.sms.json similarity index 100% rename from admin/src/lang/zh-cn/setting.sms.setting.json rename to admin/src/lang/zh-cn/setting.sms.json diff --git a/admin/src/lang/zh-cn/setting.sms.records.json b/admin/src/lang/zh-cn/setting.sms_records.json similarity index 100% rename from admin/src/lang/zh-cn/setting.sms.records.json rename to admin/src/lang/zh-cn/setting.sms_records.json diff --git a/admin/src/lang/zh-cn/setting.pay.transfer.json b/admin/src/lang/zh-cn/setting.transfer.json similarity index 100% rename from admin/src/lang/zh-cn/setting.pay.transfer.json rename to admin/src/lang/zh-cn/setting.transfer.json diff --git a/admin/src/lang/zh-cn/setting.oplatform.json b/admin/src/lang/zh-cn/setting.wxoplatform.json similarity index 100% rename from admin/src/lang/zh-cn/setting.oplatform.json rename to admin/src/lang/zh-cn/setting.wxoplatform.json diff --git a/admin/src/lang/zh-cn/tools.code.edit.json b/admin/src/lang/zh-cn/tools.code.edit.json index 535e9410f..56c0fe9c5 100644 --- a/admin/src/lang/zh-cn/tools.code.edit.json +++ b/admin/src/lang/zh-cn/tools.code.edit.json @@ -34,6 +34,8 @@ "columnComment": "字段描述", "columnType": "类型", "fieldAttribute": "字段属性", + "addAndEdit":"添加编辑", + "listSearch":"列表查询", "isPk":"是否主键", "isRequired":"是否必填", "isInsert":"是否添加", @@ -41,7 +43,7 @@ "isLists":"列表展示", "isSearch":"是否搜索", "isQuery":"是否查询", - "queryType":"查询方式", + "queryType":"搜索方式", "viewType":"显示方式", "pkRepeatTip": "只能添加一个主键", "formInput":"文本框", diff --git a/admin/src/lang/zh-cn/tools.code.json b/admin/src/lang/zh-cn/tools.code.index.json similarity index 100% rename from admin/src/lang/zh-cn/tools.code.json rename to admin/src/lang/zh-cn/tools.code.index.json diff --git a/admin/src/lang/zh-cn/tools.cron.json b/admin/src/lang/zh-cn/tools.schedule.json similarity index 79% rename from admin/src/lang/zh-cn/tools.cron.json rename to admin/src/lang/zh-cn/tools.schedule.json index 62a72e664..c9ad30da8 100644 --- a/admin/src/lang/zh-cn/tools.cron.json +++ b/admin/src/lang/zh-cn/tools.schedule.json @@ -13,5 +13,8 @@ "nextTime":"下次执行时间", "task":"任务命令", "data":"附加参数", - "statusDesc":"最后执行结果" + "statusDesc":"最后执行结果", + "key": "key", + "timeClass": "时间类型", + "executeTime": "执行时间" } \ No newline at end of file diff --git a/admin/src/lang/zh-cn/tools.update.json b/admin/src/lang/zh-cn/tools.updatecache.json similarity index 100% rename from admin/src/lang/zh-cn/tools.update.json rename to admin/src/lang/zh-cn/tools.updatecache.json diff --git a/admin/src/layout/default/components/aside/menu-item.vue b/admin/src/layout/default/components/aside/menu-item.vue index 1e8476c01..8b0b09df3 100644 --- a/admin/src/layout/default/components/aside/menu-item.vue +++ b/admin/src/layout/default/components/aside/menu-item.vue @@ -14,7 +14,12 @@ @@ -23,13 +28,35 @@ + +
+
+
+ {{ items.name }} +
+
+
+
+ {{ itemTo.name }} +
+
+
+ +
diff --git a/admin/src/layout/default/components/header/index.vue b/admin/src/layout/default/components/header/index.vue index be886629b..edebf1b6e 100644 --- a/admin/src/layout/default/components/header/index.vue +++ b/admin/src/layout/default/components/header/index.vue @@ -23,7 +23,12 @@
+ + + diff --git a/admin/src/views/index/site_index__.vue b/admin/src/views/index/site_index__.vue new file mode 100644 index 000000000..ddc4975dd --- /dev/null +++ b/admin/src/views/index/site_index__.vue @@ -0,0 +1,340 @@ + + + + + diff --git a/admin/src/views/setting/map.vue b/admin/src/views/setting/map.vue index 56c750e1f..58dd41716 100644 --- a/admin/src/views/setting/map.vue +++ b/admin/src/views/setting/map.vue @@ -25,6 +25,7 @@ import { setMap, getMap } from '@/api/sys' import { FormInstance, } from 'element-plus' const loading = ref(false) +const formRef = ref() const formData = reactive>({ key : '' }) @@ -39,7 +40,6 @@ setFormData() */ const save = async (formEl: FormInstance | undefined) => { if (loading.value || !formEl) return - setMap(formData).then(() => { loading.value = false }).catch(() => { diff --git a/admin/src/views/setting/notice.vue b/admin/src/views/setting/notice.vue index a64bb52ea..349ff4373 100644 --- a/admin/src/views/setting/notice.vue +++ b/admin/src/views/setting/notice.vue @@ -101,10 +101,10 @@ const loadNoticeList = () => { item.sms_type = item.support_type.indexOf('sms') !== -1 ? 1 : 0; item.wechat_type = item.support_type.indexOf('wechat') !== -1 ? 1 : 0; item.weapp_type = item.support_type.indexOf('weapp') !== -1 ? 1 : 0; - if(item.receiver_type == 1){ + if(item.receiver_type == 0){ noticeTableData.buyer.push(item) } - if(item.receiver_type == 2){ + if(item.receiver_type == 1){ noticeTableData.seller.push(item) } }) diff --git a/admin/src/views/setting/notice_records.vue b/admin/src/views/setting/notice_records.vue index 0987630de..93e257c68 100644 --- a/admin/src/views/setting/notice_records.vue +++ b/admin/src/views/setting/notice_records.vue @@ -110,7 +110,7 @@ const setTemplateList = async () => { Object.keys(res.data).forEach(key => { const item = res.data[key] const value = { value: key, name: item.name } - item.receiver_type == 1 ? templateList.buyer.list.push(value) : templateList.seller.list.push(value) + item.receiver_type == 0 ? templateList.buyer.list.push(value) : templateList.seller.list.push(value) }) }).catch(() => { diff --git a/admin/src/views/setting/sms_records.vue b/admin/src/views/setting/sms_records.vue index e2a1445d3..5ec406e07 100644 --- a/admin/src/views/setting/sms_records.vue +++ b/admin/src/views/setting/sms_records.vue @@ -111,7 +111,7 @@ const setTemplateList = async () => { Object.keys(res.data).forEach(key => { const item = res.data[key] const value = { value: key, name: item.name } - item.receiver_type == 1 ? templateList.buyer.list.push(value) : templateList.seller.list.push(value) + item.receiver_type == 0 ? templateList.buyer.list.push(value) : templateList.seller.list.push(value) }) }).catch(() => { diff --git a/admin/src/views/tools/code/edit.vue b/admin/src/views/tools/code/edit.vue index 892d67822..c243b3985 100644 --- a/admin/src/views/tools/code/edit.vue +++ b/admin/src/views/tools/code/edit.vue @@ -126,20 +126,20 @@
- - {{ t('commentField') }} -
-
{{ t('isRequired') }}: +
{{ t('viewType') }}:
- - {{ t('yes') }} - {{ t('no') }} - + + +
+
+ {{t('addAndEdit')}} +
{{ t('isInsert') }}:
@@ -162,6 +162,21 @@
+
+
{{ t('isRequired') }}: +
+
+ + {{ t('yes') }} + {{ t('no') }} + +
+
+
+ {{t('listSearch')}} +
+
{{ t('isLists') }}:
@@ -204,17 +219,7 @@
-
-
{{ t('viewType') }}: -
-
- - - -
-
+
diff --git a/admin/src/views/tools/cron.vue b/admin/src/views/tools/cron.vue deleted file mode 100644 index eeedb02d9..000000000 --- a/admin/src/views/tools/cron.vue +++ /dev/null @@ -1,160 +0,0 @@ - - - - - diff --git a/admin/src/views/tools/schedule.vue b/admin/src/views/tools/schedule.vue new file mode 100644 index 000000000..6ec468fd4 --- /dev/null +++ b/admin/src/views/tools/schedule.vue @@ -0,0 +1,101 @@ + + + + +