Compare commits

...

711 Commits

Author SHA1 Message Date
xuyuxiang
673b39802e 【更新】3.5.2版本发布 2025-09-26 15:06:37 +08:00
xuyuxiang
e40f180f37 【更新】优化两个页面并同步到master 2025-09-25 21:26:53 +08:00
俞宝山
4223210823 【更新】追加数据建模配置属性 2025-09-25 13:26:08 +08:00
俞宝山
bb18a12449 【更新】开源版前端界面调整 2025-09-25 13:25:20 +08:00
俞宝山
ed12a4b945 【更新】注册smsDao,避免sms4j报错,感谢 @刘客青 提交的pr 2025-09-25 13:22:46 +08:00
xuyuxiang
0f4dcafb30 【更新】更新版本文字 2025-09-23 21:50:55 +08:00
xuyuxiang
38c43c05f7 【更新】优化代码 2025-09-23 20:35:26 +08:00
这么难演
88fcd4ee84 【更新】增加数据集插件放行路径 2025-09-22 23:43:23 +08:00
这么难演
b378cfa914 【更新】① 权限资源调整为缓存方式;② 环境监测器,用于后续区分单体与Cloud 2025-09-22 23:35:18 +08:00
xuyuxiang
baa900f408 【更新】优化B、C端登录界面,登录框垂直居中,确保在大小屏幕小都有不错的展示效果 2025-09-22 23:10:57 +08:00
xuyuxiang
72437608e7 【更新】完善三方应用 2025-09-22 22:35:25 +08:00
xuyuxiang
f470684719 【更新】SysRelationApi增加一个接口 2025-09-22 20:55:50 +08:00
xuyuxiang
6735460216 【更新】代码规范优化 2025-09-21 14:53:35 +08:00
xuyuxiang
4c6711acea 【更新】biz机构列表选择器修复 2025-09-21 14:29:41 +08:00
xuyuxiang
6a61cd33d0 【更新】优化biz模块导包 2025-09-21 14:06:04 +08:00
xuyuxiang
c4df65f41a 【更新】BIZ模块增加用户组选择器功能,sys组织选择器优化 2025-09-21 14:03:00 +08:00
xuyuxiang
8d680f1f27 【更新】BIZ模块增加用户组选择器功能,与sys保持一致 2025-09-21 13:50:38 +08:00
xuyuxiang
862142a668 【更新】优化列表 2025-09-20 15:46:19 +08:00
xuyuxiang
8243f015be 【更新】优化表格列的宽度改为自适应 2025-09-19 22:23:48 +08:00
xuyuxiang
42663fd094 【更新】优化row的gutter 2025-09-19 22:00:37 +08:00
xuyuxiang
d765722ce7 【更新】优化一个按钮文字 2025-09-19 21:53:56 +08:00
xuyuxiang
87cfd5b6bd 【更新】bizIndex控制器新增获取通知公告分页接口 2025-09-19 00:23:37 +08:00
xuyuxiang
890456efa3 【更新】底座增加山信通登录支持 2025-09-18 22:15:10 +08:00
xuyuxiang
96e496009c 【优化】优化登录页面以及账户绑定等页面在小屏幕下的展示效果 2025-09-18 00:28:52 +08:00
xuyuxiang
3744162982 【优化】优化操作栏目取消固定宽度,自适应,优化其他一些问题 2025-09-18 00:08:09 +08:00
xuyuxiang
f8df4d7e8f 【优化】优化剩余页面在小屏幕下的展示效果 2025-09-17 23:22:57 +08:00
xuyuxiang
a47d5379bc 【优化】继续优化其他页面在小屏幕下的表现(待完善表单部分) 2025-09-17 17:03:05 +08:00
xuyuxiang
870117f946 【优化】优化系统配置页面在小屏幕下的表现 2025-09-17 15:35:36 +08:00
xuyuxiang
9ca83ba733 【优化】继续优化其他页面在小屏幕下的表现 2025-09-17 11:58:55 +08:00
xuyuxiang
677d994ec5 【优化】优化前端组件中,组织、用户、职位、角色、用户组等五个选择器在小屏幕下的表现 2025-09-16 22:12:31 +08:00
xuyuxiang
92748d1737 【优化】优化前端业务模块下组织、用户、职位、用户组四个页面在小屏幕下的表现 2025-09-16 21:24:54 +08:00
xuyuxiang
deec47da72 【优化】优化前端业务模块下组织、用户、职位、用户组四个页面在小屏幕下的表现 2025-09-16 20:36:58 +08:00
xuyuxiang
f22390ab55 【优化】优化抽屉模式下,抽屉的宽度在小屏幕下展示为100%,其他情况下为传入的原始宽度 2025-09-16 00:50:28 +08:00
xuyuxiang
9b733d6746 【优化】优化前端系统模块下组织、用户、职位、用户组四个页面在小屏幕下的表现 2025-09-16 00:33:50 +08:00
xuyuxiang
b0b2d67fce 【更新】头像剪裁组件增加默认剪裁宽度和高度属性 2025-09-14 21:29:41 +08:00
xuyuxiang
f4d875ae3c 【更新】底座增加动态口令登录,完善单点登录客户端用于未来无缝接入统一认证平台,优化诸多代码,更新sql 2025-09-14 00:20:56 +08:00
longbin
8111719330 【新增】xn-upload组件新增禁用状态,支持外层组件设置禁用状态 2025-09-12 17:52:14 +08:00
xuyuxiang
76ec2a7c79 【修复】修复多个根节点组织机构情况下tree接口排序不一致的问题 2025-09-07 22:23:33 +08:00
俞宝山
64d121f702 【更新】底座加入插件支持项 2025-08-08 19:42:16 +08:00
这么难演
3685f6e328 【更新】可视化大屏、数据集 无登录路由配置 2025-08-07 21:44:34 +08:00
俞宝山
d4661600f1 【新增】文件接口新增插件所需 2025-08-06 02:30:14 +08:00
xuyuxiang
66db17b796 【更新】AuthApi优化一些接口 2025-08-02 23:15:27 +08:00
xuyuxiang
e19c7baded 【更新】AuthApi增加获取验证码开关接口方便其他模块调用 2025-08-02 23:09:14 +08:00
xuyuxiang
eda0205461 【更新】AuthApi增加校验验证码接口方便其他模块调用 2025-08-02 22:58:36 +08:00
xuyuxiang
ad80b8508c 【更新】AuthApi增加一些登录接口方便其他模块调用 2025-08-02 22:20:36 +08:00
xuyuxiang
f5278a8df8 【优化】优化 #ICLS9F index.vue.btl代码生成后查询栏展开后两行会挨一起的问题,感谢 youngbo 提出的建议 2025-07-30 20:30:24 +08:00
xuyuxiang
4c88225f35 【更新】优化判断注册的用户邮箱和手机号是否需要绑定的方法 2025-07-30 20:25:35 +08:00
xuyuxiang
c7fc575242 【更新】AuthApi新增两个接口用于其他模块调用B端和C端登录 2025-07-28 22:15:19 +08:00
俞宝山
953b12c83b 【补充】替换editor编辑器后漏改的内容补充 2025-07-28 12:03:39 +08:00
俞宝山
638436afbc 【更新】替换富文本编辑器、屏幕放大缩小警告修复 2025-07-28 00:58:19 +08:00
xuyuxiang
6684bedacf 【优化】优化通知公告前端命名规范问题 2025-07-25 22:50:20 +08:00
xuyuxiang
53807cb63f 【优化】优化用户组前端命名规范问题 2025-07-25 22:48:34 +08:00
俞宝山
715451de5d 【修复】修复开源版登录界面验证码设置开启后不显示问题 2025-07-22 22:37:32 +08:00
xuyuxiang
79233da6f2 【升级】 升级SaToken版本到1.44.0 2025-07-18 00:34:29 +08:00
俞宝山
6d78e12894 【更新】文件上传后不让其每次回到首页、C端界面鼠标瞄准后颜色变淡修复 2025-07-08 01:08:28 +08:00
xuyuxiang
280ff4dcfe 【修复】 修复 #ICILAV 验证码判断显示的问题 2025-07-07 22:56:57 +08:00
xuyuxiang
614eed74d2 【更新】放开client注册或登录时获取验证码等相关接口,优化参数判空提示语统一为参数名字 2025-07-03 23:27:06 +08:00
俞宝山
62b555efaa 【底座】授权权限扫描不到中文名称无法授权情况增强 2025-06-28 00:58:24 +08:00
xuyuxiang
e676057770 【修复】修复 #ICGT0C mysql脚本缺少引号,serviceImpl中存在重复方法 queryEntity的bug 2025-06-26 22:32:07 +08:00
俞宝山
1c5532a0fe 【更新】antdv自行修复的bug无需我们做补丁 2025-06-23 22:37:33 +08:00
xuyuxiang
c964ce0508 【更新】修复SysRelationApiProvider根据角色或组下查找不到人的bug 2025-06-18 16:06:05 +08:00
俞宝山
c844d8635f 【更新】升级v3.5.1版本-sql更新 2025-06-16 14:05:44 +08:00
俞宝山
3cc77afdb1 【更新】升级v3.5.1版本-sql更新 2025-06-16 13:39:13 +08:00
俞宝山
349423170b 【更新】升级v3.5.1版本 2025-06-16 00:36:22 +08:00
俞宝山
06008bf1d2 【更新】升级v3.5.1版本 2025-06-15 23:39:47 +08:00
xuyuxiang
b712f1c2c4 【更新】补充一个漏同步的类 2025-06-15 23:29:51 +08:00
xuyuxiang
b7f164082b 【更新】更新并升级v3.5.1版本 2025-06-15 23:22:02 +08:00
chinaraind
3a5ecac001 【更新】启动配置调整 2025-06-09 09:02:14 +08:00
dongxiayu
14a17ec977 【底座】启动配置增加应用名称,底座增加traceId机制; 2025-06-08 23:58:19 +08:00
dongxiayu
936ce722e8 【底座】启动配置增加应用名称,底座增加traceId机制; 2025-06-08 23:16:32 +08:00
bubu
a4d45fab44 【更新】使用router-link代替a标签跳转,支持hash和history路由模式 2025-05-27 03:33:17 +00:00
wangxu
b8f9513d9f Merge branch 'dev' of https://gitee.com/qian521/snowy into dev 2025-05-26 17:29:28 +08:00
wangxu
f40a5bffe6 AuthEmailFormatUtl重命名为AuthEmailFormatUtil 2025-05-26 17:28:38 +08:00
俞宝山
d7280733f3 【更新】产品readme更新 2025-05-22 13:35:41 +00:00
俞宝山
1e5cca0ea7 【更新】删除几个无用的文件 2025-05-22 13:35:41 +00:00
xuyuxiang
5b9915320a 【更新】修复sql中code重复问题 2025-05-22 13:35:41 +00:00
bubu
471a9adde4 【更新】Jackson配置类重命名 2025-05-22 13:35:41 +00:00
bubu
82b591cb79 【更新】配置数据库连接池心跳检测 2025-05-22 13:35:41 +00:00
bubu
2ccf80efbb 【更新】验证码校验逻辑 2025-05-22 13:35:41 +00:00
小诺
dc5d8a5747
!260 【更新】修复新增资源时code为空的问题
Merge pull request !260 from 小诺/dev
2025-05-15 18:29:47 +00:00
xuyuxiang
a29112f699 【更新】修复新增资源时code为空的问题 2025-05-15 18:24:13 +00:00
xuyuxiang
8cc151014d 【更新】修复新增资源时code为空的问题 2025-05-15 22:51:12 +08:00
xuyuxiang
36358d3c0c 【更新】修复若干问题 2025-05-15 22:25:47 +08:00
xuyuxiang
f79114167e 【企业版】修复若干问题 2025-05-15 22:24:06 +08:00
xuyuxiang
9dd127479a 【升级】v3.5.0后端更新,更新日志见推文 2025-05-14 01:14:27 +08:00
俞宝山
550a118068 【升级】开源版前端升级v3.5.0 2025-05-13 00:33:29 +08:00
俞宝山
d8bf602f74 【更新】更新前端部分代码的换行格式 2025-05-13 00:30:46 +08:00
俞宝山
17da615cea 【升级】补充插件所需的物理删除 2025-05-10 22:05:45 +08:00
俞宝山
92bed57653 【升级】文件管理增加物理删除方法,加入一个字段 2025-05-10 20:18:10 +08:00
俞宝山
c9deb49051 【新增】底座新增几个插件需要的API方法 2025-05-10 12:39:59 +08:00
bubu
6539b501ee
【更新】关闭时销毁 Modal 里的子元素
【更新】关闭时销毁 Modal 里的子元素

Signed-off-by: bubu <8096927+bubu-space@user.noreply.gitee.com>
2025-04-20 08:20:22 +00:00
俞宝山
6414fd7a91 【更新】补充一个未提交的导包 2025-04-18 00:46:12 +08:00
shanchanghui
f01f636464 🚑 补充遗漏的import包 2025-04-17 16:30:22 +00:00
bubu
a8626b0b9f
【新增】Jackson序列化配置,支持null值转为数据类型初始值
【新增】Jackson序列化配置,支持null值转为数据类型初始值

Signed-off-by: bubu <8096927+bubu-space@user.noreply.gitee.com>
2025-04-14 06:20:25 +00:00
bubu
5a3fb9310c
【新增】Jackson序列化配置,支持null值转为数据类型初始值
【新增】Jackson序列化配置,支持null值转为数据类型初始值

Signed-off-by: bubu <8096927+bubu-space@user.noreply.gitee.com>
2025-04-14 06:05:15 +00:00
bubu
341bf964eb
update snowy-web-app/src/main/java/vip/xiaonuo/core/config/GlobalConfigure.java.
【修复】Satoken异常,解决返回结果data字段为字符串“null”的问题

Signed-off-by: bubu <8096927+bubu-space@user.noreply.gitee.com>
2025-04-07 15:38:11 +00:00
bubu
e8ee651e5c 【升级】支持视频上传、视频预览、上传成功事件 2025-04-01 05:40:11 +00:00
shanchanghui
56360738cc 🎨 application.yaml替换application.properties 2025-03-21 18:20:58 +08:00
俞宝山
68eed708be 【底座】路由参数保持 2025-03-12 19:49:20 +08:00
俞宝山
f88765a34c 【升级】前端表格组件优化、新图标选择器优化并加入readme说明 2025-03-09 00:48:21 +08:00
这么难演
9650871e90 【更新】调整&nbsp追加; 2025-03-07 09:45:43 +08:00
俞宝山
c3bc1e5ba2 【更新】标签页优化样式,解决带参数标签卡刷新丢失选中问题 2025-03-06 01:42:35 +08:00
俞宝山
0e44800b3a 【更新】图标选择器增加清除小圆点 2025-02-21 12:58:25 +08:00
俞宝山
64f81dcdae 【新增】前端新增一个新版的图标选择器,就像input一样使用,方便快捷 2025-02-20 15:11:21 +08:00
俞宝山
05d183db36 【优化】前端iss-一个小小的优化建议 #IB4G99 2025-02-02 00:21:08 +08:00
俞宝山
9996113078 【优化】前端iss改进 #IBGIV4 #IB8TH9 2025-02-02 00:10:53 +08:00
俞宝山
65ac41e50a 【通用】恢复插入的创建时间、更新时间 2025-01-13 21:58:03 +08:00
俞宝山
ebcdd75204 【新增】userCenter全局控制器中增加获取头像api 2025-01-12 17:44:56 +08:00
俞宝山
a04edce750 【升级】新增用户组选择器,优化其他选择器、升级前端依赖、新增后端sys支持对其他模块的api接口 2025-01-12 17:44:10 +08:00
俞宝山
fb41f62944 【升级】升级一个因vite底层升级不匹配的依赖导致无法打包的问题 2025-01-07 21:55:44 +08:00
wangxu
ac85622227 fix:修复使用Gson序列化时,MyBatis自动填充createTime和updateTime不一致的问题 2025-01-01 01:11:02 +08:00
wangxu
d2c9912724 增加mysql jdbc url rewriteBatchedStatements=true配置,提升批量保存性能 2024-12-28 01:10:12 +08:00
俞宝山
bff8a175e3 【升级】更新一个误导的代码 2024-12-25 01:15:07 +08:00
俞宝山
2648e2ecc3 【升级】新增用户组功能-账号体系、业务体系 2024-12-24 04:37:24 +08:00
俞宝山
2b1f59acec 【通用】登录界面容易忘记生产打包去掉默认用户名,所以加此配置来容错 2024-12-20 21:04:01 +08:00
wangxu
2b503850bf 解决Satoken(1.29.0+)组件关于token过期时间续期问题(续签问题) 2024-12-15 23:38:55 +08:00
wangxu
62e74bed77 启用动态 activeTimeout 功能,解决timeout到期之后,token必过期,实现单token的自动续期 2024-12-15 23:04:16 +08:00
俞宝山
31a97fe71d 【前端】所有左树右表左侧树加入高度适配 2024-12-13 03:52:20 +08:00
王鹏
9297dad472 【新增】增加事件广播方法单数据新增、更新以及删除 2024-12-01 08:07:11 +00:00
chinaraind
28b24b6336 【更新】Readme曾获荣誉内容更新 2024-11-27 14:43:28 +08:00
chinaraind
634c8061c8 【更新】Readme曾获荣誉内容更新 2024-11-27 14:21:04 +08:00
chinaraind
ff60b0612b 【更新】Readme曾获荣誉内容更新 2024-11-27 13:51:45 +08:00
俞宝山
59bb358d87 【新增】增加通过userId获取职位列表api 2024-11-20 22:06:26 +08:00
俞宝山
1ca98a0081 【升级】升级邮件配置功能后数据库sql文件更新 2024-11-12 03:41:04 +08:00
俞宝山
a8d5405dec 【升级】邮件功能加入更多配置更通用 2024-11-12 03:39:25 +08:00
俞宝山
c5d30b47d1 【通用】验证码判断时忽略大小写 2024-11-12 03:38:25 +08:00
chinaraind
568c3301e0 【更新】Readme曾获荣誉内容更新 2024-11-04 16:58:08 +08:00
chinaraind
0a3e7feac7 【更新】Readme曾获荣誉内容更新 2024-11-04 16:15:03 +08:00
俞宝山
ad3e8a6366 【更新】loading界面获得系统内设置的系统名称 2024-11-04 15:35:08 +08:00
chinaraind
c72376f58b 【更新】images目录内容更新,Readme图片相关内容更新 2024-11-04 14:35:38 +08:00
俞宝山
0ec1157932 【新增】前端增加一个获取随机码方法跟验证方式 2024-11-03 20:34:44 +08:00
俞宝山
563bdda3fa 【通用】biz模块跟api增加其他模块调用的api接口,权限鉴权可设置数据范围 2024-11-01 20:02:09 +08:00
俞宝山
f8ff3686a2 【更新】优化导包、前端page-select组件优化搜索+分页 2024-10-29 13:13:57 +08:00
俞宝山
dd4d0bd791 【修复】按要求恢复增加编辑器的相对路径 2024-10-29 13:11:27 +08:00
俞宝山
e6c8d1c452 【升级】修复一个漏提交screenfull前端依赖 2024-10-10 21:07:32 +08:00
俞宝山
66a62cafa7 【升级】v3.3版本更新 2024-10-09 21:39:35 +08:00
初衷
c2552c29c8 【修复】查询时排序无效问题 2024-10-09 13:52:40 +08:00
lihui
b57c9329a8 【更新】统一api前缀添加方法 2024-09-23 17:52:59 +08:00
vchao
9ce672a9a6 【优化】javax.validation改为jakarta.validation 2024-09-06 11:28:28 +08:00
Lijie
478de6388f 修改部署在非根路径下时资源的路径问题 2024-08-28 09:39:06 +00:00
13066656961
578bd2bb4c 时间戳格式化添加
(cherry picked from commit a6e6f161ab9745e48f5bc6532d6a0af1c706f189)
2024-08-28 09:38:46 +00:00
13066656961
48475ea2d2 jsckson改用时间戳
(cherry picked from commit e7f7b1b3ac725149a895ac372ad19d9bd72193d4)
2024-08-28 09:38:46 +00:00
俞宝山
69e0ce7407 【更新】升级授权样式后的查询接口问题修复 2024-08-27 13:49:28 +08:00
初衷
655779b289 【新增】增加通过文件id查询文件详情接口 2024-08-27 10:17:50 +08:00
俞宝山
93111a8490 【新增】增加获取用户列表(排除当前用户)接口 2024-08-26 00:40:35 +08:00
俞宝山
d1e6fd8575 【更新】查询上级主管兼任该机构或该职位的人也会被包含、解决分页下拉框组件无法分页问题 2024-08-13 00:20:21 +08:00
俞宝山
824800683a 【升级】v3.2版本升级 2024-08-12 00:31:41 +08:00
俞宝山
4a6eeb0c0f 【升级】v3.2版本升级 2024-08-08 23:29:07 +08:00
wxwx
8f7424b5e7
【修复】 站内信详情中包含删除用户无法正常显示为“未知用户”
站内信收件人中包含已删除用户时,sysUserApi.getUserByIdWithException(devRelation.getTargetId())方法会抛出异常,直接抛到前端报错,这里捕获一下异常不做处理,可以让删除用户成功显示为未知用户或者在catch中做特殊处理

Signed-off-by: wxwx <4622811@163.com>
2024-08-02 06:30:14 +00:00
zhengwunong
978ab81463 修复会话管理-C端会话查询用户令牌列表为空的问题。
Signed-off-by: zhengwunong <704199387@qq.com>
2024-07-23 15:16:27 +00:00
俞宝山
92adbfb5a1 【升级】v3.1.0已更新,更新细节说明可查看对应公众号推文 2024-07-23 02:14:22 +08:00
王鹏
b2da2975f4 【优化】移动端代码生成器模板调整 2024-07-20 00:28:25 +08:00
俞宝山
9f06cf96c6 【升级】更新sql文件 2024-07-19 04:17:56 +08:00
俞宝山
6684594497 【新增】通过文件URL获得文件数组 2024-07-19 03:53:54 +08:00
俞宝山
aa55ada46d 【新增】通过文件URL获得文件数组 2024-07-19 03:53:35 +08:00
俞宝山
da0d57b09c 【新增】轮播图、通知公告、业务首页前端新增,其次增加多个首页卡片 2024-07-19 02:12:00 +08:00
俞宝山
94eeb52cd3 【更新】轮播图、通知公告实体更新 2024-07-19 02:08:32 +08:00
俞宝山
1425fd5e40 【更新】DEV工具提供API接口 2024-07-19 02:05:57 +08:00
俞宝山
84ab8820c8 【更新】后端加入轮播图、通知公告功能,其次提供业务首页API接口 2024-07-19 02:05:11 +08:00
俞宝山
b131100be8 【优化】优化前端刷新速度 2024-07-19 01:44:47 +08:00
俞宝山
deb617da7e 【更新】重写用户、机构、角色、职位设计器,加入v-model引用形式,业务内完成替换 2024-07-19 01:38:00 +08:00
vchao
a6424ca5ba 【优化】字典tree接口精简冗余字段(sortCode、weight字段合并为sortCode) 2024-07-18 17:10:59 +00:00
vchao
58e7d743c4 【优化】字典tree接口精简数据库查询字段 2024-07-18 17:10:59 +00:00
dongxiayu
fd3a2b7741 【修复】StpInterfaceImpl.getPermissionList性能问题处理-ALL SNOWY/CLOUD 2024-07-17 00:28:55 +08:00
俞宝山
a2aa0b2597 【更新】获取IP地址类更新 2024-07-07 12:29:30 +08:00
俞宝山
66243186ce 【优化】GlobalExceptionUtil工具类.getArgNotValidMessage()方法 2024-07-07 12:16:06 +08:00
这么难演
d5bbd9035f 【更新】调整color.js & 颜色选择器适配丰富一丢丢 2024-07-05 10:31:02 +08:00
这么难演
e3abc84a1a 【更新】request请求:统一成功提示 路径严格匹配 2024-07-05 10:23:18 +08:00
张耕碧
56df6876ca 【文档】xn-page-select组件增加文档说明。 2024-06-28 17:20:38 +08:00
张耕碧
cf2d20014e 【修复】xn-page-select组件无法及时更新双向绑定value数据的值的问题。
【优化】xn-page-select组件支持搜索框搜索--调用后端数据搜索。
2024-06-27 18:31:44 +08:00
俞宝山
831a1ef55d 【优化】通用头像工具类: CommonAvatarUtil 2024-06-18 01:29:12 +08:00
laifeng
a265256f4e 【优化】将异常处理工具类的代码进行了简化,减少不必要代码 2024-06-17 16:38:18 +08:00
xuyuxiang
ae92f96e6c 【修复】修复判断resultSet时导致的游标偏离的问题 2024-06-12 11:34:13 +08:00
俞宝山
aad7cafe03 【调整】调整ColorPicker注释风格 2024-06-08 02:08:09 +08:00
这么难演
f7b2349e32 【更新】ColorPicker id属性精准控制元素 & 文本颜色与背景颜色反差显示 2024-06-07 16:56:05 +00:00
xuyuxiang
2c80091940 【优化】优化部分数据库选择后,查不到字段列表的问题 2024-06-07 17:01:40 +08:00
俞宝山
41d4f9c506 【更新】文件上传组件与预览组件更新 2024-06-05 16:09:00 +08:00
xuyuxiang
06f60f7343 【更新】修复批量删除数据时,日志记录中参数获取不到的bug 2024-06-04 10:57:50 +08:00
这么难演
33f702b3a7 【更新】XnCardList组件追加自定义action 2024-05-31 07:16:29 +00:00
zhengwunong
93f666f607
loginWorkbench方法里面LambdaUpdateWrapper修改为LambdaQueryWrapper比较稳妥
Signed-off-by: zhengwunong <704199387@qq.com>
2024-05-31 02:39:36 +00:00
俞宝山
c15978ae60 【升级】重构xnUpload组件、xnEditor组件,代码生成支持图片、文件上传、富文本生成 2024-05-30 15:18:41 +08:00
xuyuxiang
49e0c9e443 【更新】page接口增加sql校验,解决字段sort排序时可能存在的sql注入问题 2024-05-30 15:17:29 +08:00
俞宝山
6db3a696f0 【优化】解决前端下拉选框不跟随页面滚动导致与选框分离的问题 2024-05-28 02:10:45 +08:00
peng.miao
1a9550e528 CommonServletUtil.getRequest().getRequestURL()获取到的请求地址会是/error 2024-05-27 16:14:26 +08:00
andrewgreat
0806f5d890 解决下拉选框不跟随页面滚动导致与选框分离的问题 2024-05-26 16:01:11 +08:00
俞宝山
58a001536b 【更新】一个日志存储url问题优化 2024-05-24 01:56:00 +08:00
俞宝山
92b66f127b 【优化】短信发送参数调整 2024-05-23 23:40:58 +08:00
俞宝山
b51422bbd9 【更新】发送短信基础加入小诺短信的ApiProvider 2024-05-23 23:39:25 +08:00
俞宝山
a04ec0adf9 【优化】icon选择器去掉显示的文字 2024-05-23 23:34:45 +08:00
xuyuxiang
9785e2c8dd 【更新】优化获取用户id的写法,兼容B、C端日志记录和数据记录 2024-05-22 15:43:24 +08:00
xuyuxiang
2616c755ba 【更新】日志记录和自动插入创建人、修改人时,若获取不到B端用户,则获取C端用户,兼容B、C端日志记录和数据记录 2024-05-22 15:15:04 +08:00
wangbc
87145eebca 本地邮件发送失败 [修复] 更换依赖 来源hutool官网 2024-05-20 19:19:36 +08:00
andrewgreat
0b05df4f93 增加iconSelector图标选择器在打开时定位到已经选择图标位置,光标移动到图标显示图标名称 2024-05-19 04:30:26 +00:00
andrewgreat
3bb09dafe4 解决iconSelector在切换标签页时切换到额外的标签组页,将其置为默认 2024-05-19 04:30:26 +00:00
andrewgreat
bbf52f6507 解决iconSelector在切换标签页时切换到额外的标签组页,将其置为默认 2024-05-19 04:30:26 +00:00
俞宝山
aebc02a91b 【优化】优化STable组件内使用needTotal计算总和小数点无法计算问题 2024-05-13 01:39:21 +08:00
俞宝山
5a2d36ed52 【更新】STable点击行选中时引用者获取数据失败问题解决 https://gitee.com/xiaonuobase/snowy/issues/I9NBTK 2024-05-12 22:22:13 +08:00
俞宝山
9e3809764b 【优化】多标签下全屏去掉多余内容,让内容铺满整个界面;优化一个滚动条样式 2024-05-12 21:08:03 +08:00
俞宝山
67c7f9db3a 【优化】顶栏模块坞layout布局改为动态获取 2024-05-12 15:33:14 +08:00
徐玉祥
9cd56c69cf 【更新】druid监控页面去除广告,操作日志柱状图只查询必要字段,否则会很慢 2024-05-10 00:47:02 +08:00
俞宝山
df6b216c7e 【更正】更正短信发送的文件名、SQL增加短信类型 2024-05-10 00:35:41 +08:00
王杰光
41a1e0300b 修改druid依赖为spring-boot-3 2024-05-09 11:15:26 +00:00
王杰光
ac1193f7bf 大小写修正,否则在linux会出现构建失败的情况
RollupError: Could not resolve "./send/aliyunSmsSend.vue" from "src/views/dev/sms/form.vue"

Signed-off-by: 王杰光 <871834898@qq.com>
2024-05-08 15:51:11 +00:00
jiangxd
5ca43282db fix: 删除无用的npm包 2024-05-07 09:28:29 +08:00
俞宝山
f06cd305f4 【升级】全新V3.0发布 2024-05-07 04:29:18 +08:00
suvue
3805aead41
手机号找回密码时,密码不更新的问题
手机号在数据库中是以国密加密的形式存储,所以匹配的时候也需要加上国密算法。

Signed-off-by: suvue <suvuemail@163.com>
2024-04-08 09:56:29 +00:00
vchao
3131ffa409 【优化】服务器监控结果类2个属性名改正 2024-03-26 14:11:26 +08:00
vchao
6b18466988 【优化】代码生成API文档分组配置方法名改正 2024-03-18 10:46:00 +08:00
xiaonuobase
f0c72cfafb 【修复】升级vite版本,修复前端几个小bug 2024-03-11 12:29:26 +08:00
Loocor
1f03b969b7 [FIX] 修正清空访问日志无效的前端错误
原来清空方法 deleteBatchVisLog 里,logDelete 接口参数的 category 判断方式为 `searchFormState.value.category ? searchFormState.category : visLogType.value`,这样取不到 `category` 值,改成 `category: searchFormState.category ? ...` 就可以了

Signed-off-by: Loocor <loocor@gmail.com>
2024-03-11 04:10:31 +00:00
xiaonuobase
02c616d024 【修复】oss桶重复判断,感谢码云L-Y-Q通过PR指出 2024-03-11 12:09:18 +08:00
lrp
8c413dbd53 update DevJobServiceImpl.java.
修改原因:当CommonTimerTaskRunner为代理对象时,获取到代理对象的名称,导致启动异常。 修改方式:添加判断

