国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

vue應用產品之iShow H5編輯器

W_BinaryTree / 2832人閱讀

摘要:地址文檔網站在線地址今年年初,開始斷斷續續打磨自己的編輯器,到現在也有半年有余。目前是版本,后續會不斷完善,也歡迎大家貢獻自己的想法,共同進步。

github地址:https://github.com/qiuyaofan/iShow

文檔:https://qiuyaofan.github.io/iShow/

網站在線地址:https://qiuyaofan.github.io/ishowPage

今年年初,開始斷斷續續打磨自己的vue編輯器,到現在也有半年有余。目前是ishow1.0版本,后續會不斷完善,也歡迎大家貢獻自己的想法,共同進步。如果喜歡這個項目,記得star哦~

什么都不說,先上圖

ishow的界面如下所示:

json渲染的手機端示例(iphone6為例)

ishow編輯器的主要功能如下:
ishow v1.0功能列表
一:字體編輯
1.普通樣式:背景顏色,文字顏色,字體,對齊,透明度,邊距,行高,大小,加粗,傾斜,下劃線,清除格式
2.邊框樣式:寬度,顏色,類型,圓角
3.陰影樣式:陰影顏色,大小,半徑,方向
4.點擊可修改文字,拖拽改變位置

二:圖片編輯
基本編輯:參考字體編輯
添加圖片,替換圖片
拉伸改變大小,旋轉
上傳圖片
圖片選擇彈層有:預覽,裁切(后臺未接),選擇,刪除等功能

三:動畫效果
打字機,漸變,淡入淡出,旋轉,縮放等,動畫種類參考易企秀
時間,延時,添加動畫,預覽動畫,清除動畫
多個動畫
次數,循環(1.0暫不實現)

四:左側頁面總預覽
添加新一頁,刪除,排序(1.0暫不實現)

五:鍵盤操作
左右鍵移動元素
刪除鍵刪除選中元素
撤銷ctrl+z(最多緩存40個操作)

六:層級調整(還需完善優化)

七:表單配置添加
目前支持表單類型:輸入框,單選,多選,下拉,按鈕
支持添加驗證

八:h5提交配置
標題,封面等


九:保存,發布(模版,h5 json)


十:多媒體
背景添加
音頻添加
視頻添加(1.0暫不實現)


十一:模版管理(1.0暫不實現,需要后臺配合)
編輯模版,搜索模版

十二:手機端渲染
根據json完成動畫播放,翻頁,音頻播放,屏幕適配等
表單提交后臺(未實現)
ishow調用的外部插件

IUI組件部分

swiper:http://www.swiper.com.cn/api/index.html

餓了么element:http://element.eleme.io/#/zh-CN/component/installation

參考的開源架子:https://github.com/PanJiaChen/vue-element-admin

開發思路

編輯器最終生成的是json配置,手機端通過json配置渲染出相應的樣式,動畫等。

mock.js

目前編輯器是用mock實現模擬接口,如果需要換回自己的接口

1.去除config.js的mock調用

2.修改utils/fetch.js代碼

//mock.js
resolve(res);
//沒有mock
// if (res.code === 40001) {
//   // 登出
//   store.dispatch("FedLogOut").then(() => {
//     router.push({ path: "/login" })
//   });
// } else if (res.code !== 200) {
//   Message({
//     message: res.msg,
//     type: "error",
//     duration: 5 * 1000
//   });
//   reject(res);
// } else {
//   resolve(res);
// }

注釋掉resolve(res);
下面的取消注釋即可

json格式如下所示

var JSON={
    "page":[
        {
            "page": 1,
            "json": [
                {
                  /***
                      控件類型
                      "1":"text",
                      "2":"img",
                      "3":"textarea",
                      "4":"radio",
                      "5":"checkbox",
                      "6":"select",
                      "7":"button"
                  ***/
                    "type": 2,
                    "content": "https://img.kxz.com/assets/kxz/fixedInputCover1_20170630/fb7bf5d8-56d6-46ea-a01b-35e6943647da_demo1-4.png",
                    // 位置
                    "position": {
                        "top": 360,
                        "left": 201
                    },
                    "width": 175,
                    "height": 125.2680965147453,
                    //基本樣式屬性
                    "text": {
                        "backgroundColor": "rgba(0,0,0,0)",
                        "opacity": 100,
                        "padding": 0,
                        "rotate": 94,
                        "borderWidth": 0,
                        "borderRadius": 0,
                        "borderColor": "rgba(204, 204, 204,1)",
                        "borderStyle": "solid",
                        "shadowColor": "rgba(204, 204, 204,1)",
                        "shadowWidth": 0,
                        "shadowRadius": 10,
                        "shadowDire": 0
                    },
                    //動畫類型,支持多動畫
                    "animate": [
                        {
                            "animationName": "fadeIn",
                            "animationDuration": 2,
                            "animationTimingFunction": "ease",
                            "animationDelay": 0.4,
                            "animationFillMode": "both",
                            "animationPlayState": "initial",
                            "isOut": false
                        }
                    ],
                    "id": 1501745923909,
                    //層級
                    "zIndex": 6
                }
            
            ],
            //這一頁的背景圖片
            "bgImage": {
                "backgroundColor": "",
                "coord": "",
                "url": ""
            }
        },
       
    ],
    //配置
    "setting": {
        //背景音樂
        "bgMusic": {
            "url": "ttp://192.168.1.100:8080/uploadfile/3/15/5/8765a93f-351e-4984-8a03-6ef746ea36fd_bg.mp3",
            "name": "enemy2_down.mp3"
        }
    }
};
使用vue+element開發的部分經驗總結

