From a27b291c5cb3af6add9c8cd00bbfd215bd3026f7 Mon Sep 17 00:00:00 2001
From: sws <1141121512@qq.com>
Date: Wed, 22 Nov 2023 18:57:45 +0800
Subject: [PATCH] =?UTF-8?q?1.=E7=99=BB=E9=99=86=E9=A1=B5=E9=9D=A2=E4=BC=98?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
App.vue | 7 +-
common/css/page.css | 3 +
components/iconfont/iconfont.vue | 4 +-
components/popup/popup.vue | 36 +-
components/upload/upload.vue | 2 +-
components/yyc-easy-editor/index.vue | 352 ---
components/yyc-easy-editor/readme.md | 88 -
package.json | 19 +-
pages.json | 12 +-
pages/login/login.css | 131 +-
pages/login/login.vue | 2142 +++++++++--------
pages/logout/logout.vue | 4 +-
pages/plugins/ask/index/index.vue | 2 +-
pages/plugins/blog/form/form.css | 11 +
pages/plugins/blog/form/form.vue | 431 +++-
pages/plugins/blog/user-list/user-list.css | 20 +
pages/plugins/blog/user-list/user-list.vue | 206 ++
uni_modules/sp-editor/changelog.md | 15 +
.../components/sp-editor/color-picker.vue | 784 ++++++
.../components/sp-editor/editor-icon.css | 238 ++
.../components/sp-editor/iconfont.ttf | Bin 0 -> 11188 bytes
.../components/sp-editor/sp-editor.vue | 280 +++
uni_modules/sp-editor/package.json | 83 +
uni_modules/sp-editor/readme.md | 70 +
24 files changed, 3406 insertions(+), 1534 deletions(-)
delete mode 100644 components/yyc-easy-editor/index.vue
delete mode 100644 components/yyc-easy-editor/readme.md
create mode 100644 pages/plugins/blog/user-list/user-list.css
create mode 100644 pages/plugins/blog/user-list/user-list.vue
create mode 100644 uni_modules/sp-editor/changelog.md
create mode 100644 uni_modules/sp-editor/components/sp-editor/color-picker.vue
create mode 100644 uni_modules/sp-editor/components/sp-editor/editor-icon.css
create mode 100644 uni_modules/sp-editor/components/sp-editor/iconfont.ttf
create mode 100644 uni_modules/sp-editor/components/sp-editor/sp-editor.vue
create mode 100644 uni_modules/sp-editor/package.json
create mode 100644 uni_modules/sp-editor/readme.md
diff --git a/App.vue b/App.vue
index 2d488f85..7fae7b8c 100644
--- a/App.vue
+++ b/App.vue
@@ -5,9 +5,11 @@
data: {
// 基础配置
// 数据接口请求地址
+ // request_url: 'https://new.shopxo.vip/',
request_url: 'http://shopxo.com/',
// 静态资源地址(如系统根目录不在public目录下面请在静态地址后面加public目录、如:https://d1.shopxo.vip/public/)
+ // static_url: 'https://new.shopxo.vip/',
static_url: 'http://shopxo.com/',
// 系统类型(默认default、如额外独立小程序、可与程序分身插件实现不同主体小程序及支付独立)
@@ -754,6 +756,7 @@
* confirm_color [string] 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* object [boject] 回调操作对象,点击确认回调参数1,取消回调0
* method [string] 回调操作对象的函数
+ * params [obj] 携带的参数
*/
alert(e) {
var msg = e.msg || null;
@@ -764,6 +767,7 @@
var confirm_text = e.confirm_text || '确认';
var cancel_color = e.cancel_color || '#000000';
var confirm_color = e.confirm_color || '#576B95';
+ var params = e.params || {};
uni.showModal({
title: title,
content: msg,
@@ -774,7 +778,8 @@
confirmColor: confirm_color,
success(res) {
if ((e.object || null) != null && typeof e.object === 'object' && (e.method || null) != null) {
- e.object[e.method](res.confirm ? 1 : 0);
+ params['alert_status'] = res.confirm ? 1 : 0;
+ e.object[e.method](params);
}
},
});
diff --git a/common/css/page.css b/common/css/page.css
index b38f789c..c8bf6da0 100644
--- a/common/css/page.css
+++ b/common/css/page.css
@@ -594,6 +594,7 @@ button:before {
.br-grey-9 {
border: solid 1px #999999 !important;
}
+
.br-grey-c {
border: solid 1px #cccccc !important;
}
@@ -1255,9 +1256,11 @@ button[disabled].bg-grey {
.flex-1 {
flex: 1;
}
+
.flex-2 {
flex: 2;
}
+
.flex-3 {
flex: 3;
}
diff --git a/components/iconfont/iconfont.vue b/components/iconfont/iconfont.vue
index 5acd6b56..4f6dd04f 100644
--- a/components/iconfont/iconfont.vue
+++ b/components/iconfont/iconfont.vue
@@ -30,8 +30,8 @@
-
\ No newline at end of file
diff --git a/components/yyc-easy-editor/readme.md b/components/yyc-easy-editor/readme.md
deleted file mode 100644
index e238940b..00000000
--- a/components/yyc-easy-editor/readme.md
+++ /dev/null
@@ -1,88 +0,0 @@
-
-###########说明
-1. 图标使用uni-icons,没有的请到插件市场自行安装。
-
-2. 示例代码如下:
- list2: 初始化数据(用于编辑)
- addImage: 图片上传
- addVideo: 视频上传
- showPreview: 是否显示预览
- preview: 返回预览的html文本
- completedText: 按钮文字
- completed: 编辑器返回数据json
-
-3. 提示:rich-text不能解析视频,建议使用插件市场uparse。
-
-4. 有问题,微信同QQ:736849829(请备注)。上传视频太大,不会分片,也可以v我。
-
-###########示例代码
-
-
-
-
-
-
-
-
-
-
diff --git a/package.json b/package.json
index f9ff440a..8051320b 100644
--- a/package.json
+++ b/package.json
@@ -1,10 +1,15 @@
{
- "id": "yyc-easy-editor",
- "name": "超简洁 图文视频编辑器 文章发布",
- "version": "1.01",
- "description": "适合手机端,小程序的编辑器,支持文字,图片,视频,没有太多复杂臃肿的功能,容易操作。安装更简单,为你省去时间。",
+ "id": "jin-edit",
+ "name": "jin-edit—仿简书非常好用的富文本编辑器",
+ "version": "1.1",
+ "description": "仿简书非常好用的富文本编辑器",
"keywords": [
- "编辑器",
- "图文视频编辑"
- ]
+ "富文本编辑器、富文本"
+ ],
+ "dcloudext": {
+ "category": [
+ "前端组件",
+ "通用组件"
+ ]
+ }
}
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 6c4da59d..0ec46055 100644
--- a/pages.json
+++ b/pages.json
@@ -898,11 +898,21 @@
"navigationBarTitleText": "评论列表"
}
},
+ {
+ "path": "user-list/user-list",
+ "style": {
+ "enablePullDownRefresh": true,
+ "navigationBarTitleText": "我的帖子"
+ }
+ },
{
"path": "form/form",
"style": {
"enablePullDownRefresh": true,
- "navigationBarTitleText": "添加/编辑博文"
+ "navigationBarTitleText": "发布博文",
+ "enablePullDownRefresh": false,
+ // 禁止页面下拉
+ "disableScroll": true
}
}
]
diff --git a/pages/login/login.css b/pages/login/login.css
index 99ccb3d3..dc10f174 100644
--- a/pages/login/login.css
+++ b/pages/login/login.css
@@ -5,52 +5,90 @@ page {
/**
* 基础
*/
-.content {
- padding-top: 8%;
-}
.content .icon {
- width: 150rpx;
- height: 150rpx !important;
+ width: 160rpx;
+ height: 160rpx !important;
+}
+
+.top-nav {
+ padding: 34rpx;
}
/**
* 表单内容
*/
.form-content {
- padding: 2% 40rpx 0 40rpx;
+ padding: 34rpx;
}
+
.form-content .form-item,
.form-content .code,
.form-content .verify {
- border-bottom: solid 1px #f7f7f7;
+ height: 50px;
+ line-height: 50px;
+ background: #F9F9F9;
+ border-radius: 25px;
+ border: 0;
}
-.form-content .form-item,
+
.form-content .code input,
.form-content .verify input {
- font-size: 28rpx;
- color: #4e4e4e;
- height: 40px;
- line-height: 40px;
- border-radius: 0;
+ height: 50px;
+ line-height: 50px;
+ padding: 0 36rpx;
}
+
+.form-content .form-item ::v-deep .input-placeholder,
+.form-content .form-item ::v-deep .uni-input-input {
+ padding: 0 36rpx;
+ font-size: 30rpx;
+}
+
+.form-content .form-item ::v-deep .input-placeholder,
+.form-content .code input ::v-deep .input-placeholder,
+.form-content .verify input ::v-deep .input-placeholder {
+ font-size: 30rpx;
+}
+
.form-content .code input,
.form-content .verify input {
width: 63%;
}
-.form-content .code .verify-submit {
- width: 35%;
- height: 35px;
- line-height: 35px;
- top: 0;
- right: 0;
+
+.form-content .form-item ::v-deep .uni-input-input:-webkit-autofill {
+ /* //这个地方的颜色是字体颜色,可以根据实际情况修改 */
+ /* -webkit-text-fill-color: #ededed !important; */
+ /* //设置input输入框的背景颜色为透明色 */
+ -webkit-box-shadow: 0 0 0px 1000px #f9f9f9 inset !important;
+ /* //设置input输入框的背景颜色为透明色 */
+ background-color: #f9f9f9;
+ background-image: none;
+ transition: background-color 50000s ease-in-out 0s;
}
+
+.form-content .code ::v-deep .uni-input-input:-webkit-autofill {
+ /* //设置input输入框的背景颜色为透明色 */
+ background-color: #f9f9f9;
+ background-image: none;
+ transition: background-color 50000s ease-in-out 0s;
+}
+
+.form-content .code .verify-submit {
+ padding: 0 12px;
+ height: 28px;
+ line-height: 28px;
+ top: 11px;
+ right: 36rpx;
+}
+
.form-content .verify .verify-image {
width: 35%;
- height: 35px;
- line-height: 35px;
+ height: 50px;
+ line-height: 50px;
top: 0;
- right: 0;
+ right: 36rpx;
}
+
.opt-type-list text:not(:last-child) {
margin-right: 50rpx;
}
@@ -59,21 +97,60 @@ page {
* 第三方登录 - 插件
*/
.plugins-thirdpartylogin .item {
- width: 35rpx;
- height: 35rpx;
+ width: 76rpx;
+ height: 76rpx;
padding: 5rpx;
}
+
.plugins-thirdpartylogin .item:not(:last-child) {
- margin-right: 10rpx;
+ margin-right: 54rpx;
}
+
.plugins-thirdpartylogin .item image {
- width: 25rpx !important;
- height: 25rpx !important;
+ width: 50rpx !important;
+ height: 50rpx !important;
}
+
+.plugins-thirdpartylogin .item:last-of-type image {
+ width: 76rpx !important;
+ height: 76rpx !important;
+}
+
.plugins-thirdpartylogin-bind image {
width: 40rpx !important;
height: 40rpx !important;
}
+
.plugins-thirdpartylogin-bind button {
line-height: 40rpx;
+}
+
+.popup-login .content,
+.popup-login .footer .cancel-btn {
+ border-radius: 32rpx;
+}
+
+.popup-login .content .item:not(:last-child) {
+ border-bottom: 1px solid #eee;
+}
+
+.popup-login .content .item image {
+ width: 36rpx !important;
+ height: 36rpx !important;
+}
+
+.popup-login .content .item .login-width {
+ width: 180rpx;
+}
+
+/**
+ * 多语言
+ */
+.popup-language {
+ height: 100vh;
+}
+
+.popup-language .list {
+ height: calc(100vh - 95rpx);
+ overflow-y: auto;
}
\ No newline at end of file
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 67265fd6..057ca4df 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -1,9 +1,23 @@
-
+
-
-
+
+
+
+
+
+
+ {{ language }}
+
+
+
+
+
+
+
-
+
@@ -304,6 +321,39 @@
+
+
+
+
+
+
+
+
+
基础数据有误,如未自动加载则请手动点击加载!
@@ -315,808 +365,789 @@
diff --git a/pages/logout/logout.vue b/pages/logout/logout.vue
index 80ece17c..cadd2ad8 100644
--- a/pages/logout/logout.vue
+++ b/pages/logout/logout.vue
@@ -102,7 +102,7 @@
// 注销提交
logout_submit_event(e) {
// 是否再次确认
- if (e != 0 && e != 1) {
+ if (e.alert_status != 0 && e.alert_status != 1) {
app.globalData.alert({
msg: '账号注销后不可恢复、确定继续吗?',
is_show_cancel: 1,
@@ -113,7 +113,7 @@
}
// 注销提交
- if (e == 1) {
+ if (e.alert_status == 1) {
uni.showLoading({
title: '处理中...',
});
diff --git a/pages/plugins/ask/index/index.vue b/pages/plugins/ask/index/index.vue
index e76dc3ee..99ec8e92 100644
--- a/pages/plugins/ask/index/index.vue
+++ b/pages/plugins/ask/index/index.vue
@@ -73,7 +73,7 @@
return {
theme_view: app.globalData.get_theme_value_view(),
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
- data_base: data_base,
+ data_base: {},
data_list: [],
data_total: 0,
data_page_total: 0,
diff --git a/pages/plugins/blog/form/form.css b/pages/plugins/blog/form/form.css
index e69de29b..3ed6c162 100644
--- a/pages/plugins/blog/form/form.css
+++ b/pages/plugins/blog/form/form.css
@@ -0,0 +1,11 @@
+.sp-editor {
+ height: 500rpx;
+}
+
+.more {
+ transition: all 0.3s ease-in-out;
+}
+.p-content {
+ max-height: 50vh;
+ overflow-y: auto;
+}
\ No newline at end of file
diff --git a/pages/plugins/blog/form/form.vue b/pages/plugins/blog/form/form.vue
index 05e886c3..7998cc2a 100644
--- a/pages/plugins/blog/form/form.vue
+++ b/pages/plugins/blog/form/form.vue
@@ -1,53 +1,416 @@
-
-
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/sp-editor/changelog.md b/uni_modules/sp-editor/changelog.md
new file mode 100644
index 00000000..01cb2bdb
--- /dev/null
+++ b/uni_modules/sp-editor/changelog.md
@@ -0,0 +1,15 @@
+## 1.0.3(2023-10-13)
+ 1. 更新readme文档
+ 2. 更新调整组件示例项目,添加插件代码中部分注释
+## 1.0.2(2023-10-13)
+ 1. 更新uni_modules规范,可一键导入组件
+ 2. 更新组件示例项目(包括使用uniCloud.uploadFile多选上传图片示例方法)
+## 1.0.1(2023-10-12)
+ 1. 修复小程序中自动聚焦滚动到富文本组件区域的bug
+ 2. 略微调整了富文本上方toolbar工具栏中按钮的大小尺寸
+## 1.0.0(2023-9-19)
+ 1. 新增字体与背景颜色板
+ 2. 可自定义预设内容模板
+ 3. 解决官方样例在小程序和app部分报错不兼容的问题
+ 4. 可配合云存储上传富文本中插入的图片 本质上是基于官方内置富文本editor组件改版封装,所以官方有的功能都有,官方能兼容的也都兼容
+
diff --git a/uni_modules/sp-editor/components/sp-editor/color-picker.vue b/uni_modules/sp-editor/components/sp-editor/color-picker.vue
new file mode 100644
index 00000000..ac6c30c2
--- /dev/null
+++ b/uni_modules/sp-editor/components/sp-editor/color-picker.vue
@@ -0,0 +1,784 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{hex}}
+ HEX
+
+
+
+ {{rgba.r}}
+ R
+
+
+ {{rgba.g}}
+ G
+
+
+ {{rgba.b}}
+ B
+
+
+ {{rgba.a}}
+ A
+
+
+
+
+
+ 切换
+ 模式
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/sp-editor/components/sp-editor/editor-icon.css b/uni_modules/sp-editor/components/sp-editor/editor-icon.css
new file mode 100644
index 00000000..0018669f
--- /dev/null
+++ b/uni_modules/sp-editor/components/sp-editor/editor-icon.css
@@ -0,0 +1,238 @@
+@font-face {
+ font-family: 'iconfont';
+ src: url('data:font/truetype;charset=utf-8;base64,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AAsAJgFuAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAAAKQ3JlYXRlZCBieSBpY29uZm9udAoAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAFIAZQBnAHUAbABhAHIAAFJlZ3VsYXIAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAVmVyc2lvbiAxLjAAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AAEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC4AAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAGh0dHA6Ly9mb250ZWxsby5jb20AAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwAAAAEAAgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkEcmVkbwlzZWxlY3RhbGwHcHJldmlldwR1bmRvBGRhdGUHY2xlYXJ1cBU3MjNiaWFuamlxaV9kdWFuaG91anUWNzIyYmlhbmppcWlfZHVhbnFpYW5qdQotY2hlY2tsaXN0DWRpcmVjdGlvbi1sdHINZGlyZWN0aW9uLXJ0bAtmb250Ymdjb2xvcg1jbGVhcmVkZm9ybWF0BGZvbnQHb3V0ZGVudAhmb250c2l6ZQp0ZXh0X2NvbG9yD2Zvcm1hdC1oZWFkZXItMg9mb3JtYXQtaGVhZGVyLTMLbGluZS1oZWlnaHQPZm9ybWF0LWhlYWRlci0xD2Zvcm1hdC1oZWFkZXItNA9mb3JtYXQtaGVhZGVyLTUPZm9ybWF0LWhlYWRlci02EUNoYXJhY3Rlci1TcGFjaW5nBmluZGVudAZiYW9jdW4IcXVhbnBpbmcFZnV6aGkHc2hhbmNodQxiaWFuamlzZWt1YWkJZmVuZ2V4aWFuB2RpYW56YW4MY2hhcnVsaWFuamllC2NoYXJ1dHVwaWFuCnd1eHVwYWlsaWUManV6aG9uZ2R1aXFpB3lpbnlvbmcLeW91eHVwYWlsaWUIeW91ZHVpcWkJeml0aWRhaW1hCHhpYW9saWFuCXppdGlqaWFjdQ96aXRpc2hhbmNodXhpYW4Neml0aXNoYW5nYmlhbwp6aXRpYmlhb3RpDnppdGl4aWFodWF4aWFuCXppdGl4aWV0aQl6aXRpeWFuc2UIenVvZHVpcWkJeml0aXl1bGFuC3ppdGl4aWFiaWFvC3p1b3lvdWR1aXFpB2R1aWdvdXgGZ3VhbmJpDnNoZW5neWluX3NoaXRpAAAAAAAB//8AAgABAAAADAAAABYAAAACAAEAAwA6AAEABAAAAAIAAAAAAAAAAQAAAADVpCcIAAAAANhk6GIAAAAA2GToYg==') format('truetype');
+ font-weight: normal;
+ font-style: normal;
+ font-display: swap;
+}
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-redo:before {
+ content: "\e627";
+}
+
+.icon-undo:before {
+ content: "\e633";
+}
+
+.icon-indent:before {
+ content: "\eb28";
+}
+
+.icon-outdent:before {
+ content: "\e6e8";
+}
+
+.icon-fontsize:before {
+ content: "\e6fd";
+}
+
+.icon-format-header-1:before {
+ content: "\e860";
+}
+
+.icon-format-header-4:before {
+ content: "\e863";
+}
+
+.icon-format-header-5:before {
+ content: "\e864";
+}
+
+.icon-format-header-6:before {
+ content: "\e865";
+}
+
+.icon-clearup:before {
+ content: "\e64d";
+}
+
+.icon-preview:before {
+ content: "\e631";
+}
+
+.icon-date:before {
+ content: "\e63e";
+}
+
+.icon-fontbgcolor:before {
+ content: "\e678";
+}
+
+.icon-clearedformat:before {
+ content: "\e67e";
+}
+
+.icon-font:before {
+ content: "\e684";
+}
+
+.icon-723bianjiqi_duanhouju:before {
+ content: "\e65f";
+}
+
+.icon-722bianjiqi_duanqianju:before {
+ content: "\e660";
+}
+
+.icon-text_color:before {
+ content: "\e72c";
+}
+
+.icon-format-header-2:before {
+ content: "\e75c";
+}
+
+.icon-format-header-3:before {
+ content: "\e75d";
+}
+
+.icon--checklist:before {
+ content: "\e664";
+}
+
+.icon-baocun:before {
+ content: "\ec09";
+}
+
+.icon-line-height:before {
+ content: "\e7f8";
+}
+
+.icon-quanping:before {
+ content: "\ec13";
+}
+
+.icon-direction-rtl:before {
+ content: "\e66e";
+}
+
+.icon-direction-ltr:before {
+ content: "\e66d";
+}
+
+.icon-selectall:before {
+ content: "\e62b";
+}
+
+.icon-fuzhi:before {
+ content: "\ec7a";
+}
+
+.icon-shanchu:before {
+ content: "\ec7b";
+}
+
+.icon-bianjisekuai:before {
+ content: "\ec7c";
+}
+
+.icon-fengexian:before {
+ content: "\ec7f";
+}
+
+.icon-dianzan:before {
+ content: "\ec80";
+}
+
+.icon-charulianjie:before {
+ content: "\ec81";
+}
+
+.icon-charutupian:before {
+ content: "\ec82";
+}
+
+.icon-wuxupailie:before {
+ content: "\ec83";
+}
+
+.icon-juzhongduiqi:before {
+ content: "\ec84";
+}
+
+.icon-yinyong:before {
+ content: "\ec85";
+}
+
+.icon-youxupailie:before {
+ content: "\ec86";
+}
+
+.icon-youduiqi:before {
+ content: "\ec87";
+}
+
+.icon-zitidaima:before {
+ content: "\ec88";
+}
+
+.icon-xiaolian:before {
+ content: "\ec89";
+}
+
+.icon-zitijiacu:before {
+ content: "\ec8a";
+}
+
+.icon-zitishanchuxian:before {
+ content: "\ec8b";
+}
+
+.icon-zitishangbiao:before {
+ content: "\ec8c";
+}
+
+.icon-zitibiaoti:before {
+ content: "\ec8d";
+}
+
+.icon-zitixiahuaxian:before {
+ content: "\ec8e";
+}
+
+.icon-zitixieti:before {
+ content: "\ec8f";
+}
+
+.icon-zitiyanse:before {
+ content: "\ec90";
+}
+
+.icon-zuoduiqi:before {
+ content: "\ec91";
+}
+
+.icon-zitiyulan:before {
+ content: "\ec92";
+}
+
+.icon-zitixiabiao:before {
+ content: "\ec93";
+}
+
+.icon-zuoyouduiqi:before {
+ content: "\ec94";
+}
+
+.icon-duigoux:before {
+ content: "\ec9e";
+}
+
+.icon-guanbi:before {
+ content: "\eca0";
+}
+
+.icon-shengyin_shiti:before {
+ content: "\eca5";
+}
+
+.icon-Character-Spacing:before {
+ content: "\e964";
+}
diff --git a/uni_modules/sp-editor/components/sp-editor/iconfont.ttf b/uni_modules/sp-editor/components/sp-editor/iconfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..8ade3a4ceb4117fe0ed2ae231cffbd77a429de1b
GIT binary patch
literal 11188
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
V?Ju7ilD*GAR;9h-TKu2Ye+P`O+lc@G
literal 0
HcmV?d00001
diff --git a/uni_modules/sp-editor/components/sp-editor/sp-editor.vue b/uni_modules/sp-editor/components/sp-editor/sp-editor.vue
new file mode 100644
index 00000000..538620ea
--- /dev/null
+++ b/uni_modules/sp-editor/components/sp-editor/sp-editor.vue
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/sp-editor/package.json b/uni_modules/sp-editor/package.json
new file mode 100644
index 00000000..83872a72
--- /dev/null
+++ b/uni_modules/sp-editor/package.json
@@ -0,0 +1,83 @@
+{
+ "id": "sp-editor",
+ "displayName": "sp-editor",
+ "version": "1.0.3",
+ "description": "官方内置富文本editor组件改版",
+ "keywords": [
+ "富文本",
+ "editor",
+ "编辑器"
+ ],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.5.1"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "u"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "u",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/sp-editor/readme.md b/uni_modules/sp-editor/readme.md
new file mode 100644
index 00000000..c4d74853
--- /dev/null
+++ b/uni_modules/sp-editor/readme.md
@@ -0,0 +1,70 @@
+# sp-editor
+
+## props参数
+
+```
+props: {
+ placeholder: {
+ type: String,
+ default: '写点什么吧 ~'
+ },
+ // 是否只读
+ readOnly: {
+ type: Boolean,
+ default: false
+ },
+ // 最大字数限制,-1不限
+ maxlength: {
+ type: Number,
+ default: -1
+ },
+ // 初始模板
+ templates: {
+ type: String,
+ default: ''
+ }
+}
+```
+
+## emit方法
+
+```
+
+
+
+
+
+
+```
+
+## 注意事项
+ 1. 该组件在使用过程中推荐在外层套上个父盒子,并给父盒子高度,组件在封装时进行了高度计算,会自动撑满父盒子
+ 2. 如遇到在内置浏览器中发生无法拖动调节颜色板的问题,只需调出开发者调试面板,点击重置左上角选择dom的箭头后,便能调出模拟器手势光标,便可正常拖动了
\ No newline at end of file