Signed-off-by: lrp <9143508+mrlrp@user.noreply.gitee.com>
2024-01-15 14:04:22 +00:00
ananliangliang
ad5582bb62
【修复】降低spring.security.crypto版本至5.8.9,兼容java8的使用
Signed-off-by: ananliangliang <ananliangliang@vip.qq.com>
2024-01-12 09:13:07 +00:00
徐玉祥
bff25f3292 【优化】首页日志查询部份字段,优化查询速度 2024-01-09 19:51:46 +08:00
小诺
c79e6af7fb 【更新】更新readme文件 2024-01-08 22:58:53 +08:00
小诺
9be0fe7226 【更新】表格配置项 2024-01-08 22:48:49 +08:00
小诺
d265d7908f 【优化】模块管理升级调整 2024-01-06 00:32:47 +08:00
lingsoul
68ff1df47e
修复request.js统一成功提示误触问题
Signed-off-by: lingsoul <908707246@qq.com>
2024-01-03 09:26:02 +00:00
lingsoul
6f401347cc
【修复】存在重复内容也提示成功问题
Signed-off-by: lingsoul <908707246@qq.com>
2024-01-03 08:41:28 +00:00
小诺
efb55f4930 【更新】代码生成随着此次前端升级而升级部分语法 2023-12-31 14:30:02 +08:00
小诺
64404b6880 【更新】移动端模块因更新忽略的一个小问题 2023-12-31 14:21:02 +08:00
小诺
1e49111785 【更新】table组件暴露出一个方法 2023-12-31 13:57:42 +08:00
小诺
07fe4f8141 【更新】删除误提交测试代码 2023-12-31 13:09:22 +08:00
小诺
4f9de9fc9a 【更新】前端依赖大升级,业务代码等多处优化调整,完全去掉以往this.xxx等语法。 2023-12-31 13:06:54 +08:00
LiChaoYang
a216d0ccff fix: 在 vscode 中打开的 .vue 文件代码类型无法被推断的情况 2023-12-29 17:36:04 +08:00
小诺
abd9667ba1 【更新】更改commonEntity的用户映射且删除单独实现TransPojo的代码 2023-12-29 00:39:55 +08:00
小诺
a15da47412 【更新】默认将createUser跟updateUser进行翻译成用户名 2023-12-27 11:47:33 +08:00
徐玉祥
e66e8591dd 【修复】同步修复bug若干 2023-12-26 21:12:52 +08:00
lingsoul
00e508f3c8 【修复】使用整行选择时,外部selectedRowKeys没变化问题 2023-12-19 09:58:28 +08:00
vchao
56d9c3ff36 【修复】修复修改个人信息接口水平越权漏洞 2023-12-12 10:05:14 +08:00
vchao
5b9d2866ee 【修复】修复可通过UA设置长文本绕过日志记录的漏洞 2023-12-09 12:04:00 +00:00
vchao
cf711fd466 【修复】修复岗位接口无法依据名称关键词搜索数据bug 2023-12-09 12:03:39 +00:00
vchao
bb19ede4de 【优化】user相关实体序列化时忽略password字段(jackson) 2023-12-09 12:03:39 +00:00
vchao
799dd4547d 【优化】CommonEntity序列化时忽略deleteFlag字段(jackson) 2023-12-09 12:03:39 +00:00
15894237752
c596eb9469 【优化】自定分页大小, 首次加载显示正常, 当输入条件点击查询之后, 分页大小又恢复成默认的 2023-12-06 16:48:59 +00:00
vchao
143ac81839 【优化】jar制品包中移除冗余文件(_sql目录、md类型) 2023-12-05 17:26:08 +08:00
vchao
1483629049 【优化】日志列表修改为点击详情按钮时再请求详细数据 2023-12-05 16:10:28 +08:00
vchao
4b6a04538a 【优化】日志page查询中排除部分字段(提升查询速度) 2023-12-05 16:10:28 +08:00
vchao
a80623c453 【新增】新增依据id获取单条日志详情接口 2023-12-05 16:10:27 +08:00
小诺
25a045395f 【优化】更新代码生成的sql文件 2023-12-01 16:32:14 +08:00
俞宝山
38a470d40a 【优化】该改动影响打包后使用,暂先不用代理 2023-12-01 16:13:49 +08:00
小诺
1a6d5e97c9 【优化】代码生成根据sql变动新增一个字段 2023-11-29 15:48:03 +08:00
小诺
892b844c9a 【优化】新增按钮的修正 2023-11-29 15:24:12 +08:00
小诺
bbe263ea54 【优化】去掉一个残留的单页功能sql菜单跟权限 2023-11-28 18:31:07 +08:00
小诺
18e0f09e55 【更新】更新sql文件。 2023-11-26 06:25:21 +08:00
小诺
5062c92b9f 【更新】优化登录无角色用户的显示 2023-11-26 06:21:42 +08:00
小诺
3bb2de5244 【更新】更新sql文件。 2023-11-26 01:55:23 +08:00
小诺
65f74a05a6 【更新】针对菜单隐藏功能加入字典小修改 2023-11-26 01:28:36 +08:00
小诺
865d891a1b 【更新】大调整,详细如下:1、去掉了单页管理功能,所有单页可以挂载到某个菜单下面,这样打开某个单页左侧高亮它的上级菜单,就不会不知道哪个界面是哪里来的。2、增加了菜单显示隐藏功能。3、优化了路由相关,单独打开URL后可自动对应到对应的模块。4、取消了首页固定,默认设置菜单第一项则是首页,这样能有便于不同的角色锁定不同的首页。 2023-11-24 02:07:06 +08:00
lingsoul
5be1048912 【修复】模块坞颜色问题 #I8F2VD 2023-11-21 13:52:10 +00:00
这么诚实
17db535cbf 【新增】数据列表组件:XnDataList 2023-11-16 15:31:33 +08:00
这么诚实
58eaf57633 【新增】卡片列表组件:XnCardList 2023-11-16 15:31:04 +08:00
lingsoul
4d01ed6214 【更新】STable组件加入整行选择 2023-11-13 15:09:42 +08:00
小诺
b0b3786bd9 【更新】部门窄屏适配性调整优化 2023-11-12 21:30:05 +08:00
小诺
be77e5c07a 【更新】STable组件加入自适应窄屏以及column梳理大于10个后自动横向滚动条,其次修复默认选中功能 2023-11-12 16:08:50 +08:00
lingsoul
3414428c5e 【修复】修复点击蒙层或按esc无法关闭对话框问题 2023-11-07 02:39:29 +00:00
lingsoul
8011b37e93 【更新】完成Modal组件全屏、拖拽、拉伸功能,并支持slot插槽 2023-11-07 02:39:29 +00:00
小诺
45ef6b6bda 【优化】前端路由设置带参数打开选中且不多打开标签,对窄屏幕增加部分适配 2023-11-07 01:47:16 +08:00
小诺
9cd1fcea1d 【优化】前端代理问题改正 #I86JH4 2023-11-01 00:44:30 +08:00
diantu
4ebf2a78ef 【修复】右键菜单最大化后退出最大化模块菜单丢失问题 2023-10-31 16:35:34 +00:00
小诺
4aaa9ec30b 【优化】代码生成错别字改正 2023-11-01 00:25:15 +08:00
小诺
f44224ce93 【更新】登录后跳转路由与存储字典切换顺序 2023-11-01 00:22:12 +08:00
小诺
8928183a3f 【更新】文本编辑器跟搜索功能细节优化 2023-10-12 00:56:54 +08:00
diantu
0cae772eb2 个人中心签名添加质量参数,修复细节缺失问题
修复跳转同一页面,path一样,传递的参数不一样时页面不刷新问题
修复百度地图未能正确创建导致销毁时出现"使用了错误的类型或对象"的问题
2023-10-11 13:51:41 +08:00
小诺
8afd8e5703 【优化】优化布局 2023-10-09 16:23:30 +08:00
俞宝山
f32fcc67c6 【更新】布局恢复至一个文件内 2023-10-08 01:45:03 +08:00
小诺
6e6d31e2c5 【更新】下拉框分页组件上增加PR取消的name值 2023-10-04 01:58:51 +08:00
小诺
c09fd7ba00 【更新】修改多语种小瑕疵 2023-10-04 01:31:32 +08:00
小诺
423f7985b0 【更新】修复切换应用时第一个菜单为外链时404问题 2023-09-28 01:02:49 +08:00
小诺
d00dd22a29 【更新】重写layout布局,为更多布局扩展更方便,顺手解决标签点击不切换应用的问题 2023-09-25 00:49:28 +08:00
877617829
e6f4ee7f4d 【优化】移动端代码生成模板优化 2023-09-23 09:53:20 +08:00
gao
9d90ba4467 查询某个用户的所有令牌应该过滤掉过期的令牌 2023-09-18 11:58:39 +08:00
877617829
543373d58a 【优化】代码生成器适配uv版本移动端 2023-09-17 20:26:27 +08:00
Pone_Li
ecd9131930 修复发送腾讯验证码sdkAppId为空时的赋默认值错误
Signed-off-by: Pone_Li <poneli0@163.com>
2023-09-13 14:30:24 +00:00
xiaonuobase
6ca6c69469 【更新】更新整体后台管理容器,让该前端增加前台界面不受高度限制 2023-09-13 17:01:19 +08:00
xiaonuobase
cad24eb2a8 【更新】优化前端搜索组源码及个人中心优化 2023-09-09 01:01:14 +08:00
15894237752
1a828f8378 【优化】登录时, 限制密码输入错误次数, 并封禁账号 2023-09-08 09:21:26 +00:00
小诺
eeb3e72ee0 【更新】去掉前端组件无用的<style>标签,部分组件语法规范化 2023-09-04 22:31:55 +08:00
lingsoul
fc23e7dfb9 【修复】在多标签栏没有标签地方使用中键报错问题 2023-08-31 15:11:42 +08:00
lingsoul
eab0288f0b 【新增】多标签鼠标中键关闭,并优雅地修复右键关闭按钮出现"使用了错误的类型或对象"的问题 2023-08-30 14:55:38 +08:00
gao
d28af316a8 代码格式化 2023-08-28 11:53:54 +08:00
gao
2dcff6f5c5 1.修复了xnPageSelector只能加载前两页的bug
2.将回显查询的结果移动到最前方防止滑动监听出现问题
3.initParams应该包含原始的param参数以适应条件查询需求
2023-08-28 11:47:29 +08:00
gosk
3f493de7bf fix: 修正[mybatis-plus的or方法使用不当,导致生成的sql的where条件不符合预期--应该包在括号里的or语句,漏掉了括号] 2023-08-21 14:30:42 +00:00
小诺
85c603e218 【更新】前端站内信界面错别词修正 2023-08-18 15:54:28 +08:00
这么诚实
2ce089c7aa 【更新】地图 方法注释优化 2023-08-18 07:48:03 +00:00
这么诚实
a396426aa5 【更新】地图容器高度 调整为 props属性,默认800 2023-08-18 07:48:03 +00:00
gosk
48a175ea3d fix: 解决[一个方法上注解了多个路由路径时, 权限授权页面只显示多个里面的第一个]的问题 2023-08-15 19:40:41 +09:00
小诺
2f539e915e 【更新】更新oracle数据库文件 2023-08-13 13:34:54 +08:00
xiaonuobase
c25e62a1f0 【更新】更新mysql语句,删除pgsql 2023-08-11 19:53:02 +08:00
xiaonuobase
34d2fe3153 【更新】取消字典补丁的冗余代码 2023-08-11 19:47:31 +08:00
xiaonuobase
f3bdde8c1a 【更新】代码生成去除PC前端跟移动端前端的list接口 2023-08-11 19:11:34 +08:00
xiaonuobase
67bf454e66 【更新】升级角色功能,业务管理员可以授权给个人全局角色啦 2023-08-11 19:11:01 +08:00
xiaonuobase
b584c17d58 【新增】新增业务字典功能,只支持修改显示名称 2023-08-11 19:10:05 +08:00
xiaonuobase
42f3979bc5 【更新】更改获取所有机构方法 2023-08-11 19:08:47 +08:00
xiaonuobase
c62778a0d2 【更新】个人中心组织架构图调整为只显示本级及以上,同时升级vueTree前端组件 2023-08-11 19:08:18 +08:00
小诺
abd51015c7 【更新】优化人员、机构、职位、角色的前端代码,解决左侧树点击多次后无法折叠展开的情况 2023-08-10 01:36:01 +08:00
xiaonuobase
8672389da2 【更新】恢复XnFormContainer内的弹框组件 2023-08-09 15:04:32 +08:00
小诺
29633701d1 【优化】暂时去掉stable未完善的国际化配置 2023-08-06 22:03:20 +08:00
小诺
722c5e9e2c 【优化】更新iss中提到的minio内配置提示语错误优化 2023-08-05 22:50:50 +08:00
小诺
88a1ca21bd 【更新】前端stable-代码格式调整 2023-08-05 22:48:42 +08:00
gosk
064a7bc127 feat: 为组件STable的标题加上多国语言功能 2023-08-04 16:40:30 +00:00
lingsoul
8db2dab751 【优化】修复用户授权资源无法取消只有一个资源的问题 2023-08-03 10:34:49 +08:00
小诺
9f7c6194a3 【更新】完善上级主管和连续多级主管解析 2023-08-02 00:01:35 +08:00
小诺
63d23045cd 【优化】sys模块下主管name回显使用翻译插件代替ext_json 2023-08-01 23:44:41 +08:00
小诺
6025d685d7 【更新】更新地图PR与拖动PR的代码格式 2023-07-31 23:33:49 +08:00
877617829
0f092ba477 【优化】主管name回显使用翻译插件代替ext_json 2023-07-31 22:54:14 +08:00
lingsoul
151914a015 【新增】实现iss对话框拖拽、缩放功能 2023-07-31 13:55:00 +00:00
这么诚实
331cfe667b 【更新】地图apiKey 2023-07-31 13:53:42 +00:00
这么诚实
f237abd040 【新增】百度地图组件 BMap 2023-07-31 13:53:42 +00:00
这么诚实
7a3b988a44 【新增】高德地图组件 AMap 2023-07-31 13:53:42 +00:00
小诺
154d2e1675 【更新】更新系统监控界面代码格式及逻辑 2023-07-30 22:50:49 +08:00
小诺
4d2a987c9b 【更新】修复业务模块下机构选择器树无法构造的bug,前端保持左树右表跟form表单各自统一 2023-07-29 01:02:52 +08:00
diant
545cced87c 【优化】系统监控页面加载优化 2023-07-27 14:52:30 +08:00
diant
b2948f7966 Merge remote-tracking branch 'origin/dev' into dev 2023-07-26 16:09:40 +08:00
diant
802603f7e8 【修复】多标签鼠标右键关闭按钮出现"使用了错误的类型或对象"的问题 2023-07-26 07:47:42 +00:00
diant
8c43184db3 【修复】多标签鼠标右键关闭按钮出现"使用了错误的类型或对象"的问题 2023-07-26 10:10:00 +08:00
877617829
833de14401 【修复】移动端代码生成器bug修复 2023-07-26 10:06:08 +08:00
小诺
6d5701909c
【更新】readme加入外包开发说明
Signed-off-by: 小诺 <1253070437@qq.com>
2023-07-25 11:20:55 +00:00
wangxu
28a8de231a 代码优化 2023-07-24 23:40:54 +08:00
小诺
df4803471d 【更新】文件预览组件更新 2023-07-22 22:56:18 +08:00
小诺
3d06d1de5d 【更新】调整几个前端界面规范 2023-07-22 13:50:11 +08:00
小诺
7b4fdc4bff 【新增】前端tool工具类新增iss提议树形字典翻译方法 2023-07-22 13:05:54 +08:00
这么诚实
98fa499b8c 【更新】职位|岗位 获取机构树 无需顶级节点 2023-07-21 13:03:21 +08:00
877617829
8877705ba8 【修复】移动端代码生成Oraclesql语句应为移动端模块id 2023-07-20 22:18:43 +08:00
小诺
7d62c31ceb 【更新】更新消息通知功能细节 2023-07-19 21:01:54 +08:00
xiaonuobase
d3375c259c 【更新】去掉前端某依赖的自动升级 2023-07-19 11:06:13 +08:00
diant
6753cfb3e3 SSE消息推送模块增加连接已知问题修复 2023-07-19 09:39:54 +08:00
diant
d77945a427 【新增】增加SSE消息推送模块,实现右上角站内信徽标数推送
【修复】修复个人中心-我的消息 关闭详情页是否已读未刷新的问题
2023-07-18 16:11:43 +08:00
diant
be63db01f7 Merge remote-tracking branch 'origin/dev' into dev 2023-07-18 16:10:25 +08:00
877617829
f244920813 【更新】移动端代码生成器Oracle数据库init中sql字段新增 2023-07-17 23:54:36 +08:00
diant
e931aec42b 【新增】增加SSE消息推送模块,实现右上角站内信徽标数推送
【修复】修复个人中心-我的消息 关闭详情页是否已读未刷新的问题
2023-07-17 14:29:29 +08:00
877617829
50c953709c 【新增】新增移动端【压缩包】代码生成,mysql数据库gen_basic表更新,但Oracle未更新 2023-07-16 15:28:58 +08:00
15894237752
266c0ffbf5 【优化】当组织机构下存在岗位Id, 通过岗位Id回显获取不到数据时, 回显提示错误 2023-07-13 08:35:43 +00:00
小诺
caf0eb0e5e 【更新】更新文件展示组件,增加下载按钮 2023-07-12 10:49:50 +08:00
小诺
dfee2e56da 【更新】固定前端依赖版本 2023-07-12 10:08:43 +08:00
小诺
fba601fa23 【新增】前端新增文件预览,支持图片、word、excel、pdf,妥妥的安排! 2023-07-12 01:56:34 +08:00
xiaoliu
e643c2c2d2 获取当前用户信息,赋值给对应的组织架构树 2023-07-10 15:06:44 +00:00
xiaoliu
311352278f 获取当前用户信息,赋值给对应的组织架构树 2023-07-10 15:06:44 +00:00
wangzhengshi
3d6d1f93c2 Merge remote-tracking branch 'origin/master' 2023-07-09 11:24:33 +08:00
wangzhengshi
3c3cd81968 【修复】日志记录表DEV_LOG缺少REQ_METHOD(请求方式)
【修复】DevSmsAliyunUtil工具类校验问题
2023-07-09 11:24:24 +08:00
wangzhengshi
a5129352f9 1.修复日志记录表DEV_LOG缺少REQ_METHOD(请求方式)
2.修复DevSmsAliyunUtil工具类校验问题
2023-07-09 11:14:17 +08:00
小诺
f04cfc3da2 【更新】补充一些API相关遗漏的改进 2023-07-08 00:44:25 +08:00
小诺
c5ae8971e7 【更新】修改分页下拉框组件参数属性以及人员管理两个地方的参数取消 2023-07-07 23:24:25 +08:00
这么诚实
66df79746f 【更新】菜单 新增、编辑 请求逻辑调整 2023-07-07 13:45:34 +08:00
小诺
e070bc01bd 【更新】更改新增编辑表单时错误的写法(代码生成模板) #I7CH2V #I6SVT3 #I6KOVG 2023-07-07 01:07:15 +08:00
小诺
3f6e44001a 【更新】更改新增编辑表单时错误的写法 #I7CH2V #I6SVT3 #I6KOVG 2023-07-07 01:06:24 +08:00
俞宝山
666720ed96 【更新】修复排序问题 #I7IU1Y 2023-07-07 00:33:31 +08:00
小诺
44f5d94e59 【升级】新增xnPageSelect分页组件,用户管理均已使用该新组件 2023-07-06 01:30:45 +08:00
diant
a200f1899c 去除druid监控页面广告 2023-06-30 16:26:53 +08:00
小诺
19b0421287 【更新】去掉用户、人员的选择主管的参数 2023-06-29 23:52:16 +08:00
小诺
82d4c4fe50 【更新】人员、机构等选择器分页问题修复 2023-06-29 23:51:25 +08:00
徐玉祥
5eb8ed8d1e 【增强】用户、机构选择器优化 2023-06-29 23:36:26 +08:00
徐玉祥
43f1137d64 【增强】用户、机构选择器优化 2023-06-29 23:36:16 +08:00
徐玉祥
bc813b0ede 【增强】用户、机构选择器优化 2023-06-29 23:33:57 +08:00
小诺
ad34706ad1 【更新】去掉人员、角色等选择器的默认list分页 2023-06-29 13:47:56 +08:00
diant
bc5783e2b6 去除达梦与人大金仓的jar包,改为maven引入 2023-06-28 16:47:47 +00:00
小诺
352bf642ba 【更新】后端升级如下: 1、人员、机构、角色、岗位选择器list接口全部升级为page分页接口 2、userCenter控制器增加人员、机构、角色、岗位已选择的字符串数组查询对象数组的接口 2023-06-28 00:34:57 +08:00
小诺
3411bb602e 【更新】后端升级如下: 1、人员、机构、角色、岗位选择器list接口全部升级为page分页接口 2、userCenter控制器增加人员、机构、角色、岗位已选择的字符串数组查询对象数组的接口 2023-06-28 00:34:06 +08:00
小诺
c2f7e4ebca 【更新】人员、机构、岗位、角色选择器由传递url方式改为接口获取且为分页模式 2023-06-28 00:13:17 +08:00
xuyuxiang
1fe2ab6dd9 【更新】优化日志保存时获取当前用户id 2023-06-21 10:26:27 +08:00
小诺
e8e8f6c90b 【新增】全局less内加入一个左侧标签高亮的样式 2023-06-20 23:36:31 +08:00
小诺
9425cacec4
update README.md.
Signed-off-by: 小诺 <1253070437@qq.com>
2023-06-20 13:43:59 +00:00
徐玉祥
06502249c4 【优化】操作日志保存时获取不到当前用户id的bug 2023-06-19 21:38:38 +08:00
徐玉祥
8aceaf7077 【优化】忽略文件上传图片的缩略图生成的错误异常 2023-06-19 21:34:33 +08:00
徐玉祥
d08e0a0da9 【修复】修复 #I73UGD 邮箱带有下划线无法校验成功的bug 2023-06-19 21:18:33 +08:00
徐玉祥
1c6abf5f3f 【修复】修复 #I73UGD 邮箱带有下划线无法校验成功的bug 2023-06-19 21:17:54 +08:00
徐玉祥
8cc6880b9e 【修复】修复 #I7D0DR 操作日志保存时获取不到当前用户id的bug 2023-06-19 21:06:52 +08:00
小诺
3258e3b8bd
【更新】更新readme前端node版本要求说明
Signed-off-by: 小诺 <1253070437@qq.com>
2023-06-18 05:36:18 +00:00
877617829
6d85c7dae7 Merge branch 'dev' of https://gitee.com/xiaonuobase/snowy into dev 2023-06-15 23:42:02 +08:00
877617829
302ccdfea4 【优化】移动端资源位置调整 2023-06-15 23:41:56 +08:00
小诺
004bb60d86 【更新】批量操作组件优化且加入图标颜色支持,上传组件优多文件上传且提供主动获取文件方法 2023-06-14 23:37:26 +08:00
小诺
ddae7f6ef3 【更新】request请求工具同步其他版本 2023-06-14 23:35:37 +08:00
xuyuxiang
5dbb5ef23b 【更新】修复手机号重复校验的bug,修复 #I71SNK 非超管角色用户不可被授权系统模块菜单资源的bug 2023-06-14 18:34:34 +08:00
877617829
2ef6b9c45d 【新增】移动端静态资源 2023-06-11 16:15:41 +08:00
xuyuxiang
47623533bd 【更新】修复连接池未释放的一个bug 2023-05-29 14:13:58 +08:00
xuyuxiang
8459e94215 【更新】优化异常处理 2023-05-23 11:01:38 +08:00
xuyuxiang
aea99f1a76 【更新】优化参数配置的删除逻辑 2023-05-23 11:01:26 +08:00
徐玉祥
1477ed0ac9 【更新】优化全局异常页面处理器的逻辑判断 2023-05-11 23:14:25 +08:00
xuyuxiang
738ca7802e 【更新】优化全局异常处理,服务器未知异常定位更清晰 2023-05-11 09:50:48 +08:00
xuyuxiang
3c31705d76 【更新】优化一些细节 2023-05-10 16:39:26 +08:00
xuyuxiang
c4dae1ea1a 【更新】优化返回文件流的接口的异常处理 2023-05-10 09:31:38 +08:00
xuyuxiang
7013fd1568 【更新】完善数据库的判断 2023-05-09 13:51:43 +08:00
徐玉祥
c71f33fd98 【更新】添加人大金仓数据库连接示例 2023-05-08 21:07:21 +08:00
xiaonuobase
82099e7c9c 【更新】优化前端水印组件代码格式 2023-04-29 17:17:36 +08:00
小诺
37ef2d0427 【更新】优化前端组织授权接口界面代码 2023-04-29 16:21:41 +08:00
15894237752
0b03bcefde 【更新】表头接口列添加搜索, 数据范围添加全选 2023-04-28 14:28:52 +08:00
15894237752
466c6c67cb 【修复】修复水印, 获取watermark元素失败, 获取token, z-index:9999置顶 2023-04-28 11:37:15 +08:00
xuyuxiang
1297fede62 【修复】修复 #I6T57A 短信验证码校验bug 2023-04-25 15:51:46 +08:00
xuyuxiang
a783d8fc1a 【修复】修复 #I6V3ZB jettison漏洞CVE-2023-1436 2023-04-25 15:25:02 +08:00
xuyuxiang
4870ad6028 【修复】修复 #I6X76X 排序字段验证bug 2023-04-25 15:22:37 +08:00
xuyuxiang
3ff79b2c40 【修复】修复 #I6YA2U 节流防抖注解失效的bug 2023-04-25 15:21:43 +08:00
guaiwu
8df3411ef9 同步gen_basic表结构修改 2023-04-24 14:44:43 +00:00
yzp
2bf63d0933 Fix:代码生成的模板中使用了四个空格进行缩进,导至生成的vue文件过不了eslint的语法检测 2023-04-24 08:31:05 +00:00
yzp
d889c4dc0f BUG:CoolumnSetting的重置功能不可用 2023-04-24 08:31:05 +00:00
xuyuxiang
4b2d9e515d 【更新】更新所获荣誉图 2023-04-23 09:00:50 +08:00
dongxiayu
407d0585b4 【更新】images目录,Readme文件内容更新 2023-04-23 00:46:20 +08:00
dongxiayu
b55f7f0d43 【更新】images目录,添加架构图原理图文件 2023-04-23 00:38:40 +08:00
dongxiayu
4dffb41ce9 【更新】Readme文件,内容添加架构图原理图 2023-04-23 00:31:32 +08:00
小诺
96998cabaf 【更新】更新人员管理界面的权限判断逻辑 2023-04-22 16:04:00 +08:00
小诺
6156b0755e 【更新】更新前端机构、职位、角色、用户 选择器的内部逻辑 2023-04-22 15:00:21 +08:00
小诺
ac84f7376a 【更新】前端登录跳转至退出前的界面调整 2023-04-22 13:24:15 +08:00
小诺
6afe3835b1 【更新】更新sql,业务模块的code由system改为biz 2023-04-21 23:56:34 +08:00
xiaonuobase
7f66d5539f 【修复】修复业务代码内错误的包名 2023-04-20 16:24:47 +08:00
小诺
39d745536c 【新增】新增前端批量处理按钮(可配置类型、图标、名称),新增正数金额校验规则 2023-04-19 21:55:15 +08:00
小诺
2335f1f34b 【更新】去掉前端加密工具类中的私钥以及基本无用的方法 2023-04-19 21:40:04 +08:00
xiaonuobase
aa8cbb847d 【升级】退出后路由回到登陆前使用的页面,感谢码云 冬天 建议 2023-04-19 17:54:43 +08:00
小诺
3e28c838ee 【更新】字典功能被选中后列表包含自己,且自动区分上下级 2023-04-14 00:25:35 +08:00
xuyuxiang
18ee9d4ec8 【修复】修复过滤器sa-token校验规则bug 2023-04-13 15:06:01 +08:00
jiwangyu
1943c3985f 【修复】修复TinyMCE6段落样式、字体、列表编号控件不显示问题 2023-04-10 05:58:38 +00:00
woyuno
4155d160cb 【优化】过滤器sa-token校验规则优化 2023-04-10 05:08:32 +00:00
guaiwu
95c86975ac 提交postgresql数据库最新的初始化脚本 2023-04-10 04:14:29 +00:00
xiaonuobase
85a96962e0 【更新】操作日志详情高亮组件增加滚动条 2023-04-07 11:44:41 +08:00
xuyuxiang
308d08b81f 【优化】优化角色和用户授权逻辑判断 2023-04-07 11:13:02 +08:00
xiaonuobase
5a46563a47 【更新】授权菜单资源加入提示更改 2023-04-07 11:02:45 +08:00
xiaonuobase
e5d7a8aef4 【更新】授权菜单资源加入提示 2023-04-07 10:51:16 +08:00
小诺
a050e25025 Merge branch 'master' of gitee.com:xiaonuobase/snowy into dev
Signed-off-by: 小诺 <1253070437@qq.com>
2023-04-06 02:27:17 +00:00
xuyuxiang
5b64dd0a07 【修复】修复邮箱校验错误的提示语 2023-04-06 09:23:50 +08:00
xiaonuobase
1521fcc529 【新增】新增左上角折叠菜单功能 2023-04-03 15:01:01 +08:00
小诺
a4cfc69126 【更新】顶部模块坞样式闪动改动 2023-03-29 21:16:11 +08:00
小诺
f24bb37e96 【更新】一个影响其他布局的css调整 2023-03-28 22:27:39 +08:00
徐玉祥
f5f84b1469 【更新】更新sql说明 2023-03-28 19:40:30 +08:00
dongxiayu
ffeb363126 【修复】修复 #I6FSBE 菜单树搜索 bug 2023-03-28 00:23:25 +08:00
小诺
8d43c83eef 【更新】表格{ x: 1200, y: 300 }不生效问题修复 2023-03-27 16:07:50 +00:00
xlzy
21decad50c 【更新】修复清除缓存之后,头像没有更新的问题 2023-03-27 16:07:50 +00:00
小诺
0dc2d9dcf6 【更新】关闭多标签功能后,移除其他被缓存的标签 2023-03-27 16:07:50 +00:00
小诺
89ae5eff78 【优化】调整顶部模块坞间距 2023-03-27 16:07:50 +00:00
xlzy
b845a0c253 【更新】删除无用配置,默认值就是这些 2023-03-27 16:07:50 +00:00
xlzy
9195f0ea36 【更新】显示面包屑时,间距过大 2023-03-27 16:07:50 +00:00
小诺
40d10734a2 【优化】优化css代码格式 2023-03-27 16:07:50 +00:00
xlzy
ac59260a49 【更新】顶部栏应用主题色时修正样式 2023-03-27 16:07:50 +00:00
xlzy
9b5f2502f8 【更新】首页打开控制台的显示优化 2023-03-27 16:07:50 +00:00
小诺
cc06c12f8c 【修复】修复首页两个日志模块超管不显示更多按钮的问题 2023-03-27 16:07:50 +00:00
小诺
183ea32be6 【优化】字典界面样式调整,更协调 2023-03-27 16:07:50 +00:00
xlzy
a2b7d7b713 【更新】修复最大化标签之后,模块坞不显示的问题 2023-03-27 16:07:50 +00:00
xlzy
991fba682f 【更新】超时时间设置1分钟 2023-03-27 16:07:50 +00:00
xlzy
99d66df3dc 【更新】修复修改分页之后,刷新表格时传递的pageSize参数不正确的问题 2023-03-27 16:07:50 +00:00
xlzy
8e8e59ae47 【更新】安装qs库 2023-03-27 16:07:50 +00:00
xlzy
fa6a10e7cd 【更新】解决tailwindcss控制台警告 2023-03-27 16:07:50 +00:00
xlzy
c2041c2782 【更新】兼容更多的请求method,增加moduleRequest,更方便添加前缀 2023-03-27 16:07:50 +00:00
xlzy
65fe9fce81 【更新】修复tailwindcss部分颜色不生效 2023-03-27 16:07:50 +00:00
xlzy
c4df5d65e2 【更新】移除style 2023-03-27 16:07:50 +00:00
小诺
283e42f0d2 【更新】设置抽屉内的一些bug修复,以及少数功能代码优化 2023-03-27 16:07:50 +00:00
xlzy
c016c136ae 【更新】升级vite以及其他依赖并锁定版本 2023-03-27 16:07:50 +00:00
xlzy
fa91de42b9 【更新】忽略lock文件 2023-03-27 16:07:50 +00:00
xlzy
7384ed0ce3 【更新】调整XnFormContainer 2023-03-27 16:07:50 +00:00
xuyuxiang
23d0791e4e 【修复】修复 #I6PK10 登录菜单取并集bug 2023-03-27 16:07:50 +00:00
xlzy
0ba4a8c4d0 【更新】升级vite版本 2023-03-27 16:07:50 +00:00
xlzy
e5c7326a38 【更新】替换旧的$store 2023-03-27 16:07:50 +00:00
xlzy
96fa681a91 【更新】兼容formStyle 2023-03-27 16:07:50 +00:00
xlzy
48736f6519 【更新】使用Pinia代替Vuex 2023-03-27 16:07:50 +00:00
xuyuxiang
1cdd40be28 【修复】修复 #I6NVHY 手机验证码登录验证bug 2023-03-27 16:07:50 +00:00
xuyuxiang
9f66eb52a3 【优化】优化异常打印,不使用e.printStackTrace方式 2023-03-27 16:07:50 +00:00
xuyuxiang
60049933ae 【优化】优化异常打印,不使用e.printStackTrace方式 2023-03-27 16:07:50 +00:00
小诺
50ff1b8f9f 【更新】表格{ x: 1200, y: 300 }不生效问题修复 2023-03-27 23:44:49 +08:00
xlzy
ae73f1bb14 【更新】修复清除缓存之后,头像没有更新的问题 2023-03-27 23:14:26 +08:00
小诺
cc8c7b1e07 【更新】关闭多标签功能后,移除其他被缓存的标签 2023-03-27 00:10:11 +08:00
小诺
6a74374f71 【优化】调整顶部模块坞间距 2023-03-26 23:08:20 +08:00
xlzy
3aefc5fd8b 【更新】删除无用配置,默认值就是这些 2023-03-26 23:01:31 +08:00
xlzy
1a4ec87b69 【更新】显示面包屑时,间距过大 2023-03-26 22:54:13 +08:00
小诺
3cc44e4ec1 【优化】优化css代码格式 2023-03-26 22:13:28 +08:00
xlzy
a29da7fac0 【更新】顶部栏应用主题色时修正样式 2023-03-26 20:48:58 +08:00
xlzy
9884e6bb1e 【更新】首页打开控制台的显示优化 2023-03-26 20:36:47 +08:00
小诺
a085116ae9 【修复】修复首页两个日志模块超管不显示更多按钮的问题 2023-03-26 16:06:20 +08:00
小诺
516e5f9566 【优化】字典界面样式调整,更协调 2023-03-26 15:32:40 +08:00
xlzy
4c1a31661e 【更新】修复最大化标签之后,模块坞不显示的问题 2023-03-26 14:58:00 +08:00
xlzy
3005f8e7a5 【更新】超时时间设置1分钟 2023-03-26 14:39:19 +08:00
xlzy
2c4c321590 【更新】修复修改分页之后,刷新表格时传递的pageSize参数不正确的问题 2023-03-26 13:57:34 +08:00
xlzy
d67f24ef5c 【更新】安装qs库 2023-03-26 13:07:54 +08:00
xlzy
5c43c869aa 【更新】解决tailwindcss控制台警告 2023-03-26 13:07:11 +08:00
xlzy
9db45c2297 【更新】兼容更多的请求method,增加moduleRequest,更方便添加前缀 2023-03-26 12:49:14 +08:00
xlzy
363c9b7b2b 【更新】修复tailwindcss部分颜色不生效 2023-03-26 12:09:52 +08:00
xlzy
7daf8b05de 【更新】移除style 2023-03-26 12:02:29 +08:00
小诺
9d0c481f85 【更新】设置抽屉内的一些bug修复,以及少数功能代码优化 2023-03-26 01:57:08 +08:00
xlzy
ea0ffa53ef 【更新】升级vite以及其他依赖并锁定版本 2023-03-25 17:44:35 +08:00
xlzy
2b80d75327 【更新】忽略lock文件 2023-03-25 17:42:41 +08:00
xlzy
51fe3e9a2d 【更新】调整XnFormContainer 2023-03-25 17:41:16 +08:00
xuyuxiang
da4f5f1dd3 【修复】修复 #I6PK10 登录菜单取并集bug 2023-03-24 09:18:59 +08:00
xlzy
40a0dafb4e 【更新】升级vite版本 2023-03-23 23:14:12 +08:00
xlzy
6913945e1b 【更新】替换旧的$store 2023-03-23 23:11:14 +08:00
xlzy
1ea621bf5a 【更新】兼容formStyle 2023-03-23 17:00:47 +08:00
xlzy
2c6ec39122 【更新】使用Pinia代替Vuex 2023-03-23 17:00:47 +08:00
xuyuxiang
df11702b38 【修复】修复 #I6NVHY 手机验证码登录验证bug 2023-03-23 16:57:19 +08:00
xuyuxiang
2e87918730 【优化】优化异常打印,不使用e.printStackTrace方式 2023-03-23 14:16:32 +08:00
xuyuxiang
8f2fa66647 【优化】优化异常打印,不使用e.printStackTrace方式 2023-03-23 14:13:00 +08:00
小诺
3febc21536
!96 【修复】修复登录界面刷新后无缓冲情况下报错问题
Merge pull request !96 from 小诺/dev
2023-03-23 04:11:52 +00:00
xuyuxiang
d1e8ca972f 【修复】修复登录界面刷新后无缓冲情况下报错问题 2023-03-23 12:09:22 +08:00
徐玉祥
6f702b6e55 【更新】升级SpringFrameWork至5.3.26,紧急修复漏洞 2023-03-23 00:56:39 +08:00
小诺
2b33da9e9c 【更新】锁定前端依赖版本,避免某依赖升级摧毁原有可用性 2023-03-23 00:47:22 +08:00
小诺
7387f4d1d3 【修复】修复登录界面验证码输入错误后不重置以及配置完成不立马生效问题 2023-03-22 23:34:04 +08:00
小诺
360f1bb233 【升级】前端整体升级所有抽屉采用统一组件,可根据喜好情况在抽屉跟对话框随意切换 2023-03-22 21:44:43 +08:00
小诺
e97ea6b731 【更新】修复一个前端模块坞闪烁问题,优化css样式 2023-03-21 00:47:15 +08:00
xlzy
09c4fb24b5 【更新】调整多页签交互,增加右键操作 2023-03-20 21:48:42 +08:00
xlzy
e42c4ddc3a 【更新】新增XnFormContainer组件和使用demo 2023-03-20 21:48:42 +08:00
xiaonuobase
df8482e4a7 【更新】增加QQ新群号 685395081 2023-03-20 15:26:04 +08:00
徐玉祥
f1e4e44d7e 【优化】优化导包 2023-03-18 19:44:56 +08:00
小诺
5352269b09 【优化】优化一个前端字典函数 2023-03-17 02:01:05 +08:00
小诺
65e48f847f 【修复】修复代码生成批量删除组件引用方法取不到参数问题 2023-03-16 21:45:04 +08:00
xuyuxiang
5345501700 【修复】修复 #I6N98C GenConfig Entity SortCode字段与数据库对应字段数据类型不符 2023-03-15 14:39:37 +08:00
xuyuxiang
b81d122b95 【修复】修复 #I6MY3S CommonCacheOperator缓存bug 2023-03-15 09:07:57 +08:00
小诺
747b6973be 【更新】统一下载blob功能加入判断 2023-03-14 23:54:57 +08:00
xuyuxiang
d18eb01292 【修复】修复C端用户Mapper.xml对应的Mapper接口错误 2023-03-14 16:35:36 +08:00
小诺
f8d7ced955 【更新】调整导出功能的参数格式 2023-03-14 01:45:43 +08:00
徐玉祥
bba662ed6c 【更新】回滚错误异常处理 2023-03-13 23:56:20 +08:00
徐玉祥
bbb634e9f4 【更新】优化流下载接口在权限校验时的异常处理 2023-03-13 22:48:52 +08:00
徐玉祥
4181fd0aca 【更新】biz模块删除导入模板 2023-03-13 22:18:55 +08:00
徐玉祥
e33c566eaa 【更新】下载模板接口使用Void 2023-03-13 22:16:18 +08:00
徐玉祥
a5f94ec488 【更新】easypoi排除冲突依赖 2023-03-13 22:07:22 +08:00
徐玉祥
282019598e 【更新】恢复空Test 2023-03-13 21:37:21 +08:00
小诺
41a9ce41a6 【更新】调整一点业务前端代码格式 2023-03-13 21:14:26 +08:00
徐玉祥
bdce56a803 【更新】前端操作栏权限判断 2023-03-13 20:48:16 +08:00
徐玉祥
16b2263ae5 【更新】完善业务模块的导入导出,导出新SQL 2023-03-13 20:44:06 +08:00
xuyuxiang
b47192516a 【更新】业务模块前端增加导出方法 2023-03-13 17:22:22 +08:00
xuyuxiang
25e3b339c1 【更新】业务模块增加导入导出等功能代码 2023-03-13 17:12:49 +08:00
xuyuxiang
4f71fd1006 【更新】业务模块增加导入导出等功能代码 2023-03-13 16:10:41 +08:00
xiaonuobase
5fe157b672 【更新】业务功能列表增加操作头 2023-03-13 11:31:58 +08:00
xiaonuobase
f395391f4c 【修改】更新sql文件,增加导入导出的按钮权限 2023-03-13 11:18:31 +08:00
小诺
c7e615c7b4 【更新】代码生成增加对应的批量删除跟代码调优,解决了iss中提出的生成后代码不能重置等一系列问题,其次优化后端实体类导包 2023-03-12 23:43:44 +08:00
小诺
98d3c87bac 【修复】sTable修复alert的用法 2023-03-12 23:42:37 +08:00
小诺
dece5567ba 【修复】修复刷新浏览器路由警告问题 2023-03-12 21:14:31 +08:00
小诺
cd3b44e6ba 【更新】前端界面验证码配置后刷新模式更改,登录界面回车监听增加 2023-03-12 19:20:21 +08:00
小诺
b546184f3f 【更新】所有列表上面重置按钮重置后刷新列表 2023-03-12 14:55:37 +08:00
小诺
3ed834204b 【更新】更改因头像被清理后无法导出的问题 2023-03-12 14:30:42 +08:00
小诺
1613273835 【升级】所有带有批量删除的功能统一封装为插件共用,实现批量删除确认 2023-03-12 11:02:15 +08:00
小诺
cb4f0a4680 【升级】用户、角色、字典、机构、岗位这些左树右表得到增强,新增时选择树后对应新增的表单跟着选中 2023-03-12 02:39:59 +08:00
小诺
41d8a234a3 【更新】前端界面数字滑动条统一更换为数字输入框 2023-03-12 01:55:07 +08:00
小诺
aea1fac10b 【更新】前端代码进行大量的优化、缩减 2023-03-12 01:42:38 +08:00
小诺
46890f08c8 【修复】个人中心清理掉头像后阴影效果错乱问题以及签名图片左右不饱满问题 2023-03-12 00:59:38 +08:00
小诺
47ff13c198 【更新】优化代码,业务下人员管理导入功能同步加入导入文件类型限制 2023-03-12 00:23:51 +08:00
D哥
e34944a950 优化:限制和验证用户导入上传的文件类型和扩展名为xls、xlsx
Signed-off-by: D哥 <12271764+darrenteng@user.noreply.gitee.com>
2023-03-11 16:02:06 +00:00
小诺
d13dfb0043 【更新】完成定时任务前端立即运行功能 2023-03-11 23:55:43 +08:00
小诺
0b0d7e7cfd 【优化】优化前端菜单管理界面查询 2023-03-11 23:46:20 +08:00
小诺
b51180bfbf 【更新】人员管理模块下增加导入导出以及该模块对应的国际化配置调整 2023-03-11 23:43:28 +08:00
小诺
87f43b5f17 【更新】针对前端下载blob提出重复代码 2023-03-11 22:34:22 +08:00
小诺
d552d86dd2 【更新】完善前端用户管理导出用户功能 2023-03-11 22:29:33 +08:00
小诺
b87a7f5d65 【新增】新增用户管理的授权角色与授权资源,新增前端导入功能,新增导出某用户的模板信息,优化部分代码 2023-03-10 01:52:06 +08:00
xuyuxiang
e4a6b7aad0 【修复】修复getUserByIdWithoutException的逻辑判断错误 2023-03-09 16:05:54 +08:00
xuyuxiang
700232952f 【更新】SaToken注解拦截器更新替换过时的写法 2023-03-09 15:24:35 +08:00
xuyuxiang
0c1e0952f1 【修复】修复 #I6JN8G PostgreSQL表名大小写及引发的代码生成问题 2023-03-09 15:02:55 +08:00
xuyuxiang
77098b3173 【更新】更新README 2023-03-08 14:50:19 +08:00
xuyuxiang
11f6938623 【更新】注释没有使用的数据库驱动依赖,更新README 2023-03-08 14:48:34 +08:00
xuyuxiang
b98663ab7c 【更新】优化用户导入代码 2023-03-08 10:39:02 +08:00
xuyuxiang
33bbcd810a 【更新】优化用户选择器 2023-03-08 10:30:07 +08:00
xuyuxiang
c71badd0d5 【更新】完善导入功能 2023-03-08 10:17:07 +08:00
徐玉祥
41f9e174c7 【更新】用户导入,待完善 2023-03-07 23:48:47 +08:00
徐玉祥
55a02c6053 【更新】用户导入,待完善 2023-03-07 23:48:26 +08:00
xuyuxiang
2056089ed9 【更新】完善导入功能 2023-03-07 17:08:06 +08:00
xuyuxiang
20c238f9cd 【更新】完善导出年龄计算 2023-03-07 13:20:31 +08:00
xuyuxiang
78ae075519 【更新】更新导出模板 2023-03-07 11:30:34 +08:00
徐玉祥
c49c7b5e3a 【更新】导入模板改为GET下载 2023-03-06 22:51:31 +08:00
徐玉祥
a49fb8a807 【更新】用户导入功能(待完善) 2023-03-06 22:49:42 +08:00
徐玉祥
db9393b182 【更新】完善导出word的图片显示问题 2023-03-06 22:47:13 +08:00
xuyuxiang
0ccaf15f40 【更新】完成用户导出功能 2023-03-06 17:01:29 +08:00
xuyuxiang
2f566b2d1a 【更新】完成用户导出功能 2023-03-06 14:24:33 +08:00
徐玉祥
eb7b68e2e5 【更新】新增一个导入模板 2023-03-05 17:44:30 +08:00
徐玉祥
de22c060cb 【更新】完善一个注释 2023-03-05 16:48:42 +08:00
徐玉祥
445c7b1a5e 【更新】完善一个注释 2023-03-05 16:47:31 +08:00
徐玉祥
515c072e59 【更新】优化授权逻辑,用户导入(待完善) 2023-03-05 16:33:11 +08:00
徐玉祥
567127f2b2 【更新】优化登录逻辑,减少查询次数 2023-03-05 15:11:48 +08:00
徐玉祥
755e70e2c5 【更新】登陆部分待优化 2023-03-05 03:49:22 +08:00
徐玉祥
fcc65450fc 【更新】完善用户、机构选择器,启用缓存机制优化 2023-03-05 03:48:41 +08:00
徐玉祥
1cf1e1765e 【更新】导出功能(待完善) 2023-03-05 00:58:39 +08:00
徐玉祥
029c4cfba8 【更新】完善用户独立授权资源和权限,完善获取用户菜单的接口 2023-03-04 23:59:02 +08:00
xuyuxiang
e4b4c782e3 【更新】用户单独授权(待完善) 2023-03-03 17:04:35 +08:00
xuyuxiang
2801b730c5 【更新】系统默认密码脱敏返回 2023-03-03 16:16:52 +08:00
xuyuxiang
b04c7510e5 【更新】定时任务新增立即运行接口 2023-03-03 15:54:51 +08:00
xuyuxiang
16ff5dcb3c 【更新】更新数据变动事件机制,可对系统数据变动监听做额外处理,降低耦合 2023-03-03 14:43:07 +08:00
徐玉祥
11c9145eaf 【更新】更新README墨菲安全认证徽章 2023-03-02 23:39:23 +08:00
徐玉祥
ed32848708 【更新】更新README墨菲安全认证徽章 2023-03-02 23:34:09 +08:00
徐玉祥
635ecb60d6 【更新】完成根目录pom.xml锁定版本号,排除依赖冲突 2023-03-02 23:33:37 +08:00
徐玉祥
f06b637e47 【更新】mybatisplus升级后removeBatchByIds改为removeByIds 2023-03-02 23:32:53 +08:00
徐玉祥
ce403d8528 【更新】根目录pom.xml锁定版本号,其他xml无需填写版本,由父项目统一管理 2023-03-02 21:36:52 +08:00
徐玉祥
08eada130b 【更新】先恢复pom.xml,不做依赖排除 2023-03-02 21:01:58 +08:00
xuyuxiang
042c678328 【修复】修复yml的一个漏洞 2023-03-02 17:05:35 +08:00
xuyuxiang
c7e5c4472f 【修复】忽略不需要提交的一个文件 2023-03-02 16:55:51 +08:00
xuyuxiang
f7e4c82b2e 【修复】修复一部分漏洞 2023-03-02 16:54:09 +08:00
xuyuxiang
3f3b4a6023 【修复】升级hutool版本,修复漏洞 2023-03-02 16:20:22 +08:00
xuyuxiang
620369c4da 【修复】完善MINIO工具类 2023-03-02 15:23:32 +08:00
xuyuxiang
e680edf65d 【修复】升级MINIO版本,解决项目中的jar包依赖冲突 2023-03-02 15:20:36 +08:00
小诺
ad0f7a8811 【修复】修复iss提出问题:系统设置,点击重置按钮报错 2023-03-01 23:51:31 +08:00
小诺
6ce2afadf7 【更新】端口误提交更新 2023-03-01 23:37:31 +08:00
xuyuxiang
286e5add86 【修复】修复 #I663US 代码生成主键驼峰命名错误 2023-03-01 13:26:10 +08:00
xuyuxiang
5ac312af12 【修复】修复 #I66L8X 代码生成逻辑删除字段枚举有问题 2023-03-01 11:23:00 +08:00
xuyuxiang
308243b16b 【修复】修复 #I65QRH 个人中心保存个人信息的修改手机号未验证重复,而且没有传签名确修改了签名的bug 2023-03-01 11:13:42 +08:00
xuyuxiang
a1e78d1d1e 【更新】代码生产接口仅超管可用 2023-03-01 11:09:32 +08:00
xuyuxiang
437b0b069d 【更新】去掉误提交 2023-03-01 09:53:16 +08:00
xuyuxiang
8de2c3a838 【修复】修复 #I6IB27 CommonJoinPointUtil类中getArgsJsonString在某些情况下出现bug 2023-03-01 09:52:11 +08:00
小诺
d823d3aa1a 【修复】修复iss列表查询参数parameter的size默认是undefined,感谢qq群 seven 小伙 2023-02-28 23:40:12 +08:00
D哥
a7890763fe
修复操作日志-异常日志-详情【返回结果】栏语法高亮不能自动判别开发语言着色问题
Signed-off-by: D哥 <12271764+darrenteng@user.noreply.gitee.com>
2023-02-23 09:05:16 +00:00
小诺
e11abd1f9a 【更新】代码生成增强,生成到插件与模块可配置,新增及编辑加入事务注解 2023-02-23 00:55:02 +08:00
小诺
08e70171bc 【更新】更新文件上传组件,返回名称跟下载url 2023-02-19 17:12:02 +08:00
小诺
6cf3425f13 【优化】优化一个iss提出的前端文字错误 2023-02-16 23:50:25 +08:00
小诺
d36efcb3d9 【更新】为移动端功能更新SQL表结构及数据 2023-02-09 23:38:10 +08:00
小诺
3aee08136b 【优化】优化一些移动端相关的代码 2023-02-06 22:56:12 +08:00
D哥
4926efe662 修复业管身份登录添加岗位时报错【不支持的岗位分类:XXX】
Signed-off-by: D哥 <12271764+darrenteng@user.noreply.gitee.com>
2023-02-05 15:54:42 +00:00
小诺
8d17ec38ba 【优化】去掉一个多余的导包 2023-02-05 13:57:35 +08:00
每天一点
6fee6f09de 【修复】修复获取个人信息不返回移动端按钮码问题 2023-02-05 13:30:11 +08:00
小诺
f577bae164 【优化】优化一个移动端授权时查询代码 2023-02-05 03:15:38 +08:00
小诺
a901e2a4ff 【更新】修复授权移动端无按钮错误,优化前端移动端菜单模块等管理界面 2023-02-05 03:12:07 +08:00
每天一点
b34c427a5d 去掉方形和原型图标 2023-02-05 02:49:42 +08:00
每天一点
bb0a54c5d8 移动端菜单使用移动端图标选择器 2023-02-05 02:02:32 +08:00
每天一点
45e2f2528f 图标移动端选择器 2023-02-05 01:56:32 +08:00
每天一点
fdd7d4e29e 移动端图标库 2023-02-05 01:54:38 +08:00
每天一点
ccd951ee61 移动端菜单bug 2023-02-04 13:40:41 +08:00
小诺
0c67454008 【更新】移动端授权错误修改,按钮未显示问题待修复 2023-02-04 01:33:28 +08:00
小诺
ba0ed7978f 【更新】移动端按钮授权基本完成 2023-02-03 01:21:30 +08:00
xuyuxiang
e288a19078 【更新】完善移动端菜单模块,增加按钮模块,与PC一致 2023-02-01 10:11:18 +08:00
小诺
fed5dc8bbf 【更新】完善前端给角色授权移动端菜单功能 2023-02-01 01:34:22 +08:00
小诺
a2ac82a1e8 【更新】完善移动端菜的跟模块的管理 2023-02-01 01:10:30 +08:00
小诺
b5f005613b 【更新】少导入一个LambdaQueryWrapper的包 2023-02-01 00:27:09 +08:00
xuyuxiang
660b1e91a9 【更新】完善移动端菜单,menu的pages改为path,增加了menuType字段,与后端一致,前端记得修改 2023-01-31 11:05:08 +08:00
xuyuxiang
b61371b722 【更新】修复查询使用lamdaUpdateWrapper的错误 2023-01-31 09:10:54 +08:00
小诺
61b969b2f1 【更新】更新移动端菜单管理(待完善) 2023-01-31 01:47:08 +08:00
xuyuxiang
647e7de72b 【更新】移动端功能(待完善) 2023-01-30 17:04:24 +08:00
小诺
07b5481aea 【更新】补充一个sql文件 2023-01-28 23:42:55 +08:00
小诺
fb27a50192 【新增】新增移动端菜单管理功能(待完善) 2023-01-28 23:40:12 +08:00
xiaonuobase
03bf8a1b2e 【修改】调整postgres数据库文件PR的内容 2023-01-28 14:46:14 +08:00
andrewgreat
0ed84ae1d2 修改导入postgres数据sql格式 2023-01-28 04:53:11 +00:00
andrewgreat
fdd5d9285e 使master分支数据库数据 2023-01-28 04:53:11 +00:00
andrewgreat
539cec483f 【更新】新增postgres的配置,适配postgres 2023-01-28 04:53:11 +00:00
小诺
668b3851c5 【优化】生成代码后加入权限控制接口、修复代码生成点击配置部分内容被重置问题、生成的表单数字输入框值改为10000,滑动输入改为1000 2023-01-27 13:12:24 +08:00
小诺
99182cd929 【优化】优化字典前端语法-小改动 2023-01-17 23:46:05 +08:00
小诺
879b3fa74f 【修复】修复代码生成选择压缩包下包名输入框不显示问题 2023-01-13 01:32:46 +08:00
小诺
4dd22edc8d 【新增】stable组件新增默认的每页条数(defaultPageSize)跟指定每页可以显示多少条(pageSizeOptions)配置 2023-01-12 22:41:07 +08:00
小诺
9e480b08e3 【更新】面包屑错乱问题修复 2023-01-06 22:36:11 +08:00
xuyuxiang
6cb9de9a56 【更新】完善注释 2023-01-03 14:26:21 +08:00
小诺
ed6419d2d9
!78 【bugfix】修复无法删除【系统配置】-->【其他配置】记录问题
Merge pull request !78 from xiaomaiyun/master
2022-12-31 15:28:02 +00:00
xiaomaiyun
311b8f7f38
[bugfix]修复无法删除【系统配置】-->【其他配置】记录问题
Signed-off-by: xiaomaiyun <923782299@qq.com>
2022-12-28 08:29:46 +00:00
小诺
f00a8786c4
!77 【bugfux】修复代码高亮显示build打包发布后样式消失问题
Merge pull request !77 from xiaomaiyun/master
2022-12-20 02:03:06 +00:00
xiaomaiyun
d053263f4b
[bugfix]解决Vue使用highlight.js build打包发布后样式消失问题
Signed-off-by: xiaomaiyun <923782299@qq.com>
2022-12-17 19:10:03 +00:00
xiaomaiyun
426ae0eb03
首页轮播图实现
Signed-off-by: xiaomaiyun <923782299@qq.com>
2022-12-17 15:07:44 +00:00
xiaomaiyun
937a9d306b
!1 修复删除按钮无法自动刷新列表
Merge pull request !1 from xiaomaiyun/N/A
2022-12-15 15:26:16 +00:00
xiaomaiyun
8291fd8293
[bugfix]菜单管理-->按钮权限-->删除,无法自动刷新按钮列表
Signed-off-by: xiaomaiyun <923782299@qq.com>
2022-12-15 15:25:15 +00:00
小诺
e533167710
!70 v2.1.4
Merge pull request !70 from 小诺/dev
2022-12-08 09:36:54 +00:00
xiaonuobase
2696a626c3 【修复】修复两个问题,关联的issues为(少林寺驻北固山办事处大神父王喇嘛)创建 #I6546J、(可达鸭给我冲鸭)创建 #I631O1,提出贡献感谢! 2022-12-08 17:28:18 +08:00
xiaonuobase
dc2cdd6488 【修复】修复一个内存溢出的bug,感谢群内(꧁༺佲牌舞仔༻꧂)的钻研并提供 2022-12-08 17:11:23 +08:00
小诺
f7610dad14 【更新】readme更新最新视频教程总览图 2022-12-06 23:37:43 +08:00
小诺
682e9a96fb 【更新】更改一些遗漏的请求加载去除 2022-12-05 23:09:14 +08:00
小诺
bfae72401d 【更新】代码生成删除方法主键错误修复 2022-12-05 22:39:07 +08:00
小诺
10ffbe6be1 【新增】readme新增pr方式 2022-12-04 01:40:16 +08:00
小诺
db2ef88c5f 【更新】BC端认证权限例子更明确 https://gitee.com/xiaonuobase/snowy/issues/I63AJ2 2022-12-04 01:29:24 +08:00
小诺
405bf92794 【更新】代码生成主键更新为非写死状态 https://gitee.com/xiaonuobase/snowy/issues/I64DLI 2022-12-04 01:24:54 +08:00
小诺
52a61577b8 【更新】重置密码时候bug修复,密码传输使用加密方式 2022-12-04 01:06:47 +08:00
小诺
2275380e00 【更新】修复BC端鉴权问题,感谢码云小伙(可达鸭给我冲鸭) https://gitee.com/xiaonuobase/snowy/issues/I62WRX 2022-12-04 00:46:38 +08:00
小诺
1f7c06b777 【更新】修复任务(找回密码返回validCodeReqNo不为空) https://gitee.com/xiaonuobase/snowy/issues/I644Q8 2022-12-04 00:33:56 +08:00
小诺
999e725a3f 【更新】修复任务(编辑单页选择图标报错问题) https://gitee.com/xiaonuobase/snowy/issues/I63CSX 2022-12-03 23:46:29 +08:00
小诺
87216deed1 【更新】修复任务 https://gitee.com/xiaonuobase/snowy/issues/I63TJ2 2022-12-03 23:34:23 +08:00
小诺
46b35d8232
!69 修改表格刷新问题
Merge pull request !69 from sol/dev
2022-12-03 15:14:03 +00:00
卢杰
8ff7310075 1.删除无法刷新表格
修改table.refresh(true)======>table.value.refresh(true)
2.修改注释错误
2022-12-03 13:02:31 +08:00
小诺
86ed69f161
!62 update AuthServiceImpl.java.
Merge pull request !62 from 微笑/N/A
2022-11-27 13:11:31 +00:00
微笑
518c971c88
update AuthServiceImpl.java.
原写法导致 set null 不生效,getClientLoginUser() 多次调用返回不同对象

