Pre Merge pull request !751 from huppygo/dev_vtj
|
|
@ -0,0 +1,5 @@
|
||||||
|
Android 4.1
|
||||||
|
IOS 7.1
|
||||||
|
Chrome > 31
|
||||||
|
ff > 31
|
||||||
|
ie >= 11
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
root = true
|
|
||||||
[*.{js,ts,vue}]
|
|
||||||
charset = utf-8 # 设置文件字符集为 utf-8
|
|
||||||
end_of_line = lf # 控制换行类型(lf | cr | crlf)
|
|
||||||
insert_final_newline = true # 始终在文件末尾插入一个新行
|
|
||||||
indent_style = space # 缩进风格(tab | space)
|
|
||||||
indent_size = 2 # 缩进大小
|
|
||||||
max_line_length = 100 # 最大行长度
|
|
||||||
|
|
||||||
[*.md] # 仅 md 文件适用以下规则
|
|
||||||
max_line_length = off # 关闭最大行长度限制
|
|
||||||
trim_trailing_whitespace = false # 关闭末尾空格修剪
|
|
||||||
25
.env
|
|
@ -1,25 +0,0 @@
|
||||||
# 标题
|
|
||||||
VITE_APP_TITLE=芋道管理系统
|
|
||||||
|
|
||||||
# 项目本地运行端口号
|
|
||||||
VITE_PORT=80
|
|
||||||
|
|
||||||
# open 运行 npm run dev 时自动打开浏览器
|
|
||||||
VITE_OPEN=true
|
|
||||||
|
|
||||||
# 租户开关
|
|
||||||
VITE_APP_TENANT_ENABLE=true
|
|
||||||
|
|
||||||
# 验证码的开关
|
|
||||||
VITE_APP_CAPTCHA_ENABLE=true
|
|
||||||
|
|
||||||
# 文档地址的开关
|
|
||||||
VITE_APP_DOCALERT_ENABLE=true
|
|
||||||
|
|
||||||
# 百度统计
|
|
||||||
VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc
|
|
||||||
|
|
||||||
# 默认账户密码
|
|
||||||
VITE_APP_DEFAULT_LOGIN_TENANT = 芋道源码
|
|
||||||
VITE_APP_DEFAULT_LOGIN_USERNAME = admin
|
|
||||||
VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
# 环境
|
||||||
|
VITE_NODE_ENV=development
|
||||||
|
|
||||||
|
# 接口前缀
|
||||||
|
VITE_API_BASE_PATH=http://39.104.23.25:48080/admin-api/
|
||||||
|
|
||||||
|
# 打包路径
|
||||||
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
|
# 标题
|
||||||
|
VITE_APP_TITLE=ElementAdmin
|
||||||
|
|
||||||
|
# 是否全量引入element-plus样式
|
||||||
|
VITE_USE_ALL_ELEMENT_PLUS_STYLE=true
|
||||||
|
|
||||||
|
# 是否开启mock
|
||||||
|
VITE_USE_MOCK=true
|
||||||
|
|
||||||
|
# 是否使用在线图标
|
||||||
|
VITE_USE_ONLINE_ICON=true
|
||||||
|
|
||||||
|
# 是否隐藏全局设置按钮
|
||||||
|
VITE_HIDE_GLOBAL_SETTING=false
|
||||||
|
|
||||||
|
# 是否启用租户功能
|
||||||
|
VITE_APP_TENANT_ENABLE=true
|
||||||
|
|
||||||
|
# 默认租户名称
|
||||||
|
VITE_APP_DEFAULT_LOGIN_TENANT=芋道源码
|
||||||
|
|
||||||
|
#开启验证码
|
||||||
|
VITE_APP_CAPTCHA_ENABLE=true
|
||||||
48
.env.dev
|
|
@ -1,16 +1,12 @@
|
||||||
# 开发环境:本地只启动前端项目,依赖开发环境(后端、APP)
|
# 环境
|
||||||
NODE_ENV=production
|
VITE_NODE_ENV=production
|
||||||
|
|
||||||
VITE_DEV=true
|
# 接口前缀
|
||||||
|
VITE_API_BASE_PATH=http://39.104.23.25:48080/admin-api/
|
||||||
|
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
|
|
||||||
|
|
||||||
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
|
# 打包路径
|
||||||
VITE_UPLOAD_TYPE=server
|
VITE_BASE_PATH=/dist-dev/
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 是否删除debugger
|
# 是否删除debugger
|
||||||
VITE_DROP_DEBUGGER=false
|
VITE_DROP_DEBUGGER=false
|
||||||
|
|
@ -21,17 +17,29 @@ VITE_DROP_CONSOLE=false
|
||||||
# 是否sourcemap
|
# 是否sourcemap
|
||||||
VITE_SOURCEMAP=true
|
VITE_SOURCEMAP=true
|
||||||
|
|
||||||
# 打包路径
|
|
||||||
VITE_BASE_PATH=/
|
|
||||||
|
|
||||||
# 输出路径
|
# 输出路径
|
||||||
VITE_OUT_DIR=dist
|
VITE_OUT_DIR=dist-dev
|
||||||
|
|
||||||
# 商城H5会员端域名
|
# 标题
|
||||||
VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'
|
VITE_APP_TITLE=ElementAdmin
|
||||||
|
|
||||||
# 验证码的开关
|
# 是否包分析
|
||||||
|
VITE_USE_BUNDLE_ANALYZER=false
|
||||||
|
|
||||||
|
# 是否全量引入element-plus样式
|
||||||
|
VITE_USE_ALL_ELEMENT_PLUS_STYLE=false
|
||||||
|
|
||||||
|
# 是否开启mock
|
||||||
|
VITE_USE_MOCK=true
|
||||||
|
|
||||||
|
# 是否切割css
|
||||||
|
VITE_USE_CSS_SPLIT=true
|
||||||
|
|
||||||
|
# 是否使用在线图标
|
||||||
|
VITE_USE_ONLINE_ICON=true
|
||||||
|
|
||||||
|
# 是否隐藏全局设置按钮
|
||||||
|
VITE_HIDE_GLOBAL_SETTING=false
|
||||||
|
|
||||||
|
#开启验证码
|
||||||
VITE_APP_CAPTCHA_ENABLE=true
|
VITE_APP_CAPTCHA_ENABLE=true
|
||||||
|
|
||||||
# GoView域名
|
|
||||||
VITE_GOVIEW_URL='http://127.0.0.1:3000'
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
# 环境
|
||||||
|
VITE_NODE_ENV=production
|
||||||
|
|
||||||
|
# 接口前缀
|
||||||
|
VITE_API_BASE_PATH=http://39.104.23.25:48080/admin-api/
|
||||||
|
|
||||||
|
# 打包路径
|
||||||
|
VITE_BASE_PATH=/vue-element-plus-admin/
|
||||||
|
|
||||||
|
# 是否删除debugger
|
||||||
|
VITE_DROP_DEBUGGER=true
|
||||||
|
|
||||||
|
# 是否删除console.log
|
||||||
|
VITE_DROP_CONSOLE=true
|
||||||
|
|
||||||
|
# 是否sourcemap
|
||||||
|
VITE_SOURCEMAP=false
|
||||||
|
|
||||||
|
# 输出路径
|
||||||
|
VITE_OUT_DIR=dist-pro
|
||||||
|
|
||||||
|
# 标题
|
||||||
|
VITE_APP_TITLE=ElementAdmin
|
||||||
|
|
||||||
|
# 是否包分析
|
||||||
|
VITE_USE_BUNDLE_ANALYZER=false
|
||||||
|
|
||||||
|
# 是否全量引入element-plus样式
|
||||||
|
VITE_USE_ALL_ELEMENT_PLUS_STYLE=false
|
||||||
|
|
||||||
|
# 是否开启mock
|
||||||
|
VITE_USE_MOCK=true
|
||||||
|
|
||||||
|
# 是否切割css
|
||||||
|
VITE_USE_CSS_SPLIT=true
|
||||||
|
|
||||||
|
# 是否使用在线图标
|
||||||
|
VITE_USE_ONLINE_ICON=true
|
||||||
|
|
||||||
|
# 是否隐藏全局设置按钮
|
||||||
|
VITE_HIDE_GLOBAL_SETTING=false
|
||||||
|
|
||||||
|
#开启验证码
|
||||||
|
VITE_APP_CAPTCHA_ENABLE=true
|
||||||
34
.env.local
|
|
@ -1,34 +0,0 @@
|
||||||
# 本地开发环境:本地启动所有项目(前端、后端、APP)时使用,不依赖外部环境
|
|
||||||
NODE_ENV=development
|
|
||||||
|
|
||||||
VITE_DEV=true
|
|
||||||
|
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://localhost:48080'
|
|
||||||
|
|
||||||
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
|
|
||||||
VITE_UPLOAD_TYPE=server
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 是否删除debugger
|
|
||||||
VITE_DROP_DEBUGGER=false
|
|
||||||
|
|
||||||
# 是否删除console.log
|
|
||||||
VITE_DROP_CONSOLE=false
|
|
||||||
|
|
||||||
# 是否sourcemap
|
|
||||||
VITE_SOURCEMAP=false
|
|
||||||
|
|
||||||
# 打包路径
|
|
||||||
VITE_BASE_PATH=/
|
|
||||||
|
|
||||||
# 商城H5会员端域名
|
|
||||||
VITE_MALL_H5_DOMAIN='http://localhost:3000'
|
|
||||||
|
|
||||||
# 验证码的开关
|
|
||||||
VITE_APP_CAPTCHA_ENABLE=false
|
|
||||||
|
|
||||||
# GoView域名
|
|
||||||
VITE_GOVIEW_URL='http://127.0.0.1:3000'
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
# 环境
|
||||||
|
VITE_NODE_ENV=production
|
||||||
|
|
||||||
|
# 接口前缀
|
||||||
|
VITE_API_BASE_PATH=http://39.104.23.25:48080/admin-api/
|
||||||
|
|
||||||
|
# 打包路径
|
||||||
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
|
# 是否删除debugger
|
||||||
|
VITE_DROP_DEBUGGER=true
|
||||||
|
|
||||||
|
# 是否删除console.log
|
||||||
|
VITE_DROP_CONSOLE=true
|
||||||
|
|
||||||
|
# 是否sourcemap
|
||||||
|
VITE_SOURCEMAP=false
|
||||||
|
|
||||||
|
# 输出路径
|
||||||
|
VITE_OUT_DIR=dist-pro
|
||||||
|
|
||||||
|
# 标题
|
||||||
|
VITE_APP_TITLE=ElementAdmin
|
||||||
|
|
||||||
|
# 是否包分析
|
||||||
|
VITE_USE_BUNDLE_ANALYZER=true
|
||||||
|
|
||||||
|
# 是否全量引入element-plus样式
|
||||||
|
VITE_USE_ALL_ELEMENT_PLUS_STYLE=false
|
||||||
|
|
||||||
|
# 是否开启mock
|
||||||
|
VITE_USE_MOCK=true
|
||||||
|
|
||||||
|
# 是否切割css
|
||||||
|
VITE_USE_CSS_SPLIT=true
|
||||||
|
|
||||||
|
# 是否使用在线图标
|
||||||
|
VITE_USE_ONLINE_ICON=false
|
||||||
|
|
||||||
|
# 是否隐藏全局设置按钮
|
||||||
|
VITE_HIDE_GLOBAL_SETTING=false
|
||||||
|
|
||||||
|
#开启验证码
|
||||||
|
VITE_APP_CAPTCHA_ENABLE=true
|
||||||
34
.env.prod
|
|
@ -1,34 +0,0 @@
|
||||||
# 生产环境:只在打包时使用
|
|
||||||
NODE_ENV=production
|
|
||||||
|
|
||||||
VITE_DEV=false
|
|
||||||
|
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://localhost:48080'
|
|
||||||
|
|
||||||
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
|
|
||||||
VITE_UPLOAD_TYPE=server
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 是否删除debugger
|
|
||||||
VITE_DROP_DEBUGGER=true
|
|
||||||
|
|
||||||
# 是否删除console.log
|
|
||||||
VITE_DROP_CONSOLE=true
|
|
||||||
|
|
||||||
# 是否sourcemap
|
|
||||||
VITE_SOURCEMAP=false
|
|
||||||
|
|
||||||
# 打包路径
|
|
||||||
VITE_BASE_PATH=/
|
|
||||||
|
|
||||||
# 输出路径
|
|
||||||
VITE_OUT_DIR=dist-prod
|
|
||||||
|
|
||||||
# 商城H5会员端域名
|
|
||||||
VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'
|
|
||||||
|
|
||||||
# GoView域名
|
|
||||||
VITE_GOVIEW_URL='http://127.0.0.1:3000'
|
|
||||||
34
.env.stage
|
|
@ -1,34 +0,0 @@
|
||||||
# 预发布环境:只在打包时使用
|
|
||||||
NODE_ENV=production
|
|
||||||
|
|
||||||
VITE_DEV=false
|
|
||||||
|
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
|
|
||||||
|
|
||||||
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
|
|
||||||
VITE_UPLOAD_TYPE=server
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 是否删除debugger
|
|
||||||
VITE_DROP_DEBUGGER=true
|
|
||||||
|
|
||||||
# 是否删除console.log
|
|
||||||
VITE_DROP_CONSOLE=true
|
|
||||||
|
|
||||||
# 是否sourcemap
|
|
||||||
VITE_SOURCEMAP=false
|
|
||||||
|
|
||||||
# 打包路径
|
|
||||||
VITE_BASE_PATH='http://static-vue3.yudao.iocoder.cn/'
|
|
||||||
|
|
||||||
# 输出路径
|
|
||||||
VITE_OUT_DIR=dist-stage
|
|
||||||
|
|
||||||
# 商城H5会员端域名
|
|
||||||
VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'
|
|
||||||
|
|
||||||
# GoView域名
|
|
||||||
VITE_GOVIEW_URL='http://127.0.0.1:3000'
|
|
||||||
62
.env.test
|
|
@ -1,34 +1,44 @@
|
||||||
# 测试环境:只在打包时使用
|
# 环境
|
||||||
NODE_ENV=production
|
VITE_NODE_ENV=production
|
||||||
|
|
||||||
VITE_DEV=false
|
# 接口前缀
|
||||||
|
VITE_API_BASE_PATH=http://39.104.23.25:48080/admin-api/
|
||||||
# 请求路径
|
|
||||||
VITE_BASE_URL='http://localhost:48080'
|
|
||||||
|
|
||||||
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
|
|
||||||
VITE_UPLOAD_TYPE=server
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
VITE_API_URL=/admin-api
|
|
||||||
|
|
||||||
# 是否删除debugger
|
|
||||||
VITE_DROP_DEBUGGER=true
|
|
||||||
|
|
||||||
# 是否删除console.log
|
|
||||||
VITE_DROP_CONSOLE=true
|
|
||||||
|
|
||||||
# 是否sourcemap
|
|
||||||
VITE_SOURCEMAP=false
|
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/admin-ui-vue3/
|
VITE_BASE_PATH=/dist-test/
|
||||||
|
|
||||||
|
# 是否删除debugger
|
||||||
|
VITE_DROP_DEBUGGER=false
|
||||||
|
|
||||||
|
# 是否删除console.log
|
||||||
|
VITE_DROP_CONSOLE=false
|
||||||
|
|
||||||
|
# 是否sourcemap
|
||||||
|
VITE_SOURCEMAP=true
|
||||||
|
|
||||||
# 输出路径
|
# 输出路径
|
||||||
VITE_OUT_DIR=dist-test
|
VITE_OUT_DIR=dist-test
|
||||||
|
|
||||||
# 商城H5会员端域名
|
# 标题
|
||||||
VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'
|
VITE_APP_TITLE=ElementAdmin
|
||||||
|
|
||||||
# GoView域名
|
# 是否包分析
|
||||||
VITE_GOVIEW_URL='http://127.0.0.1:3000'
|
VITE_USE_BUNDLE_ANALYZER=false
|
||||||
|
|
||||||
|
# 是否全量引入element-plus样式
|
||||||
|
VITE_USE_ALL_ELEMENT_PLUS_STYLE=false
|
||||||
|
|
||||||
|
# 是否开启mock
|
||||||
|
VITE_USE_MOCK=true
|
||||||
|
|
||||||
|
# 是否切割css
|
||||||
|
VITE_USE_CSS_SPLIT=false
|
||||||
|
|
||||||
|
# 是否使用在线图标
|
||||||
|
VITE_USE_ONLINE_ICON=true
|
||||||
|
|
||||||
|
# 是否隐藏全局设置按钮
|
||||||
|
VITE_HIDE_GLOBAL_SETTING=false
|
||||||
|
|
||||||
|
#开启验证码
|
||||||
|
VITE_APP_CAPTCHA_ENABLE=true
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
/build/
|
|
||||||
/config/
|
|
||||||
/dist/
|
|
||||||
/*.js
|
|
||||||
/test/unit/coverage/
|
|
||||||
/node_modules/*
|
|
||||||
/dist*
|
|
||||||
/src/main.ts
|
|
||||||
|
|
@ -1,259 +0,0 @@
|
||||||
{
|
|
||||||
"globals": {
|
|
||||||
"EffectScope": true,
|
|
||||||
"ElMessage": true,
|
|
||||||
"ElMessageBox": true,
|
|
||||||
"ElTag": true,
|
|
||||||
"asyncComputed": true,
|
|
||||||
"autoResetRef": true,
|
|
||||||
"computed": true,
|
|
||||||
"computedAsync": true,
|
|
||||||
"computedEager": true,
|
|
||||||
"computedInject": true,
|
|
||||||
"computedWithControl": true,
|
|
||||||
"controlledComputed": true,
|
|
||||||
"controlledRef": true,
|
|
||||||
"createApp": true,
|
|
||||||
"createEventHook": true,
|
|
||||||
"createGlobalState": true,
|
|
||||||
"createInjectionState": true,
|
|
||||||
"createReactiveFn": true,
|
|
||||||
"createSharedComposable": true,
|
|
||||||
"createUnrefFn": true,
|
|
||||||
"customRef": true,
|
|
||||||
"debouncedRef": true,
|
|
||||||
"debouncedWatch": true,
|
|
||||||
"defineAsyncComponent": true,
|
|
||||||
"defineComponent": true,
|
|
||||||
"eagerComputed": true,
|
|
||||||
"effectScope": true,
|
|
||||||
"extendRef": true,
|
|
||||||
"getCurrentInstance": true,
|
|
||||||
"getCurrentScope": true,
|
|
||||||
"h": true,
|
|
||||||
"ignorableWatch": true,
|
|
||||||
"inject": true,
|
|
||||||
"isDefined": true,
|
|
||||||
"isProxy": true,
|
|
||||||
"isReactive": true,
|
|
||||||
"isReadonly": true,
|
|
||||||
"isRef": true,
|
|
||||||
"makeDestructurable": true,
|
|
||||||
"markRaw": true,
|
|
||||||
"nextTick": true,
|
|
||||||
"onActivated": true,
|
|
||||||
"onBeforeMount": true,
|
|
||||||
"onBeforeUnmount": true,
|
|
||||||
"onBeforeUpdate": true,
|
|
||||||
"onClickOutside": true,
|
|
||||||
"onDeactivated": true,
|
|
||||||
"onErrorCaptured": true,
|
|
||||||
"onKeyStroke": true,
|
|
||||||
"onLongPress": true,
|
|
||||||
"onMounted": true,
|
|
||||||
"onRenderTracked": true,
|
|
||||||
"onRenderTriggered": true,
|
|
||||||
"onScopeDispose": true,
|
|
||||||
"onServerPrefetch": true,
|
|
||||||
"onStartTyping": true,
|
|
||||||
"onUnmounted": true,
|
|
||||||
"onUpdated": true,
|
|
||||||
"pausableWatch": true,
|
|
||||||
"provide": true,
|
|
||||||
"reactify": true,
|
|
||||||
"reactifyObject": true,
|
|
||||||
"reactive": true,
|
|
||||||
"reactiveComputed": true,
|
|
||||||
"reactiveOmit": true,
|
|
||||||
"reactivePick": true,
|
|
||||||
"readonly": true,
|
|
||||||
"ref": true,
|
|
||||||
"refAutoReset": true,
|
|
||||||
"refDebounced": true,
|
|
||||||
"refDefault": true,
|
|
||||||
"refThrottled": true,
|
|
||||||
"refWithControl": true,
|
|
||||||
"resolveComponent": true,
|
|
||||||
"resolveRef": true,
|
|
||||||
"resolveUnref": true,
|
|
||||||
"shallowReactive": true,
|
|
||||||
"shallowReadonly": true,
|
|
||||||
"shallowRef": true,
|
|
||||||
"syncRef": true,
|
|
||||||
"syncRefs": true,
|
|
||||||
"templateRef": true,
|
|
||||||
"throttledRef": true,
|
|
||||||
"throttledWatch": true,
|
|
||||||
"toRaw": true,
|
|
||||||
"toReactive": true,
|
|
||||||
"toRef": true,
|
|
||||||
"toRefs": true,
|
|
||||||
"triggerRef": true,
|
|
||||||
"tryOnBeforeMount": true,
|
|
||||||
"tryOnBeforeUnmount": true,
|
|
||||||
"tryOnMounted": true,
|
|
||||||
"tryOnScopeDispose": true,
|
|
||||||
"tryOnUnmounted": true,
|
|
||||||
"unref": true,
|
|
||||||
"unrefElement": true,
|
|
||||||
"until": true,
|
|
||||||
"useActiveElement": true,
|
|
||||||
"useArrayEvery": true,
|
|
||||||
"useArrayFilter": true,
|
|
||||||
"useArrayFind": true,
|
|
||||||
"useArrayFindIndex": true,
|
|
||||||
"useArrayJoin": true,
|
|
||||||
"useArrayMap": true,
|
|
||||||
"useArrayReduce": true,
|
|
||||||
"useArraySome": true,
|
|
||||||
"useAsyncQueue": true,
|
|
||||||
"useAsyncState": true,
|
|
||||||
"useAttrs": true,
|
|
||||||
"useBase64": true,
|
|
||||||
"useBattery": true,
|
|
||||||
"useBluetooth": true,
|
|
||||||
"useBreakpoints": true,
|
|
||||||
"useBroadcastChannel": true,
|
|
||||||
"useBrowserLocation": true,
|
|
||||||
"useCached": true,
|
|
||||||
"useClipboard": true,
|
|
||||||
"useColorMode": true,
|
|
||||||
"useConfirmDialog": true,
|
|
||||||
"useCounter": true,
|
|
||||||
"useCssModule": true,
|
|
||||||
"useCssVar": true,
|
|
||||||
"useCssVars": true,
|
|
||||||
"useCurrentElement": true,
|
|
||||||
"useCycleList": true,
|
|
||||||
"useDark": true,
|
|
||||||
"useDateFormat": true,
|
|
||||||
"useDebounce": true,
|
|
||||||
"useDebounceFn": true,
|
|
||||||
"useDebouncedRefHistory": true,
|
|
||||||
"useDeviceMotion": true,
|
|
||||||
"useDeviceOrientation": true,
|
|
||||||
"useDevicePixelRatio": true,
|
|
||||||
"useDevicesList": true,
|
|
||||||
"useDisplayMedia": true,
|
|
||||||
"useDocumentVisibility": true,
|
|
||||||
"useDraggable": true,
|
|
||||||
"useDropZone": true,
|
|
||||||
"useElementBounding": true,
|
|
||||||
"useElementByPoint": true,
|
|
||||||
"useElementHover": true,
|
|
||||||
"useElementSize": true,
|
|
||||||
"useElementVisibility": true,
|
|
||||||
"useEventBus": true,
|
|
||||||
"useEventListener": true,
|
|
||||||
"useEventSource": true,
|
|
||||||
"useEyeDropper": true,
|
|
||||||
"useFavicon": true,
|
|
||||||
"useFetch": true,
|
|
||||||
"useFileDialog": true,
|
|
||||||
"useFileSystemAccess": true,
|
|
||||||
"useFocus": true,
|
|
||||||
"useFocusWithin": true,
|
|
||||||
"useFps": true,
|
|
||||||
"useFullscreen": true,
|
|
||||||
"useGamepad": true,
|
|
||||||
"useGeolocation": true,
|
|
||||||
"useIdle": true,
|
|
||||||
"useImage": true,
|
|
||||||
"useInfiniteScroll": true,
|
|
||||||
"useIntersectionObserver": true,
|
|
||||||
"useInterval": true,
|
|
||||||
"useIntervalFn": true,
|
|
||||||
"useKeyModifier": true,
|
|
||||||
"useLastChanged": true,
|
|
||||||
"useLocalStorage": true,
|
|
||||||
"useMagicKeys": true,
|
|
||||||
"useManualRefHistory": true,
|
|
||||||
"useMediaControls": true,
|
|
||||||
"useMediaQuery": true,
|
|
||||||
"useMemoize": true,
|
|
||||||
"useMemory": true,
|
|
||||||
"useMounted": true,
|
|
||||||
"useMouse": true,
|
|
||||||
"useMouseInElement": true,
|
|
||||||
"useMousePressed": true,
|
|
||||||
"useMutationObserver": true,
|
|
||||||
"useNavigatorLanguage": true,
|
|
||||||
"useNetwork": true,
|
|
||||||
"useNow": true,
|
|
||||||
"useObjectUrl": true,
|
|
||||||
"useOffsetPagination": true,
|
|
||||||
"useOnline": true,
|
|
||||||
"usePageLeave": true,
|
|
||||||
"useParallax": true,
|
|
||||||
"usePermission": true,
|
|
||||||
"usePointer": true,
|
|
||||||
"usePointerSwipe": true,
|
|
||||||
"usePreferredColorScheme": true,
|
|
||||||
"usePreferredDark": true,
|
|
||||||
"usePreferredLanguages": true,
|
|
||||||
"useRafFn": true,
|
|
||||||
"useRefHistory": true,
|
|
||||||
"useResizeObserver": true,
|
|
||||||
"useRoute": true,
|
|
||||||
"useRouter": true,
|
|
||||||
"useScreenOrientation": true,
|
|
||||||
"useScreenSafeArea": true,
|
|
||||||
"useScriptTag": true,
|
|
||||||
"useScroll": true,
|
|
||||||
"useScrollLock": true,
|
|
||||||
"useSessionStorage": true,
|
|
||||||
"useShare": true,
|
|
||||||
"useSlots": true,
|
|
||||||
"useSpeechRecognition": true,
|
|
||||||
"useSpeechSynthesis": true,
|
|
||||||
"useStepper": true,
|
|
||||||
"useStorage": true,
|
|
||||||
"useStorageAsync": true,
|
|
||||||
"useStyleTag": true,
|
|
||||||
"useSupported": true,
|
|
||||||
"useSwipe": true,
|
|
||||||
"useTemplateRefsList": true,
|
|
||||||
"useTextDirection": true,
|
|
||||||
"useTextSelection": true,
|
|
||||||
"useTextareaAutosize": true,
|
|
||||||
"useThrottle": true,
|
|
||||||
"useThrottleFn": true,
|
|
||||||
"useThrottledRefHistory": true,
|
|
||||||
"useTimeAgo": true,
|
|
||||||
"useTimeout": true,
|
|
||||||
"useTimeoutFn": true,
|
|
||||||
"useTimeoutPoll": true,
|
|
||||||
"useTimestamp": true,
|
|
||||||
"useTitle": true,
|
|
||||||
"useToggle": true,
|
|
||||||
"useTransition": true,
|
|
||||||
"useUrlSearchParams": true,
|
|
||||||
"useUserMedia": true,
|
|
||||||
"useVModel": true,
|
|
||||||
"useVModels": true,
|
|
||||||
"useVibrate": true,
|
|
||||||
"useVirtualList": true,
|
|
||||||
"useWakeLock": true,
|
|
||||||
"useWebNotification": true,
|
|
||||||
"useWebSocket": true,
|
|
||||||
"useWebWorker": true,
|
|
||||||
"useWebWorkerFn": true,
|
|
||||||
"useWindowFocus": true,
|
|
||||||
"useWindowScroll": true,
|
|
||||||
"useWindowSize": true,
|
|
||||||
"watch": true,
|
|
||||||
"watchArray": true,
|
|
||||||
"watchAtMost": true,
|
|
||||||
"watchDebounced": true,
|
|
||||||
"watchEffect": true,
|
|
||||||
"watchIgnorable": true,
|
|
||||||
"watchOnce": true,
|
|
||||||
"watchPausable": true,
|
|
||||||
"watchPostEffect": true,
|
|
||||||
"watchSyncEffect": true,
|
|
||||||
"watchThrottled": true,
|
|
||||||
"watchTriggerable": true,
|
|
||||||
"watchWithFilter": true,
|
|
||||||
"whenever": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
75
.eslintrc.js
|
|
@ -1,75 +0,0 @@
|
||||||
// @ts-check
|
|
||||||
const { defineConfig } = require('eslint-define-config')
|
|
||||||
module.exports = defineConfig({
|
|
||||||
root: true,
|
|
||||||
env: {
|
|
||||||
browser: true,
|
|
||||||
node: true,
|
|
||||||
es6: true
|
|
||||||
},
|
|
||||||
parser: 'vue-eslint-parser',
|
|
||||||
parserOptions: {
|
|
||||||
parser: '@typescript-eslint/parser',
|
|
||||||
ecmaVersion: 2020,
|
|
||||||
sourceType: 'module',
|
|
||||||
jsxPragma: 'React',
|
|
||||||
ecmaFeatures: {
|
|
||||||
jsx: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
extends: [
|
|
||||||
'plugin:vue/vue3-recommended',
|
|
||||||
'plugin:@typescript-eslint/recommended',
|
|
||||||
'prettier',
|
|
||||||
'plugin:prettier/recommended',
|
|
||||||
'@unocss'
|
|
||||||
],
|
|
||||||
rules: {
|
|
||||||
'vue/no-setup-props-destructure': 'off',
|
|
||||||
'vue/script-setup-uses-vars': 'error',
|
|
||||||
'vue/no-reserved-component-names': 'off',
|
|
||||||
'@typescript-eslint/ban-ts-ignore': 'off',
|
|
||||||
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
||||||
'@typescript-eslint/no-explicit-any': 'off',
|
|
||||||
'@typescript-eslint/no-var-requires': 'off',
|
|
||||||
'@typescript-eslint/no-empty-function': 'off',
|
|
||||||
'vue/custom-event-name-casing': 'off',
|
|
||||||
'no-use-before-define': 'off',
|
|
||||||
'@typescript-eslint/no-use-before-define': 'off',
|
|
||||||
'@typescript-eslint/ban-ts-comment': 'off',
|
|
||||||
'@typescript-eslint/ban-types': 'off',
|
|
||||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
||||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
||||||
'@typescript-eslint/no-unused-vars': 'off',
|
|
||||||
'no-unused-vars': 'off',
|
|
||||||
'space-before-function-paren': 'off',
|
|
||||||
|
|
||||||
'vue/attributes-order': 'off',
|
|
||||||
'vue/one-component-per-file': 'off',
|
|
||||||
'vue/html-closing-bracket-newline': 'off',
|
|
||||||
'vue/max-attributes-per-line': 'off',
|
|
||||||
'vue/multiline-html-element-content-newline': 'off',
|
|
||||||
'vue/singleline-html-element-content-newline': 'off',
|
|
||||||
'vue/attribute-hyphenation': 'off',
|
|
||||||
'vue/require-default-prop': 'off',
|
|
||||||
'vue/require-explicit-emits': 'off',
|
|
||||||
'vue/require-toggle-inside-transition': 'off',
|
|
||||||
'vue/html-self-closing': [
|
|
||||||
'error',
|
|
||||||
{
|
|
||||||
html: {
|
|
||||||
void: 'always',
|
|
||||||
normal: 'never',
|
|
||||||
component: 'always'
|
|
||||||
},
|
|
||||||
svg: 'always',
|
|
||||||
math: 'always'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
'vue/multi-word-component-names': 'off',
|
|
||||||
'vue/no-v-html': 'off',
|
|
||||||
'prettier/prettier': 'off', // 芋艿:默认关闭 prettier 的 ESLint 校验,因为我们使用的是 IDE 的 Prettier 插件
|
|
||||||
'@unocss/order': 'off', // 芋艿:禁用 unocss 【css】顺序的提示,因为暂时不需要这么严格,警告也有点繁琐
|
|
||||||
'@unocss/order-attributify': 'off' // 芋艿:禁用 unocss 【属性】顺序的提示,因为暂时不需要这么严格,警告也有点繁琐
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
@ -0,0 +1,131 @@
|
||||||
|
name: Automerge
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- labeled
|
||||||
|
- unlabeled
|
||||||
|
- synchronize
|
||||||
|
- opened
|
||||||
|
- edited
|
||||||
|
- ready_for_review
|
||||||
|
- reopened
|
||||||
|
- unlocked
|
||||||
|
pull_request_review:
|
||||||
|
types:
|
||||||
|
- submitted
|
||||||
|
status: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# 合并发布版本的 pr 到 master
|
||||||
|
auto-merge:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Automerge
|
||||||
|
uses: 'pascalgn/automerge-action@v0.14.3'
|
||||||
|
env:
|
||||||
|
BASE_BRANCHES: 'release'
|
||||||
|
GITHUB_TOKEN: '${{ secrets.TOKEN }}'
|
||||||
|
MERGE_LABELS: ''
|
||||||
|
MERGE_FILTER_AUTHOR: 'kailong321200875'
|
||||||
|
|
||||||
|
push-to-gh-pages:
|
||||||
|
needs: [auto-merge]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup Pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
|
||||||
|
- name: use Node.js 18
|
||||||
|
uses: actions/setup-node@v2.1.2
|
||||||
|
with:
|
||||||
|
node-version: '18.x'
|
||||||
|
|
||||||
|
- name: Set SSH Environment
|
||||||
|
env:
|
||||||
|
DOCS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ssh/
|
||||||
|
echo "$ACTIONS_DEPLOY_KEY" > ~/.ssh/id_rsa
|
||||||
|
chmod 600 ~/.ssh/id_rsa
|
||||||
|
ssh-keyscan github.com > ~/.ssh/known_hosts
|
||||||
|
chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
|
||||||
|
git config --local user.email "321200875@qq.com"
|
||||||
|
git config --local user.name "kailong321200875"
|
||||||
|
|
||||||
|
# 发布到 github
|
||||||
|
- name: Build Github
|
||||||
|
run: |
|
||||||
|
pnpm install --no-frozen-lockfile
|
||||||
|
pnpm run build:pro
|
||||||
|
|
||||||
|
- name: Deploy Github
|
||||||
|
uses: peaceiris/actions-gh-pages@v3
|
||||||
|
with:
|
||||||
|
deploy_key: ${{secrets.ACTIONS_DEPLOY_KEY}}
|
||||||
|
publish_branch: gh-pages
|
||||||
|
publish_dir: ./dist-pro
|
||||||
|
force_orphan: true
|
||||||
|
cname: element-plus-admin.cn
|
||||||
|
|
||||||
|
push-to-gh-pages-gitee:
|
||||||
|
needs: [auto-merge]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup Pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
|
||||||
|
- name: use Node.js 18
|
||||||
|
uses: actions/setup-node@v2.1.2
|
||||||
|
with:
|
||||||
|
node-version: '18.x'
|
||||||
|
|
||||||
|
- name: Set SSH Environment
|
||||||
|
env:
|
||||||
|
DOCS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ssh/
|
||||||
|
echo "$ACTIONS_DEPLOY_KEY" > ~/.ssh/id_rsa
|
||||||
|
chmod 600 ~/.ssh/id_rsa
|
||||||
|
ssh-keyscan github.com > ~/.ssh/known_hosts
|
||||||
|
chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
|
||||||
|
git config --local user.email "321200875@qq.com"
|
||||||
|
git config --local user.name "kailong321200875"
|
||||||
|
|
||||||
|
- name: Build Gitee
|
||||||
|
run: |
|
||||||
|
pnpm install --no-frozen-lockfile
|
||||||
|
pnpm run build:gitee
|
||||||
|
|
||||||
|
# 发布到 gitee
|
||||||
|
- name: Deploy Gitee
|
||||||
|
uses: peaceiris/actions-gh-pages@v3
|
||||||
|
with:
|
||||||
|
deploy_key: ${{secrets.ACTIONS_DEPLOY_KEY}}
|
||||||
|
publish_branch: gh-pages-gitee
|
||||||
|
publish_dir: ./dist-pro
|
||||||
|
force_orphan: true
|
||||||
|
|
||||||
|
- name: Sync Github Repos To Gitee # 名字随便起
|
||||||
|
uses: Yikun/hub-mirror-action@v1.1 # 使用Yikun/hub-mirror-action
|
||||||
|
with:
|
||||||
|
src: github/kailong321200875 # 源端账户名(github)
|
||||||
|
dst: gitee/kailong110120130 # 目的端账户名(gitee)
|
||||||
|
dst_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} # SSH密钥对中的私钥
|
||||||
|
dst_token: ${{ secrets.GITEE_TOKEN }} # Gitee账户的私人令牌
|
||||||
|
account_type: user # 账户类型
|
||||||
|
clone_style: 'https' # 使用https方式进行clone,也可以使用ssh
|
||||||
|
debug: true # 启用后会显示所有执行命令
|
||||||
|
force_update: true # 启用后,强制同步,即强制覆盖目的端仓库
|
||||||
|
static_list: 'vue-element-plus-admin' # 静态同步列表,在此填写需要同步的仓库名称,可填写多个
|
||||||
|
timeout: '600s' # git超时设置,超时后会自动重试git操作
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- release
|
||||||
|
|
||||||
|
name: Release
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release-please:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: GoogleCloudPlatform/release-please-action@v3
|
||||||
|
id: release
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.TOKEN }}
|
||||||
|
default-branch: release
|
||||||
|
release-type: node
|
||||||
|
package-name: standard-version
|
||||||
|
changelog-types: '[{"type": "types", "section":"Types", "hidden": false},{"type": "revert", "section":"Reverts", "hidden": false},{"type": "feat", "section": "Features", "hidden": false},{"type": "fix", "section": "Bug Fixes", "hidden": false},{"type": "improvement", "section": "Feature Improvements", "hidden": false},{"type": "docs", "section":"Docs", "hidden": false},{"type": "style", "section":"Styling", "hidden": false},{"type": "refactor", "section":"Code Refactoring", "hidden": false},{"type": "perf", "section":"Performance Improvements", "hidden": false},{"type": "test", "section":"Tests", "hidden": false},{"type": "build", "section":"Build System", "hidden": false},{"type": "ci", "section":"CI", "hidden":false}]'
|
||||||
|
|
@ -2,8 +2,10 @@ node_modules
|
||||||
.DS_Store
|
.DS_Store
|
||||||
dist
|
dist
|
||||||
dist-ssr
|
dist-ssr
|
||||||
|
*.local
|
||||||
/dist*
|
/dist*
|
||||||
|
*-lock.*
|
||||||
pnpm-debug
|
pnpm-debug
|
||||||
auto-*.d.ts
|
stats.html
|
||||||
.idea
|
.idea
|
||||||
.history
|
.vtj/histories
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
npx --no -- commitlint --edit $1
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
module.exports = {
|
||||||
|
'*.{js,jsx,ts,tsx}': ['eslint --fix', 'prettier --write'],
|
||||||
|
'{!(package)*.json,*.code-snippets,.!(browserslist)*rc}': ['prettier --parser json --write'],
|
||||||
|
'package.json': ['prettier --write'],
|
||||||
|
'*.vue': ['prettier --write', 'stylelint --fix'],
|
||||||
|
'*.{scss,less,styl,css,html}': ['stylelint --fix', 'prettier --write'],
|
||||||
|
'*.md': ['prettier --write'],
|
||||||
|
'*.hbs': ['prettier --write']
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
npm run ts:check
|
||||||
|
npm run lint:lint-staged
|
||||||
|
Before Width: | Height: | Size: 112 KiB |
BIN
.image/MySQL.jpg
|
Before Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 65 KiB |
BIN
.image/Redis.jpg
|
Before Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 348 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 238 KiB |
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 201 KiB |
|
Before Width: | Height: | Size: 60 KiB |
BIN
.image/个人中心.jpg
|
Before Width: | Height: | Size: 37 KiB |
BIN
.image/代码生成.jpg
|
Before Width: | Height: | Size: 130 KiB |
BIN
.image/令牌管理.jpg
|
Before Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 150 KiB |
BIN
.image/任务日志.jpg
|
Before Width: | Height: | Size: 124 KiB |
BIN
.image/商户信息.jpg
|
Before Width: | Height: | Size: 83 KiB |
BIN
.image/在线用户.jpg
|
Before Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 69 KiB |
BIN
.image/字典数据.jpg
|
Before Width: | Height: | Size: 78 KiB |
BIN
.image/字典类型.jpg
|
Before Width: | Height: | Size: 126 KiB |
BIN
.image/定时任务.jpg
|
Before Width: | Height: | Size: 74 KiB |
BIN
.image/岗位管理.jpg
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 93 KiB |
BIN
.image/应用管理.jpg
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 41 KiB |
BIN
.image/操作日志.jpg
|
Before Width: | Height: | Size: 98 KiB |
BIN
.image/支付订单.jpg
|
Before Width: | Height: | Size: 208 KiB |
BIN
.image/敏感词.jpg
|
Before Width: | Height: | Size: 47 KiB |
BIN
.image/数据库文档.jpg
|
Before Width: | Height: | Size: 97 KiB |
BIN
.image/文件管理.jpg
|
Before Width: | Height: | Size: 74 KiB |
BIN
.image/文件管理2.jpg
|
Before Width: | Height: | Size: 114 KiB |
BIN
.image/文件配置.jpg
|
Before Width: | Height: | Size: 116 KiB |
BIN
.image/日志中心.jpg
|
Before Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 125 KiB |
BIN
.image/流程表单.jpg
|
Before Width: | Height: | Size: 148 KiB |
BIN
.image/生成效果.jpg
|
Before Width: | Height: | Size: 128 KiB |
BIN
.image/用户分组.jpg
|
Before Width: | Height: | Size: 82 KiB |
BIN
.image/用户管理.jpg
|
Before Width: | Height: | Size: 112 KiB |
BIN
.image/登录.jpg
|
Before Width: | Height: | Size: 93 KiB |
BIN
.image/登录日志.jpg
|
Before Width: | Height: | Size: 77 KiB |
BIN
.image/短信日志.jpg
|
Before Width: | Height: | Size: 41 KiB |
BIN
.image/短信模板.jpg
|
Before Width: | Height: | Size: 248 KiB |
BIN
.image/短信渠道.jpg
|
Before Width: | Height: | Size: 80 KiB |
BIN
.image/租户套餐.png
|
Before Width: | Height: | Size: 96 KiB |
BIN
.image/租户管理.jpg
|
Before Width: | Height: | Size: 115 KiB |
BIN
.image/系统接口.jpg
|
Before Width: | Height: | Size: 91 KiB |
BIN
.image/菜单管理.jpg
|
Before Width: | Height: | Size: 129 KiB |