使用vue以來遇到的一些問題及解決辦法,分享給大家,希望對你有幫助

1.element date組件

報錯內容:TypeError: value.getTime is not a function

原理:插件生成和默認值需要是Fri Sep 08 2017 16:25:00 GMT+0800 (CST)這種格式,但項目中通常是YYYY-MM-DD hh:mm:ss格式,所以報錯.

解決辦法:

后臺修改存儲類型,或者

//提交時
momentChange(date) {
    return date?this.moment(date).format("YYYY-MM-DD"):"";
},
//獲取默認值回填前
dateChange(date){
  return date?new Date(date):"";
}

2.組件間調用

//子組件調用

層級少可以使用this.$refs.chileComponentName.method

層級多借助bus.js或者vuex

//父組件調用
this.$parent.method

// 當前父元素
this.$el

3.element驗證的坑

經常加了type="number"報錯,然后搜到答案v-model.number="",然后發現 11.ee居然驗證通過?!
其實是v-model.number會自動把11.ee轉為11去驗證

解決辦法:


   


data() {
    let validateMobile = (rule, value, callback) => {
       if (!value||(value + "").length !== 11) {
         callback(new Error("手機號碼必須為11位純數字"));
       } else {
         callback();
       }
    };
    return {
        mobile:"",
        rules: {
             mobile: [
               {validator: validateMobile, trigger: "blur"}
            ]
        }
    }
}

4.通過el-upload上傳七牛




//獲取token接口函數
import {getUploadToken} from "api";
method:{
   beforeUpload(file) {
       //拿到token
       return getUploadToken().then(response => {
           //后臺根據七牛的密鑰生成的token
         this.uploadForm.token = response.data.token;
         //我們生成唯一的key
         this.uploadForm.key = this.createKey(file);
         //前綴:在線路徑的前綴
         this.prefix = response.data.prefix;
       }).catch(err => {
         console.info(err)
       });
   },
   createKey(file) {
       let curr = this.moment().format("YYYYMMDD").toString();
       let prefix = this.moment(file.lastModified).format("HHmmss").toString();
       let suffix = file.name;
       let key = encodeURI(`${curr}/${prefix}_${suffix}`);
       return key;
   },
   handleSuccess(response, file, fileList) {
        //拼接成能訪問的在線鏈接
       console.info(this.prefix + response.key);
   }
}

5.vue屬性

1.添加background-image時
2.添加數組到style
//data舉例 data() { return { textJson:{ "backgroundColor": "rgba(0,0,0,0)", "opacity": 100, "padding": 0, "rotate": 0, "borderWidth": 0, "borderRadius": 100, "borderStyle": "solid", "shadowColor": "rgba(204, 204, 204,1)", "shadowWidth": 0, "shadowRadius": 10, "shadowDire": 0, "borderColor": "rgba(204, 204, 204,1)" }, animateJson:{ animationName:"fadeIn" } } }

今天就分享到這里啦~~

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88532.html

相關文章

  • 2017年2月份前端資源分享

    平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 1. Javascript 前端生成好看的二維碼 十大經典排序算法(帶動圖演示) 為什么知乎前端圈普遍認為H5游戲和H5展示的JSer 個人整理和封裝的YU.js庫|中文詳細注釋|供新手學習使用 擴展JavaScript語法記錄 - 掉坑初期工具 漢字拼音轉換...

    lily_wang 評論0 收藏0
  • 2017年2月份前端資源分享

    平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 1. Javascript 前端生成好看的二維碼 十大經典排序算法(帶動圖演示) 為什么知乎前端圈普遍認為H5游戲和H5展示的JSer 個人整理和封裝的YU.js庫|中文詳細注釋|供新手學習使用 擴展JavaScript語法記錄 - 掉坑初期工具 漢字拼音轉換...

    chengjianhua 評論0 收藏0
  • 2017年2月份前端資源分享

    平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 1. Javascript 前端生成好看的二維碼 十大經典排序算法(帶動圖演示) 為什么知乎前端圈普遍認為H5游戲和H5展示的JSer 個人整理和封裝的YU.js庫|中文詳細注釋|供新手學習使用 擴展JavaScript語法記錄 - 掉坑初期工具 漢字拼音轉換...

    Anonymous1 評論0 收藏0
  • 2017年2月份前端資源分享

    平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 1. Javascript 前端生成好看的二維碼 十大經典排序算法(帶動圖演示) 為什么知乎前端圈普遍認為H5游戲和H5展示的JSer 個人整理和封裝的YU.js庫|中文詳細注釋|供新手學習使用 擴展JavaScript語法記錄 - 掉坑初期工具 漢字拼音轉換...

    dreamtecher 評論0 收藏0
  • 2017年3月份前端資源分享

    平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 03月份前端資源分享 1. Javascript 175453545 Redux compose and middleware 源碼分析 深入 Promise(二)——進擊的 Promise Effective JavaScript leeheys blog -...

    ermaoL 評論0 收藏0

發表評論

0條評論

W_BinaryTree

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<