Signed-off-by: 微笑 <1572089876@qq.com>
2022-11-25 09:22:48 +00:00
小诺
2f940b0cd1 【新增】readme新增github代码下载镜像地址 2022-11-24 18:34:02 +08:00
小诺
18e74e0243
!60 v2.1.3
Merge pull request !60 from 小诺/dev
2022-11-23 17:10:50 +00:00
xlzy
35364c44bf 【优化】封装登录成功后的处理逻辑 2022-11-23 23:45:14 +08:00
xlzy
0511e9f877 【优化】登录页代码逻辑、样式优化 2022-11-23 23:33:33 +08:00
xlzy
0c91118e09 【更新】优化表单必填方法的参数名称 2022-11-23 23:33:33 +08:00
小诺
304fa3e315 【更新】更新适配新的tinymce上传文件方法 2022-11-22 23:55:30 +08:00
小诺
a64f6e4c6e 【更新】更新代码生成表单内多一个变量,修正系统配置中删除方法 2022-11-22 23:54:41 +08:00
小诺
f38c2bc0b8 【更新】解决代码生成前端多生成tool工具类导入跟配置时不显示上级目录问题 2022-11-19 23:25:35 +08:00
xuyuxiang
892ae19176 【更新】重置误提交 2022-11-17 13:35:04 +08:00
xuyuxiang
14808f7597 【更新】修复 #I60MMT 执行代码生成(项目内)后端地址判断错误的bug 2022-11-17 13:35:04 +08:00
小诺
631541083e 【更新】更新编辑器因为自身升级导致的错误 2022-11-17 05:18:41 +00:00
小诺
087a369fbf 【更新】去掉角色管理功能界面上面增加的合并行 2022-11-17 05:18:41 +00:00
xuyuxiang
6da4e83140 【更新】完善gitignore 2022-11-17 05:18:41 +00:00
xuyuxiang
edb713ae48 【更新】修复业务模块获取机构树构造结果为空的bug 2022-11-17 05:18:41 +00:00
小诺
ef07a18847 【更新】接受一个iss中建议,Delete ␍eslint 2022-11-17 05:18:41 +00:00
徐玉祥
1e00b2a38b 【更新】修复SysRoleServiceImpl方法注释错别字 2022-11-17 05:18:41 +00:00
徐玉祥
330cd62dcc 【更新】去除误提交 2022-11-17 05:18:41 +00:00
徐玉祥
bc37ff08d7 【更新】修复SysRolePageParam字段注释错误 2022-11-17 05:18:41 +00:00
徐玉祥
61c23ff794 【更新】去掉代码生成的菜单自动加上的管理二字 2022-11-17 05:18:41 +00:00
徐玉祥
09af5dac2c 【更新】修复代码生成BigDecimal未导入包的bug 2022-11-17 05:18:41 +00:00
徐玉祥
653fd3f15c 【更新】更新gitignore 2022-11-17 05:18:41 +00:00
徐玉祥
e835101242 【更新】删除不需要提交的auto-imports.d.ts 2022-11-17 05:18:41 +00:00
徐玉祥
6f6a6c45c3 【更新】代码生成的sql注释规范 2022-11-17 05:18:41 +00:00
微笑
283e0d6ab4 update snowy-web-app/pom.xml.
junit 单词拼写错误
2022-11-17 05:18:41 +00:00
小诺
35bb3b1244 【更新】更新前端依赖,固定出错误的版本 2022-11-17 05:18:41 +00:00
xuyuxiang
7e9ccac572 【更新】修复阿里云上传文件地址返回错误,修复文件key构造错误 2022-11-17 05:18:41 +00:00
小诺
24bd54b0ef 【更新】更新编辑器因为自身升级导致的错误 2022-11-16 19:45:32 +08:00
小诺
35849994a8 【更新】去掉角色管理功能界面上面增加的合并行 2022-11-16 14:41:11 +08:00
xuyuxiang
e62387d684 【更新】完善gitignore 2022-11-15 15:54:46 +08:00
xuyuxiang
cf578f4ee3 【更新】修复业务模块获取机构树构造结果为空的bug 2022-11-15 15:52:57 +08:00
小诺
a80fcbbde6 【更新】接受一个iss中建议,Delete ␍eslint 2022-11-13 17:06:46 +08:00
徐玉祥
61b7d639cc 【更新】修复SysRoleServiceImpl方法注释错别字 2022-11-13 11:57:17 +08:00
徐玉祥
f79e813b69 【更新】去除误提交 2022-11-13 11:42:18 +08:00
徐玉祥
13b25bd0c7 【更新】修复SysRolePageParam字段注释错误 2022-11-13 11:19:48 +08:00
徐玉祥
79ceea9b6f 【更新】去掉代码生成的菜单自动加上的管理二字 2022-11-12 23:40:14 +08:00
徐玉祥
fc7160e074 【更新】修复代码生成BigDecimal未导入包的bug 2022-11-12 23:13:47 +08:00
徐玉祥
45ff7b8931 【更新】更新gitignore 2022-11-12 21:56:05 +08:00
徐玉祥
124bc3ec22 【更新】删除不需要提交的auto-imports.d.ts 2022-11-12 21:49:09 +08:00
徐玉祥
3088dd53f0 【更新】代码生成的sql注释规范 2022-11-12 21:40:03 +08:00
微笑
65626b59b6
update snowy-web-app/pom.xml.
junit 单词拼写错误
2022-11-11 05:43:53 +00:00
小诺
90ce0c92b3 【更新】更新前端依赖,固定出错误的版本 2022-11-10 22:31:51 +08:00
xuyuxiang
dc93da7f81 【更新】修复阿里云上传文件地址返回错误,修复文件key构造错误 2022-11-10 10:26:01 +08:00
小诺
6634bdf0e6
v2.1.1 更多细节问题修复(快来看看你提的Iss是否更新),增加菜单搜索功能 2022-11-09 12:29:04 +00:00
小诺
84888ca6da 【更新】代码生成下载压缩包名字乱码问题修复 2022-11-09 20:19:36 +08:00
小诺
e1780efdfd 【更新】新增或编辑菜单失败后loading一直加载问题解决 2022-11-09 20:15:38 +08:00
小诺
05bb1d2f9d 【更新】优化前端配置缓存、双排菜单布局下页脚与经典布局同步 2022-11-08 21:23:27 +08:00
小诺
c5e9ad95f1 【更新】更新代码生成界面小细节,同时改进stable表格组件 2022-11-08 21:09:39 +08:00
小诺
44a68be040 【更新】更新gitee提到生成后的表单中字典配置错误 2022-11-08 17:48:03 +08:00
小诺
3817434d74 【更新】s-table问题修复,同时修改斑马纹的是否显示由开关变为选择框更美观 2022-11-08 17:10:03 +08:00
小诺
07f5caf73b 【更新】更新个人信息修改手机号不加密问题 2022-11-07 23:20:35 +08:00
小诺
56337192ae 【更新】更新一个C端控制器的枚举类型参数 2022-11-07 03:04:04 +08:00
小诺
f5cad22740 【修复】修复iss中提到的问题:模块现身省略号的问题 2022-11-07 02:59:08 +08:00
小诺
6cdbca8f38 【更新】升级前端该升级的依赖,优化该优化的优化,同时增加了gzip的配置,生产环境按照官网的配置部署速度更快 2022-11-06 21:35:16 +08:00
小诺
e1efbab2dc 【更新】优化一些前端警告 2022-11-04 20:26:11 +08:00
小诺
362b538bae 【更新】优化菜单搜索功能,感谢CcSimple兄弟送来的PR 2022-11-03 21:28:12 +08:00
xuyuxiang
887fa9d735 【更新】修复一个注释错误 2022-11-03 16:06:38 +08:00
xuyuxiang
d8d760aa0d 【更新】修复代码生成zip时sql未打包进去的bug 2022-11-03 16:05:16 +08:00
xuyuxiang
fdda070a88 【更新】同步beetl版本 2022-11-03 14:57:17 +08:00
xuyuxiang
9a83b2f251 【更新】同步beetl版本 2022-11-03 14:51:57 +08:00
xuyuxiang
8437c686be 【更新】修复一个命名错误 2022-11-03 14:02:59 +08:00
Cc-Mac
b60e86540a 【新增】菜单搜索功能 2022-11-02 19:21:16 +00:00
1314 changed files with 75255 additions and 32678 deletions

1
.gitignore vendored
View File

@ -15,6 +15,7 @@ logs/
# idea
.idea/
*.iml
.murphy.yml
*velocity.log*

216
README.md
View File

@ -10,14 +10,15 @@ SnowySnowyAdmin是国内首个国密前后端分离快速开发平台
软件层面完全符合等保测评要求,同时实现国产化机型、中间件、数据库适配,是您的不二之选!
技术框架与密码结合,让更多的人认识密码,使用密码;更是让前后分离“密”不可分。
采用SpringBoot+MybatisPlus+AntDesignVue+Vite 等更多优秀组件及前沿技术开发,注释丰富,代码简洁,开箱即用!
采用SpringBoot+MybatisPlus+AntDesignVue+Vite 等更多组件及前沿技术开发,注释丰富,代码简洁,开箱即用!
Snowy谐音“小诺”恰应小诺团队名称意思为”下雪的、纯洁的“寓意框架追求简洁至上大道至简。
<p align="center">
<p align="center">
<a href="https://gitcode.com/xiaonuobase/Snowy">
<img src="https://gitcode.com/xiaonuobase/Snowy/star/badge.svg" alt="bootstrap">
</a>
<a href="https://gitee.com/xiaonuobase/snowy">
<img src="https://gitee.com/xiaonuobase/snowy/badge/star.svg?theme=dark" alt="Gitee star">
</a>
@ -25,29 +26,36 @@ Snowy谐音“小诺”恰应小诺团队名称意思为”下雪的、纯
<img src="https://gitee.com/xiaonuobase/snowy/badge/fork.svg?theme=dark" alt="Gitee fork">
</a>
<a href="https://www.antdv.com/docs/vue/introduce-cn/">
<img src="https://img.shields.io/badge/vue-3.2-blue.svg" alt="bootstrap">
<img src="https://img.shields.io/badge/vue-3-blue.svg" alt="bootstrap">
</a>
<a href="http://spring.io/projects/spring-boot">
<img src="https://img.shields.io/badge/vite-2.8-green.svg" alt="spring-boot">
<img src="https://img.shields.io/badge/vite-5-green.svg" alt="spring-boot">
</a>
<a href="https://www.antdv.com/docs/vue/introduce-cn/">
<img src="https://img.shields.io/badge/vue--ant--design-3.2-blue.svg" alt="bootstrap">
<img src="https://img.shields.io/badge/vue--ant--design-4-blue.svg" alt="bootstrap">
</a>
<a href="http://spring.io/projects/spring-boot">
<img src="https://img.shields.io/badge/spring--boot-2.5-green.svg" alt="spring-boot">
<img src="https://img.shields.io/badge/spring--boot-3-green.svg" alt="spring-boot">
</a>
<a href="http://mp.baomidou.com">
<img src="https://img.shields.io/badge/mybatis--plus-3.5-blue.svg" alt="mybatis-plus">
<img src="https://img.shields.io/badge/mybatis--plus-3-blue.svg" alt="mybatis-plus">
</a>
<a href="./LICENSE">
<img src="https://img.shields.io/badge/license-Apache%202-red" alt="license Apache 2.0">
</a>
<a href="https://old.murphysec.com/dr/mQ1xAybeOLMLOxH8pU" alt="OSCS Status">
<img src="https://www.oscs1024.com/platform/badge//xiaonuobase/snowy.git.svg?size=small"/>
</a>
</p>
</p>
## 快速链接
下载地址:[https://gitee.com/xiaonuobase/snowy](https://gitee.com/xiaonuobase/snowy)
gitee下载地址[https://gitee.com/xiaonuobase/snowy](https://gitee.com/xiaonuobase/snowy)
github下载地址镜像[https://github.com/xiaonuobase/Snowy](https://github.com/xiaonuobase/Snowy)
gitcode下载地址[https://gitcode.com/xiaonuobase/Snowy](https://gitcode.com/xiaonuobase/Snowy)
演示地址:[https://snowy.xiaonuo.vip](https://snowy.xiaonuo.vip)
@ -58,33 +66,38 @@ Snowy谐音“小诺”恰应小诺团队名称意思为”下雪的、纯
全栈工程师推荐idea
### 前端支撑
| 插件 | 版本 | 用途 |
|--- | ----- | ----- |
| node.js | 最新版 | JavaScript运行环境 |
| 插件 | 版本 | 用途 |
|---------|-----|----------------|
| node.js | ≥18 | JavaScript运行环境 |
### 启动前端
```
npm install
```
```
npm run dev
```
### 后端支撑
| 插件 | 版本 | 用途 |
| --- | ----- | ----- |
| jdk | 11 / 1.8 |java环境 |
| lombok | idea内 |代码简化插件 |
| maven | 最新版 |包管理工具 |
| redis | 最新版 | 缓存库 |
| mysql | 8.0 / 5.7 | 数据库 |
| 插件 | 版本 | 用途 |
|--------|-----------|--------|
| jdk | 17 | java环境 |
| lombok | idea内 | 代码简化插件 |
| maven | 最新版 | 包管理工具 |
| redis | 最新版 | 缓存库 |
| mysql | 8.0 / 5.7 | 数据库 |
### 启动后端
开发工具内配置好maven并在代码中配置数据库即可启动
## 代码结构
Snowy2.0框架对代码以插件化的模式进行分包使得包层级结构更加清晰合理同时降低了耦合度关于插件模块化开发的规范请查阅文档【SNOWY开源文档——前端手册or后端手册——开发规范】板块。
Snowy3.0框架对代码以插件化的模式进行分包使得包层级结构更加清晰合理同时降低了耦合度关于插件模块化开发的规范请查阅文档【SNOWY开源文档——前端手册or后端手册——开发规范】板块。
```
snowy
@ -98,7 +111,7 @@ snowy
|-layout == 基础布局
|-locales == 多语言配置
|-router == 基础路由配置
|-store == VUEX缓存配置
|-store == Pinia缓存配置
|-style == 样式风格配置
|-utils == 工具类
|-views == 所有视图界面
@ -108,101 +121,188 @@ snowy
|-snowy-plugin-biz == 业务功能插件
|-snowy-plugin-client == C端功能插件
|-snowy-plugin-dev == 开发工具插件
|-snowy-plugin-gen == 代码生成插件
|-snowy-plugin-mobile == 移动端管理插件
|-snowy-plugin-sys == 系统功能插件
|-snowy-plugin-api == 插件api包
|-snowy-plugin-auth-api == 登录鉴权插件api接口
|-snowy-plugin-biz-api == 业务功能插件api接口
|-snowy-plugin-client-api == C端功能插件api接口
|-snowy-plugin-dev-api == 开发工具插件api接口
|-snowy-plugin-gen == 代码生成插件api接口
|-snowy-plugin-mobile == 移动端管理插件api接口
|-snowy-plugin-sys-api == 系统功能插件api接口
|-snowy-web-app == 主启动模块
```
## 分支说明
- master
- master
正式稳定版本,具体版本升级内容看更新标签
- dev
- dev
团队开发的分支(代码可能随时会推,不保证运行和使用)
- snowy1.8
- snowy1.8
1.x分支目前已停止新增功能只限于bug的维护推荐使用2x版本
- snowy2.5
2.x分支目前已停止新增功能只限于bug的维护可以平滑过渡至3x版本
## 视频教程
免费教程地址:[https://space.bilibili.com/50101698/channel/collectiondetail?sid=739071](https://space.bilibili.com/50101698/channel/collectiondetail?sid=739071)
教程地址(免费开放)[https://space.bilibili.com/50101698/channel/collectiondetail?sid=739071](https://space.bilibili.com/50101698/channel/collectiondetail?sid=739071)
<img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=4016e9m3XODiVlJlUQUS03pg7bCCXa_TYalxvdtil320XXItVMh4-gAe&name=/001.jpg"/>
<img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=902bZPTH7tjPGGSj05qVl8OHdqZFO-EBeD_OmmYnr3Bg-vUuxXnr0COr&name=/002.jpg"/>
<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9mhLatA%7D%2F&_etag=1730700699-816553&shareID=-9mhLatA"/>
作者也在上班工作,所以在利用休息时间为大家创作,录制视频的目的也是为各位小伙伴提供文档跟技术交流群聊之外的上手学习资料
> 视频由小诺开源技术团队王同学(每天一点)进行录制
## 效果图:fire:
## 架构原理
* 业务架构
<p align="center">
<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lQAEoQ%7D%2F&_etag=1730690514-197232&shareID=-9lQAEoQ"/>
</p>
* 应用架构
<p align="center">
<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lPMbxA%7D%2F&_etag=1730690514-308767&shareID=-9lPMbxA"/>
</p>
* 数据架构
<p align="center">
<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lQja5Q%7D%2F&_etag=1730690514-322422&shareID=-9lQja5Q"/>
</p>
* 技术架构
<p align="center">
<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lQxASg%7D%2F&_etag=1730690514-152387&shareID=-9lQxASg"/>
</p>
* 部署架构
<p align="center">
<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lRBZAw%7D%2F&_etag=1730690514-222880&shareID=-9lRBZAw"/>
</p>
## 效果展示
<table>
<tr>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=a938SjhgZ5ayRmNxjyvqNeG4piLbdyB39rdXaFyKsqCVrkmwLRyBcBc&name=/%E7%99%BB%E5%BD%95%E9%A1%B5%E9%9D%A2.png"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=b5e9VS9CKAeez01eHUfUdGyzm9eRSvtPrw9AF90mt_vPImvieiU9BR0&name=/%E7%B3%BB%E7%BB%9F%E9%A6%96%E9%A1%B5.png"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lSg_Dw%7D%2F&_etag=1730384489-1272624&shareID=-9lSg_Dw"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lTCIQQ%7D%2F&_etag=1730384527-354571&shareID=-9lTCIQQ"/></td>
</tr>
<tr>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=d173c7qJ7dgrK3vN1ovs55qtuDGW6bFOdiYglAsDNCJbI1LDifNuu_E&name=/%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86.png"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=0086BVQAINW_1mFSSz3Of4gsyreG3fX-6BZqiqLb0kWSXA-6ff6dD4Y&name=/%E6%9C%8D%E5%8A%A1%E7%9B%91%E6%8E%A7.png"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lTUROA%7D%2F&_etag=1730384568-327201&shareID=-9lTUROA"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lTdB3A%7D%2F&_etag=1730384595-160612&shareID=-9lTdB3A"/></td>
</tr>
<tr>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=1b72cVKHNtArl1A7qTeaAMicO1Pcv99U9PrPn4ESfwgk1VqCRmEIVqc&name=/%E6%8E%88%E6%9D%83%E6%9D%83%E9%99%90.png"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=1cc4CdKq2y5-hjuCfBLe5QiydnJMJfHWiM25mbobRsDBD7LK2Czkl3g&name=/%E6%93%8D%E4%BD%9C%E6%97%A5%E5%BF%97.png"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lTp1iw%7D%2F&_etag=1730384617-182491&shareID=-9lTp1iw"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lTyI5g%7D%2F&_etag=1730384636-144484&shareID=-9lTyI5g"/></td>
</tr>
<tr>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=f923EqvOkfbhNtN2pXA0Z55I5fRX4-_XWTmiGA8QBM_JJyIELv7ugLM&name=/EC%E6%95%A3%E7%82%B9%E5%9B%BE.png"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=e43fxc4TEVvJCZNuBNcueFAh5Mi9CDwnc25v25krItJ0iKj1wKBnqfY&name=/%E8%8F%9C%E5%8D%95%E7%AE%A1%E7%90%86.png"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lUAj9A%7D%2F&_etag=1730384732-148422&shareID=-9lUAj9A"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lUWvfg%7D%2F&_etag=1730384836-112114&shareID=-9lUWvfg"/></td>
</tr>
<tr>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9lUuk7g%7D%2F&_etag=1730384925-320963&shareID=-9lUuk7g"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9mJCOTw%7D%2F&_etag=1730385032-172917&shareID=-9mJCOTw"/></td>
</tr>
<tr>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9mJSKTQ%7D%2F&_etag=1730385077-142012&shareID=-9mJSKTQ"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9mJfjcg%7D%2F&_etag=1730385168-168192&shareID=-9mJfjcg"/></td>
</tr>
</table>
## 密码分步
## 密码分步:fire:
| 功能 | 算法类型 |
|--------|----------------------|
| 登录 | SM2前端加密后端解密 |
| 登录登出日志 | SM2对登录登出日志做签名完整性保护存储 |
| 操作日志 | SM2对操作日志做签名完整性保护存储 |
| 用户密码 | SM3完整性保护存储登录时做完整性校验 |
| 用户手机号 | SM4cbc模式加解密使用字段脱敏 |
| 功能 | 算法类型 |
| ---------------------- | ------------- |
| 登录 | SM2前端加密后端解密 |
| 登录登出日志 | SM2对登录登出日志做签名完整性保护存储 |
| 操作日志 | SM2对操作日志做签名完整性保护存储 |
| 用户密码 | SM3完整性保护存储登录时做完整性校验 |
| 用户手机号 | SM4cbc模式加解密使用字段脱敏 |
## 官方群聊
## 官方技术群
QQ技术群732230670已满、685395081
微信技术群:
QQ技术群732230670
微信技术群因群达到200人以上需加微信拉群
因群达到200人以上需加微信拉群禁止群内艾特群主及管理员私信提问技术问题无时间精力回答免开尊口请群内互动互助才是建群的意义否则我认为你没有加群的必要
<table>
<tr>
<td>微信群</td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=7qwFVcdA&path=%7BshareItemLink%3A7qwFVcdA%7D%2F" width="120"/></td>
<td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9mUnPEw%7D%2F&_etag=1730699307-193261&shareID=-9mUnPEw" width="120"/></td>
</tr>
</table>
## 代码贡献
近期有很多热心开源的小伙伴陆续为咱们Snowy框架提交PR或者提出好的建议基本合格的PR我们都接受这样您的头像就列入到咱们Snowy仓库的贡献者列表啦
如何贡献
1、fork一份代码至自己的账号下本地修改您要提的代码提交至您fork的仓库
2、登录gitee后到Snowy仓库下创建Pull Requests,选择您的仓库到Snowy的dev分支提交即可
因为dev分支是团队开发分支并不是统一发版本的测试过的所以我们建议提代码至dev即可
## 外包开发
如果您(或您公司)有外包开发需求,可以通过联系客服方式,提交您的需求,经过工作量分析,出具合适的报价,合作开发并交付。
本团队具备雄厚的技术人才力量均跟随小诺团队发展至今已完全熟练每一处细节代码您的产品自然也是由Snowy平台进行开发并交付。
1、工期保障
2、源码质量保障
3、节点按时汇报
## 团队成员
| 成员 | 技术 | 昵称 |
| :---: | :---: | :---: |
| 俞宝山 | 全栈 | 俞宝山 |
| 成员 | 技术 | 昵称 |
|:---:|:--:|:-----:|
| 俞宝山 | 全栈 | 俞宝山 |
| 徐玉祥 | 全栈 | 就是那个锅 |
| 董夏雨 | 全栈 | 阿董 |
| 董夏雨 | 全栈 | 阿董 |
| 王鹏 | 全栈 | 每天一点 |
| 陈心雨 | 前端 | . |
## 曾获荣誉
<p align="center">
<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=7xtGQLOA&path=%7BshareItemLink%3A7xtGQLOA%7D%2F"/>
</p>
🔥 **2021年度OSC中国开源项目评选-最受欢迎项目**
🔥 **2022年度OSC中国开源项目评选-最火热中国开源项目社区**
🔥 **2024 GitCode项目毕业认证-G-Star优秀毕业项目**
🔥 **2024 GitCode开源共创大会-十大新锐项目**
🔥 **2024中国互联网发展创新与投资大赛开源-优秀奖**
<table>
<tr>
<td style="width: 50%"><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9mLM-zg%7D%2F&_etag=1730698398-294375&shareID=-9mLM-zg"/></td>
<td style="width: 50%"><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9mLtqmQ%7D%2F&_etag=1730698444-77496&shareID=-9mLtqmQ"/></td>
</tr>
<tr>
<td style="width: 50%"><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A-9nmI4yQ%7D%2F&_etag=1730707931-764633&shareID=-9nmI4yQ"/></td>
<td style="width: 50%"><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&path=%7BshareItemLink%3A_COsphyQ%7D%2F&_etag=1732688010-447888&shareID=_COsphyQ"/></td>
</tr>
</table>
## 版权说明
@ -210,6 +310,6 @@ QQ技术群732230670
- 代码可用于个人项目等接私活或企业项目脚手架使用Snowy全系开源版完全免费
- 二次开发如用于开源竞品请先联系群主沟通,未经审核视为侵权
- 二次开发如用于开源竞品请先联系群主沟通,禁止任何变相的二开行为,未经审核视为侵权
- 请不要删除和修改Snowy源码头部的版权与作者声明及出处

9
images/README.md Normal file
View File

@ -0,0 +1,9 @@
## images 相关说明
#### 【架构图】
1. 【Snowy-2X_Biz_Architecture.jpg】 业务架构
2. 【Snowy-2X_Application_Architecture.jpg】 应用架构
3. 【Snowy-2X_Data_Architecture.jpg】 数据架构
4. 【Snowy-2X_Tech_Architecture.jpg】 技术架构
5. 【Snowy-2X_Deploy_Architecture.jpg】 部署架构

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

452
pom.xml
View File

@ -6,23 +6,26 @@
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy</artifactId>
<name>snowy</name>
<version>2.0.0</version>
<version>3.0.0</version>
<description>snowy快速开发平台</description>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.12</version>
<version>3.2.1</version>
</parent>
<properties>
<java.version>1.8</java.version>
<java.version>17</java.version>
<snowy.version>3.0.0</snowy.version>
<spring-boot.version>3.2.1</spring-boot.version>
<spring-framework.version>6.1.2</spring-framework.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<modules>
<!-- 基础通用规则模块 -->
<module>snowy-common</module>
@ -36,6 +39,430 @@
<module>snowy-web-app</module>
</modules>
<dependencyManagement>
<dependencies>
<!-- snowy-common -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-common</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-auth-api -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-auth-api</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-biz-api -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-biz-api</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-client-api -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-client-api</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-dev-api -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-dev-api</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-gen-api -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-gen-api</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-mobile-api -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-mobile-api</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-sys-api -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-sys-api</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-auth -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-auth</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-biz -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-biz</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-client -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-client</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-dev -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-dev</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-gen -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-gen</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-mobile -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-mobile</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- snowy-plugin-sys -->
<dependency>
<groupId>vip.xiaonuo</groupId>
<artifactId>snowy-plugin-sys</artifactId>
<version>${snowy.version}</version>
</dependency>
<!-- nashorn-core -->
<dependency>
<groupId>org.openjdk.nashorn</groupId>
<artifactId>nashorn-core</artifactId>
<version>15.4</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</dependency>
<!-- druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>1.2.21</version>
</dependency>
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.5</version>
</dependency>
<!-- easy-trans -->
<dependency>
<groupId>com.fhs-opensource</groupId>
<artifactId>easy-trans-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<!-- easy-trans-mybatis-plus-extend -->
<dependency>
<groupId>com.fhs-opensource</groupId>
<artifactId>easy-trans-mybatis-plus-extend</artifactId>
<version>3.0.0</version>
</dependency>
<!-- redis -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.12.0</version>
</dependency>
<!-- hutool -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.25</version>
</dependency>
<!-- pinyin4j -->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
<!-- ip2region -->
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>2.7.0</version>
</dependency>
<!-- knife4j -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.5.0</version>
</dependency>
<!-- easy-poi -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
<!-- sm-crypto -->
<dependency>
<groupId>com.antherd</groupId>
<artifactId>sm-crypto</artifactId>
<version>0.3.2</version>
</dependency>
<!-- easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.3</version>
</dependency>
<!-- json-flattener -->
<dependency>
<groupId>com.github.wnameless.json</groupId>
<artifactId>json-flattener</artifactId>
<version>0.16.4</version>
</dependency>
<!-- zxing -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.3</version>
</dependency>
<!-- bouncycastle -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.70</version>
</dependency>
<!-- bouncycastle -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.70</version>
</dependency>
<!-- sa-token-core -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-core</artifactId>
<version>1.44.0</version>
</dependency>
<!-- sa-token -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot3-starter</artifactId>
<version>1.44.0</version>
</dependency>
<!-- sa-token 整合 redis 使用jackson序列化方式 -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-redis-jackson</artifactId>
<version>1.44.0</version>
</dependency>
<!-- Sa-Token插件权限缓存与业务缓存分离 -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-alone-redis</artifactId>
<version>1.44.0</version>
</dependency>
<!-- Sa-Token 插件整合SSO -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-sso</artifactId>
<version>1.44.0</version>
</dependency>
<!-- Sa-Token 插件:整合 Forest 请求工具 -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-forest</artifactId>
<version>1.44.0</version>
</dependency>
<!-- JustAuth 第三方登录 -->
<dependency>
<groupId>me.zhyd.oauth</groupId>
<artifactId>JustAuth</artifactId>
<version>1.16.6</version>
</dependency>
<!-- beetl模板引擎 -->
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl-framework-starter</artifactId>
<version>1.2.40.Beetl.RELEASE</version>
</dependency>
<!--x-file-storage文件sdk-->
<dependency>
<groupId>org.dromara.x-file-storage</groupId>
<artifactId>x-file-storage-spring</artifactId>
<version>2.1.0</version>
</dependency>
<!--腾讯云文件sdk-->
<dependency>
<groupId>com.qcloud</groupId>
<artifactId>cos_api</artifactId>
<version>5.6.199</version>
</dependency>
<!--阿里云文件sdk-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.15.1</version>
</dependency>
<!--minio文件sdk-->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.2</version>
</dependency>
<!--java邮件sdk-->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.4</version>
</dependency>
<!--阿里云邮件sdk-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dm20151123</artifactId>
<version>1.0.6</version>
</dependency>
<!-- 腾讯云邮件sdk -->
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java-ses</artifactId>
<version>3.1.944</version>
</dependency>
<!-- sms4j短信sdk -->
<dependency>
<groupId>org.dromara.sms4j</groupId>
<artifactId>sms4j-javase-plugin</artifactId>
<version>3.3.4</version>
</dependency>
<!-- sms4j消息推送sdk -->
<dependency>
<groupId>org.dromara.sms4j</groupId>
<artifactId>sms4j-oa-core</artifactId>
<version>3.3.4</version>
</dependency>
<!--系统硬件信息-->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>6.4.11</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.1</version>
<scope>test</scope>
</dependency>
<!-- dynamic-datasource -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
<version>4.3.1</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.3.0</version>
</dependency>
<!-- postgresql -->
<!--<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.7.1</version>
</dependency>-->
<!-- 达梦数据库 -->
<!--<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.3.62</version>
</dependency>-->
<!-- 人大金仓数据库 -->
<!--<dependency>
<groupId>cn.com.kingbase</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
</dependency>-->
<!-- oracle -->
<!--<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc10</artifactId>
<version>19.21.0.0</version>
</dependency>
<dependency>
<groupId>com.oracle.database.nls</groupId>
<artifactId>orai18n</artifactId>
<version>23.3.0.23.09</version>
</dependency>-->
<!-- mssql -->
<!--<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>12.4.2.jre11</version>
</dependency>-->
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
@ -43,14 +470,17 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<version>3.3.0</version>
<configuration>
<attach>true</attach>
</configuration>
@ -67,11 +497,19 @@
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>_sql/*</exclude>
<exclude>*.md</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.ttf</include>
<include>**/*.ttc</include>
<include>**/*.TTF</include>
<include>**/*.TTC</include>
</includes>
</resource>
</resources>

View File

@ -1,11 +1,14 @@
# 本地环境
NODE_ENV = development
# 标题
VITE_TITLE = Snowy
# 接口地址
VITE_API_BASEURL = http://127.0.0.1:82
# 本地端口
VITE_PORT = 81
# 开启设置抽屉
VITE_SET_DRAWER = true
# 本地环境
NODE_ENV = development
# 检测更新(本地建议关闭)
VITE_VERSION_UPDATE = false

View File

@ -1,11 +1,11 @@
# 生产环境
NODE_ENV = production
# 标题
VITE_TITLE = Snowy
# 接口地址
VITE_API_BASEURL = http://127.0.0.1:82
# 本地端口
VITE_PORT = 81
# 开启设置抽屉
VITE_SET_DRAWER = false
# 检测更新(生产建议开启)
VITE_VERSION_UPDATE = true

View File

@ -33,6 +33,7 @@ module.exports = {
'vue/require-default-prop': 'off',
'vue/html-self-closing': 'off',
'vue/v-on-event-hyphenation': 'off',
'vue/multi-word-component-names': 'off'
'vue/multi-word-component-names': 'off',
'prettier/prettier': ['error', { endOfLine: 'auto' }]
}
}

View File

@ -1,6 +1,8 @@
.DS_Store
node_modules
/dist
*.lock
package-lock.json
# local env files
.env.local
@ -12,7 +14,9 @@ yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
package-lock.json
# other files
stats.html
auto-imports.d.ts
# Editor directories and files
.idea

View File

@ -7,11 +7,12 @@
<link rel="icon" href="/favicon.ico">
<title>Snowy</title>
<style>
.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}
.app-loading {position: absolute;top:0px;left:0px;right:0px;bottom:0px;display: flex;justify-content: center;align-items: center;flex-direction: column;background: #fff;}
.app-loading__logo {margin-bottom: 30px;}
.app-loading__logo img {width: 90px;vertical-align: bottom;}
.app-loading__title {font-size: 24px;color: #333;margin-top: 30px;}
.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1677FF;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}
.app-loading {position: absolute;top:0;left:0;right:0;bottom:0;display: flex;justify-content: center;align-items: center;flex-direction: column;background: #fff;}
.app-loading-logo {margin-bottom: 30px;}
.app-loading-logo img {width: 90px;vertical-align: bottom;}
.app-loading-title {font-size: 24px;color: #333;margin-top: 30px;}
.app-main { height: 100% }
@keyframes loader {
0% {
transform: rotate(0deg);
@ -25,18 +26,10 @@
</head>
<body>
<noscript>
<strong>We're sorry but Snowy2.0 doesn't work properly without JavaScript
<strong>We're sorry but Snowy doesn't work properly without JavaScript
enabled. Please enable it to continue.</strong>
</noscript>
<div id="app" class="aminui">
<div class="app-loading">
<div class="app-loading__logo">
<img src="/img/logo.png"/>
</div>
<div><span class="dot dot-spin"><i></i><i></i><i></i><i></i></span></div>
<div class="app-loading__title">Snowy</div>
</div>
</div>
<div id="app" class="app-main"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

View File

@ -1,11 +0,0 @@
{
"compilerOptions": {
"target": "es6",
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
},
"exclude": ["node_modules", "dist"],
"include": ["src/**/*"]
}

View File

@ -1,6 +1,6 @@
{
"name": "snowy-admin-web",
"version": "1.0.0",
"version": "3.0.0",
"private": true,
"description": "小诺团队旗下Snowy前端基于Antdv3.2+Vue3.2+Vite2.8",
"repository": {
@ -10,70 +10,82 @@
"license": "Apache-2.0",
"author": "yubaoshan",
"scripts": {
"serve": "vite",
"dev": "vite --mode development",
"serve": "vite --host 0.0.0.0",
"dev": "vite --mode development --host 0.0.0.0",
"preview": "vite preview",
"build": "vite build --mode production",
"prod": "vite --mode production"
},
"dependencies": {
"@ant-design/colors": "4.0.1",
"@ant-design/icons-vue": "^6.0.1",
"@antv/g2plot": "^2.4.10",
"@chenfengyuan/vue-qrcode": "2",
"@highlightjs/vue-plugin": "^2.1.0",
"@tinymce/tinymce-vue": "4.0.5",
"ant-design-vue": "3.2.10",
"axios": "0.24.0",
"cropperjs": "1.5.12",
"dayjs": "^1.11.5",
"echarts": "5.2.2",
"echarts-stat": "^1.2.0",
"enquire.js": "^2.1.6",
"highlight.js": "^11.6.0",
"lodash-es": "^4.17.21",
"@amap/amap-jsapi-loader": "1.0.1",
"@ant-design/colors": "7.1.0",
"@ant-design/icons-vue": "7.0.1",
"@antv/g2plot": "2.4.32",
"@chenfengyuan/vue-qrcode": "2.0.0",
"@highlightjs/vue-plugin": "2.1.0",
"@kangc/v-md-editor": "2.3.18",
"@microsoft/fetch-event-source": "2.0.1",
"@wangeditor/editor": "5.1.23",
"@wangeditor/editor-for-vue": "5.1.12",
"@vue-office/docx": "1.6.2",
"@vue-office/excel": "1.7.11",
"ant-design-vue": "4.2.6",
"axios": "1.7.7",
"codemirror": "5.65.19",
"cropperjs": "1.6.2",
"dayjs": "1.11.13",
"echarts": "5.5.1",
"echarts-stat": "1.2.0",
"enquire.js": "2.1.6",
"event-source-polyfill": "1.0.31",
"fuse.js": "7.0.0",
"highlight.js": "11.10.0",
"hotkeys-js": "3.13.7",
"js-pinyin": "0.2.7",
"lodash-es": "4.17.21",
"nprogress": "0.2.0",
"screenfull": "^6.0.2",
"sm-crypto": "^0.3.11",
"snowflake-id": "^1.1.0",
"sortablejs": "1.14.0",
"tinymce": "5.10.2",
"vue": "3.2.31",
"vue-cropper": "^1.0.1",
"vue-i18n": "^9.1.10",
"vue-router": "4.0.12",
"vue3-colorpicker": "^2.0.4",
"vue3-tree-org": "^3.1.6",
"vuedraggable-es": "4.1.0",
"vuex": "4.0.2"
"path-to-regexp": "8.2.0",
"pinia": "2.2.2",
"screenfull": "6.0.2",
"qs": "6.13.0",
"sm-crypto": "0.3.13",
"snowflake-id": "1.1.0",
"sortablejs": "1.15.3",
"tinymce": "7.3.0",
"vue": "3.5.13",
"vue-cropper": "1.1.4",
"vue-i18n": "10.0.0",
"vue-pdf-embed": "2.1.2",
"vue-router": "4.4.5",
"vue3-colorpicker": "2.3.0",
"vue3-tree-org": "4.2.2",
"vuedraggable-es": "4.1.1"
},
"devDependencies": {
"@antfu/eslint-config": "^0.29.2",
"@antfu/utils": "0.6.0",
"@vitejs/plugin-legacy": "^1.6.4",
"@vitejs/plugin-vue": "^2.1.0",
"@vitejs/plugin-vue-jsx": "^1.3.8",
"@vue/compiler-sfc": "^3.2.31",
"@vue/eslint-config-standard": "^4.0.0",
"antd-dayjs-vite-plugin": "^1.2.2",
"antd-less-to-css-variable": "^1.0.5",
"autoprefixer": "^10.4.2",
"babel-eslint": "10.1.0",
"eslint": "^7.11.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-vue": "^9.1.1",
"less": "^4.1.2",
"postcss": "^8.4.7",
"prettier": "^2.4.1",
"rollup-plugin-visualizer": "^5.7.1",
"tailwindcss": "^3.0.23",
"typescript": "^4.5.5",
"unplugin-auto-import": "^0.11.1",
"unplugin-vue-components": "^0.17.14",
"vite": "2.8.6",
"vite-plugin-vue-setup-extend": "^0.4.0",
"vue-eslint-parser": "^9.0.3"
"@babel/eslint-parser": "7.25.9",
"@vitejs/plugin-legacy": "6.0.0",
"@vitejs/plugin-vue": "5.2.1",
"@vitejs/plugin-vue-jsx": "4.1.1",
"@vue/compiler-sfc": "3.5.10",
"@vue/eslint-config-standard": "8.0.1",
"antd-less-to-css-variable": "1.0.5",
"autoprefixer": "10.4.20",
"eslint": "8.57.1",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vue": "9.32.0",
"less": "4.2.0",
"postcss": "8.4.47",
"prettier": "3.3.3",
"rollup-plugin-visualizer": "5.12.0",
"tailwindcss": "3.4.13",
"typescript": "5.6.2",
"unplugin-auto-import": "0.18.3",
"unplugin-vue-components": "0.27.4",
"vite": "6.0.7",
"vite-plugin-compression": "0.5.1",
"vite-plugin-vue-setup-extend": "0.4.0",
"vue-eslint-parser": "9.3.2"
},
"browserslist": [
"> 1%",

View File

@ -15,7 +15,7 @@ module.exports = {
tabWidth: 2,
// 使用tab符缩进false为空格缩进
useTabs: true,
// 行尾需要分号
// 行尾需要分号
semi: false,
// 使用单引号
singleQuote: true,
@ -31,15 +31,6 @@ module.exports = {
jsxBracketSameLine: true,
// 箭头函数,只有一个参数的时候,也需要括号
arrowParens: 'always',
// 每个文件格式化的范围是文件的全部内容
rangeStart: 0,
rangeEnd: Infinity,
// 不需要写文件开头的 @prettier
requirePragma: false,
// 不需要自动在文件开头插入 @prettier
insertPragma: false,
// 使用默认的折行标准
proseWrap: 'preserve',
// 根据显示样式决定 html 要不要折行
htmlWhitespaceSensitivity: 'css',
// 换行符使用 lf

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 644 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 31 KiB

View File

@ -1,57 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 750 750" style="enable-background:new 0 0 750 750;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.35;fill:#B3B3B3;}
.st1{opacity:0.1;fill:#B3B3B3;}
.st2{opacity:0.3;fill:#B3B3B3;}
.st3{opacity:0.1;}
.st4{fill:#B3B3B3;}
</style>
<g>
<path class="st0" d="M465.1,261.4H264c-1.3,0-2.4,1.1-2.4,2.4v255.6c0,1.3,1.1,2.4,2.4,2.4h201.1c1.3,0,2.4-1.1,2.4-2.4V263.8
C467.5,262.4,466.4,261.4,465.1,261.4z M417.9,443c0,1.3-1.1,2.4-2.4,2.4h-102c-1.3,0-2.4-1.1-2.4-2.4v-11.3c0-1.3,1.1-2.4,2.4-2.4
h102c1.3,0,2.4,1.1,2.4,2.4V443z M417.9,397.2c0,1.3-1.1,2.4-2.4,2.4h-102c-1.3,0-2.4-1.1-2.4-2.4v-11.3c0-1.3,1.1-2.4,2.4-2.4h102
c1.3,0,2.4,1.1,2.4,2.4V397.2z M417.9,351.5c0,1.3-1.1,2.4-2.4,2.4h-102c-1.3,0-2.4-1.1-2.4-2.4v-11.3c0-1.3,1.1-2.4,2.4-2.4h102
c1.3,0,2.4,1.1,2.4,2.4V351.5z"/>
<g>
<path class="st1" d="M462.1,236.8L462.1,236.8C384.8,236.2,321,295.1,314,370.7c-18.5-19.1-44.4-31.1-73.1-31.3h0
c-56.8-0.4-103.2,45.3-103.6,102.1l-0.8,101.4l175.6,1.3l30.1,0.2l265.1,2l1.2-160.9C609.2,304,543.6,237.4,462.1,236.8z"/>
<path class="st2" d="M216.9,227.4c-3.4,0-6.5,1.1-9,2.9c0.2-1,0.3-2,0.3-3c0.1-8.3-6.6-15.1-15-15.2s-15.1,6.6-15.2,15
c0,0.3,0,0.6,0,0.9c-1.6-0.6-3.4-1-5.2-1c-8.3-0.1-15.1,6.6-15.2,15c-0.1,8.2,6.4,14.9,14.5,15.2l0,0l44.6,0.3
c8.3,0.1,15.1-6.6,15.2-15S225.2,227.5,216.9,227.4z"/>
<path class="st2" d="M596.4,194.2c-3.4,0-6.5,1.1-9,2.9c0.2-1,0.3-2,0.3-3c0.1-8.3-6.6-15.1-15-15.2s-15.1,6.6-15.2,15
c0,0.3,0,0.6,0,0.9c-1.6-0.6-3.4-1-5.2-1c-8.3-0.1-15.1,6.6-15.2,15c-0.1,8.2,6.4,14.9,14.5,15.2l0,0l44.6,0.3
c8.3,0.1,15.1-6.6,15.2-15S604.7,194.3,596.4,194.2z"/>
<g>
<g class="st3">
<path class="st4" d="M496.9,497.5c-2.1,0-3.7,1.6-3.7,3.7c0,1.5,0.8,2.7,2,3.3l-0.5,65.1l3.5,0l0.5-65.3
c1.1-0.6,1.8-1.8,1.8-3.1C500.6,499.1,499,497.6,496.9,497.5z"/>
<path class="st4" d="M572.3,501.7c0-1.9-1.6-3.6-3.7-3.7c-2.1,0-3.7,1.6-3.7,3.7c0,1.4,0.8,2.6,1.9,3.2l-0.5,65.2l3.5,0
l0.5-65.2C571.5,504.3,572.2,503.1,572.3,501.7z"/>
</g>
<rect x="522.7" y="472.2" transform="matrix(7.448311e-03 -1 1 7.448311e-03 8.6828 1045.4733)" class="st1" width="16.5" height="92.3"/>
<polygon class="st1" points="495.4,509.8 495.2,510.1 485.5,526.3 484.8,526.3 484.9,509.8 "/>
<polygon class="st1" points="518.7,510 508.8,526.5 496.3,526.4 500.2,519.8 506,509.9 "/>
<polygon class="st1" points="542,510.2 532.1,526.6 519.6,526.5 529.3,510.1 "/>
<polygon class="st1" points="565.3,510.4 555.5,526.8 542.9,526.7 552.7,510.3 "/>
<polygon class="st1" points="577.2,510.4 577.1,527 566.2,526.9 576,510.4 "/>
<rect x="522.5" y="497.7" transform="matrix(7.448311e-03 -1 1 7.448311e-03 -17.0149 1070.603)" class="st1" width="16.5" height="92.3"/>
<polygon class="st1" points="495.2,535.3 495,535.6 485.3,551.8 484.6,551.8 484.7,535.3 "/>
<polygon class="st1" points="518.5,535.5 508.6,552 496.1,551.9 500,545.3 505.8,535.4 "/>
<polygon class="st1" points="541.8,535.7 531.9,552.1 519.4,552 529.1,535.6 "/>
<polygon class="st1" points="565.1,535.9 555.4,552.3 542.7,552.2 552.5,535.8 "/>
<polygon class="st1" points="577,536 576.9,552.5 566,552.4 575.8,536 "/>
<path class="st1" d="M577.1,527c0,0,0-0.1,0-0.3l0-0.9c0-0.7,0-1.8,0-3.2c0-2.8,0.1-6.9,0.1-12.2l0.1,0.1l-92.3-0.5l0,0l0.1-0.1
c0,5.6-0.1,11.2-0.1,16.5l-0.1-0.1l65.8,0.6l19.5,0.1l5.3,0l0,0l-5.3,0l-19.5-0.1l-65.8-0.3l-0.3,0l0.1-16.8l0.1,0l92.3,0.8
l0.1,0l0,0.1c0,5.3-0.1,9.4-0.1,12.2c0,1.5,0,2.5,0,3.2l0,0.7C577.1,526.8,577.1,527,577.1,527z"/>
<path class="st1" d="M576.9,552.5c0,0,0-0.1,0-0.3l0-0.9c0-0.7,0-1.8,0-3.2c0-2.8,0.1-6.9,0.1-12.2l0.1,0.1l-92.3-0.5l0,0
l0.1-0.1c0,5.6-0.1,11.2-0.1,16.5l-0.1-0.1l65.8,0.6l19.5,0.1l5.3,0l0,0l-5.3,0l-19.5-0.1l-65.8-0.3l-0.3,0l0.1-16.7l0.1,0
l92.3,0.8l0.1,0l0,0.1c0,5.3-0.1,9.4-0.1,12.2c0,1.5,0,2.5,0,3.2l0,0.7C576.9,552.3,576.9,552.5,576.9,552.5z"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.1 KiB

File diff suppressed because one or more lines are too long

View File

@ -1,236 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 456 262.1" style="enable-background:new 0 0 456 262.1;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.4;fill:url(#SVGID_1_);enable-background:new ;}
.st1{opacity:0.7;}
.st2{opacity:0.4;fill:url(#SVGID_2_);enable-background:new ;}
.st3{opacity:0.4;fill:url(#SVGID_3_);enable-background:new ;}
.st4{opacity:0.4;fill:url(#SVGID_4_);enable-background:new ;}
.st5{opacity:0.4;fill:url(#SVGID_5_);enable-background:new ;}
.st6{opacity:0.6;}
.st7{fill:#0073CD;}
.st8{fill:#40A8F5;}
.st9{fill:#53B9F5;}
.st10{fill:#85D3FF;}
.st11{fill:#8CD7FF;}
.st12{fill:#EBFCFF;}
.st13{fill:none;stroke:url(#SVGID_6_);stroke-width:2;stroke-miterlimit:10;}
.st14{fill:none;stroke:url(#SVGID_7_);stroke-width:2;stroke-miterlimit:10;}
.st15{fill:none;stroke:url(#SVGID_8_);stroke-width:2;stroke-miterlimit:10;}
.st16{fill:none;stroke:url(#SVGID_9_);stroke-width:2;stroke-miterlimit:10;}
.st17{fill:none;stroke:url(#SVGID_10_);stroke-width:2;stroke-miterlimit:10;}
.st18{fill:none;stroke:url(#SVGID_11_);stroke-width:2;stroke-miterlimit:10;}
</style>
<title>升级中</title>
<g id="图层_2_1_">
<g id="图层_1-2">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="232.745" y1="39.57" x2="232.745" y2="1.88" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<path class="st0" d="M412.3,262.1c-23-23-61-37.7-179.5-37.7S76.2,239.1,53.2,262.1H412.3z"/>
<g class="st1">
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="349.365" y1="237.3224" x2="349.365" y2="59.9676" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M380.7,26.7h-62.6c-1.5-0.1-2.8,1.1-2.8,2.6v172.2c0.1,1.5,1.3,2.7,2.8,2.6h62.6c1.5,0.1,2.7-1.1,2.8-2.6
V29.3C383.4,27.8,382.2,26.6,380.7,26.7z M328.3,147c0,0.5-0.4,0.9-0.9,0.9c0,0,0,0,0,0h-3.6c-0.5,0-0.9-0.4-0.9-0.8c0,0,0,0,0,0
v-19.7c0-0.5,0.4-0.9,0.9-0.9c0,0,0,0,0,0h3.6c0.5,0,0.9,0.4,0.9,0.9c0,0,0,0,0,0V147z M328.3,116.8c0,0.5-0.4,0.9-0.9,0.9
c0,0,0,0,0,0h-3.6c-0.5,0-0.9-0.4-0.9-0.9c0,0,0,0,0,0V97c0-0.5,0.4-0.9,0.9-0.9c0,0,0,0,0,0h3.6c0.5,0,0.9,0.4,0.9,0.9
c0,0,0,0,0,0V116.8z M328.3,86.5c0,0.5-0.4,0.9-0.9,0.9c0,0,0,0,0,0h-3.6c-0.5,0-0.9-0.4-0.9-0.9c0,0,0,0,0,0V66.8
c0-0.5,0.4-0.9,0.9-0.9c0,0,0,0,0,0h3.6c0.5,0,0.9,0.4,0.9,0.9c0,0,0,0,0,0V86.5z M328.3,56.3c0,0.5-0.4,0.9-0.9,0.9c0,0,0,0,0,0
h-3.6c-0.5,0-0.9-0.4-0.9-0.9c0,0,0,0,0,0V36.6c0-0.5,0.4-0.9,0.9-0.9c0,0,0,0,0,0h3.6c0.5,0,0.9,0.4,0.9,0.9c0,0,0,0,0,0V56.3z
M340,147c0,0.5-0.4,0.9-0.9,0.9c0,0,0,0,0,0h-3.6c-0.5,0-0.9-0.4-0.9-0.9c0,0,0,0,0,0v-19.7c0-0.5,0.4-0.9,1-0.9h3.6
c0.5,0,0.9,0.4,0.9,0.9V147z M340,116.8c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-1-0.9V97c0-0.5,0.4-0.9,1-0.9h3.6
c0.5,0,0.9,0.4,0.9,0.9V116.8z M340,86.5c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-1-0.9V66.8c0-0.5,0.4-0.9,1-0.9h3.6
c0.5,0,0.9,0.4,0.9,0.9V86.5z M340,56.3c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-1-0.9V36.6c0-0.5,0.4-0.9,1-0.9h3.6
c0.5,0,0.9,0.4,0.9,0.9V56.3z M351.7,147c0,0.5-0.4,0.9-0.9,0.9c0,0,0,0,0,0h-3.6c-0.5,0-0.9-0.4-0.9-0.9c0,0,0,0,0,0v-19.7
c0-0.5,0.4-0.9,0.9-0.9h3.6c0.5,0,0.9,0.4,0.9,0.9V147z M351.7,116.8c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V97
c0-0.5,0.4-0.9,0.9-0.9h3.6c0.5,0,0.9,0.4,0.9,0.9V116.8z M351.7,86.5c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V66.8
c0-0.5,0.4-0.9,0.9-0.9h3.6c0.5,0,0.9,0.4,0.9,0.9V86.5z M351.7,56.3c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V36.6
c0-0.5,0.4-0.9,0.9-0.9h3.6c0.5,0,0.9,0.4,0.9,0.9V56.3z M363.4,147c0,0.5-0.4,0.9-0.9,0.9c0,0,0,0,0,0h-3.6
c-0.5,0-0.9-0.4-0.9-0.9c0,0,0,0,0,0v-19.7c0-0.5,0.4-0.9,0.9-0.9h3.6c0.5,0,0.9,0.4,0.9,0.9V147z M363.4,116.8
c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V97c0-0.5,0.4-0.9,0.9-0.9h3.6c0.5,0,0.9,0.4,0.9,0.9V116.8z M363.4,86.5
c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V66.8c0-0.5,0.4-0.9,0.9-0.9h3.6c0.5,0,0.9,0.4,0.9,0.9V86.5z M363.4,56.3
c0,0.5-0.4,0.9-0.9,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V36.6c0-0.5,0.4-0.9,0.9-0.9h3.6c0.5,0,0.9,0.4,0.9,0.9V56.3z M375.1,147
c0,0.5-0.4,0.9-0.9,0.9c0,0,0,0,0,0h-3.6c-0.5,0-0.9-0.4-0.9-0.9c0,0,0,0,0,0v-19.7c0-0.5,0.4-0.9,0.9-0.9h3.6
c0.5,0,0.9,0.4,1,0.9V147z M375.1,116.8c0,0.5-0.4,0.9-1,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V97c0-0.5,0.4-0.9,0.9-0.9h3.6
c0.5,0,0.9,0.4,1,0.9V116.8z M375.1,86.5c0,0.5-0.4,0.9-1,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V66.8c0-0.5,0.4-0.9,0.9-0.9h3.6
c0.5,0,0.9,0.4,1,0.9V86.5z M375.1,56.3c0,0.5-0.4,0.9-1,0.9h-3.6c-0.5,0-0.9-0.4-0.9-0.9V36.6c0-0.5,0.4-0.9,0.9-0.9h3.6
c0.5,0,0.9,0.4,1,0.9V56.3z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="201.46" y1="208.3924" x2="201.46" y2="59.9976" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<path class="st3" d="M231.1,55.6h-59.3c-1.5-0.1-2.7,1.1-2.8,2.6v143.2c0.1,1.5,1.3,2.6,2.8,2.6h59.3c1.5,0.1,2.8-1.1,2.8-2.6
V58.2C233.9,56.7,232.6,55.5,231.1,55.6z M182.5,159.4c0,0.6-0.6,1.1-1.2,1.1h-5.4c-0.6,0-1.2-0.5-1.2-1.1v-5.2
c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V159.4z M182.5,146.5c0,0.6-0.6,1.1-1.2,1.1
c0,0,0,0,0,0h-5.4c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.5,1.2,1.1V146.5z
M182.5,133.6c0,0.6-0.6,1.1-1.2,1.1h-5.4c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4
c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V133.6z M182.5,120.7c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0h-5.4c-0.6,0-1.2-0.5-1.2-1.1
c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.5,1.2,1.1V120.7z M182.5,107.8c0,0.6-0.6,1.1-1.2,1.1h-5.4
c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V107.8z M182.5,94.9
c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0h-5.4c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h5.4
c0.6,0,1.2,0.5,1.2,1.1V94.9z M182.5,82.1c0,0.6-0.6,1.1-1.2,1.1h-5.4c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1
c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V82.1z M182.5,69.2c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0h-5.4
c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0V64c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.5,1.2,1.1V69.2z M192.6,159.4
c0,0.6-0.6,1.1-1.2,1.1H186c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.5,1.2,1.1
c0,0,0,0,0,0L192.6,159.4z M192.6,146.5c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H186c-0.6,0-1.2-0.5-1.2-1.1v-5.2
c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1L192.6,146.5z M192.6,133.6c0,0.6-0.6,1.1-1.2,1.1H186
c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L192.6,133.6z
M192.6,120.7c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H186c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4
c0.6,0,1.2,0.5,1.2,1.1L192.6,120.7z M192.6,107.8c0,0.6-0.6,1.1-1.2,1.1H186c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2
c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L192.6,107.8z M192.6,94.9c0,0.6-0.6,1.1-1.2,1.1
c0,0,0,0,0,0H186c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1L192.6,94.9z
M192.6,82.1c0,0.6-0.6,1.1-1.2,1.1H186c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4
c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L192.6,82.1z M192.6,69.2c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H186c-0.6,0-1.2-0.5-1.2-1.1V64
c0-0.6,0.5-1.2,1.2-1.2c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1L192.6,69.2z M202.6,159.4c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H196
c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1L202.6,159.4z M202.6,146.5
c0,0.6-0.6,1.1-1.2,1.1H196c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.5,1.2,1.1
c0,0,0,0,0,0L202.6,146.5z M202.6,133.6c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H196c-0.6,0-1.2-0.5-1.2-1.1v-5.2
c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1L202.6,133.6z M202.6,120.7c0,0.6-0.6,1.1-1.2,1.1H196
c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L202.6,120.7z
M202.6,107.8c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H196c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4
c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L202.6,107.8z M202.6,94.9c0,0.6-0.6,1.1-1.2,1.1H196c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0
v-5.2c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L202.6,94.9z M202.6,82.1c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0
H196c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h5.4c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L202.6,82.1z
M202.6,69.2c0,0.6-0.6,1.1-1.2,1.1H196c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0V64c0-0.6,0.6-1.1,1.2-1.1h5.4c0.6,0,1.2,0.4,1.2,1.1
c0,0,0,0,0,0V69.2z M227.8,159.4c0,0.6-0.6,1.1-1.2,1.1h-20.5c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0
h20.5c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L227.8,159.4z M227.8,146.5c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0h-20.5
c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h20.5c0.6,0,1.2,0.5,1.2,1.1L227.8,146.5z M227.8,133.6
c0,0.6-0.6,1.1-1.2,1.1h-20.5c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h20.5c0.6,0,1.2,0.5,1.2,1.1
c0,0,0,0,0,0L227.8,133.6z M227.8,120.7c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0h-20.5c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2
c0-0.6,0.6-1.1,1.2-1.1h20.5c0.6,0,1.2,0.5,1.2,1.1L227.8,120.7z M227.8,107.8c0,0.6-0.6,1.1-1.2,1.1h-20.5
c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h20.5c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L227.8,107.8z
M227.8,94.9c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0h-20.5c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1h20.5
c0.6,0,1.2,0.5,1.2,1.1L227.8,94.9z M227.8,82.1c0,0.6-0.6,1.1-1.2,1.1h-20.5c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1
c0,0,0,0,0,0h20.5c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0L227.8,82.1z M227.8,69.2c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0h-20.5
c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0V64c0-0.6,0.6-1.1,1.2-1.1h20.5c0.6,0,1.2,0.5,1.2,1.1L227.8,69.2z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="122.975" y1="237.3228" x2="122.975" y2="59.9971" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M161.1,26.7H84.8c-1.5-0.1-2.8,1.1-2.8,2.6c0,0,0,0,0,0v172.2c0.1,1.5,1.3,2.6,2.8,2.6h76.3
c1.5,0.1,2.8-1.1,2.8-2.6V29.3C163.9,27.8,162.6,26.6,161.1,26.7z M154.3,161c0,0.6-0.6,1.1-1.2,1.1H92.8c-0.6,0-1.2-0.5-1.2-1.1
c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h60.3c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V161z M154.3,146.3
c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H92.8c-0.6,0-1.2-0.5-1.2-1.1v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h60.3
c0.6,0,1.2,0.5,1.2,1.1V146.3z M154.3,131.6c0,0.6-0.6,1.1-1.2,1.1H92.8c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2
c0-0.6,0.6-1.1,1.2-1.1h60.3c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V131.6z M154.3,117c0,0.6-0.6,1.1-1.2,1.1H92.8
c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.2c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h60.3c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V117z
M154.3,102.3c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H92.8c-0.6,0-1.2-0.5-1.2-1.1V97c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h60.3
c0.6,0,1.2,0.5,1.2,1.1V102.3z M154.3,87.6c0,0.6-0.6,1.1-1.2,1.1H92.8c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.3
c0-0.6,0.6-1.1,1.2-1.1h60.3c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V87.6z M154.3,72.9c0,0.6-0.6,1.1-1.2,1.1H92.8
c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.3c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h60.3c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V72.9z
M154.3,58.3c0,0.6-0.6,1.1-1.2,1.1c0,0,0,0,0,0H92.8c-0.6,0-1.2-0.5-1.2-1.1V53c0-0.6,0.6-1.1,1.2-1.1c0,0,0,0,0,0h60.3
c0.6,0,1.2,0.5,1.2,1.1V58.3z M154.3,43.6c0,0.6-0.6,1.1-1.2,1.1H92.8c-0.6,0-1.2-0.5-1.2-1.1c0,0,0,0,0,0v-5.3
c0-0.6,0.6-1.1,1.2-1.1h60.3c0.6,0,1.2,0.5,1.2,1.1c0,0,0,0,0,0V43.6z"/>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="273.51" y1="264" x2="273.51" y2="54.46" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<path class="st5" d="M306.2,0h-65.4c-1.4,0-2.5,1.2-2.4,2.6v204.4c-0.1,1.4,1,2.5,2.4,2.6c0,0,0,0,0,0h65.4
c1.4-0.1,2.5-1.2,2.4-2.6V2.6C308.7,1.2,307.6,0.1,306.2,0z M300.4,119.6c0,0.6-0.4,1.1-1,1.1h-51.7c-0.6,0-1-0.5-1-1.1v-5.2
c0-0.6,0.4-1.1,1-1.1h51.7c0.6,0,1,0.5,1,1.1L300.4,119.6z M300.4,90.3c0,0.6-0.4,1.1-1,1.1h-51.7c-0.6,0-1-0.5-1-1.1V85
c0-0.6,0.4-1.1,1-1.1h51.7c0.6,0,1,0.5,1,1.1L300.4,90.3z M300.4,60.9c0,0.6-0.4,1.1-1,1.1h-51.7c-0.6,0-1-0.5-1-1.1v-5.2
c0-0.6,0.4-1.1,1-1.1h51.7c0.6,0,1,0.5,1,1.1L300.4,60.9z M300.4,31.5c0,0.6-0.4,1.1-1,1.1h-51.7c-0.6,0-1-0.5-1-1.1v-5.2
c0-0.6,0.4-1.1,1-1.1h51.7c0.6,0,1,0.5,1,1.1L300.4,31.5z M300.4,16.9c0,0.6-0.4,1.1-1,1.1h-51.7c-0.6,0-1-0.5-1-1.1v-5.2
c0-0.6,0.4-1.1,1-1.1h51.7c0.6,0,1,0.5,1,1.1L300.4,16.9z"/>
</g>
<g class="st6">
<path class="st7" d="M244.2,130.7c3.3,1.9,5.7,13.6,1,20.7c-5.3,6.8-7,9-6.1,14c-4.3-7.3-0.6-7.4-5.8-14.2
c-4.6-6.2-2.5-17.4,0.7-20.5C237.4,131.3,240.8,131.3,244.2,130.7L244.2,130.7z"/>
<path class="st8" d="M280.4,211.9c-0.1,0.6-0.1,1.2-0.1,1.7c0,0.7,0.1,1.3,0.2,2c-2.1-0.8-4.3-1.2-6.5-1.2
c-2.6,0-5.2,0.6-7.5,1.7c-0.8-4.2-4.8-7-9-6.2c-2.8,0.5-5,2.5-5.9,5.2c-3.4-2.1-7.7-2-11.1,0.1c-0.4-5.7-4.1-0.8-9.8-0.8
c-6,0-11.8-4.4-11.8,1.7c0,1.1,0.2,2.2,0.4,3.2c-1.1,0.1-2.1,0.5-3,1c-0.9-7-6.8-12.4-13.9-12.7c22.6-10.3,22.4-44.6,24.8-74.6
c0.1-1.7,1.2-4.1,1.8-4.4l0,0c1.5,1.1,3.2,1.8,5.1,2.1c-3.2,3.1-5.4,14.3-0.7,20.5c5.3,6.8,1.6,6.9,5.8,14.2
c-0.9-5,0.8-7.2,6.1-14c4.8-7.2,2.3-18.8-1-20.7c1.8-0.3,3.6-1,5.1-2.1l0,0c0.6,0.3,1.7,2.7,1.8,4.4
C253.6,164.6,250.4,198.5,280.4,211.9z"/>
<path class="st9" d="M303.3,203.2c-5.4,0-9.8,4.4-9.8,9.8c0,0.3,0,0.6,0,0.9c-1.5-1.7-3.7-2.6-6-2.5c-0.7,0-1.4,0.1-2.1,0.3
c0.7-1.3,1.1-2.8,1.1-4.3c-0.1-4.6-3.9-8.3-8.5-8.2c-4,0.1-7.4,3-8.1,6.9c-0.1,0.4-0.1,0.9-0.1,1.3c0,0.5,0,1,0.1,1.6
c-3.5-1.4-7.4-1.3-10.8,0.4c-0.7-3.2-3.9-5.3-7.2-4.6c-2,0.4-3.6,1.9-4.3,3.8c-1.3-0.8-2.7-1.2-4.2-1.2c-1.5,0-3.1,0.4-4.4,1.3
c-0.2-4.6-4.1-8.2-8.7-8s-8.2,4.1-8,8.7l0,0c0,0.8,0.1,1.7,0.3,2.5c-0.8,0.1-1.6,0.4-2.3,0.8c-0.7-5.4-5.2-9.6-10.7-9.8h-0.4
c-3.4,0-6.7,1.6-8.8,4.3c-3-6.2-10.4-8.9-16.7-5.9c-2.9,1.4-5.2,3.9-6.3,7c4.1,3,6.6,7.8,6.6,12.9c0,2.3-0.5,4.6-1.5,6.6
c2-2.2,4.8-3.4,7.8-3.4c0.9,0,1.8,0.1,2.7,0.3c-2.9-5-1.2-11.5,3.8-14.4c1.2-0.7,2.6-1.2,3.9-1.3c0.5-0.1,0.9-0.1,1.4-0.1
c5.8,0,10.6,4.7,10.6,10.6l0,0c0,0.6-0.1,1.3-0.2,1.9c4.4-1.7,9.3-1.6,13.6,0.4c0.9-4.1,4.9-6.7,9-5.8c2.6,0.6,4.7,2.4,5.5,4.9
c1.6-0.9,3.5-1.4,5.3-1.4c1.9,0,3.8,0.5,5.4,1.5l0.1,0.1c0.3-4.5,3.6-8.4,8-9.4c0.8-0.2,1.7-0.3,2.5-0.3
c5.8,0,10.6,4.7,10.6,10.6c0,1-0.2,2-0.4,3c1.1,0.1,2.1,0.5,3,1c1-7,7-12.1,14-12.1c1.5,0,3,0.2,4.4,0.7c2.6,0.8,5,2.5,6.7,4.6
c2.4-4.8,7-8.2,12.4-8.8C311.4,205.9,307.6,203.2,303.3,203.2z"/>
<path class="st10" d="M314.4,209.9c-0.6,0-1.2,0-1.8,0.1c-5.4,0.6-10.1,3.9-12.5,8.7c-1.7-2.2-4-3.8-6.7-4.6
c-1.4-0.5-2.9-0.7-4.4-0.7c-7,0-13,5.2-14,12.1c-0.9-0.5-1.9-0.9-3-1c0.3-1,0.4-2,0.4-3c0-5.8-4.7-10.5-10.5-10.5
c-0.8,0-1.7,0.1-2.5,0.3c-4.4,1.1-7.7,4.9-8,9.4l-0.1-0.1c-1.6-1-3.5-1.5-5.4-1.5c-1.9,0-3.7,0.5-5.3,1.4c-1.4-3.9-5.7-6-9.6-4.6
c-2.5,0.9-4.3,3-4.9,5.5c-4.3-2-9.2-2.1-13.6-0.4c0.1-0.6,0.2-1.3,0.2-1.9c0-5.8-4.7-10.6-10.6-10.6l0,0c-0.5,0-0.9,0-1.4,0.1
c-5.8,0.8-9.9,6.1-9.1,11.8c0.2,1.4,0.6,2.7,1.3,3.9c-0.9-0.2-1.8-0.3-2.7-0.3c-2.9,0-5.8,1.2-7.8,3.4c1-2.1,1.5-4.3,1.5-6.6
c0-5.1-2.4-9.9-6.6-12.9l0,0c-7.1-5.2-17-3.6-22.2,3.5c-5.2,7.1-3.6,17,3.5,22.2c6.8,5,16.4,3.7,21.7-2.8
c-2.1,5.5,0.7,11.6,6.1,13.6c5.5,2.1,11.6-0.7,13.6-6.1c0.5-1.2,0.7-2.5,0.7-3.7c0-1.9,0.4-0.1,0.4,2.7c0,9.7,7.8,17.6,17.5,17.6
c9.7,0,17.6-7.8,17.6-17.5c0-2.4-0.5-4.8-1.4-7l0.5-0.1c0.5,5.8,5.7,10.1,11.5,9.5c5-0.5,9-4.4,9.5-9.4c1.7,1,3.6,1.6,5.5,1.6
c0.6,0,1.2,0,1.7-0.1v0.1c0,4.2,3.4,7.6,7.6,7.5c2.6,0,5-1.4,6.4-3.6c4.7,6.3,13.5,7.5,19.8,2.9c1.5-1.1,2.8-2.5,3.7-4.2
c4.9,7.3,14.8,9.1,22.1,4.2s9.1-14.8,4.2-22.1C324.5,212.5,319.6,209.9,314.4,209.9L314.4,209.9z"/>
</g>
<path class="st11" d="M239.1,70c6.4,0,11.6,5.2,11.6,11.6c0,6.4-5.2,11.6-11.6,11.6c-6.4,0-11.6-5.2-11.6-11.6c0,0,0,0,0,0
C227.5,75.2,232.7,70,239.1,70z"/>
<path class="st8" d="M239.1,137.2c8.3,0,13.5-1.7,16.6-7.9c0,3.2-1.5,6.2-4.1,8.1c-1.9,1.3-4,2.2-6.2,2.6c-4.1,0.8-8.4,0.8-12.5,0
c-2.2-0.4-4.3-1.3-6.2-2.6c-2.6-1.9-4.2-4.9-4.2-8.1C225.6,135.5,230.7,137.2,239.1,137.2z"/>
<path class="st8" d="M288.4,151.7c0,0.5-0.3,0.8-0.8,0.8c-0.3,0-0.5-0.1-0.7-0.3c-7.6-10.3-25.5-25-30.4-24.7
c2.4-6.1,3.4-15.9,3.6-31.2C271.5,100.3,288.3,122.4,288.4,151.7z"/>
<path class="st8" d="M218.1,96.3c0.3,15.2,1.2,25,3.6,31.1l-0.2,0.1c-4.9-0.3-22.8,14.5-30.4,24.7c-0.3,0.4-0.8,0.5-1.1,0.2
c-0.2-0.2-0.4-0.4-0.3-0.7C189.7,122.3,206.6,100.2,218.1,96.3L218.1,96.3z"/>
<path class="st8" d="M250.7,81.6c0-6.4-5.2-11.6-11.6-11.6c-6.4,0-11.6,5.2-11.6,11.6s5.2,11.6,11.6,11.6l0,0
C245.5,93.2,250.7,88,250.7,81.6z M252.9,81.6c0,7.6-6.2,13.8-13.8,13.8c-7.6,0-13.8-6.2-13.8-13.8c0-7.6,6.2-13.8,13.8-13.8
c0,0,0,0,0,0C246.7,67.8,252.9,74,252.9,81.6z"/>
<path class="st8" d="M239.1,48.7c5.7,0,10.7-2,13.8-4.9c0.5,1.3,1,2.6,1.4,4c-3.3,3.3-8.9,5.4-15.3,5.4s-11.9-2.1-15.3-5.4
c0.5-1.3,1-2.7,1.4-4C228.4,46.8,233.4,48.7,239.1,48.7z"/>
<path class="st9" d="M252.9,43.8c-3.1,3-8.1,4.9-13.8,4.9s-10.7-2-13.8-4.9c2-5.1,4.5-10,7.6-14.5c0.5-0.7,0.9-1.3,1.4-1.9
c2-2.7,5.8-3.2,8.5-1.2c0.4,0.3,0.8,0.7,1.2,1.2c0.5,0.6,0.9,1.2,1.4,1.9C248.4,33.8,250.9,38.7,252.9,43.8z"/>
<path class="st10" d="M260.1,96.4c-0.3,15.3-1.2,25-3.6,31.2c-0.2,0.6-0.5,1.2-0.8,1.7c-3.1,6.2-8.3,7.9-16.6,7.9
s-13.5-1.7-16.6-7.9c-0.3-0.6-0.5-1.1-0.8-1.8c-2.4-6.2-3.4-15.9-3.6-31.1c-0.1-3.4-0.1-7.1-0.1-11.1c-0.1-12.7,1.8-25.4,5.8-37.5
c3.3,3.3,8.9,5.4,15.3,5.4s11.9-2.1,15.3-5.4c4,12.1,6,24.8,5.8,37.5C260.2,89.2,260.1,92.9,260.1,96.4z M252.9,81.6
c0-7.6-6.2-13.8-13.8-13.8c-7.6,0-13.8,6.2-13.8,13.8c0,7.6,6.2,13.8,13.8,13.8c0,0,0,0,0,0C246.7,95.4,252.9,89.2,252.9,81.6
L252.9,81.6z"/>
<path class="st12" d="M139.2,246.1l18.4,0.4v0.7l-19.4-0.4v-0.7V246C138.4,246.1,138.6,246.1,139.2,246.1z"/>
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="112.2357" y1="190.775" x2="112.2357" y2="101.005" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<line class="st13" x1="112.2" y1="73.2" x2="112.2" y2="163"/>
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="348.955" y1="195.605" x2="348.955" y2="105.835" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<line class="st14" x1="349" y1="68.4" x2="349" y2="158.2"/>
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="40.9" y1="120.12" x2="40.9" y2="64.49" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<line class="st15" x1="40.9" y1="143.9" x2="40.9" y2="199.5"/>
<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="64.97" y1="168.64" x2="64.97" y2="140.83" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<line class="st16" x1="65" y1="95.4" x2="65" y2="123.2"/>
<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="397.23" y1="159.8" x2="397.23" y2="131.98" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<line class="st17" x1="397.2" y1="104.2" x2="397.2" y2="132"/>
<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="424.75" y1="130.51" x2="424.75" y2="74.87" gradientTransform="matrix(1 0 0 -1 0 264)">
<stop offset="0" style="stop-color:#81CFFF"/>
<stop offset="1" style="stop-color:#5ECFFF;stop-opacity:0"/>
</linearGradient>
<line class="st18" x1="424.8" y1="133.5" x2="424.8" y2="189.1"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@ -1,419 +0,0 @@
tinymce.addI18n('zh_CN',{
"Redo": "\u91cd\u505a",
"Undo": "\u64a4\u9500",
"Cut": "\u526a\u5207",
"Copy": "\u590d\u5236",
"Paste": "\u7c98\u8d34",
"Select all": "\u5168\u9009",
"New document": "\u65b0\u6587\u4ef6",
"Ok": "\u786e\u5b9a",
"Cancel": "\u53d6\u6d88",
"Visual aids": "\u7f51\u683c\u7ebf",
"Bold": "\u7c97\u4f53",
"Italic": "\u659c\u4f53",
"Underline": "\u4e0b\u5212\u7ebf",
"Strikethrough": "\u5220\u9664\u7ebf",
"Superscript": "\u4e0a\u6807",
"Subscript": "\u4e0b\u6807",
"Clear formatting": "\u6e05\u9664\u683c\u5f0f",
"Align left": "\u5de6\u8fb9\u5bf9\u9f50",
"Align center": "\u4e2d\u95f4\u5bf9\u9f50",
"Align right": "\u53f3\u8fb9\u5bf9\u9f50",
"Justify": "\u4e24\u7aef\u5bf9\u9f50",
"Bullet list": "\u9879\u76ee\u7b26\u53f7",
"Numbered list": "\u7f16\u53f7\u5217\u8868",
"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb",
"Increase indent": "\u589e\u52a0\u7f29\u8fdb",
"Close": "\u5173\u95ed",
"Formats": "\u683c\u5f0f",
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u6253\u5f00\u526a\u8d34\u677f\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u7b49\u5feb\u6377\u952e\u3002",
"Headers": "\u6807\u9898",
"Header 1": "\u6807\u98981",
"Header 2": "\u6807\u98982",
"Header 3": "\u6807\u98983",
"Header 4": "\u6807\u98984",
"Header 5": "\u6807\u98985",
"Header 6": "\u6807\u98986",
"Headings": "\u6807\u9898",
"Heading 1": "\u6807\u98981",
"Heading 2": "\u6807\u98982",
"Heading 3": "\u6807\u98983",
"Heading 4": "\u6807\u98984",
"Heading 5": "\u6807\u98985",
"Heading 6": "\u6807\u98986",
"Preformatted": "\u9884\u5148\u683c\u5f0f\u5316\u7684",
"Div": "Div",
"Pre": "Pre",
"Code": "\u4ee3\u7801",
"Paragraph": "\u6bb5\u843d",
"Blockquote": "\u5f15\u6587\u533a\u5757",
"Inline": "\u6587\u672c",
"Blocks": "\u57fa\u5757",
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002",
"Fonts": "\u5b57\u4f53",
"Font Sizes": "\u5b57\u53f7",
"Class": "\u7c7b\u578b",
"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf",
"OR": "\u6216",
"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64",
"Upload": "\u4e0a\u4f20",
"Block": "\u5757",
"Align": "\u5bf9\u9f50",
"Default": "\u9ed8\u8ba4",
"Circle": "\u7a7a\u5fc3\u5706",
"Disc": "\u5b9e\u5fc3\u5706",
"Square": "\u65b9\u5757",
"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd",
"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd",
"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd",
"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd",
"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd",
"Anchor...": "\u951a\u70b9...",
"Name": "\u540d\u79f0",
"Id": "\u6807\u8bc6\u7b26",
"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002",
"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f",
"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f",
"Special character...": "\u7279\u6b8a\u5b57\u7b26...",
"Source code": "\u6e90\u4ee3\u7801",
"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b",
"Language": "\u8bed\u8a00",
"Code sample...": "\u793a\u4f8b\u4ee3\u7801...",
"Color Picker": "\u9009\u8272\u5668",
"R": "R",
"G": "G",
"B": "B",
"Left to right": "\u4ece\u5de6\u5230\u53f3",
"Right to left": "\u4ece\u53f3\u5230\u5de6",
"Emoticons...": "\u8868\u60c5\u7b26\u53f7...",
"Metadata and Document Properties": "\u5143\u6570\u636e\u548c\u6587\u6863\u5c5e\u6027",
"Title": "\u6807\u9898",
"Keywords": "\u5173\u952e\u8bcd",
"Description": "\u63cf\u8ff0",
"Robots": "\u673a\u5668\u4eba",
"Author": "\u4f5c\u8005",
"Encoding": "\u7f16\u7801",
"Fullscreen": "\u5168\u5c4f",
"Action": "\u64cd\u4f5c",
"Shortcut": "\u5feb\u6377\u952e",
"Help": "\u5e2e\u52a9",
"Address": "\u5730\u5740",
"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f",
"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f",
"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84",
"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355",
"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):",
"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a",
"Learn more...": "\u4e86\u89e3\u66f4\u591a...",
"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}",
"Plugins": "\u63d2\u4ef6",
"Handy Shortcuts": "\u5feb\u6377\u952e",
"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf",
"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247",
"Image description": "\u56fe\u7247\u63cf\u8ff0",
"Source": "\u5730\u5740",
"Dimensions": "\u5927\u5c0f",
"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4",
"General": "\u666e\u901a",
"Advanced": "\u9ad8\u7ea7",
"Style": "\u6837\u5f0f",
"Vertical space": "\u5782\u76f4\u8fb9\u8ddd",
"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd",
"Border": "\u8fb9\u6846",
"Insert image": "\u63d2\u5165\u56fe\u7247",
"Image...": "\u56fe\u7247...",
"Image list": "\u56fe\u7247\u5217\u8868",
"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c",
"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c",
"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c",
"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c",
"Edit image": "\u7f16\u8f91\u56fe\u7247",
"Image options": "\u56fe\u7247\u9009\u9879",
"Zoom in": "\u653e\u5927",
"Zoom out": "\u7f29\u5c0f",
"Crop": "\u88c1\u526a",
"Resize": "\u8c03\u6574\u5927\u5c0f",
"Orientation": "\u65b9\u5411",
"Brightness": "\u4eae\u5ea6",
"Sharpen": "\u9510\u5316",
"Contrast": "\u5bf9\u6bd4\u5ea6",
"Color levels": "\u989c\u8272\u5c42\u6b21",
"Gamma": "\u4f3d\u9a6c\u503c",
"Invert": "\u53cd\u8f6c",
"Apply": "\u5e94\u7528",
"Back": "\u540e\u9000",
"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4",
"Date\/time": "\u65e5\u671f\/\u65f6\u95f4",
"Insert\/Edit Link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
"Text to display": "\u663e\u793a\u6587\u5b57",
"Url": "\u5730\u5740",
"Open link in...": "\u94fe\u63a5\u6253\u5f00\u4f4d\u7f6e...",
"Current window": "\u5f53\u524d\u7a97\u53e3",
"None": "\u65e0",
"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00",
"Remove link": "\u5220\u9664\u94fe\u63a5",
"Anchors": "\u951a\u70b9",
"Link...": "\u94fe\u63a5...",
"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5",
"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f",
"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f",
"Link list": "\u94fe\u63a5\u5217\u8868",
"Insert video": "\u63d2\u5165\u89c6\u9891",
"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891",
"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53",
"Alternative source": "\u955c\u50cf",
"Alternative source URL": "\u66ff\u4ee3\u6765\u6e90\u7f51\u5740",
"Media poster (Image URL)": "\u5c01\u9762(\u56fe\u7247\u5730\u5740)",
"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:",
"Embed": "\u5185\u5d4c",
"Media...": "\u591a\u5a92\u4f53...",
"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c",
"Page break": "\u5206\u9875\u7b26",
"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c",
"Preview": "\u9884\u89c8",
"Print...": "\u6253\u5370...",
"Save": "\u4fdd\u5b58",
"Find": "\u67e5\u627e",
"Replace with": "\u66ff\u6362\u4e3a",
"Replace": "\u66ff\u6362",
"Replace all": "\u5168\u90e8\u66ff\u6362",
"Previous": "\u4e0a\u4e00\u4e2a",
"Next": "\u4e0b\u4e00\u4e2a",
"Find and replace...": "\u67e5\u627e\u5e76\u66ff\u6362...",
"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.",
"Match case": "\u533a\u5206\u5927\u5c0f\u5199",
"Find whole words only": "\u5168\u5b57\u5339\u914d",
"Spell check": "\u62fc\u5199\u68c0\u67e5",
"Ignore": "\u5ffd\u7565",
"Ignore all": "\u5168\u90e8\u5ffd\u7565",
"Finish": "\u5b8c\u6210",
"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178",
"Insert table": "\u63d2\u5165\u8868\u683c",
"Table properties": "\u8868\u683c\u5c5e\u6027",
"Delete table": "\u5220\u9664\u8868\u683c",
"Cell": "\u5355\u5143\u683c",
"Row": "\u884c",
"Column": "\u5217",
"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027",
"Merge cells": "\u5408\u5e76\u5355\u5143\u683c",
"Split cell": "\u62c6\u5206\u5355\u5143\u683c",
"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165",
"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165",
"Delete row": "\u5220\u9664\u884c",
"Row properties": "\u884c\u5c5e\u6027",
"Cut row": "\u526a\u5207\u884c",
"Copy row": "\u590d\u5236\u884c",
"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9",
"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9",
"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165",
"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165",
"Delete column": "\u5220\u9664\u5217",
"Cols": "\u5217",
"Rows": "\u884c",
"Width": "\u5bbd",
"Height": "\u9ad8",
"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd",
"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd",
"Show caption": "\u663e\u793a\u6807\u9898",
"Left": "\u5de6\u5bf9\u9f50",
"Center": "\u5c45\u4e2d",
"Right": "\u53f3\u5bf9\u9f50",
"Cell type": "\u5355\u5143\u683c\u7c7b\u578b",
"Scope": "\u8303\u56f4",
"Alignment": "\u5bf9\u9f50\u65b9\u5f0f",
"H Align": "\u6c34\u5e73\u5bf9\u9f50",
"V Align": "\u5782\u76f4\u5bf9\u9f50",
"Top": "\u9876\u90e8\u5bf9\u9f50",
"Middle": "\u5782\u76f4\u5c45\u4e2d",
"Bottom": "\u5e95\u90e8\u5bf9\u9f50",
"Header cell": "\u8868\u5934\u5355\u5143\u683c",
"Row group": "\u884c\u7ec4",
"Column group": "\u5217\u7ec4",
"Row type": "\u884c\u7c7b\u578b",
"Header": "\u8868\u5934",
"Body": "\u8868\u4f53",
"Footer": "\u8868\u5c3e",
"Border color": "\u8fb9\u6846\u989c\u8272",
"Insert template...": "\u63d2\u5165\u6a21\u677f...",
"Templates": "\u6a21\u677f",
"Template": "\u6a21\u677f",
"Text color": "\u6587\u5b57\u989c\u8272",
"Background color": "\u80cc\u666f\u8272",
"Custom...": "\u81ea\u5b9a\u4e49...",
"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272",
"No color": "\u65e0",
"Remove color": "\u79fb\u9664\u989c\u8272",
"Table of Contents": "\u5185\u5bb9\u5217\u8868",
"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846",
"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26",
"Word count": "\u5b57\u6570",
"Count": "\u8ba1\u6570",
"Document": "\u6587\u6863",
"Selection": "\u9009\u62e9",
"Words": "\u5355\u8bcd",
"Words: {0}": "\u5b57\u6570\uff1a{0}",
"{0} words": "{0} \u5b57",
"File": "\u6587\u4ef6",
"Edit": "\u7f16\u8f91",
"Insert": "\u63d2\u5165",
"View": "\u89c6\u56fe",
"Format": "\u683c\u5f0f",
"Table": "\u8868\u683c",
"Tools": "\u5de5\u5177",
"Powered by {0}": "\u7531{0}\u9a71\u52a8",
"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9",
"Image title": "\u56fe\u7247\u6807\u9898",
"Border width": "\u8fb9\u6846\u5bbd\u5ea6",
"Border style": "\u8fb9\u6846\u6837\u5f0f",
"Error": "\u9519\u8bef",
"Warn": "\u8b66\u544a",
"Valid": "\u6709\u6548",
"To open the popup, press Shift+Enter": "\u6309Shitf+Enter\u952e\u6253\u5f00\u5bf9\u8bdd\u6846",
"Rich Text Area. Press ALT-0 for help.": "\u7f16\u8f91\u533a\u3002\u6309Alt+0\u952e\u6253\u5f00\u5e2e\u52a9\u3002",
"System Font": "\u7cfb\u7edf\u5b57\u4f53",
"Failed to upload image: {0}": "\u56fe\u7247\u4e0a\u4f20\u5931\u8d25: {0}",
"Failed to load plugin: {0} from url {1}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25: {0} \u6765\u81ea\u94fe\u63a5 {1}",
"Failed to load plugin url: {0}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25 \u94fe\u63a5: {0}",
"Failed to initialize plugin: {0}": "\u63d2\u4ef6\u521d\u59cb\u5316\u5931\u8d25: {0}",
"example": "\u793a\u4f8b",
"Search": "\u641c\u7d22",
"All": "\u5168\u90e8",
"Currency": "\u8d27\u5e01",
"Text": "\u6587\u5b57",
"Quotations": "\u5f15\u7528",
"Mathematical": "\u6570\u5b66",
"Extended Latin": "\u62c9\u4e01\u8bed\u6269\u5145",
"Symbols": "\u7b26\u53f7",
"Arrows": "\u7bad\u5934",
"User Defined": "\u81ea\u5b9a\u4e49",
"dollar sign": "\u7f8e\u5143\u7b26\u53f7",
"currency sign": "\u8d27\u5e01\u7b26\u53f7",
"euro-currency sign": "\u6b27\u5143\u7b26\u53f7",
"colon sign": "\u5192\u53f7",
"cruzeiro sign": "\u514b\u9c81\u8d5b\u7f57\u5e01\u7b26\u53f7",
"french franc sign": "\u6cd5\u90ce\u7b26\u53f7",
"lira sign": "\u91cc\u62c9\u7b26\u53f7",
"mill sign": "\u5bc6\u5c14\u7b26\u53f7",
"naira sign": "\u5948\u62c9\u7b26\u53f7",
"peseta sign": "\u6bd4\u585e\u5854\u7b26\u53f7",
"rupee sign": "\u5362\u6bd4\u7b26\u53f7",
"won sign": "\u97e9\u5143\u7b26\u53f7",
"new sheqel sign": "\u65b0\u8c22\u514b\u5c14\u7b26\u53f7",
"dong sign": "\u8d8a\u5357\u76fe\u7b26\u53f7",
"kip sign": "\u8001\u631d\u57fa\u666e\u7b26\u53f7",
"tugrik sign": "\u56fe\u683c\u91cc\u514b\u7b26\u53f7",
"drachma sign": "\u5fb7\u62c9\u514b\u9a6c\u7b26\u53f7",
"german penny symbol": "\u5fb7\u56fd\u4fbf\u58eb\u7b26\u53f7",
"peso sign": "\u6bd4\u7d22\u7b26\u53f7",
"guarani sign": "\u74dc\u62c9\u5c3c\u7b26\u53f7",
"austral sign": "\u6fb3\u5143\u7b26\u53f7",
"hryvnia sign": "\u683c\u91cc\u592b\u5c3c\u4e9a\u7b26\u53f7",
"cedi sign": "\u585e\u5730\u7b26\u53f7",
"livre tournois sign": "\u91cc\u5f17\u5f17\u5c14\u7b26\u53f7",
"spesmilo sign": "spesmilo\u7b26\u53f7",
"tenge sign": "\u575a\u6208\u7b26\u53f7",
"indian rupee sign": "\u5370\u5ea6\u5362\u6bd4",
"turkish lira sign": "\u571f\u8033\u5176\u91cc\u62c9",
"nordic mark sign": "\u5317\u6b27\u9a6c\u514b",
"manat sign": "\u9a6c\u7eb3\u7279\u7b26\u53f7",
"ruble sign": "\u5362\u5e03\u7b26\u53f7",
"yen character": "\u65e5\u5143\u5b57\u6837",
"yuan character": "\u4eba\u6c11\u5e01\u5143\u5b57\u6837",
"yuan character, in hong kong and taiwan": "\u5143\u5b57\u6837\uff08\u6e2f\u53f0\u5730\u533a\uff09",
"yen\/yuan character variant one": "\u5143\u5b57\u6837\uff08\u5927\u5199\uff09",
"Loading emoticons...": "\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7...",
"Could not load emoticons": "\u4e0d\u80fd\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7",
"People": "\u4eba\u7c7b",
"Animals and Nature": "\u52a8\u7269\u548c\u81ea\u7136",
"Food and Drink": "\u98df\u7269\u548c\u996e\u54c1",
"Activity": "\u6d3b\u52a8",
"Travel and Places": "\u65c5\u6e38\u548c\u5730\u70b9",
"Objects": "\u7269\u4ef6",
"Flags": "\u65d7\u5e1c",
"Characters": "\u5b57\u7b26",
"Characters (no spaces)": "\u5b57\u7b26(\u65e0\u7a7a\u683c)",
"{0} characters": "{0} \u4e2a\u5b57\u7b26",
"Error: Form submit field collision.": "\u9519\u8bef: \u8868\u5355\u63d0\u4ea4\u5b57\u6bb5\u51b2\u7a81\u3002",
"Error: No form element found.": "\u9519\u8bef: \u6ca1\u6709\u8868\u5355\u63a7\u4ef6\u3002",
"Update": "\u66f4\u65b0",
"Color swatch": "\u989c\u8272\u6837\u672c",
"Turquoise": "\u9752\u7eff\u8272",
"Green": "\u7eff\u8272",
"Blue": "\u84dd\u8272",
"Purple": "\u7d2b\u8272",
"Navy Blue": "\u6d77\u519b\u84dd",
"Dark Turquoise": "\u6df1\u84dd\u7eff\u8272",
"Dark Green": "\u6df1\u7eff\u8272",
"Medium Blue": "\u4e2d\u84dd\u8272",
"Medium Purple": "\u4e2d\u7d2b\u8272",
"Midnight Blue": "\u6df1\u84dd\u8272",
"Yellow": "\u9ec4\u8272",
"Orange": "\u6a59\u8272",
"Red": "\u7ea2\u8272",
"Light Gray": "\u6d45\u7070\u8272",
"Gray": "\u7070\u8272",
"Dark Yellow": "\u6697\u9ec4\u8272",
"Dark Orange": "\u6df1\u6a59\u8272",
"Dark Red": "\u6df1\u7ea2\u8272",
"Medium Gray": "\u4e2d\u7070\u8272",
"Dark Gray": "\u6df1\u7070\u8272",
"Light Green": "\u6d45\u7eff\u8272",
"Light Yellow": "\u6d45\u9ec4\u8272",
"Light Red": "\u6d45\u7ea2\u8272",
"Light Purple": "\u6d45\u7d2b\u8272",
"Light Blue": "\u6d45\u84dd\u8272",
"Dark Purple": "\u6df1\u7d2b\u8272",
"Dark Blue": "\u6df1\u84dd\u8272",
"Black": "\u9ed1\u8272",
"White": "\u767d\u8272",
"Switch to or from fullscreen mode": "\u5207\u6362\u5168\u5c4f\u6a21\u5f0f",
"Open help dialog": "\u6253\u5f00\u5e2e\u52a9\u5bf9\u8bdd\u6846",
"history": "\u5386\u53f2",
"styles": "\u6837\u5f0f",
"formatting": "\u683c\u5f0f\u5316",
"alignment": "\u5bf9\u9f50",
"indentation": "\u7f29\u8fdb",
"permanent pen": "\u8bb0\u53f7\u7b14",
"comments": "\u5907\u6ce8",
"Format Painter": "\u683c\u5f0f\u5237",
"Insert\/edit iframe": "\u63d2\u5165\/\u7f16\u8f91\u6846\u67b6",
"Capitalization": "\u5927\u5199",
"lowercase": "\u5c0f\u5199",
"UPPERCASE": "\u5927\u5199",
"Title Case": "\u9996\u5b57\u6bcd\u5927\u5199",
"Permanent Pen Properties": "\u6c38\u4e45\u7b14\u5c5e\u6027",
"Permanent pen properties...": "\u6c38\u4e45\u7b14\u5c5e\u6027...",
"Font": "\u5b57\u4f53",
"Size": "\u5b57\u53f7",
"More...": "\u66f4\u591a...",
"Spellcheck Language": "\u62fc\u5199\u68c0\u67e5\u8bed\u8a00",
"Select...": "\u9009\u62e9...",
"Preferences": "\u9996\u9009\u9879",
"Yes": "\u662f",
"No": "\u5426",
"Keyboard Navigation": "\u952e\u76d8\u6307\u5f15",
"Version": "\u7248\u672c",
"Anchor": "\u951a\u70b9",
"Special character": "\u7279\u6b8a\u7b26\u53f7",
"Code sample": "\u4ee3\u7801\u793a\u4f8b",
"Color": "\u989c\u8272",
"Emoticons": "\u8868\u60c5",
"Document properties": "\u6587\u6863\u5c5e\u6027",
"Image": "\u56fe\u7247",
"Insert link": "\u63d2\u5165\u94fe\u63a5",
"Target": "\u6253\u5f00\u65b9\u5f0f",
"Link": "\u94fe\u63a5",
"Poster": "\u5c01\u9762",
"Media": "\u5a92\u4f53",
"Print": "\u6253\u5370",
"Prev": "\u4e0a\u4e00\u4e2a",
"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362",
"Whole words": "\u5168\u5b57\u5339\u914d",
"Spellcheck": "\u62fc\u5199\u68c0\u67e5",
"Caption": "\u6807\u9898",
"Insert template": "\u63d2\u5165\u6a21\u677f"
});

View File

@ -1,72 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body {
background-color: #2f3742;
color: #dfe0e4;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
line-height: 1.4;
margin: 1rem;
}
a {
color: #4099ff;
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
border-color: #6d737b;
}
figure {
display: table;
margin: 1rem auto;
}
figure figcaption {
color: #8a8f97;
display: block;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #6d737b;
border-style: solid;
border-width: 1px 0 0 0;
}
code {
background-color: #6d737b;
border-radius: 3px;
padding: 0.1rem 0.2rem;
}
.mce-content-body:not([dir=rtl]) blockquote {
border-left: 2px solid #6d737b;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
border-right: 2px solid #6d737b;
margin-right: 1.5rem;
padding-right: 1rem;
}

View File

@ -1,7 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem}

View File

@ -1,67 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
line-height: 1.4;
margin: 1rem;
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
border-color: #ccc;
}
figure {
display: table;
margin: 1rem auto;
}
figure figcaption {
color: #999;
display: block;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #ccc;
border-style: solid;
border-width: 1px 0 0 0;
}
code {
background-color: #e8e8e8;
border-radius: 3px;
padding: 0.1rem 0.2rem;
}
.mce-content-body:not([dir=rtl]) blockquote {
border-left: 2px solid #ccc;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
border-right: 2px solid #ccc;
margin-right: 1.5rem;
padding-right: 1rem;
}

View File

@ -1,7 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}

View File

@ -1,72 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
@media screen {
html {
background: #f4f4f4;
min-height: 100%;
}
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
@media screen {
body {
background-color: #fff;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
box-sizing: border-box;
margin: 1rem auto 0;
max-width: 820px;
min-height: calc(100vh - 1rem);
padding: 4rem 6rem 6rem 6rem;
}
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
border-color: #ccc;
}
figure figcaption {
color: #999;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #ccc;
border-style: solid;
border-width: 1px 0 0 0;
}
.mce-content-body:not([dir=rtl]) blockquote {
border-left: 2px solid #ccc;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
border-right: 2px solid #ccc;
margin-right: 1.5rem;
padding-right: 1rem;
}

View File

@ -1,7 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
@media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}

View File

@ -1,68 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
line-height: 1.4;
margin: 1rem auto;
max-width: 900px;
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
border-color: #ccc;
}
figure {
display: table;
margin: 1rem auto;
}
figure figcaption {
color: #999;
display: block;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #ccc;
border-style: solid;
border-width: 1px 0 0 0;
}
code {
background-color: #e8e8e8;
border-radius: 3px;
padding: 0.1rem 0.2rem;
}
.mce-content-body:not([dir=rtl]) blockquote {
border-left: 2px solid #ccc;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
border-right: 2px solid #ccc;
margin-right: 1.5rem;
padding-right: 1rem;
}

View File

@ -1,7 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}

View File

@ -1,714 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.mce-content-body .mce-item-anchor {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
cursor: default;
display: inline-block;
height: 12px !important;
padding: 0 2px;
-webkit-user-modify: read-only;
-moz-user-modify: read-only;
-webkit-user-select: all;
-moz-user-select: all;
-ms-user-select: all;
user-select: all;
width: 8px !important;
}
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
}
.tox-comments-visible .tox-comment--active {
background-color: #ffe168;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
margin: 0.25em 0;
}
.tox-checklist > li:not(.tox-checklist--hidden)::before {
content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
cursor: pointer;
height: 1em;
margin-left: -1.5em;
margin-top: 0.125em;
position: absolute;
width: 1em;
}
.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before {
content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
}
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
margin-left: 0;
margin-right: -1.5em;
}
/* stylelint-disable */
/* http://prismjs.com/ */
/**
* Dracula Theme originally by Zeno Rocha [@zenorocha]
* https://draculatheme.com/
*
* Ported for PrismJS by Albert Vallverdu [@byverdu]
*/
code[class*="language-"],
pre[class*="language-"] {
color: #f8f8f2;
background: none;
text-shadow: 0 1px rgba(0, 0, 0, 0.3);
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: 0.5em 0;
overflow: auto;
border-radius: 0.3em;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #282a36;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: 0.1em;
border-radius: 0.3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #6272a4;
}
.token.punctuation {
color: #f8f8f2;
}
.namespace {
opacity: 0.7;
}
.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
color: #ff79c6;
}
.token.boolean,
.token.number {
color: #bd93f9;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #50fa7b;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
color: #f8f8f2;
}
.token.atrule,
.token.attr-value,
.token.function,
.token.class-name {
color: #f1fa8c;
}
.token.keyword {
color: #8be9fd;
}
.token.regex,
.token.important {
color: #ffb86c;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
/* stylelint-enable */
.mce-content-body {
overflow-wrap: break-word;
word-wrap: break-word;
}
.mce-content-body .mce-visual-caret {
background-color: black;
background-color: currentColor;
position: absolute;
}
.mce-content-body .mce-visual-caret-hidden {
display: none;
}
.mce-content-body *[data-mce-caret] {
left: -1000px;
margin: 0;
padding: 0;
position: absolute;
right: auto;
top: 0;
}
.mce-content-body .mce-offscreen-selection {
left: -2000000px;
max-width: 1000000px;
position: absolute;
}
.mce-content-body *[contentEditable=false] {
cursor: default;
}
.mce-content-body *[contentEditable=true] {
cursor: text;
}
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
.mce-content-body figure.align-left {
float: left;
}
.mce-content-body figure.align-right {
float: right;
}
.mce-content-body figure.image.align-center {
display: table;
margin-left: auto;
margin-right: auto;
}
.mce-preview-object {
border: 1px solid gray;
display: inline-block;
line-height: 0;
margin: 0 2px 0 2px;
position: relative;
}
.mce-preview-object .mce-shim {
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
}
.mce-pagebreak {
border: 1px dashed #aaa;
cursor: default;
display: block;
height: 5px;
margin-top: 15px;
page-break-before: always;
width: 100%;
}
@media print {
.mce-pagebreak {
border: 0;
}
}
.tiny-pageembed .mce-shim {
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.tiny-pageembed[data-mce-selected="2"] .mce-shim {
display: none;
}
.tiny-pageembed {
display: inline-block;
position: relative;
}
.tiny-pageembed--21by9,
.tiny-pageembed--16by9,
.tiny-pageembed--4by3,
.tiny-pageembed--1by1 {
display: block;
overflow: hidden;
padding: 0;
position: relative;
width: 100%;
}
.tiny-pageembed--21by9 {
padding-top: 42.857143%;
}
.tiny-pageembed--16by9 {
padding-top: 56.25%;
}
.tiny-pageembed--4by3 {
padding-top: 75%;
}
.tiny-pageembed--1by1 {
padding-top: 100%;
}
.tiny-pageembed--21by9 iframe,
.tiny-pageembed--16by9 iframe,
.tiny-pageembed--4by3 iframe,
.tiny-pageembed--1by1 iframe {
border: 0;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.mce-content-body[data-mce-placeholder] {
position: relative;
}
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before {
color: rgba(34, 47, 62, 0.7);
content: attr(data-mce-placeholder);
position: absolute;
}
.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
left: 1px;
}
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before {
right: 1px;
}
.mce-content-body div.mce-resizehandle {
background-color: #4099ff;
border-color: #4099ff;
border-style: solid;
border-width: 1px;
box-sizing: border-box;
height: 10px;
position: absolute;
width: 10px;
z-index: 10000;
}
.mce-content-body div.mce-resizehandle:hover {
background-color: #4099ff;
}
.mce-content-body div.mce-resizehandle:nth-of-type(1) {
cursor: nwse-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(2) {
cursor: nesw-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(3) {
cursor: nwse-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(4) {
cursor: nesw-resize;
}
.mce-content-body .mce-resize-backdrop {
z-index: 10000;
}
.mce-content-body .mce-clonedresizable {
cursor: default;
opacity: 0.5;
outline: 1px dashed black;
position: absolute;
z-index: 10001;
}
.mce-content-body .mce-clonedresizable.mce-resizetable-columns th,
.mce-content-body .mce-clonedresizable.mce-resizetable-columns td {
border: 0;
}
.mce-content-body .mce-resize-helper {
background: #555;
background: rgba(0, 0, 0, 0.75);
border: 1px;
border-radius: 3px;
color: white;
display: none;
font-family: sans-serif;
font-size: 12px;
line-height: 14px;
margin: 5px 10px;
padding: 5px;
position: absolute;
white-space: nowrap;
z-index: 10002;
}
.tox-rtc-user-selection {
position: relative;
}
.tox-rtc-user-cursor {
bottom: 0;
cursor: default;
position: absolute;
top: 0;
width: 2px;
}
.tox-rtc-user-cursor::before {
background-color: inherit;
border-radius: 50%;
content: '';
display: block;
height: 8px;
position: absolute;
right: -3px;
top: -3px;
width: 8px;
}
.tox-rtc-user-cursor:hover::after {
background-color: inherit;
border-radius: 100px;
box-sizing: border-box;
color: #fff;
content: attr(data-user);
display: block;
font-size: 12px;
font-weight: bold;
left: -5px;
min-height: 8px;
min-width: 8px;
padding: 0 12px;
position: absolute;
top: -11px;
white-space: nowrap;
z-index: 1000;
}
.tox-rtc-user-selection--1 .tox-rtc-user-cursor {
background-color: #2dc26b;
}
.tox-rtc-user-selection--2 .tox-rtc-user-cursor {
background-color: #e03e2d;
}
.tox-rtc-user-selection--3 .tox-rtc-user-cursor {
background-color: #f1c40f;
}
.tox-rtc-user-selection--4 .tox-rtc-user-cursor {
background-color: #3598db;
}
.tox-rtc-user-selection--5 .tox-rtc-user-cursor {
background-color: #b96ad9;
}
.tox-rtc-user-selection--6 .tox-rtc-user-cursor {
background-color: #e67e23;
}
.tox-rtc-user-selection--7 .tox-rtc-user-cursor {
background-color: #aaa69d;
}
.tox-rtc-user-selection--8 .tox-rtc-user-cursor {
background-color: #f368e0;
}
.tox-rtc-remote-image {
background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;
border: 1px solid #ccc;
min-height: 240px;
min-width: 320px;
}
.mce-match-marker {
background: #aaa;
color: #fff;
}
.mce-match-marker-selected {
background: #39f;
color: #fff;
}
.mce-match-marker-selected::-moz-selection {
background: #39f;
color: #fff;
}
.mce-match-marker-selected::selection {
background: #39f;
color: #fff;
}
.mce-content-body img[data-mce-selected],
.mce-content-body video[data-mce-selected],
.mce-content-body audio[data-mce-selected],
.mce-content-body object[data-mce-selected],
.mce-content-body embed[data-mce-selected],
.mce-content-body table[data-mce-selected] {
outline: 3px solid #4099ff;
}
.mce-content-body hr[data-mce-selected] {
outline: 3px solid #4099ff;
outline-offset: 1px;
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
outline: 3px solid #4099ff;
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
outline: 3px solid #4099ff;
}
.mce-content-body *[contentEditable=false][data-mce-selected] {
cursor: not-allowed;
outline: 3px solid #4099ff;
}
.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,
.mce-content-body.mce-content-readonly *[contentEditable=true]:hover {
outline: none;
}
.mce-content-body *[data-mce-selected="inline-boundary"] {
background-color: #4099ff;
}
.mce-content-body .mce-edit-focus {
outline: 3px solid #4099ff;
}
.mce-content-body td[data-mce-selected],
.mce-content-body th[data-mce-selected] {
position: relative;
}
.mce-content-body td[data-mce-selected]::-moz-selection,
.mce-content-body th[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body td[data-mce-selected]::selection,
.mce-content-body th[data-mce-selected]::selection {
background: none;
}
.mce-content-body td[data-mce-selected] *,
.mce-content-body th[data-mce-selected] * {
outline: none;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.mce-content-body td[data-mce-selected]::after,
.mce-content-body th[data-mce-selected]::after {
background-color: rgba(180, 215, 255, 0.7);
border: 1px solid transparent;
bottom: -1px;
content: '';
left: -1px;
mix-blend-mode: lighten;
position: absolute;
right: -1px;
top: -1px;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.mce-content-body td[data-mce-selected]::after,
.mce-content-body th[data-mce-selected]::after {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
background: none;
}
.mce-content-body img::selection {
background: none;
}
.ephox-snooker-resizer-bar {
background-color: #4099ff;
opacity: 0;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.ephox-snooker-resizer-cols {
cursor: col-resize;
}
.ephox-snooker-resizer-rows {
cursor: row-resize;
}
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
opacity: 1;
}
.mce-spellchecker-word {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
background-position: 0 calc(100% + 1px);
background-repeat: repeat-x;
background-size: auto 6px;
cursor: default;
height: 2rem;
}
.mce-spellchecker-grammar {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
background-position: 0 calc(100% + 1px);
background-repeat: repeat-x;
background-size: auto 6px;
cursor: default;
}
.mce-toc {
border: 1px solid gray;
}
.mce-toc h2 {
margin: 4px;
}
.mce-toc li {
list-style-type: none;
}
table[style*="border-width: 0px"],
.mce-item-table:not([border]),
.mce-item-table[border="0"],
table[style*="border-width: 0px"] td,
.mce-item-table:not([border]) td,
.mce-item-table[border="0"] td,
table[style*="border-width: 0px"] th,
.mce-item-table:not([border]) th,
.mce-item-table[border="0"] th,
table[style*="border-width: 0px"] caption,
.mce-item-table:not([border]) caption,
.mce-item-table[border="0"] caption {
border: 1px dashed #bbb;
}
.mce-visualblocks p,
.mce-visualblocks h1,
.mce-visualblocks h2,
.mce-visualblocks h3,
.mce-visualblocks h4,
.mce-visualblocks h5,
.mce-visualblocks h6,
.mce-visualblocks div:not([data-mce-bogus]),
.mce-visualblocks section,
.mce-visualblocks article,
.mce-visualblocks blockquote,
.mce-visualblocks address,
.mce-visualblocks pre,
.mce-visualblocks figure,
.mce-visualblocks figcaption,
.mce-visualblocks hgroup,
.mce-visualblocks aside,
.mce-visualblocks ul,
.mce-visualblocks ol,
.mce-visualblocks dl {
background-repeat: no-repeat;
border: 1px dashed #bbb;
margin-left: 3px;
padding-top: 10px;
}
.mce-visualblocks p {
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
}
.mce-visualblocks h1 {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
}
.mce-visualblocks h2 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
}
.mce-visualblocks h3 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
}
.mce-visualblocks h4 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
}
.mce-visualblocks h5 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
}
.mce-visualblocks h6 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
}
.mce-visualblocks div:not([data-mce-bogus]) {
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
}
.mce-visualblocks section {
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
}
.mce-visualblocks article {
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
}
.mce-visualblocks blockquote {
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
}
.mce-visualblocks address {
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
}
.mce-visualblocks pre {
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
}
.mce-visualblocks figure {
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
}
.mce-visualblocks figcaption {
border: 1px dashed #bbb;
}
.mce-visualblocks hgroup {
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
}
.mce-visualblocks aside {
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
}
.mce-visualblocks ul {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
}
.mce-visualblocks ol {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
}
.mce-visualblocks dl {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
}
.mce-visualblocks:not([dir=rtl]) p,
.mce-visualblocks:not([dir=rtl]) h1,
.mce-visualblocks:not([dir=rtl]) h2,
.mce-visualblocks:not([dir=rtl]) h3,
.mce-visualblocks:not([dir=rtl]) h4,
.mce-visualblocks:not([dir=rtl]) h5,
.mce-visualblocks:not([dir=rtl]) h6,
.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),
.mce-visualblocks:not([dir=rtl]) section,
.mce-visualblocks:not([dir=rtl]) article,
.mce-visualblocks:not([dir=rtl]) blockquote,
.mce-visualblocks:not([dir=rtl]) address,
.mce-visualblocks:not([dir=rtl]) pre,
.mce-visualblocks:not([dir=rtl]) figure,
.mce-visualblocks:not([dir=rtl]) figcaption,
.mce-visualblocks:not([dir=rtl]) hgroup,
.mce-visualblocks:not([dir=rtl]) aside,
.mce-visualblocks:not([dir=rtl]) ul,
.mce-visualblocks:not([dir=rtl]) ol,
.mce-visualblocks:not([dir=rtl]) dl {
margin-left: 3px;
}
.mce-visualblocks[dir=rtl] p,
.mce-visualblocks[dir=rtl] h1,
.mce-visualblocks[dir=rtl] h2,
.mce-visualblocks[dir=rtl] h3,
.mce-visualblocks[dir=rtl] h4,
.mce-visualblocks[dir=rtl] h5,
.mce-visualblocks[dir=rtl] h6,
.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),
.mce-visualblocks[dir=rtl] section,
.mce-visualblocks[dir=rtl] article,
.mce-visualblocks[dir=rtl] blockquote,
.mce-visualblocks[dir=rtl] address,
.mce-visualblocks[dir=rtl] pre,
.mce-visualblocks[dir=rtl] figure,
.mce-visualblocks[dir=rtl] figcaption,
.mce-visualblocks[dir=rtl] hgroup,
.mce-visualblocks[dir=rtl] aside,
.mce-visualblocks[dir=rtl] ul,
.mce-visualblocks[dir=rtl] ol,
.mce-visualblocks[dir=rtl] dl {
background-position-x: right;
margin-right: 3px;
}
.mce-nbsp,
.mce-shy {
background: #aaa;
}
.mce-shy::after {
content: '-';
}
body {
font-family: sans-serif;
}
table {
border-collapse: collapse;
}

View File

@ -1,726 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.mce-content-body .mce-item-anchor {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
cursor: default;
display: inline-block;
height: 12px !important;
padding: 0 2px;
-webkit-user-modify: read-only;
-moz-user-modify: read-only;
-webkit-user-select: all;
-moz-user-select: all;
-ms-user-select: all;
user-select: all;
width: 8px !important;
}
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
}
.tox-comments-visible .tox-comment--active {
background-color: #ffe168;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
margin: 0.25em 0;
}
.tox-checklist > li:not(.tox-checklist--hidden)::before {
content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
cursor: pointer;
height: 1em;
margin-left: -1.5em;
margin-top: 0.125em;
position: absolute;
width: 1em;
}
.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before {
content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
}
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
margin-left: 0;
margin-right: -1.5em;
}
/* stylelint-disable */
/* http://prismjs.com/ */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: 0.5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: 0.1em;
border-radius: 0.3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: 0.7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, 0.5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
/* stylelint-enable */
.mce-content-body {
overflow-wrap: break-word;
word-wrap: break-word;
}
.mce-content-body .mce-visual-caret {
background-color: black;
background-color: currentColor;
position: absolute;
}
.mce-content-body .mce-visual-caret-hidden {
display: none;
}
.mce-content-body *[data-mce-caret] {
left: -1000px;
margin: 0;
padding: 0;
position: absolute;
right: auto;
top: 0;
}
.mce-content-body .mce-offscreen-selection {
left: -2000000px;
max-width: 1000000px;
position: absolute;
}
.mce-content-body *[contentEditable=false] {
cursor: default;
}
.mce-content-body *[contentEditable=true] {
cursor: text;
}
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
.mce-content-body figure.align-left {
float: left;
}
.mce-content-body figure.align-right {
float: right;
}
.mce-content-body figure.image.align-center {
display: table;
margin-left: auto;
margin-right: auto;
}
.mce-preview-object {
border: 1px solid gray;
display: inline-block;
line-height: 0;
margin: 0 2px 0 2px;
position: relative;
}
.mce-preview-object .mce-shim {
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
}
.mce-pagebreak {
border: 1px dashed #aaa;
cursor: default;
display: block;
height: 5px;
margin-top: 15px;
page-break-before: always;
width: 100%;
}
@media print {
.mce-pagebreak {
border: 0;
}
}
.tiny-pageembed .mce-shim {
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.tiny-pageembed[data-mce-selected="2"] .mce-shim {
display: none;
}
.tiny-pageembed {
display: inline-block;
position: relative;
}
.tiny-pageembed--21by9,
.tiny-pageembed--16by9,
.tiny-pageembed--4by3,
.tiny-pageembed--1by1 {
display: block;
overflow: hidden;
padding: 0;
position: relative;
width: 100%;
}
.tiny-pageembed--21by9 {
padding-top: 42.857143%;
}
.tiny-pageembed--16by9 {
padding-top: 56.25%;
}
.tiny-pageembed--4by3 {
padding-top: 75%;
}
.tiny-pageembed--1by1 {
padding-top: 100%;
}
.tiny-pageembed--21by9 iframe,
.tiny-pageembed--16by9 iframe,
.tiny-pageembed--4by3 iframe,
.tiny-pageembed--1by1 iframe {
border: 0;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.mce-content-body[data-mce-placeholder] {
position: relative;
}
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before {
color: rgba(34, 47, 62, 0.7);
content: attr(data-mce-placeholder);
position: absolute;
}
.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
left: 1px;
}
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before {
right: 1px;
}
.mce-content-body div.mce-resizehandle {
background-color: #4099ff;
border-color: #4099ff;
border-style: solid;
border-width: 1px;
box-sizing: border-box;
height: 10px;
position: absolute;
width: 10px;
z-index: 10000;
}
.mce-content-body div.mce-resizehandle:hover {
background-color: #4099ff;
}
.mce-content-body div.mce-resizehandle:nth-of-type(1) {
cursor: nwse-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(2) {
cursor: nesw-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(3) {
cursor: nwse-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(4) {
cursor: nesw-resize;
}
.mce-content-body .mce-resize-backdrop {
z-index: 10000;
}
.mce-content-body .mce-clonedresizable {
cursor: default;
opacity: 0.5;
outline: 1px dashed black;
position: absolute;
z-index: 10001;
}
.mce-content-body .mce-clonedresizable.mce-resizetable-columns th,
.mce-content-body .mce-clonedresizable.mce-resizetable-columns td {
border: 0;
}
.mce-content-body .mce-resize-helper {
background: #555;
background: rgba(0, 0, 0, 0.75);
border: 1px;
border-radius: 3px;
color: white;
display: none;
font-family: sans-serif;
font-size: 12px;
line-height: 14px;
margin: 5px 10px;
padding: 5px;
position: absolute;
white-space: nowrap;
z-index: 10002;
}
.tox-rtc-user-selection {
position: relative;
}
.tox-rtc-user-cursor {
bottom: 0;
cursor: default;
position: absolute;
top: 0;
width: 2px;
}
.tox-rtc-user-cursor::before {
background-color: inherit;
border-radius: 50%;
content: '';
display: block;
height: 8px;
position: absolute;
right: -3px;
top: -3px;
width: 8px;
}
.tox-rtc-user-cursor:hover::after {
background-color: inherit;
border-radius: 100px;
box-sizing: border-box;
color: #fff;
content: attr(data-user);
display: block;
font-size: 12px;
font-weight: bold;
left: -5px;
min-height: 8px;
min-width: 8px;
padding: 0 12px;
position: absolute;
top: -11px;
white-space: nowrap;
z-index: 1000;
}
.tox-rtc-user-selection--1 .tox-rtc-user-cursor {
background-color: #2dc26b;
}
.tox-rtc-user-selection--2 .tox-rtc-user-cursor {
background-color: #e03e2d;
}
.tox-rtc-user-selection--3 .tox-rtc-user-cursor {
background-color: #f1c40f;
}
.tox-rtc-user-selection--4 .tox-rtc-user-cursor {
background-color: #3598db;
}
.tox-rtc-user-selection--5 .tox-rtc-user-cursor {
background-color: #b96ad9;
}
.tox-rtc-user-selection--6 .tox-rtc-user-cursor {
background-color: #e67e23;
}
.tox-rtc-user-selection--7 .tox-rtc-user-cursor {
background-color: #aaa69d;
}
.tox-rtc-user-selection--8 .tox-rtc-user-cursor {
background-color: #f368e0;
}
.tox-rtc-remote-image {
background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;
border: 1px solid #ccc;
min-height: 240px;
min-width: 320px;
}
.mce-match-marker {
background: #aaa;
color: #fff;
}
.mce-match-marker-selected {
background: #39f;
color: #fff;
}
.mce-match-marker-selected::-moz-selection {
background: #39f;
color: #fff;
}
.mce-match-marker-selected::selection {
background: #39f;
color: #fff;
}
.mce-content-body img[data-mce-selected],
.mce-content-body video[data-mce-selected],
.mce-content-body audio[data-mce-selected],
.mce-content-body object[data-mce-selected],
.mce-content-body embed[data-mce-selected],
.mce-content-body table[data-mce-selected] {
outline: 3px solid #b4d7ff;
}
.mce-content-body hr[data-mce-selected] {
outline: 3px solid #b4d7ff;
outline-offset: 1px;
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
outline: 3px solid #b4d7ff;
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
outline: 3px solid #b4d7ff;
}
.mce-content-body *[contentEditable=false][data-mce-selected] {
cursor: not-allowed;
outline: 3px solid #b4d7ff;
}
.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,
.mce-content-body.mce-content-readonly *[contentEditable=true]:hover {
outline: none;
}
.mce-content-body *[data-mce-selected="inline-boundary"] {
background-color: #b4d7ff;
}
.mce-content-body .mce-edit-focus {
outline: 3px solid #b4d7ff;
}
.mce-content-body td[data-mce-selected],
.mce-content-body th[data-mce-selected] {
position: relative;
}
.mce-content-body td[data-mce-selected]::-moz-selection,
.mce-content-body th[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body td[data-mce-selected]::selection,
.mce-content-body th[data-mce-selected]::selection {
background: none;
}
.mce-content-body td[data-mce-selected] *,
.mce-content-body th[data-mce-selected] * {
outline: none;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.mce-content-body td[data-mce-selected]::after,
.mce-content-body th[data-mce-selected]::after {
background-color: rgba(180, 215, 255, 0.7);
border: 1px solid rgba(180, 215, 255, 0.7);
bottom: -1px;
content: '';
left: -1px;
mix-blend-mode: multiply;
position: absolute;
right: -1px;
top: -1px;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.mce-content-body td[data-mce-selected]::after,
.mce-content-body th[data-mce-selected]::after {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
background: none;
}
.mce-content-body img::selection {
background: none;
}
.ephox-snooker-resizer-bar {
background-color: #b4d7ff;
opacity: 0;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.ephox-snooker-resizer-cols {
cursor: col-resize;
}
.ephox-snooker-resizer-rows {
cursor: row-resize;
}
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
opacity: 1;
}
.mce-spellchecker-word {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
background-position: 0 calc(100% + 1px);
background-repeat: repeat-x;
background-size: auto 6px;
cursor: default;
height: 2rem;
}
.mce-spellchecker-grammar {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
background-position: 0 calc(100% + 1px);
background-repeat: repeat-x;
background-size: auto 6px;
cursor: default;
}
.mce-toc {
border: 1px solid gray;
}
.mce-toc h2 {
margin: 4px;
}
.mce-toc li {
list-style-type: none;
}
table[style*="border-width: 0px"],
.mce-item-table:not([border]),
.mce-item-table[border="0"],
table[style*="border-width: 0px"] td,
.mce-item-table:not([border]) td,
.mce-item-table[border="0"] td,
table[style*="border-width: 0px"] th,
.mce-item-table:not([border]) th,
.mce-item-table[border="0"] th,
table[style*="border-width: 0px"] caption,
.mce-item-table:not([border]) caption,
.mce-item-table[border="0"] caption {
border: 1px dashed #bbb;
}
.mce-visualblocks p,
.mce-visualblocks h1,
.mce-visualblocks h2,
.mce-visualblocks h3,
.mce-visualblocks h4,
.mce-visualblocks h5,
.mce-visualblocks h6,
.mce-visualblocks div:not([data-mce-bogus]),
.mce-visualblocks section,
.mce-visualblocks article,
.mce-visualblocks blockquote,
.mce-visualblocks address,
.mce-visualblocks pre,
.mce-visualblocks figure,
.mce-visualblocks figcaption,
.mce-visualblocks hgroup,
.mce-visualblocks aside,
.mce-visualblocks ul,
.mce-visualblocks ol,
.mce-visualblocks dl {
background-repeat: no-repeat;
border: 1px dashed #bbb;
margin-left: 3px;
padding-top: 10px;
}
.mce-visualblocks p {
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
}
.mce-visualblocks h1 {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
}
.mce-visualblocks h2 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
}
.mce-visualblocks h3 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
}
.mce-visualblocks h4 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
}
.mce-visualblocks h5 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
}
.mce-visualblocks h6 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
}
.mce-visualblocks div:not([data-mce-bogus]) {
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
}
.mce-visualblocks section {
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
}
.mce-visualblocks article {
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
}
.mce-visualblocks blockquote {
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
}
.mce-visualblocks address {
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
}
.mce-visualblocks pre {
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
}
.mce-visualblocks figure {
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
}
.mce-visualblocks figcaption {
border: 1px dashed #bbb;
}
.mce-visualblocks hgroup {
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
}
.mce-visualblocks aside {
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
}
.mce-visualblocks ul {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
}
.mce-visualblocks ol {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
}
.mce-visualblocks dl {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
}
.mce-visualblocks:not([dir=rtl]) p,
.mce-visualblocks:not([dir=rtl]) h1,
.mce-visualblocks:not([dir=rtl]) h2,
.mce-visualblocks:not([dir=rtl]) h3,
.mce-visualblocks:not([dir=rtl]) h4,
.mce-visualblocks:not([dir=rtl]) h5,
.mce-visualblocks:not([dir=rtl]) h6,
.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),
.mce-visualblocks:not([dir=rtl]) section,
.mce-visualblocks:not([dir=rtl]) article,
.mce-visualblocks:not([dir=rtl]) blockquote,
.mce-visualblocks:not([dir=rtl]) address,
.mce-visualblocks:not([dir=rtl]) pre,
.mce-visualblocks:not([dir=rtl]) figure,
.mce-visualblocks:not([dir=rtl]) figcaption,
.mce-visualblocks:not([dir=rtl]) hgroup,
.mce-visualblocks:not([dir=rtl]) aside,
.mce-visualblocks:not([dir=rtl]) ul,
.mce-visualblocks:not([dir=rtl]) ol,
.mce-visualblocks:not([dir=rtl]) dl {
margin-left: 3px;
}
.mce-visualblocks[dir=rtl] p,
.mce-visualblocks[dir=rtl] h1,
.mce-visualblocks[dir=rtl] h2,
.mce-visualblocks[dir=rtl] h3,
.mce-visualblocks[dir=rtl] h4,
.mce-visualblocks[dir=rtl] h5,
.mce-visualblocks[dir=rtl] h6,
.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),
.mce-visualblocks[dir=rtl] section,
.mce-visualblocks[dir=rtl] article,
.mce-visualblocks[dir=rtl] blockquote,
.mce-visualblocks[dir=rtl] address,
.mce-visualblocks[dir=rtl] pre,
.mce-visualblocks[dir=rtl] figure,
.mce-visualblocks[dir=rtl] figcaption,
.mce-visualblocks[dir=rtl] hgroup,
.mce-visualblocks[dir=rtl] aside,
.mce-visualblocks[dir=rtl] ul,
.mce-visualblocks[dir=rtl] ol,
.mce-visualblocks[dir=rtl] dl {
background-position-x: right;
margin-right: 3px;
}
.mce-nbsp,
.mce-shy {
background: #aaa;
}
.mce-shy::after {
content: '-';
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,29 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection {
/* Note: this file is used inside the content, so isn't part of theming */
background-color: green;
display: inline-block;
opacity: 0.5;
position: absolute;
}
body {
-webkit-text-size-adjust: none;
}
body img {
/* this is related to the content margin */
max-width: 96vw;
}
body table img {
max-width: 95%;
}
body {
font-family: sans-serif;
}
table {
border-collapse: collapse;
}

View File

@ -1,7 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,673 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
/* RESET all the things! */
.tinymce-mobile-outer-container {
all: initial;
display: block;
}
.tinymce-mobile-outer-container * {
border: 0;
box-sizing: initial;
cursor: inherit;
float: none;
line-height: 1;
margin: 0;
outline: 0;
padding: 0;
-webkit-tap-highlight-color: transparent;
/* TBIO-3691, stop the gray flicker on touch. */
text-shadow: none;
white-space: nowrap;
}
.tinymce-mobile-icon-arrow-back::before {
content: "\e5cd";
}
.tinymce-mobile-icon-image::before {
content: "\e412";
}
.tinymce-mobile-icon-cancel-circle::before {
content: "\e5c9";
}
.tinymce-mobile-icon-full-dot::before {
content: "\e061";
}
.tinymce-mobile-icon-align-center::before {
content: "\e234";
}
.tinymce-mobile-icon-align-left::before {
content: "\e236";
}
.tinymce-mobile-icon-align-right::before {
content: "\e237";
}
.tinymce-mobile-icon-bold::before {
content: "\e238";
}
.tinymce-mobile-icon-italic::before {
content: "\e23f";
}
.tinymce-mobile-icon-unordered-list::before {
content: "\e241";
}
.tinymce-mobile-icon-ordered-list::before {
content: "\e242";
}
.tinymce-mobile-icon-font-size::before {
content: "\e245";
}
.tinymce-mobile-icon-underline::before {
content: "\e249";
}
.tinymce-mobile-icon-link::before {
content: "\e157";
}
.tinymce-mobile-icon-unlink::before {
content: "\eca2";
}
.tinymce-mobile-icon-color::before {
content: "\e891";
}
.tinymce-mobile-icon-previous::before {
content: "\e314";
}
.tinymce-mobile-icon-next::before {
content: "\e315";
}
.tinymce-mobile-icon-large-font::before,
.tinymce-mobile-icon-style-formats::before {
content: "\e264";
}
.tinymce-mobile-icon-undo::before {
content: "\e166";
}
.tinymce-mobile-icon-redo::before {
content: "\e15a";
}
.tinymce-mobile-icon-removeformat::before {
content: "\e239";
}
.tinymce-mobile-icon-small-font::before {
content: "\e906";
}
.tinymce-mobile-icon-readonly-back::before,
.tinymce-mobile-format-matches::after {
content: "\e5ca";
}
.tinymce-mobile-icon-small-heading::before {
content: "small";
}
.tinymce-mobile-icon-large-heading::before {
content: "large";
}
.tinymce-mobile-icon-small-heading::before,
.tinymce-mobile-icon-large-heading::before {
font-family: sans-serif;
font-size: 80%;
}
.tinymce-mobile-mask-edit-icon::before {
content: "\e254";
}
.tinymce-mobile-icon-back::before {
content: "\e5c4";
}
.tinymce-mobile-icon-heading::before {
/* TODO: Translate */
content: "Headings";
font-family: sans-serif;
font-size: 80%;
font-weight: bold;
}
.tinymce-mobile-icon-h1::before {
content: "H1";
font-weight: bold;
}
.tinymce-mobile-icon-h2::before {
content: "H2";
font-weight: bold;
}
.tinymce-mobile-icon-h3::before {
content: "H3";
font-weight: bold;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask {
align-items: center;
display: flex;
justify-content: center;
background: rgba(51, 51, 51, 0.5);
height: 100%;
position: absolute;
top: 0;
width: 100%;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container {
align-items: center;
border-radius: 50%;
display: flex;
flex-direction: column;
font-family: sans-serif;
font-size: 1em;
justify-content: space-between;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item {
align-items: center;
display: flex;
justify-content: center;
border-radius: 50%;
height: 2.1em;
width: 2.1em;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
align-items: center;
display: flex;
justify-content: center;
flex-direction: column;
font-size: 1em;
}
@media only screen and (min-device-width:700px) {
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
font-size: 1.2em;
}
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon {
align-items: center;
display: flex;
justify-content: center;
border-radius: 50%;
height: 2.1em;
width: 2.1em;
background-color: white;
color: #207ab7;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before {
content: "\e900";
font-family: 'tinymce-mobile', sans-serif;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon {
z-index: 2;
}
.tinymce-mobile-android-container.tinymce-mobile-android-maximized {
background: #ffffff;
border: none;
bottom: 0;
display: flex;
flex-direction: column;
left: 0;
position: fixed;
right: 0;
top: 0;
}
.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) {
position: relative;
}
.tinymce-mobile-android-container .tinymce-mobile-editor-socket {
display: flex;
flex-grow: 1;
}
.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe {
display: flex !important;
flex-grow: 1;
height: auto !important;
}
.tinymce-mobile-android-scroll-reload {
overflow: hidden;
}
:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar {
margin-top: 23px;
}
.tinymce-mobile-toolstrip {
background: #fff;
display: flex;
flex: 0 0 auto;
z-index: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar {
align-items: center;
background-color: #fff;
border-bottom: 1px solid #cccccc;
display: flex;
flex: 1;
height: 2.5em;
width: 100%;
/* Make it no larger than the toolstrip, so that it needs to scroll */
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group {
align-items: center;
display: flex;
height: 100%;
flex-shrink: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div {
align-items: center;
display: flex;
height: 100%;
flex: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container {
background: #f44336;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group {
flex-grow: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
padding-left: 0.5em;
padding-right: 0.5em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button {
align-items: center;
display: flex;
height: 80%;
margin-left: 2px;
margin-right: 2px;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected {
background: #c8cbcf;
color: #cccccc;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type {
background: #207ab7;
color: #eceff1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar {
/* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group {
align-items: center;
display: flex;
height: 100%;
flex: 1;
padding-bottom: 0.4em;
padding-top: 0.4em;
/* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */
/* For widgets like the colour picker, use the whole height */
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog {
display: flex;
min-height: 1.5em;
overflow: hidden;
padding-left: 0;
padding-right: 0;
position: relative;
width: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain {
display: flex;
height: 100%;
transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s;
width: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen {
display: flex;
flex: 0 0 auto;
justify-content: space-between;
width: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input {
font-family: Sans-serif;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container {
display: flex;
flex-grow: 1;
position: relative;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x {
-ms-grid-row-align: center;
align-self: center;
background: inherit;
border: none;
border-radius: 50%;
color: #888;
font-size: 0.6em;
font-weight: bold;
height: 100%;
padding-right: 2px;
position: absolute;
right: 0;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x {
display: none;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next {
align-items: center;
display: flex;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before {
align-items: center;
display: flex;
font-weight: bold;
height: 100%;
padding-left: 0.5em;
padding-right: 0.5em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before {
visibility: hidden;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item {
color: #cccccc;
font-size: 10px;
line-height: 10px;
margin: 0 2px;
padding-top: 3px;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active {
color: #c8cbcf;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before {
margin-left: 0.5em;
margin-right: 0.9em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before {
margin-left: 0.9em;
margin-right: 0.5em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider {
display: flex;
flex: 1;
margin-left: 0;
margin-right: 0;
padding: 0.28em 0;
position: relative;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container {
align-items: center;
display: flex;
flex-grow: 1;
height: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line {
background: #cccccc;
display: flex;
flex: 1;
height: 0.2em;
margin-bottom: 0.3em;
margin-top: 0.3em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container {
padding-left: 2em;
padding-right: 2em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container {
align-items: center;
display: flex;
flex-grow: 1;
height: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient {
background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%);
display: flex;
flex: 1;
height: 0.2em;
margin-bottom: 0.3em;
margin-top: 0.3em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black {
/* Not part of theming */
background: black;
height: 0.2em;
margin-bottom: 0.3em;
margin-top: 0.3em;
width: 1.2em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white {
/* Not part of theming */
background: white;
height: 0.2em;
margin-bottom: 0.3em;
margin-top: 0.3em;
width: 1.2em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb {
/* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave
* out these values, then it shows the thumb at the top of the spectrum. This is probably because it is
* absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without
* this approach.
*/
align-items: center;
background-clip: padding-box;
background-color: #455a64;
border: 0.5em solid rgba(136, 136, 136, 0);
border-radius: 3em;
bottom: 0;
color: #fff;
display: flex;
height: 0.5em;
justify-content: center;
left: -10px;
margin: auto;
position: absolute;
top: 0;
transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1);
width: 0.5em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active {
border: 0.5em solid rgba(136, 136, 136, 0.39);
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div {
align-items: center;
display: flex;
height: 100%;
flex: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper {
flex-direction: column;
justify-content: center;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
align-items: center;
display: flex;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) {
height: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container {
display: flex;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input {
background: #ffffff;
border: none;
border-radius: 0;
color: #455a64;
flex-grow: 1;
font-size: 0.85em;
padding-bottom: 0.1em;
padding-left: 5px;
padding-top: 0.1em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder {
/* WebKit, Blink, Edge */
color: #888;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder {
/* WebKit, Blink, Edge */
color: #888;
}
/* dropup */
.tinymce-mobile-dropup {
background: white;
display: flex;
overflow: hidden;
width: 100%;
}
.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking {
transition: height 0.3s ease-out;
}
.tinymce-mobile-dropup.tinymce-mobile-dropup-growing {
transition: height 0.3s ease-in;
}
.tinymce-mobile-dropup.tinymce-mobile-dropup-closed {
flex-grow: 0;
}
.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) {
flex-grow: 1;
}
/* TODO min-height for device size and orientation */
.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
min-height: 200px;
}
@media only screen and (orientation: landscape) {
.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
min-height: 200px;
}
}
@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
min-height: 150px;
}
}
/* styles menu */
.tinymce-mobile-styles-menu {
font-family: sans-serif;
outline: 4px solid black;
overflow: hidden;
position: relative;
width: 100%;
}
.tinymce-mobile-styles-menu [role="menu"] {
display: flex;
flex-direction: column;
height: 100%;
position: absolute;
width: 100%;
}
.tinymce-mobile-styles-menu [role="menu"].transitioning {
transition: transform 0.5s ease-in-out;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item {
border-bottom: 1px solid #ddd;
color: #455a64;
cursor: pointer;
display: flex;
padding: 1em 1em;
position: relative;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before {
color: #455a64;
content: "\e314";
font-family: 'tinymce-mobile', sans-serif;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after {
color: #455a64;
content: "\e315";
font-family: 'tinymce-mobile', sans-serif;
padding-left: 1em;
padding-right: 1em;
position: absolute;
right: 0;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after {
font-family: 'tinymce-mobile', sans-serif;
padding-left: 1em;
padding-right: 1em;
position: absolute;
right: 0;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator,
.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser {
align-items: center;
background: #fff;
border-top: #455a64;
color: #455a64;
display: flex;
min-height: 2.5em;
padding-left: 1em;
padding-right: 1em;
}
.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state],
.tinymce-mobile-styles-menu [data-transitioning-state="before"] {
transform: translate(-100%);
}
.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state],
.tinymce-mobile-styles-menu [data-transitioning-state="current"] {
transform: translate(0%);
}
.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state],
.tinymce-mobile-styles-menu [data-transitioning-state="after"] {
transform: translate(100%);
}
@font-face {
font-family: 'tinymce-mobile';
font-style: normal;
font-weight: normal;
src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff');
}
@media (min-device-width: 700px) {
.tinymce-mobile-outer-container,
.tinymce-mobile-outer-container input {
font-size: 25px;
}
}
@media (max-device-width: 700px) {
.tinymce-mobile-outer-container,
.tinymce-mobile-outer-container input {
font-size: 18px;
}
}
.tinymce-mobile-icon {
font-family: 'tinymce-mobile', sans-serif;
}
.mixin-flex-and-centre {
align-items: center;
display: flex;
justify-content: center;
}
.mixin-flex-bar {
align-items: center;
display: flex;
height: 100%;
}
.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe {
background-color: #fff;
width: 100%;
}
.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
/* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */
background-color: #207ab7;
border-radius: 50%;
bottom: 1em;
color: white;
font-size: 1em;
height: 2.1em;
position: fixed;
right: 2em;
width: 2.1em;
align-items: center;
display: flex;
justify-content: center;
}
@media only screen and (min-device-width:700px) {
.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
font-size: 1.2em;
}
}
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket {
height: 300px;
overflow: hidden;
}
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe {
height: 100%;
}
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip {
display: none;
}
/*
Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets
increased and the whole body becomes scrollable. It's important!
*/
input[type="file"]::-webkit-file-upload-button {
display: none;
}
@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
bottom: 50%;
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,37 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox-fullscreen {
border: 0;
height: 100%;
left: 0;
margin: 0;
overflow: hidden;
-ms-scroll-chaining: none;
overscroll-behavior: none;
padding: 0;
position: fixed;
top: 0;
touch-action: pinch-zoom;
width: 100%;
}
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
display: none;
}
.tox.tox-tinymce.tox-fullscreen {
background-color: transparent;
z-index: 1200;
}
.tox-shadowhost.tox-fullscreen {
z-index: 1200;
}
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux {
z-index: 1201;
}

View File

@ -1,7 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}

View File

@ -1,732 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.mce-content-body .mce-item-anchor {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
cursor: default;
display: inline-block;
height: 12px !important;
padding: 0 2px;
-webkit-user-modify: read-only;
-moz-user-modify: read-only;
-webkit-user-select: all;
-moz-user-select: all;
-ms-user-select: all;
user-select: all;
width: 8px !important;
}
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
}
.tox-comments-visible .tox-comment--active {
background-color: #ffe168;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
margin: 0.25em 0;
}
.tox-checklist > li:not(.tox-checklist--hidden)::before {
content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
cursor: pointer;
height: 1em;
margin-left: -1.5em;
margin-top: 0.125em;
position: absolute;
width: 1em;
}
.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before {
content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
}
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
margin-left: 0;
margin-right: -1.5em;
}
/* stylelint-disable */
/* http://prismjs.com/ */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: 0.5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: 0.1em;
border-radius: 0.3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: 0.7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, 0.5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
/* stylelint-enable */
.mce-content-body {
overflow-wrap: break-word;
word-wrap: break-word;
}
.mce-content-body .mce-visual-caret {
background-color: black;
background-color: currentColor;
position: absolute;
}
.mce-content-body .mce-visual-caret-hidden {
display: none;
}
.mce-content-body *[data-mce-caret] {
left: -1000px;
margin: 0;
padding: 0;
position: absolute;
right: auto;
top: 0;
}
.mce-content-body .mce-offscreen-selection {
left: -2000000px;
max-width: 1000000px;
position: absolute;
}
.mce-content-body *[contentEditable=false] {
cursor: default;
}
.mce-content-body *[contentEditable=true] {
cursor: text;
}
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
.mce-content-body figure.align-left {
float: left;
}
.mce-content-body figure.align-right {
float: right;
}
.mce-content-body figure.image.align-center {
display: table;
margin-left: auto;
margin-right: auto;
}
.mce-preview-object {
border: 1px solid gray;
display: inline-block;
line-height: 0;
margin: 0 2px 0 2px;
position: relative;
}
.mce-preview-object .mce-shim {
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
}
.mce-pagebreak {
border: 1px dashed #aaa;
cursor: default;
display: block;
height: 5px;
margin-top: 15px;
page-break-before: always;
width: 100%;
}
@media print {
.mce-pagebreak {
border: 0;
}
}
.tiny-pageembed .mce-shim {
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.tiny-pageembed[data-mce-selected="2"] .mce-shim {
display: none;
}
.tiny-pageembed {
display: inline-block;
position: relative;
}
.tiny-pageembed--21by9,
.tiny-pageembed--16by9,
.tiny-pageembed--4by3,
.tiny-pageembed--1by1 {
display: block;
overflow: hidden;
padding: 0;
position: relative;
width: 100%;
}
.tiny-pageembed--21by9 {
padding-top: 42.857143%;
}
.tiny-pageembed--16by9 {
padding-top: 56.25%;
}
.tiny-pageembed--4by3 {
padding-top: 75%;
}
.tiny-pageembed--1by1 {
padding-top: 100%;
}
.tiny-pageembed--21by9 iframe,
.tiny-pageembed--16by9 iframe,
.tiny-pageembed--4by3 iframe,
.tiny-pageembed--1by1 iframe {
border: 0;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.mce-content-body[data-mce-placeholder] {
position: relative;
}
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before {
color: rgba(34, 47, 62, 0.7);
content: attr(data-mce-placeholder);
position: absolute;
}
.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
left: 1px;
}
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before {
right: 1px;
}
.mce-content-body div.mce-resizehandle {
background-color: #4099ff;
border-color: #4099ff;
border-style: solid;
border-width: 1px;
box-sizing: border-box;
height: 10px;
position: absolute;
width: 10px;
z-index: 10000;
}
.mce-content-body div.mce-resizehandle:hover {
background-color: #4099ff;
}
.mce-content-body div.mce-resizehandle:nth-of-type(1) {
cursor: nwse-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(2) {
cursor: nesw-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(3) {
cursor: nwse-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(4) {
cursor: nesw-resize;
}
.mce-content-body .mce-resize-backdrop {
z-index: 10000;
}
.mce-content-body .mce-clonedresizable {
cursor: default;
opacity: 0.5;
outline: 1px dashed black;
position: absolute;
z-index: 10001;
}
.mce-content-body .mce-clonedresizable.mce-resizetable-columns th,
.mce-content-body .mce-clonedresizable.mce-resizetable-columns td {
border: 0;
}
.mce-content-body .mce-resize-helper {
background: #555;
background: rgba(0, 0, 0, 0.75);
border: 1px;
border-radius: 3px;
color: white;
display: none;
font-family: sans-serif;
font-size: 12px;
line-height: 14px;
margin: 5px 10px;
padding: 5px;
position: absolute;
white-space: nowrap;
z-index: 10002;
}
.tox-rtc-user-selection {
position: relative;
}
.tox-rtc-user-cursor {
bottom: 0;
cursor: default;
position: absolute;
top: 0;
width: 2px;
}
.tox-rtc-user-cursor::before {
background-color: inherit;
border-radius: 50%;
content: '';
display: block;
height: 8px;
position: absolute;
right: -3px;
top: -3px;
width: 8px;
}
.tox-rtc-user-cursor:hover::after {
background-color: inherit;
border-radius: 100px;
box-sizing: border-box;
color: #fff;
content: attr(data-user);
display: block;
font-size: 12px;
font-weight: bold;
left: -5px;
min-height: 8px;
min-width: 8px;
padding: 0 12px;
position: absolute;
top: -11px;
white-space: nowrap;
z-index: 1000;
}
.tox-rtc-user-selection--1 .tox-rtc-user-cursor {
background-color: #2dc26b;
}
.tox-rtc-user-selection--2 .tox-rtc-user-cursor {
background-color: #e03e2d;
}
.tox-rtc-user-selection--3 .tox-rtc-user-cursor {
background-color: #f1c40f;
}
.tox-rtc-user-selection--4 .tox-rtc-user-cursor {
background-color: #3598db;
}
.tox-rtc-user-selection--5 .tox-rtc-user-cursor {
background-color: #b96ad9;
}
.tox-rtc-user-selection--6 .tox-rtc-user-cursor {
background-color: #e67e23;
}
.tox-rtc-user-selection--7 .tox-rtc-user-cursor {
background-color: #aaa69d;
}
.tox-rtc-user-selection--8 .tox-rtc-user-cursor {
background-color: #f368e0;
}
.tox-rtc-remote-image {
background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;
border: 1px solid #ccc;
min-height: 240px;
min-width: 320px;
}
.mce-match-marker {
background: #aaa;
color: #fff;
}
.mce-match-marker-selected {
background: #39f;
color: #fff;
}
.mce-match-marker-selected::-moz-selection {
background: #39f;
color: #fff;
}
.mce-match-marker-selected::selection {
background: #39f;
color: #fff;
}
.mce-content-body img[data-mce-selected],
.mce-content-body video[data-mce-selected],
.mce-content-body audio[data-mce-selected],
.mce-content-body object[data-mce-selected],
.mce-content-body embed[data-mce-selected],
.mce-content-body table[data-mce-selected] {
outline: 3px solid #b4d7ff;
}
.mce-content-body hr[data-mce-selected] {
outline: 3px solid #b4d7ff;
outline-offset: 1px;
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
outline: 3px solid #b4d7ff;
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
outline: 3px solid #b4d7ff;
}
.mce-content-body *[contentEditable=false][data-mce-selected] {
cursor: not-allowed;
outline: 3px solid #b4d7ff;
}
.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,
.mce-content-body.mce-content-readonly *[contentEditable=true]:hover {
outline: none;
}
.mce-content-body *[data-mce-selected="inline-boundary"] {
background-color: #b4d7ff;
}
.mce-content-body .mce-edit-focus {
outline: 3px solid #b4d7ff;
}
.mce-content-body td[data-mce-selected],
.mce-content-body th[data-mce-selected] {
position: relative;
}
.mce-content-body td[data-mce-selected]::-moz-selection,
.mce-content-body th[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body td[data-mce-selected]::selection,
.mce-content-body th[data-mce-selected]::selection {
background: none;
}
.mce-content-body td[data-mce-selected] *,
.mce-content-body th[data-mce-selected] * {
outline: none;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.mce-content-body td[data-mce-selected]::after,
.mce-content-body th[data-mce-selected]::after {
background-color: rgba(180, 215, 255, 0.7);
border: 1px solid rgba(180, 215, 255, 0.7);
bottom: -1px;
content: '';
left: -1px;
mix-blend-mode: multiply;
position: absolute;
right: -1px;
top: -1px;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.mce-content-body td[data-mce-selected]::after,
.mce-content-body th[data-mce-selected]::after {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
background: none;
}
.mce-content-body img::selection {
background: none;
}
.ephox-snooker-resizer-bar {
background-color: #b4d7ff;
opacity: 0;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.ephox-snooker-resizer-cols {
cursor: col-resize;
}
.ephox-snooker-resizer-rows {
cursor: row-resize;
}
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
opacity: 1;
}
.mce-spellchecker-word {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
background-position: 0 calc(100% + 1px);
background-repeat: repeat-x;
background-size: auto 6px;
cursor: default;
height: 2rem;
}
.mce-spellchecker-grammar {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
background-position: 0 calc(100% + 1px);
background-repeat: repeat-x;
background-size: auto 6px;
cursor: default;
}
.mce-toc {
border: 1px solid gray;
}
.mce-toc h2 {
margin: 4px;
}
.mce-toc li {
list-style-type: none;
}
table[style*="border-width: 0px"],
.mce-item-table:not([border]),
.mce-item-table[border="0"],
table[style*="border-width: 0px"] td,
.mce-item-table:not([border]) td,
.mce-item-table[border="0"] td,
table[style*="border-width: 0px"] th,
.mce-item-table:not([border]) th,
.mce-item-table[border="0"] th,
table[style*="border-width: 0px"] caption,
.mce-item-table:not([border]) caption,
.mce-item-table[border="0"] caption {
border: 1px dashed #bbb;
}
.mce-visualblocks p,
.mce-visualblocks h1,
.mce-visualblocks h2,
.mce-visualblocks h3,
.mce-visualblocks h4,
.mce-visualblocks h5,
.mce-visualblocks h6,
.mce-visualblocks div:not([data-mce-bogus]),
.mce-visualblocks section,
.mce-visualblocks article,
.mce-visualblocks blockquote,
.mce-visualblocks address,
.mce-visualblocks pre,
.mce-visualblocks figure,
.mce-visualblocks figcaption,
.mce-visualblocks hgroup,
.mce-visualblocks aside,
.mce-visualblocks ul,
.mce-visualblocks ol,
.mce-visualblocks dl {
background-repeat: no-repeat;
border: 1px dashed #bbb;
margin-left: 3px;
padding-top: 10px;
}
.mce-visualblocks p {
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
}
.mce-visualblocks h1 {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
}
.mce-visualblocks h2 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
}
.mce-visualblocks h3 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
}
.mce-visualblocks h4 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
}
.mce-visualblocks h5 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
}
.mce-visualblocks h6 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
}
.mce-visualblocks div:not([data-mce-bogus]) {
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
}
.mce-visualblocks section {
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
}
.mce-visualblocks article {
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
}
.mce-visualblocks blockquote {
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
}
.mce-visualblocks address {
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
}
.mce-visualblocks pre {
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
}
.mce-visualblocks figure {
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
}
.mce-visualblocks figcaption {
border: 1px dashed #bbb;
}
.mce-visualblocks hgroup {
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
}
.mce-visualblocks aside {
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
}
.mce-visualblocks ul {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
}
.mce-visualblocks ol {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
}
.mce-visualblocks dl {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
}
.mce-visualblocks:not([dir=rtl]) p,
.mce-visualblocks:not([dir=rtl]) h1,
.mce-visualblocks:not([dir=rtl]) h2,
.mce-visualblocks:not([dir=rtl]) h3,
.mce-visualblocks:not([dir=rtl]) h4,
.mce-visualblocks:not([dir=rtl]) h5,
.mce-visualblocks:not([dir=rtl]) h6,
.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),
.mce-visualblocks:not([dir=rtl]) section,
.mce-visualblocks:not([dir=rtl]) article,
.mce-visualblocks:not([dir=rtl]) blockquote,
.mce-visualblocks:not([dir=rtl]) address,
.mce-visualblocks:not([dir=rtl]) pre,
.mce-visualblocks:not([dir=rtl]) figure,
.mce-visualblocks:not([dir=rtl]) figcaption,
.mce-visualblocks:not([dir=rtl]) hgroup,
.mce-visualblocks:not([dir=rtl]) aside,
.mce-visualblocks:not([dir=rtl]) ul,
.mce-visualblocks:not([dir=rtl]) ol,
.mce-visualblocks:not([dir=rtl]) dl {
margin-left: 3px;
}
.mce-visualblocks[dir=rtl] p,
.mce-visualblocks[dir=rtl] h1,
.mce-visualblocks[dir=rtl] h2,
.mce-visualblocks[dir=rtl] h3,
.mce-visualblocks[dir=rtl] h4,
.mce-visualblocks[dir=rtl] h5,
.mce-visualblocks[dir=rtl] h6,
.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),
.mce-visualblocks[dir=rtl] section,
.mce-visualblocks[dir=rtl] article,
.mce-visualblocks[dir=rtl] blockquote,
.mce-visualblocks[dir=rtl] address,
.mce-visualblocks[dir=rtl] pre,
.mce-visualblocks[dir=rtl] figure,
.mce-visualblocks[dir=rtl] figcaption,
.mce-visualblocks[dir=rtl] hgroup,
.mce-visualblocks[dir=rtl] aside,
.mce-visualblocks[dir=rtl] ul,
.mce-visualblocks[dir=rtl] ol,
.mce-visualblocks[dir=rtl] dl {
background-position-x: right;
margin-right: 3px;
}
.mce-nbsp,
.mce-shy {
background: #aaa;
}
.mce-shy::after {
content: '-';
}
body {
font-family: sans-serif;
}
table {
border-collapse: collapse;
}

View File

@ -1,726 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.mce-content-body .mce-item-anchor {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
cursor: default;
display: inline-block;
height: 12px !important;
padding: 0 2px;
-webkit-user-modify: read-only;
-moz-user-modify: read-only;
-webkit-user-select: all;
-moz-user-select: all;
-ms-user-select: all;
user-select: all;
width: 8px !important;
}
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
}
.tox-comments-visible .tox-comment--active {
background-color: #ffe168;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
margin: 0.25em 0;
}
.tox-checklist > li:not(.tox-checklist--hidden)::before {
content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
cursor: pointer;
height: 1em;
margin-left: -1.5em;
margin-top: 0.125em;
position: absolute;
width: 1em;
}
.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before {
content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
}
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
margin-left: 0;
margin-right: -1.5em;
}
/* stylelint-disable */
/* http://prismjs.com/ */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: 0.5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: 0.1em;
border-radius: 0.3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: 0.7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, 0.5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
/* stylelint-enable */
.mce-content-body {
overflow-wrap: break-word;
word-wrap: break-word;
}
.mce-content-body .mce-visual-caret {
background-color: black;
background-color: currentColor;
position: absolute;
}
.mce-content-body .mce-visual-caret-hidden {
display: none;
}
.mce-content-body *[data-mce-caret] {
left: -1000px;
margin: 0;
padding: 0;
position: absolute;
right: auto;
top: 0;
}
.mce-content-body .mce-offscreen-selection {
left: -2000000px;
max-width: 1000000px;
position: absolute;
}
.mce-content-body *[contentEditable=false] {
cursor: default;
}
.mce-content-body *[contentEditable=true] {
cursor: text;
}
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
.mce-content-body figure.align-left {
float: left;
}
.mce-content-body figure.align-right {
float: right;
}
.mce-content-body figure.image.align-center {
display: table;
margin-left: auto;
margin-right: auto;
}
.mce-preview-object {
border: 1px solid gray;
display: inline-block;
line-height: 0;
margin: 0 2px 0 2px;
position: relative;
}
.mce-preview-object .mce-shim {
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
}
.mce-pagebreak {
border: 1px dashed #aaa;
cursor: default;
display: block;
height: 5px;
margin-top: 15px;
page-break-before: always;
width: 100%;
}
@media print {
.mce-pagebreak {
border: 0;
}
}
.tiny-pageembed .mce-shim {
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.tiny-pageembed[data-mce-selected="2"] .mce-shim {
display: none;
}
.tiny-pageembed {
display: inline-block;
position: relative;
}
.tiny-pageembed--21by9,
.tiny-pageembed--16by9,
.tiny-pageembed--4by3,
.tiny-pageembed--1by1 {
display: block;
overflow: hidden;
padding: 0;
position: relative;
width: 100%;
}
.tiny-pageembed--21by9 {
padding-top: 42.857143%;
}
.tiny-pageembed--16by9 {
padding-top: 56.25%;
}
.tiny-pageembed--4by3 {
padding-top: 75%;
}
.tiny-pageembed--1by1 {
padding-top: 100%;
}
.tiny-pageembed--21by9 iframe,
.tiny-pageembed--16by9 iframe,
.tiny-pageembed--4by3 iframe,
.tiny-pageembed--1by1 iframe {
border: 0;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.mce-content-body[data-mce-placeholder] {
position: relative;
}
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before {
color: rgba(34, 47, 62, 0.7);
content: attr(data-mce-placeholder);
position: absolute;
}
.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
left: 1px;
}
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before {
right: 1px;
}
.mce-content-body div.mce-resizehandle {
background-color: #4099ff;
border-color: #4099ff;
border-style: solid;
border-width: 1px;
box-sizing: border-box;
height: 10px;
position: absolute;
width: 10px;
z-index: 10000;
}
.mce-content-body div.mce-resizehandle:hover {
background-color: #4099ff;
}
.mce-content-body div.mce-resizehandle:nth-of-type(1) {
cursor: nwse-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(2) {
cursor: nesw-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(3) {
cursor: nwse-resize;
}
.mce-content-body div.mce-resizehandle:nth-of-type(4) {
cursor: nesw-resize;
}
.mce-content-body .mce-resize-backdrop {
z-index: 10000;
}
.mce-content-body .mce-clonedresizable {
cursor: default;
opacity: 0.5;
outline: 1px dashed black;
position: absolute;
z-index: 10001;
}
.mce-content-body .mce-clonedresizable.mce-resizetable-columns th,
.mce-content-body .mce-clonedresizable.mce-resizetable-columns td {
border: 0;
}
.mce-content-body .mce-resize-helper {
background: #555;
background: rgba(0, 0, 0, 0.75);
border: 1px;
border-radius: 3px;
color: white;
display: none;
font-family: sans-serif;
font-size: 12px;
line-height: 14px;
margin: 5px 10px;
padding: 5px;
position: absolute;
white-space: nowrap;
z-index: 10002;
}
.tox-rtc-user-selection {
position: relative;
}
.tox-rtc-user-cursor {
bottom: 0;
cursor: default;
position: absolute;
top: 0;
width: 2px;
}
.tox-rtc-user-cursor::before {
background-color: inherit;
border-radius: 50%;
content: '';
display: block;
height: 8px;
position: absolute;
right: -3px;
top: -3px;
width: 8px;
}
.tox-rtc-user-cursor:hover::after {
background-color: inherit;
border-radius: 100px;
box-sizing: border-box;
color: #fff;
content: attr(data-user);
display: block;
font-size: 12px;
font-weight: bold;
left: -5px;
min-height: 8px;
min-width: 8px;
padding: 0 12px;
position: absolute;
top: -11px;
white-space: nowrap;
z-index: 1000;
}
.tox-rtc-user-selection--1 .tox-rtc-user-cursor {
background-color: #2dc26b;
}
.tox-rtc-user-selection--2 .tox-rtc-user-cursor {
background-color: #e03e2d;
}
.tox-rtc-user-selection--3 .tox-rtc-user-cursor {
background-color: #f1c40f;
}
.tox-rtc-user-selection--4 .tox-rtc-user-cursor {
background-color: #3598db;
}
.tox-rtc-user-selection--5 .tox-rtc-user-cursor {
background-color: #b96ad9;
}
.tox-rtc-user-selection--6 .tox-rtc-user-cursor {
background-color: #e67e23;
}
.tox-rtc-user-selection--7 .tox-rtc-user-cursor {
background-color: #aaa69d;
}
.tox-rtc-user-selection--8 .tox-rtc-user-cursor {
background-color: #f368e0;
}
.tox-rtc-remote-image {
background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;
border: 1px solid #ccc;
min-height: 240px;
min-width: 320px;
}
.mce-match-marker {
background: #aaa;
color: #fff;
}
.mce-match-marker-selected {
background: #39f;
color: #fff;
}
.mce-match-marker-selected::-moz-selection {
background: #39f;
color: #fff;
}
.mce-match-marker-selected::selection {
background: #39f;
color: #fff;
}
.mce-content-body img[data-mce-selected],
.mce-content-body video[data-mce-selected],
.mce-content-body audio[data-mce-selected],
.mce-content-body object[data-mce-selected],
.mce-content-body embed[data-mce-selected],
.mce-content-body table[data-mce-selected] {
outline: 3px solid #b4d7ff;
}
.mce-content-body hr[data-mce-selected] {
outline: 3px solid #b4d7ff;
outline-offset: 1px;
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
outline: 3px solid #b4d7ff;
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
outline: 3px solid #b4d7ff;
}
.mce-content-body *[contentEditable=false][data-mce-selected] {
cursor: not-allowed;
outline: 3px solid #b4d7ff;
}
.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,
.mce-content-body.mce-content-readonly *[contentEditable=true]:hover {
outline: none;
}
.mce-content-body *[data-mce-selected="inline-boundary"] {
background-color: #b4d7ff;
}
.mce-content-body .mce-edit-focus {
outline: 3px solid #b4d7ff;
}
.mce-content-body td[data-mce-selected],
.mce-content-body th[data-mce-selected] {
position: relative;
}
.mce-content-body td[data-mce-selected]::-moz-selection,
.mce-content-body th[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body td[data-mce-selected]::selection,
.mce-content-body th[data-mce-selected]::selection {
background: none;
}
.mce-content-body td[data-mce-selected] *,
.mce-content-body th[data-mce-selected] * {
outline: none;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.mce-content-body td[data-mce-selected]::after,
.mce-content-body th[data-mce-selected]::after {
background-color: rgba(180, 215, 255, 0.7);
border: 1px solid rgba(180, 215, 255, 0.7);
bottom: -1px;
content: '';
left: -1px;
mix-blend-mode: multiply;
position: absolute;
right: -1px;
top: -1px;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.mce-content-body td[data-mce-selected]::after,
.mce-content-body th[data-mce-selected]::after {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
background: none;
}
.mce-content-body img::selection {
background: none;
}
.ephox-snooker-resizer-bar {
background-color: #b4d7ff;
opacity: 0;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.ephox-snooker-resizer-cols {
cursor: col-resize;
}
.ephox-snooker-resizer-rows {
cursor: row-resize;
}
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
opacity: 1;
}
.mce-spellchecker-word {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
background-position: 0 calc(100% + 1px);
background-repeat: repeat-x;
background-size: auto 6px;
cursor: default;
height: 2rem;
}
.mce-spellchecker-grammar {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
background-position: 0 calc(100% + 1px);
background-repeat: repeat-x;
background-size: auto 6px;
cursor: default;
}
.mce-toc {
border: 1px solid gray;
}
.mce-toc h2 {
margin: 4px;
}
.mce-toc li {
list-style-type: none;
}
table[style*="border-width: 0px"],
.mce-item-table:not([border]),
.mce-item-table[border="0"],
table[style*="border-width: 0px"] td,
.mce-item-table:not([border]) td,
.mce-item-table[border="0"] td,
table[style*="border-width: 0px"] th,
.mce-item-table:not([border]) th,
.mce-item-table[border="0"] th,
table[style*="border-width: 0px"] caption,
.mce-item-table:not([border]) caption,
.mce-item-table[border="0"] caption {
border: 1px dashed #bbb;
}
.mce-visualblocks p,
.mce-visualblocks h1,
.mce-visualblocks h2,
.mce-visualblocks h3,
.mce-visualblocks h4,
.mce-visualblocks h5,
.mce-visualblocks h6,
.mce-visualblocks div:not([data-mce-bogus]),
.mce-visualblocks section,
.mce-visualblocks article,
.mce-visualblocks blockquote,
.mce-visualblocks address,
.mce-visualblocks pre,
.mce-visualblocks figure,
.mce-visualblocks figcaption,
.mce-visualblocks hgroup,
.mce-visualblocks aside,
.mce-visualblocks ul,
.mce-visualblocks ol,
.mce-visualblocks dl {
background-repeat: no-repeat;
border: 1px dashed #bbb;
margin-left: 3px;
padding-top: 10px;
}
.mce-visualblocks p {
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
}
.mce-visualblocks h1 {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
}
.mce-visualblocks h2 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
}
.mce-visualblocks h3 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
}
.mce-visualblocks h4 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
}
.mce-visualblocks h5 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
}
.mce-visualblocks h6 {
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
}
.mce-visualblocks div:not([data-mce-bogus]) {
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
}
.mce-visualblocks section {
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
}
.mce-visualblocks article {
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
}
.mce-visualblocks blockquote {
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
}
.mce-visualblocks address {
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
}
.mce-visualblocks pre {
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
}
.mce-visualblocks figure {
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
}
.mce-visualblocks figcaption {
border: 1px dashed #bbb;
}
.mce-visualblocks hgroup {
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
}
.mce-visualblocks aside {
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
}
.mce-visualblocks ul {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
}
.mce-visualblocks ol {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
}
.mce-visualblocks dl {
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
}
.mce-visualblocks:not([dir=rtl]) p,
.mce-visualblocks:not([dir=rtl]) h1,
.mce-visualblocks:not([dir=rtl]) h2,
.mce-visualblocks:not([dir=rtl]) h3,
.mce-visualblocks:not([dir=rtl]) h4,
.mce-visualblocks:not([dir=rtl]) h5,
.mce-visualblocks:not([dir=rtl]) h6,
.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),
.mce-visualblocks:not([dir=rtl]) section,
.mce-visualblocks:not([dir=rtl]) article,
.mce-visualblocks:not([dir=rtl]) blockquote,
.mce-visualblocks:not([dir=rtl]) address,
.mce-visualblocks:not([dir=rtl]) pre,
.mce-visualblocks:not([dir=rtl]) figure,
.mce-visualblocks:not([dir=rtl]) figcaption,
.mce-visualblocks:not([dir=rtl]) hgroup,
.mce-visualblocks:not([dir=rtl]) aside,
.mce-visualblocks:not([dir=rtl]) ul,
.mce-visualblocks:not([dir=rtl]) ol,
.mce-visualblocks:not([dir=rtl]) dl {
margin-left: 3px;
}
.mce-visualblocks[dir=rtl] p,
.mce-visualblocks[dir=rtl] h1,
.mce-visualblocks[dir=rtl] h2,
.mce-visualblocks[dir=rtl] h3,
.mce-visualblocks[dir=rtl] h4,
.mce-visualblocks[dir=rtl] h5,
.mce-visualblocks[dir=rtl] h6,
.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),
.mce-visualblocks[dir=rtl] section,
.mce-visualblocks[dir=rtl] article,
.mce-visualblocks[dir=rtl] blockquote,
.mce-visualblocks[dir=rtl] address,
.mce-visualblocks[dir=rtl] pre,
.mce-visualblocks[dir=rtl] figure,
.mce-visualblocks[dir=rtl] figcaption,
.mce-visualblocks[dir=rtl] hgroup,
.mce-visualblocks[dir=rtl] aside,
.mce-visualblocks[dir=rtl] ul,
.mce-visualblocks[dir=rtl] ol,
.mce-visualblocks[dir=rtl] dl {
background-position-x: right;
margin-right: 3px;
}
.mce-nbsp,
.mce-shy {
background: #aaa;
}
.mce-shy::after {
content: '-';
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,29 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection {
/* Note: this file is used inside the content, so isn't part of theming */
background-color: green;
display: inline-block;
opacity: 0.5;
position: absolute;
}
body {
-webkit-text-size-adjust: none;
}
body img {
/* this is related to the content margin */
max-width: 96vw;
}
body table img {
max-width: 95%;
}
body {
font-family: sans-serif;
}
table {
border-collapse: collapse;
}

View File

@ -1,7 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,673 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
/* RESET all the things! */
.tinymce-mobile-outer-container {
all: initial;
display: block;
}
.tinymce-mobile-outer-container * {
border: 0;
box-sizing: initial;
cursor: inherit;
float: none;
line-height: 1;
margin: 0;
outline: 0;
padding: 0;
-webkit-tap-highlight-color: transparent;
/* TBIO-3691, stop the gray flicker on touch. */
text-shadow: none;
white-space: nowrap;
}
.tinymce-mobile-icon-arrow-back::before {
content: "\e5cd";
}
.tinymce-mobile-icon-image::before {
content: "\e412";
}
.tinymce-mobile-icon-cancel-circle::before {
content: "\e5c9";
}
.tinymce-mobile-icon-full-dot::before {
content: "\e061";
}
.tinymce-mobile-icon-align-center::before {
content: "\e234";
}
.tinymce-mobile-icon-align-left::before {
content: "\e236";
}
.tinymce-mobile-icon-align-right::before {
content: "\e237";
}
.tinymce-mobile-icon-bold::before {
content: "\e238";
}
.tinymce-mobile-icon-italic::before {
content: "\e23f";
}
.tinymce-mobile-icon-unordered-list::before {
content: "\e241";
}
.tinymce-mobile-icon-ordered-list::before {
content: "\e242";
}
.tinymce-mobile-icon-font-size::before {
content: "\e245";
}
.tinymce-mobile-icon-underline::before {
content: "\e249";
}
.tinymce-mobile-icon-link::before {
content: "\e157";
}
.tinymce-mobile-icon-unlink::before {
content: "\eca2";
}
.tinymce-mobile-icon-color::before {
content: "\e891";
}
.tinymce-mobile-icon-previous::before {
content: "\e314";
}
.tinymce-mobile-icon-next::before {
content: "\e315";
}
.tinymce-mobile-icon-large-font::before,
.tinymce-mobile-icon-style-formats::before {
content: "\e264";
}
.tinymce-mobile-icon-undo::before {
content: "\e166";
}
.tinymce-mobile-icon-redo::before {
content: "\e15a";
}
.tinymce-mobile-icon-removeformat::before {
content: "\e239";
}
.tinymce-mobile-icon-small-font::before {
content: "\e906";
}
.tinymce-mobile-icon-readonly-back::before,
.tinymce-mobile-format-matches::after {
content: "\e5ca";
}
.tinymce-mobile-icon-small-heading::before {
content: "small";
}
.tinymce-mobile-icon-large-heading::before {
content: "large";
}
.tinymce-mobile-icon-small-heading::before,
.tinymce-mobile-icon-large-heading::before {
font-family: sans-serif;
font-size: 80%;
}
.tinymce-mobile-mask-edit-icon::before {
content: "\e254";
}
.tinymce-mobile-icon-back::before {
content: "\e5c4";
}
.tinymce-mobile-icon-heading::before {
/* TODO: Translate */
content: "Headings";
font-family: sans-serif;
font-size: 80%;
font-weight: bold;
}
.tinymce-mobile-icon-h1::before {
content: "H1";
font-weight: bold;
}
.tinymce-mobile-icon-h2::before {
content: "H2";
font-weight: bold;
}
.tinymce-mobile-icon-h3::before {
content: "H3";
font-weight: bold;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask {
align-items: center;
display: flex;
justify-content: center;
background: rgba(51, 51, 51, 0.5);
height: 100%;
position: absolute;
top: 0;
width: 100%;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container {
align-items: center;
border-radius: 50%;
display: flex;
flex-direction: column;
font-family: sans-serif;
font-size: 1em;
justify-content: space-between;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item {
align-items: center;
display: flex;
justify-content: center;
border-radius: 50%;
height: 2.1em;
width: 2.1em;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
align-items: center;
display: flex;
justify-content: center;
flex-direction: column;
font-size: 1em;
}
@media only screen and (min-device-width:700px) {
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
font-size: 1.2em;
}
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon {
align-items: center;
display: flex;
justify-content: center;
border-radius: 50%;
height: 2.1em;
width: 2.1em;
background-color: white;
color: #207ab7;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before {
content: "\e900";
font-family: 'tinymce-mobile', sans-serif;
}
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon {
z-index: 2;
}
.tinymce-mobile-android-container.tinymce-mobile-android-maximized {
background: #ffffff;
border: none;
bottom: 0;
display: flex;
flex-direction: column;
left: 0;
position: fixed;
right: 0;
top: 0;
}
.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) {
position: relative;
}
.tinymce-mobile-android-container .tinymce-mobile-editor-socket {
display: flex;
flex-grow: 1;
}
.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe {
display: flex !important;
flex-grow: 1;
height: auto !important;
}
.tinymce-mobile-android-scroll-reload {
overflow: hidden;
}
:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar {
margin-top: 23px;
}
.tinymce-mobile-toolstrip {
background: #fff;
display: flex;
flex: 0 0 auto;
z-index: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar {
align-items: center;
background-color: #fff;
border-bottom: 1px solid #cccccc;
display: flex;
flex: 1;
height: 2.5em;
width: 100%;
/* Make it no larger than the toolstrip, so that it needs to scroll */
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group {
align-items: center;
display: flex;
height: 100%;
flex-shrink: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div {
align-items: center;
display: flex;
height: 100%;
flex: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container {
background: #f44336;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group {
flex-grow: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
padding-left: 0.5em;
padding-right: 0.5em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button {
align-items: center;
display: flex;
height: 80%;
margin-left: 2px;
margin-right: 2px;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected {
background: #c8cbcf;
color: #cccccc;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type {
background: #207ab7;
color: #eceff1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar {
/* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group {
align-items: center;
display: flex;
height: 100%;
flex: 1;
padding-bottom: 0.4em;
padding-top: 0.4em;
/* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */
/* For widgets like the colour picker, use the whole height */
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog {
display: flex;
min-height: 1.5em;
overflow: hidden;
padding-left: 0;
padding-right: 0;
position: relative;
width: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain {
display: flex;
height: 100%;
transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s;
width: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen {
display: flex;
flex: 0 0 auto;
justify-content: space-between;
width: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input {
font-family: Sans-serif;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container {
display: flex;
flex-grow: 1;
position: relative;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x {
-ms-grid-row-align: center;
align-self: center;
background: inherit;
border: none;
border-radius: 50%;
color: #888;
font-size: 0.6em;
font-weight: bold;
height: 100%;
padding-right: 2px;
position: absolute;
right: 0;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x {
display: none;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next {
align-items: center;
display: flex;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before {
align-items: center;
display: flex;
font-weight: bold;
height: 100%;
padding-left: 0.5em;
padding-right: 0.5em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before {
visibility: hidden;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item {
color: #cccccc;
font-size: 10px;
line-height: 10px;
margin: 0 2px;
padding-top: 3px;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active {
color: #c8cbcf;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before {
margin-left: 0.5em;
margin-right: 0.9em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before {
margin-left: 0.9em;
margin-right: 0.5em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider {
display: flex;
flex: 1;
margin-left: 0;
margin-right: 0;
padding: 0.28em 0;
position: relative;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container {
align-items: center;
display: flex;
flex-grow: 1;
height: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line {
background: #cccccc;
display: flex;
flex: 1;
height: 0.2em;
margin-bottom: 0.3em;
margin-top: 0.3em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container {
padding-left: 2em;
padding-right: 2em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container {
align-items: center;
display: flex;
flex-grow: 1;
height: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient {
background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%);
display: flex;
flex: 1;
height: 0.2em;
margin-bottom: 0.3em;
margin-top: 0.3em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black {
/* Not part of theming */
background: black;
height: 0.2em;
margin-bottom: 0.3em;
margin-top: 0.3em;
width: 1.2em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white {
/* Not part of theming */
background: white;
height: 0.2em;
margin-bottom: 0.3em;
margin-top: 0.3em;
width: 1.2em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb {
/* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave
* out these values, then it shows the thumb at the top of the spectrum. This is probably because it is
* absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without
* this approach.
*/
align-items: center;
background-clip: padding-box;
background-color: #455a64;
border: 0.5em solid rgba(136, 136, 136, 0);
border-radius: 3em;
bottom: 0;
color: #fff;
display: flex;
height: 0.5em;
justify-content: center;
left: -10px;
margin: auto;
position: absolute;
top: 0;
transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1);
width: 0.5em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active {
border: 0.5em solid rgba(136, 136, 136, 0.39);
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div {
align-items: center;
display: flex;
height: 100%;
flex: 1;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper {
flex-direction: column;
justify-content: center;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
align-items: center;
display: flex;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) {
height: 100%;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container {
display: flex;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input {
background: #ffffff;
border: none;
border-radius: 0;
color: #455a64;
flex-grow: 1;
font-size: 0.85em;
padding-bottom: 0.1em;
padding-left: 5px;
padding-top: 0.1em;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder {
/* WebKit, Blink, Edge */
color: #888;
}
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder {
/* WebKit, Blink, Edge */
color: #888;
}
/* dropup */
.tinymce-mobile-dropup {
background: white;
display: flex;
overflow: hidden;
width: 100%;
}
.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking {
transition: height 0.3s ease-out;
}
.tinymce-mobile-dropup.tinymce-mobile-dropup-growing {
transition: height 0.3s ease-in;
}
.tinymce-mobile-dropup.tinymce-mobile-dropup-closed {
flex-grow: 0;
}
.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) {
flex-grow: 1;
}
/* TODO min-height for device size and orientation */
.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
min-height: 200px;
}
@media only screen and (orientation: landscape) {
.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
min-height: 200px;
}
}
@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
min-height: 150px;
}
}
/* styles menu */
.tinymce-mobile-styles-menu {
font-family: sans-serif;
outline: 4px solid black;
overflow: hidden;
position: relative;
width: 100%;
}
.tinymce-mobile-styles-menu [role="menu"] {
display: flex;
flex-direction: column;
height: 100%;
position: absolute;
width: 100%;
}
.tinymce-mobile-styles-menu [role="menu"].transitioning {
transition: transform 0.5s ease-in-out;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item {
border-bottom: 1px solid #ddd;
color: #455a64;
cursor: pointer;
display: flex;
padding: 1em 1em;
position: relative;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before {
color: #455a64;
content: "\e314";
font-family: 'tinymce-mobile', sans-serif;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after {
color: #455a64;
content: "\e315";
font-family: 'tinymce-mobile', sans-serif;
padding-left: 1em;
padding-right: 1em;
position: absolute;
right: 0;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after {
font-family: 'tinymce-mobile', sans-serif;
padding-left: 1em;
padding-right: 1em;
position: absolute;
right: 0;
}
.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator,
.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser {
align-items: center;
background: #fff;
border-top: #455a64;
color: #455a64;
display: flex;
min-height: 2.5em;
padding-left: 1em;
padding-right: 1em;
}
.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state],
.tinymce-mobile-styles-menu [data-transitioning-state="before"] {
transform: translate(-100%);
}
.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state],
.tinymce-mobile-styles-menu [data-transitioning-state="current"] {
transform: translate(0%);
}
.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state],
.tinymce-mobile-styles-menu [data-transitioning-state="after"] {
transform: translate(100%);
}
@font-face {
font-family: 'tinymce-mobile';
font-style: normal;
font-weight: normal;
src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff');
}
@media (min-device-width: 700px) {
.tinymce-mobile-outer-container,
.tinymce-mobile-outer-container input {
font-size: 25px;
}
}
@media (max-device-width: 700px) {
.tinymce-mobile-outer-container,
.tinymce-mobile-outer-container input {
font-size: 18px;
}
}
.tinymce-mobile-icon {
font-family: 'tinymce-mobile', sans-serif;
}
.mixin-flex-and-centre {
align-items: center;
display: flex;
justify-content: center;
}
.mixin-flex-bar {
align-items: center;
display: flex;
height: 100%;
}
.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe {
background-color: #fff;
width: 100%;
}
.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
/* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */
background-color: #207ab7;
border-radius: 50%;
bottom: 1em;
color: white;
font-size: 1em;
height: 2.1em;
position: fixed;
right: 2em;
width: 2.1em;
align-items: center;
display: flex;
justify-content: center;
}
@media only screen and (min-device-width:700px) {
.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
font-size: 1.2em;
}
}
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket {
height: 300px;
overflow: hidden;
}
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe {
height: 100%;
}
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip {
display: none;
}
/*
Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets
increased and the whole body becomes scrollable. It's important!
*/
input[type="file"]::-webkit-file-upload-button {
display: none;
}
@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
bottom: 50%;
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,37 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox-fullscreen {
border: 0;
height: 100%;
left: 0;
margin: 0;
overflow: hidden;
-ms-scroll-chaining: none;
overscroll-behavior: none;
padding: 0;
position: fixed;
top: 0;
touch-action: pinch-zoom;
width: 100%;
}
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
display: none;
}
.tox.tox-tinymce.tox-fullscreen {
background-color: transparent;
z-index: 1200;
}
.tox-shadowhost.tox-fullscreen {
z-index: 1200;
}
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux {
z-index: 1201;
}

View File

@ -1,7 +0,0 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}

View File

@ -1,29 +1,40 @@
<template>
<a-config-provider :locale="locale">
<router-view></router-view>
<a-config-provider
:locale="locale"
:theme="{
algorithm: store.theme === 'realDark' ? theme.darkAlgorithm : theme.defaultAlgorithm,
token: {
colorPrimary: `${store.themeColor}`,
borderRadius: roundedCornerStyleOpen ? 6 : 2
}
}"
>
<a-watermark
:content="loginUserWatermarkOpen && userInfo ? [userInfo.name, userInfo.account] : undefined"
class="admin-ui-main"
>
<router-view />
</a-watermark>
</a-config-provider>
</template>
<script setup name="App">
import i18n from '@/locales'
import store from '@/store'
import config from '@/config'
import configApi from '@/api/dev/configApi'
import { message } from 'ant-design-vue'
import tool from '@/utils/tool'
store.commit('initTheme')
const locale = i18n.global.messages[i18n.global.locale].lang
let formData = ref(config.SYS_BASE_CONFIG)
configApi.configSysBaseList().then((data) => {
if (data) {
data.forEach((item) => {
formData.value[item.configKey] = item.configValue
})
tool.data.set('SNOWY_SYS_BASE_CONFIG', formData.value)
store.commit('SET_sysBaseConfig', formData.value)
}
import { globalStore } from '@/store'
import { theme } from 'ant-design-vue'
const store = globalStore()
store.initTheme()
const locale = i18n.global.messages.value[i18n.global.locale.value].lang
//
const userInfo = computed(() => {
return store.userInfo
})
//
const loginUserWatermarkOpen = computed(() => {
return store.loginUserWatermarkOpen
})
//
const roundedCornerStyleOpen = computed(() => {
return store.roundedCornerStyleOpen
})
</script>

View File

@ -0,0 +1,58 @@
/**
* Copyright [2022] [https://www.xiaonuo.vip]
* Snowy采用APACHE LICENSE 2.0开源协议您在使用过程中需要注意以下几点
* 1.请不要删除和修改根目录下的LICENSE文件
* 2.请不要删除和修改Snowy源码头部的版权声明
* 3.本项目代码可免费商业使用商业使用请保留源码和相关描述文件的项目出处作者声明等
* 4.分发源码时候请注明软件出处 https://www.xiaonuo.vip
* 5.不可二次分发开源参与同类竞品如有想法可联系团队xiaonuobase@qq.com商议合作
* 6.若您的项目无法满足以上几点需要更多功能代码获取Snowy商业授权许可请在官网购买授权地址为 https://www.xiaonuo.vip
*/
import { baseRequest } from '@/utils/request'
import tool from '@/utils/tool'
const request = (url, ...arg) => baseRequest(`/auth/c/` + url, ...arg)
/**
* 登录
*
* @author yubaoshan
* @date 2025-05-31 23:55:10
*/
export default {
// C端获取图片验证码
clientGetPicCaptcha(data) {
return request('getPicCaptcha', data, 'get')
},
// C端获取手机验证码
clientGetPhoneValidCode(data) {
return request('getPhoneValidCode', data, 'get')
},
// C端获取邮箱验证码
clientGetEmailValidCode(data) {
return request('getEmailValidCode', data, 'get')
},
// C端账号密码登录
clientLogin(data) {
return request('doLogin', data, 'post', false)
},
// C端手机验证码登录
clientLoginByPhone(data) {
return request('doLoginByPhone', data, 'post', false)
},
// C端邮箱验证码登录
clientLoginByEmail(data) {
return request('doLoginByEmail', data, 'post', false)
},
// 退出
clientLogout(data) {
return request('doLogout', data, 'get')
},
// 获取用户信息
clientGetLoginUser(data) {
return request('getLoginUser', data, 'get')
},
// C端注册
clientRegister(data) {
return request('register', data, 'post')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/auth/b/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/auth/b/` + url, ...arg)
/**
* 登录
*
@ -26,6 +26,10 @@ export default {
getPhoneValidCode(data) {
return request('getPhoneValidCode', data, 'get')
},
// B端获取邮箱验证码
getEmailValidCode(data) {
return request('getEmailValidCode', data, 'get')
},
// B端账号密码登录
login(data) {
return request('doLogin', data, 'post', false)
@ -34,6 +38,10 @@ export default {
loginByPhone(data) {
return request('doLoginByPhone', data, 'post', false)
},
// B端邮箱验证码登录
loginByEmail(data) {
return request('doLoginByEmail', data, 'post', false)
},
// 退出
logout(data) {
return request('doLogout', data, 'get')
@ -41,5 +49,17 @@ export default {
// 获取用户信息
getLoginUser(data) {
return request('getLoginUser', data, 'get')
},
// 注册用户
register(data) {
return request('register', data)
},
// B端动态口令登录
loginByOtp(data) {
return request('doLoginByOtp', data, 'post', false)
},
// B端判断是否登录
isLogin(data) {
return request('isLogin', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/auth/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/auth/` + url, ...arg)
/**
* 绘画
*

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/auth/third/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/auth/sso/b/` + url, ...arg)
/**
* 三方登录
*
@ -18,12 +18,13 @@ const request = (url, ...arg) => baseRequest(`/auth/third/${url}`, ...arg)
* @date 2022-09-22 22:33:20
*/
export default {
// 第三方登录页面渲染
thirdRender(data) {
return request('render', data, 'get')
// B端获取认证中心地址
getSsoAuthUrl(data) {
return request('getSsoAuthUrl', data, 'get')
},
// 第三方登录授权回调
thirdCallback(data) {
return request('callback', data, 'get')
// B端根据ticket执行单点登录
doLoginByTicket(data) {
return request('doLoginByTicket', data)
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/auth/third/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/auth/third/` + url, ...arg)
/**
* 三方用户
*
@ -29,5 +29,9 @@ export default {
// 第三方登录授权回调
thirdCallback(data) {
return request('callback', data, 'get')
},
// 第三方登录绑定账号
thirdBindAccount(data) {
return request('bindAccount', data)
}
}

View File

@ -10,20 +10,28 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/biz/dict/` + url, ...arg)
/**
* 机构选择器
* 字典
*
* @author yubaoshan
* @date 2022-09-22 22:33:20
*/
export default {
// 获取机构分页
orgSelector(url, data = {}) {
return request(url, data, 'get')
// 获取业务字典分页
dictPage(data) {
return request('page', data, 'get')
},
// 获取机构树
treeSelector(url, data = {}) {
return request(url, data, 'get')
// 获取业务字典树
dictTree(data) {
return request('tree', data, 'get')
},
// 获取所有字典树
dictTreeAll(data) {
return request('treeAll', data, 'get')
},
// 编辑业务字典
submitForm(data) {
return request('edit', data)
}
}

View File

@ -0,0 +1,44 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/biz/group/` + url, ...arg)
/**
* 用户组Api接口管理器
*
* @author yubaoshan
* @date 2024/12/24 03:33
**/
export default {
// 获取用户组分页
groupPage(data) {
return request('page', data, 'get')
},
// 提交用户组表单 edit为true时为编辑默认为新增
groupSubmitForm(data, edit = false) {
return request(edit ? 'edit' : 'add', data)
},
// 删除用户组
groupDelete(data) {
return request('delete', data)
},
// 获取用户组详情
groupDetail(data) {
return request('detail', data, 'get')
},
// 获取用户组下的用户
groupOwnUser(data) {
return request('ownUser', data, 'get')
},
// 获取机构树
groupOrgTreeSelector(data) {
return request('orgTreeSelector', data, 'get')
},
// 获取用户选择器
groupUserSelector(data) {
return request('userSelector', data, 'get')
},
// 给用户组授权用户
groupGrantUser(data) {
return request('grantUser', data)
}
}

View File

@ -0,0 +1,28 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/biz/index/` + url, ...arg)
/**
* 业务主页Api接口管理器
*
* @author yubaoshan
* @date 2024/07/11 14:46
**/
export default {
// 获取轮播图列表
bizIndexSlideshowList(data) {
return request('slideshow/list', data, 'get')
},
// 获取通知公告分页
bizIndexNoticePage(data) {
return request('notice/page', data, 'get')
},
// 获取通知公告列表
bizIndexNoticeList(data) {
return request('notice/list', data, 'get')
},
// 获取通知公告详情
bizIndexNoticeDetail(data) {
return request('notice/detail', data, 'get')
}
}

View File

@ -0,0 +1,36 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/biz/notice/` + url, ...arg)
/**
* 通知公告Api接口管理器
*
* @author yubaoshan
* @date 2024/07/11 14:46
**/
export default {
// 获取通知公告分页
noticePage(data) {
return request('page', data, 'get')
},
// 提交通知公告表单 edit为true时为编辑默认为新增
noticeSubmitForm(data, edit = false) {
return request(edit ? 'edit' : 'add', data)
},
// 删除通知公告
noticeDelete(data) {
return request('delete', data)
},
// 获取通知公告详情
noticeDetail(data) {
return request('detail', data, 'get')
},
// 禁用通知公告
noticeDisableStatus(data) {
return request('disableStatus', data)
},
// 启用通知公告
noticeEnableStatus(data) {
return request('enableStatus', data)
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/biz/org/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/biz/org/` + url, ...arg)
/**
* 机构
*
@ -32,7 +32,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除机构
orgDelete(data) {
@ -41,5 +41,13 @@ export default {
// 获取机构详情
orgDetail(data) {
return request('detail', data, 'get')
},
// 获取机构树选择器
orgTreeSelector(data) {
return request('orgTreeSelector', data, 'get')
},
// 获取人员选择器
orgUserSelector(data) {
return request('userSelector', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/biz/position/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/biz/position/` + url, ...arg)
/**
* 岗位
*
@ -28,7 +28,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除岗位
positionDelete(data) {
@ -37,5 +37,13 @@ export default {
// 获取岗位详情
positionDetail(data) {
return request('detail', data, 'get')
},
// 获取机构树选择器
positionOrgTreeSelector(data) {
return request('orgTreeSelector', data, 'get')
},
// 获取岗位选择器
positionPositionSelector(data) {
return request('positionSelector', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/biz/user/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/biz/user/` + url, ...arg)
/**
* 人员接口api
*
@ -24,7 +24,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除人员
userDelete(data) {
@ -69,5 +69,17 @@ export default {
// 给人员授权角色
grantRole(data) {
return request('grantRole', data)
},
// 人员导出
userExport(data) {
return request('export', data, 'get', {
responseType: 'blob'
})
},
// 导出人员个人信息
userExportUserInfo(data) {
return request('exportUserInfo', data, 'get', {
responseType: 'blob'
})
}
}

View File

@ -0,0 +1,37 @@
/**
* Copyright [2022] [https://www.xiaonuo.vip]
* Snowy采用APACHE LICENSE 2.0开源协议您在使用过程中需要注意以下几点
* 1.请不要删除和修改根目录下的LICENSE文件
* 2.请不要删除和修改Snowy源码头部的版权声明
* 3.本项目代码可免费商业使用商业使用请保留源码和相关描述文件的项目出处作者声明等
* 4.分发源码时候请注明软件出处 https://www.xiaonuo.vip
* 5.不可二次分发开源参与同类竞品如有想法可联系团队xiaonuobase@qq.com商议合作
* 6.若您的项目无法满足以上几点需要更多功能代码获取Snowy商业授权许可请在官网购买授权地址为 https://www.xiaonuo.vip
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/client/user/` + url, ...arg)
/**
* 前台用户接口api
*
* @author yubaoshan
* @date 2025-06-01 22:26:20
*/
export default {
// 获取用户分页
userPage(data) {
return request('page', data, 'get')
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'edit' : 'add', data)
},
// 删除用户
userDelete(data) {
return request('delete', data)
},
// 获取用户详情
userDetail(data) {
return request('detail', data, 'get')
}
}

View File

@ -0,0 +1,113 @@
/**
* Copyright [2022] [https://www.xiaonuo.vip]
* Snowy采用APACHE LICENSE 2.0开源协议您在使用过程中需要注意以下几点
* 1.请不要删除和修改根目录下的LICENSE文件
* 2.请不要删除和修改Snowy源码头部的版权声明
* 3.本项目代码可免费商业使用商业使用请保留源码和相关描述文件的项目出处作者声明等
* 4.分发源码时候请注明软件出处 https://www.xiaonuo.vip
* 5.不可二次分发开源参与同类竞品如有想法可联系团队xiaonuobase@qq.com商议合作
* 6.若您的项目无法满足以上几点需要更多功能代码获取Snowy商业授权许可请在官网购买授权地址为 https://www.xiaonuo.vip
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/client/userCenter/` + url, ...arg)
/**
* C端用户个人控制器
*
* @author xuyuxiang
* @date 2022-04-22 09:34:00
*/
export default {
// 获取图片验证码
clientUserGetPicCaptcha(data) {
return request('getPicCaptcha', data, 'get')
},
// 找回密码获取手机验证码
clientUserFindPasswordGetPhoneValidCode(data) {
return request('findPasswordGetPhoneValidCode', data, 'get')
},
// 找回密码获取邮箱验证码
clientUserFindPasswordGetEmailValidCode(data) {
return request('findPasswordGetEmailValidCode', data, 'get')
},
// 通过手机号找回用户密码
clientUserFindPasswordByPhone(data) {
return request('findPasswordByPhone', data)
},
// 通过邮箱找回用户密码
clientUserFindPasswordByEmail(data) {
return request('findPasswordByEmail', data)
},
// 修改密码获取手机验证码
clientUserUpdatePasswordGetPhoneValidCode(data) {
return request('updatePasswordGetPhoneValidCode', data, 'get')
},
// 修改密码获取邮箱验证码
clientUserUpdatePasswordGetEmailValidCode(data) {
return request('updatePasswordGetEmailValidCode', data, 'get')
},
// 通过验证旧密码修改用户密码
clientUserUpdatePasswordByOld(data) {
return request('updatePasswordByOld', data)
},
// 通过验证手机号修改用户密码
clientUserUpdatePasswordByPhone(data) {
return request('updatePasswordByPhone', data)
},
// 通过验证邮箱修改用户密码
clientUserUpdatePasswordByEmail(data) {
return request('updatePasswordByEmail', data)
},
// 绑定手机号获取手机验证码
clientUserBindPhoneGetPhoneValidCode(data) {
return request('bindPhoneGetPhoneValidCode', data, 'get')
},
// 修改绑定手机号获取手机验证码
clientUserUpdateBindPhoneGetPhoneValidCode(data) {
return request('updateBindPhoneGetPhoneValidCode', data, 'get')
},
// 绑定手机号
clientUserBindPhone(data) {
return request('bindPhone', data)
},
// 绑定邮箱获取邮箱验证码
clientUserBindEmailGetEmailValidCode(data) {
return request('bindEmailGetEmailValidCode', data, 'get')
},
// 修改绑定邮箱获取邮箱验证码
clientUserUpdateBindEmailGetEmailValidCode(data) {
return request('updateBindEmailGetEmailValidCode', data, 'get')
},
// 绑定邮箱
clientUserBindEmail(data) {
return request('bindEmail', data)
},
// 修改用户头像
clientUserUpdateAvatar(data) {
return request('updateAvatar', data)
},
// 修改用户签名图片
clientUserUpdateSignature(data) {
return request('updateSignature', data)
},
// 编辑个人信息
clientUserUpdateUserInfo(data) {
return request('updateUserInfo', data)
},
// 根据id获取头像
clientUserGetAvatarById(data) {
return request('getAvatarById', data, 'get')
},
// 判断当前用户是否需要绑定手机号
clientUserIsUserNeedBindPhone(data) {
return request('isUserNeedBindPhone', data, 'get')
},
// 判断当前用户是否需要绑定邮箱
clientUserIsUserNeedBindEmail(data) {
return request('isUserNeedBindEmail', data, 'get')
},
// 判断当前用户密码是否过期
clientUserIsUserPasswordExpired(data) {
return request('isUserPasswordExpired', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/config/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/config/` + url, ...arg)
/**
* 配置
*
@ -28,7 +28,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除配置
configDelete(data) {
@ -45,5 +45,21 @@ export default {
// 获取系统基础配置
configSysBaseList(data) {
return request('sysBaseList', data, 'get')
},
// 获取机构树
configOrgTree(data) {
return request('orgTree', data, 'get')
},
// 获取机构选择器
configOrgSelector(data) {
return request('orgSelector', data, 'get')
},
// 获取角色选择器
configRoleSelector(data) {
return request('roleSelector', data, 'get')
},
// 获取职位选择器
configPositionSelector(data) {
return request('positionSelector', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/dict/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/dict/` + url, ...arg)
/**
* 字典
*
@ -32,7 +32,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除字典
dictDelete(data) {

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/email/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/email/` + url, ...arg)
/**
* 邮件
*

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/file/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/file/` + url, ...arg)
/**
* 文件
*
@ -76,8 +76,16 @@ export default {
fileDetail(data) {
return request('detail', data, 'get')
},
// 根据文件url集合获取文件集合
fileGetFileListByUrlList(data) {
return request('getFileListByUrlList', data)
},
// 删除文件
fileDelete(data) {
return request('delete', data)
},
// 物理删除文件
fileDeleteAbsolute(data) {
return request('deleteAbsolute', data)
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/job/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/job/` + url, ...arg)
/**
* 定时任务
*
@ -22,13 +22,9 @@ export default {
jobPage(data) {
return request('page', data, 'get')
},
// 获取定时任务列表
jobList(data) {
return request('list', data, 'get')
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除定时任务
jobDelete(data) {
@ -46,6 +42,10 @@ export default {
jobRunJob(data) {
return request('runJob', data)
},
// 运行定时任务
jobRunJobNow(data) {
return request('runJobNow', data)
},
// 获取定时任务类
jobGetActionClass(data) {
return request('getActionClass', data, 'get')

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/log/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/log/` + url, ...arg)
/**
* 日志
*
@ -22,6 +22,10 @@ export default {
logPage(data) {
return request('page', data, 'get')
},
// 获取日志详情
logDetail(data) {
return request('detail', data, 'get')
},
// 获取访问日志折线图数据
logVisLineChartData(data) {
return request('vis/lineChartData', data, 'get')

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/message/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/message/` + url, ...arg)
/**
* 站内信
*

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/monitor/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/monitor/` + url, ...arg)
/**
* 监控
*
@ -21,5 +21,9 @@ export default {
// 获取服务器监控信息
monitorServerInfo(data) {
return request('serverInfo', data, 'get')
},
// 获取服务器网络情况
monitorNetworkInfo(data) {
return request('networkInfo', data, 'get')
}
}

View File

@ -0,0 +1,68 @@
/**
* Copyright [2022] [https://www.xiaonuo.vip]
* Snowy采用APACHE LICENSE 2.0开源协议您在使用过程中需要注意以下几点
* 1.请不要删除和修改根目录下的LICENSE文件
* 2.请不要删除和修改Snowy源码头部的版权声明
* 3.本项目代码可免费商业使用商业使用请保留源码和相关描述文件的项目出处作者声明等
* 4.分发源码时候请注明软件出处 https://www.xiaonuo.vip
* 5.不可二次分发开源参与同类竞品如有想法可联系团队xiaonuobase@qq.com商议合作
* 6.若您的项目无法满足以上几点需要更多功能代码获取Snowy商业授权许可请在官网购买授权地址为 https://www.xiaonuo.vip
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/push/` + url, ...arg)
/**
* 消息推送
*
* @author yubaoshan
* @date 2022-09-22 22:33:20
*/
export default {
// 获取消息推送分页
pushPage(data) {
return request('page', data, 'get')
},
// 删除消息推送
pushDelete(data) {
return request('delete', data)
},
// 获取消息推送详情
pushDetail(data) {
return request('detail', data, 'get')
},
// 动态推送消息
pushDynamicText(data) {
return request('pushDynamicText', data)
},
// 推送飞书TEXT消息
pushFeiShuText(data) {
return request('pushFeiShuText', data)
},
// 推送钉钉TEXT消息
pushDingTalkText(data) {
return request('pushDingTalkText', data)
},
// 推送消息——钉钉MARKDOWN
pushDingTalkMarkdown(data) {
return request('pushDingTalkMarkdown', data)
},
// 推送消息——钉钉LINK
pushDingTalkLink(data) {
return request('pushDingTalkLink', data)
},
// 推送消息——企业微信TXT
pushWorkWechatText(data) {
return request('pushWorkWechatText', data)
},
// 推送消息——企业微信MARKDOWN
pushWorkWechatMarkdown(data) {
return request('pushWorkWechatMarkdown', data)
},
// 推送消息——企业微信NEWS
pushWorkWechatNews(data) {
return request('pushWorkWechatNews', data)
}
}

View File

@ -0,0 +1,32 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/slideshow/` + url, ...arg)
/**
* 轮播图Api接口管理器
*
* @author yubaoshan
* @date 2024/07/13 00:31
**/
export default {
// 获取轮播图分页
devSlideshowPage(data) {
return request('page', data, 'get')
},
// 提交轮播图表单 edit为true时为编辑默认为新增
devSlideshowSubmitForm(data, edit = false) {
return request(edit ? 'edit' : 'add', data)
},
// 删除轮播图
devSlideshowDelete(data) {
return request('delete', data)
},
// 禁用轮播图
devSlideshowDisableStatus(data) {
return request('disableStatus', data)
},
// 启用轮播图
devSlideshowEnableStatus(data) {
return request('enableStatus', data)
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/sms/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/dev/sms/` + url, ...arg)
/**
* 短信
*
@ -30,6 +30,10 @@ export default {
smsSendTencent(data) {
return request('sendTencent', data)
},
// 发送短信——小诺短信
smsSendXiaonuo(data) {
return request('sendXiaonuo', data)
},
// 删除短信
smsDelete(data) {
return request('delete', data)

View File

@ -0,0 +1,28 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/dev/weakPassword/` + url, ...arg)
/**
* 弱密码库Api接口管理器
*
* @author yubaoshan
* @date 2025/05/31 01:45
**/
export default {
// 获取弱密码库分页
weakPasswordPage(data) {
return request('page', data, 'get')
},
// 提交弱密码库表单 edit为true时为编辑默认为新增
weakPasswordSubmitForm(data, edit = false) {
return request(edit ? 'edit' : 'add', data)
},
// 删除弱密码库
weakPasswordDelete(data) {
return request('delete', data)
},
// 获取弱密码库详情
weakPasswordDetail(data) {
return request('detail', data, 'get')
}
}

View File

@ -1,6 +1,6 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/gen/basic/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/gen/basic/` + url, ...arg)
export default {
// 获取代码生成基础分页
@ -9,7 +9,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除代码生成基础
basicDelete(data) {
@ -41,5 +41,17 @@ export default {
// 预览代码生成
basicPreviewGen(data) {
return request('previewGen', data, 'get')
},
// 获取所有移动端模块
basicMobileModuleSelector(data) {
return request('mobileModuleSelector', data, 'get')
},
// 获取所有模块
basicModuleSelector(data) {
return request('moduleSelector', data, 'get')
},
// 获取所有菜单树包括未授权的
basicMenuTreeSelector(data) {
return request('menuTreeSelector', data, 'get')
}
}

View File

@ -1,6 +1,6 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/gen/config/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/gen/config/` + url, ...arg)
export default {
// 获取代码生成详情配置列表
@ -9,7 +9,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除代码生成详情配置
configDelete(data) {

View File

@ -0,0 +1,37 @@
/**
* Copyright [2022] [https://www.xiaonuo.vip]
* Snowy采用APACHE LICENSE 2.0开源协议您在使用过程中需要注意以下几点
* 1.请不要删除和修改根目录下的LICENSE文件
* 2.请不要删除和修改Snowy源码头部的版权声明
* 3.本项目代码可免费商业使用商业使用请保留源码和相关描述文件的项目出处作者声明等
* 4.分发源码时候请注明软件出处 https://www.xiaonuo.vip
* 5.不可二次分发开源参与同类竞品如有想法可联系团队xiaonuobase@qq.com商议合作
* 6.若您的项目无法满足以上几点需要更多功能代码获取Snowy商业授权许可请在官网购买授权地址为 https://www.xiaonuo.vip
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/mobile/button/` + url, ...arg)
/**
* 按钮
*
* @author yubaoshan
* @date 2022-09-22 22:33:20
*/
export default {
// 获取按钮分页
mobileButtonPage(data) {
return request('page', data, 'get')
},
// 提交表单 edit为true时为编辑默认为新增
mobileButtonSubmitForm(data, edit = false) {
return request(edit ? 'edit' : 'add', data)
},
// 删除按钮
mobileButtonDelete(data) {
return request('delete', data)
},
// 获取按钮详情
mobileButtonDetail(data) {
return request('detail', data, 'get')
}
}

View File

@ -0,0 +1,40 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/mobile/menu/` + url, ...arg)
/**
* 移动端菜单Api接口管理器
*
* @author yubaoshan
* @date 2023/01/28 22:42
**/
export default {
// 获取移动端菜单tree
mobileMenuTree(data) {
return request('tree', data, 'get')
},
// 提交移动端菜单表单 edit为true时为编辑默认为新增
mobileMenuSubmitForm(data, edit = false) {
return request(edit ? 'edit' : 'add', data)
},
// 更改菜单所属模块
mobileMenuChangeModule(data) {
return request('changeModule', data)
},
// 删除移动端菜单
mobileMenuDelete(data) {
return request('delete', data)
},
// 获取移动端菜单详情
mobileMenuDetail(data) {
return request('detail', data, 'get')
},
// 获取模块选择器
mobileMenuModuleSelector(data) {
return request('moduleSelector', data, 'get')
},
// 获取菜单树选择器
mobileMenuTreeSelector(data) {
return request('menuTreeSelector', data, 'get')
}
}

View File

@ -10,28 +10,28 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/spa/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/mobile/module/` + url, ...arg)
/**
* 单页
* 类别
*
* @author yubaoshan
* @date 2022-09-22 22:33:20
*/
export default {
// 获取菜单分页
spaPage(data) {
// 获取类别分页
modulePage(data) {
return request('page', data, 'get')
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除菜单
spaDelete(data) {
// 删除类别
moduleDelete(data) {
return request('delete', data)
},
// 获取菜单详情
spaDetail(data) {
// 获取类别详情
moduleDetail(data) {
return request('detail', data, 'get')
}
}

View File

@ -0,0 +1,44 @@
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/group/` + url, ...arg)
/**
* 用户组Api接口管理器
*
* @author yubaoshan
* @date 2024/12/21 01:25
**/
export default {
// 获取用户组分页
groupPage(data) {
return request('page', data, 'get')
},
// 提交用户组表单 edit为true时为编辑默认为新增
groupSubmitForm(data, edit = false) {
return request(edit ? 'edit' : 'add', data)
},
// 删除用户组
groupDelete(data) {
return request('delete', data)
},
// 获取用户组详情
groupDetail(data) {
return request('detail', data, 'get')
},
// 获取用户组下的用户
groupOwnUser(data) {
return request('ownUser', data, 'get')
},
// 获取机构树
groupOrgTreeSelector(data) {
return request('orgTreeSelector', data, 'get')
},
// 获取用户选择器
groupUserSelector(data) {
return request('userSelector', data, 'get')
},
// 给用户组授权用户
groupGrantUser(data) {
return request('grantUser', data)
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/index/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/index/` + url, ...arg)
/**
* 系统首页控制器
*
@ -38,6 +38,10 @@ export default {
indexMessageDetail(data) {
return request('message/detail', data, 'get')
},
//站内信全部标记已读
indexMessageAllMarkRead(data) {
return request('message/allMessageMarkRead', data)
},
// 获取当前用户访问日志列表
indexVisLogList(data) {
return request('visLog/list', data, 'get')
@ -45,5 +49,17 @@ export default {
// 获取当前用户操作日志列表
indexOpLogList(data) {
return request('opLog/list', data, 'get')
},
// 获取基础系统业务数据
indexBizDataCount(data) {
return request('bizDataCount', data, 'get')
},
// 获取运维一览数据
indexOpDataCount(data) {
return request('opDataCount', data, 'get')
},
// 获取基础工具数据
indexToolDataCount(data) {
return request('toolDataCount', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/org/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/org/` + url, ...arg)
/**
* 机构
*
@ -32,7 +32,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除组织
orgDelete(data) {
@ -41,5 +41,13 @@ export default {
// 获取组织详情
orgDetail(data) {
return request('detail', data, 'get')
},
// 获取组织树选择器
orgOrgTreeSelector(data) {
return request('orgTreeSelector', data, 'get')
},
// 获取用户选择器
orgUserSelector(data) {
return request('userSelector', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/position/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/position/` + url, ...arg)
/**
* 职位
*
@ -28,7 +28,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除职位
positionDelete(data) {
@ -37,5 +37,13 @@ export default {
// 获取职位详情
positionDetail(data) {
return request('detail', data, 'get')
},
// 获取组织树选择器
positionOrgTreeSelector(data) {
return request('orgTreeSelector', data, 'get')
},
// 获取职位选择器
positionPositionSelector(data) {
return request('positionSelector', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/button/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/button/` + url, ...arg)
/**
* 按钮
*
@ -24,7 +24,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除按钮
buttonDelete(data) {

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/field/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/field/` + url, ...arg)
/**
* 字段
*
@ -28,7 +28,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除字段
fieldDelete(data) {

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/menu/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/menu/` + url, ...arg)
/**
* 菜单
*
@ -24,7 +24,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 更改菜单所属模块
menuChangeModule(data) {

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/module/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/module/` + url, ...arg)
/**
* 模块
*
@ -24,7 +24,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除模块
moduleDelete(data) {

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/role/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/role/` + url, ...arg)
/**
* 角色
*
@ -22,13 +22,9 @@ export default {
rolePage(data) {
return request('page', data, 'get')
},
// 获取角色列表
roleList(data) {
return request('list', data, 'get')
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除角色
roleDelete(data) {
@ -46,6 +42,14 @@ export default {
roleGrantResource(data) {
return request('grantResource', data)
},
// 获取角色拥有移动端菜单
roleOwnMobileMenu(data) {
return request('ownMobileMenu', data, 'get')
},
// 给角色授权移动端菜单
roleGrantMobileMenu(data) {
return request('grantMobileMenu', data)
},
// 获取角色拥有权限
roleOwnPermission(data) {
return request('ownPermission', data, 'get')
@ -70,12 +74,20 @@ export default {
roleResourceTreeSelector(data) {
return request('resourceTreeSelector', data, 'get')
},
// 获取移动端菜单授权树
roleMobileMenuTreeSelector(data) {
return request('mobileMenuTreeSelector', data, 'get')
},
// 获取权限授权树
rolePermissionTreeSelector(data) {
return request('permissionTreeSelector', data, 'get')
},
// 获取汇总数据
roleSummary(data) {
return request('summary', data, 'get')
// 获取角色选择器
roleRoleSelector(data) {
return request('roleSelector', data, 'get')
},
// 获取用户选择器
roleUserSelector(data) {
return request('userSelector', data, 'get')
}
}

View File

@ -10,7 +10,7 @@
*/
import { baseRequest } from '@/utils/request'
const request = (url, ...arg) => baseRequest(`/sys/user/${url}`, ...arg)
const request = (url, ...arg) => baseRequest(`/sys/user/` + url, ...arg)
/**
* 用户接口api
*
@ -24,7 +24,7 @@ export default {
},
// 提交表单 edit为true时为编辑默认为新增
submitForm(data, edit = false) {
return request(edit ? 'add' : 'edit', data)
return request(edit ? 'edit' : 'add', data)
},
// 删除用户
userDelete(data) {
@ -69,5 +69,43 @@ export default {
// 给用户授权角色
grantRole(data) {
return request('grantRole', data)
},
// 获取用户拥有资源
userOwnResource(data) {
return request('ownResource', data, 'get')
},
// 给用户授权资源
userGrantResource(data) {
return request('grantResource', data)
},
// 获取用户拥有权限
userOwnPermission(data) {
return request('ownPermission', data, 'get')
},
// 给用户授权权限
userGrantPermission(data) {
return request('grantPermission', data)
},
// 下载用户导入模板
userDownloadImportUserTemplate(data) {
return request('downloadImportUserTemplate', data, 'get', {
responseType: 'blob'
})
},
// 用户导入
userImport(data) {
return request('import', data)
},
// 用户导出
userExport(data) {
return request('export', data, 'get', {
responseType: 'blob'
})
},
// 导出用户个人信息
userExportUserInfo(data) {
return request('exportUserInfo', data, 'get', {
responseType: 'blob'
})
}
}

Some files were not shown because too many files have changed in this diff Show More