- 1. 项目文件目录明细
- 2. 视图层主文件整理
- menu_list_edit_page_sp.tpl 、menu_list_edit_page_pc.tpl メニューsp、pc
- invitation_edit_page_sp.tpl 、invitation_edit_page_pc.tpl 招待状sp、pc
- escort_cards_edit_page_sp.tpl 、escort_cards_edit_page_pc.tpl 席札sp、pc
- 页面共通方法及数据逻辑梳理
- 3. 组件文件整理
- patternInput.js
- option.js
- editorPC.js PC端svg渲染区域主入口
- editor.js
- designChange.js デザイン変更页
- 4. js函数封装
- 5. 第三方插件整理
- vuex.min.js // 基于vuex的store进行初始数据管理
- vue.min.js // 基于vue进行数据与视图层逻辑处理
- snap.svg-min.js // 基于snap.svg实现svg拖拽、定位功能
- screenfull.min.js // 基于screenfull实现
- mobile-drag-drop // 实现手机席位拖拽
- nouislider.js // 实现桌子间距调整滑块
- lodash.min.js // 基于lodash实现数据节流防抖处理
- hogan.min.js // 基于hogan实现文例的指定节点渲染
- FileSaver.min.js // 基于FileSaver实现下载pdf保存
- dayjs // 基于dayjs实现时间数据格式处理
- axios.min.js // 基于axios实现请求数据,解析API
- autosize.js // 使textarea输入时可以随文本内容进行高度自适应
- algebra.min.js // 基于algebra实现多元方程求解
1. 项目文件目录明细
data/Smarty/templates/default/editor
- seat_table_edit_page_sp.tpl
- seat_table_edit_page_pc.tpl
- menu_list_edit_page_sp.tpl
- menu_list_edit_page_pc.tpl
- invitation_edit_page_sp.tpl
- invitation_edit_page_pc.tpl
- escort_cards_edit_page_sp.tpl
-
html/editor
components
popup.js
- patternInput.js
- option.js
- editorPC.js
- editorMove.js
- editor.js
-
css
-
js
stringProcessing.js
- store.js
- spGuestDrag.js
- profile.js
- photoTransform.js
- menu.js
- init.js
- formatter.js
-
vendor
vuex.min.js
- vue.min.js
- vue-autosizer
- snap.svg-min.js
- screenfull.min.js
- mobile-drag-drop
- nouislider.js
- lodash.min.js
- hogan.min.js
- FileSaver.min.js
- dayjs
- axios.min.js
- autosize.js
- algebra.min.js
2. 视图层主文件整理
seat_table_edit_page_sp.tpl 、seat_table_edit_page_pc.tpl 席次表sp、pc
a. 基本情报
- 修改新郎、新婦的姓名、罗马字,修改姓氏的时候会影响到タイトルと追記文的ご両家名内容
-
b. 席次表デザイン
カラー,席次表的カラー选择,如果product_options_select 1接口返回空数组则表示此席次表没有カラー,此区域不显示
- 形,席次表的形选择,如果product_options_select 9接口返回空数组则表示此席次表没有形,此区域不显示
リボン,席次表的リボン选择,如果product_options_select 2接口返回空数组则表示此席次表没有リボン,此区域不显示
c. 写真の登録
新郎新婦写真,有区域掲載选项,点击未上传照片的区域会调起系统上传照片模块,已上传照片区域会出现对应的削除按钮
- ふたり写真,有区域掲載选项,点击未上传照片的区域会调起系统上传照片模块,已上传照片区域会出现对应的削除按钮
プロフィール写真,有区域掲載选项,点击未上传照片的区域会调起系统上传照片模块,已上传照片区域会出现对应的削除按钮
d. プロフィール&インタビュー
プロフィール,有区域掲載选项,初始显示5条,最多可追加至10条,質問有单独的掲載选项,可以通过点击上下按钮来调整質問的顺序
インタビュー,有区域掲載选项,初始显示5条,最多可追加至8条,質問有单独的掲載选项,可以通过点击上下按钮来调整質問的顺序
e. ご挨拶文&新居案内
ご挨拶文,有区域掲載选项,文例通过初始化的时候get_season接口请求回来
-
f. お料理メニュー
お料理メニュー,金额根据option 8请求回的数据决定,有区域掲載选项,初始料理有5条,最多可追加至11条,每条有单独的掲載选项
ドリンクメニュー,文本域最多建议输入5行,超出5行可入力但会出现超行警告,可整体非掲載
g. テーブルレイアウト
テーブルレイアウトを選択,根据table_data接口返回的数据进行横長レイアウト与縦長レイアウト的分组,再通过判断丸机、長机、混合,点击对应的桌子将需要渲染的桌子规格,如果已经存在桌子会弹出确定覆盖之前桌子的提示框
h. レイアウト調整
テ一ブルの位置を調整,调整桌子位置,使svg区域变成网格编辑状态,隐藏席位
- テ一ブルを追加,追加桌子,根据table_data接口请求的数据进行可选渲染
- テ一ブルの幅·高さ·サイズを調整,调整桌子的大小及间距
- 配置揃え(天地揃え·中央揃え),调整对齐方式
テ一ブル名の編集とテ一ブルの削除,编辑桌子名和删除桌子,只有选中某桌子的时候编辑和删除机能才可以执行
i. ゲストの登録と配席
-
j. タイトルと追記文
タイトルと式場名,ご両家名、タイトル、式場名的修改
- 追記文,单行文本域
menu_list_edit_page_sp.tpl 、menu_list_edit_page_pc.tpl メニューsp、pc
a. 基本情报
- 修改新郎、新婦的姓名、罗马字
-
b. メニュー表デザイン
カラー,メニュー的カラー选择,如果product_options_select 1接口返回空数组则表示此メニュー没有カラー,此区域不显示
- 形,メニュー的形选择,如果product_options_select 9接口返回空数组则表示此メニュー没有形,此区域不显示
リボン,メニュー的リボン选择,如果product_options_select 2接口返回空数组则表示此メニュー没有リボン,此区域不显示
c. お料理メニュー
お料理メニュー,初始显示5条,最多可追加至11条,其中英语可输入英语及特殊字符,每条有单独非掲載
ドリンクメニュー,文本域最多建议输入5行,超出5行可入力但会出现超行警告,可整体非掲載
invitation_edit_page_sp.tpl 、invitation_edit_page_pc.tpl 招待状sp、pc
a. 基本情报
修改新郎、新婦的姓名、罗马字、続柄、旧姓
- 修改挙式日,挙式日变化的同时会影响到投函月的值(投函月选择的月份 === 挙式日的月份 - 2)
-
b. 本状文章
修改投函月,投函月变化的同时会影响到時候の挨拶的值
- 修改時候の挨拶,時候の挨拶是通过editor组件使用get_season接口请求回来,并通过将数据传输到主画面,根据send_month的值将对应的greeting生成月份对应的時候の挨拶数组,時候の挨拶变化的同时会影响到本状文章模板的值
- 本状文章模板选择,根据get_season接口请求回的数据将文例进行分组,通过select选择组使其显示对应的文例,文例内容中的变量会在请求成功时通过data里对应的数据进行变量替换,使其显示正确的文言,选择文例时会影响本状文章編集的内容
- 修改本状文章編集,初期値决定本状文章編集的行数限制,回车的数量会影响是否超出最大行数,文章内容会进行敏感字检查,点击初期値に戻す通过invitationTextRefresh方法使其恢复为初始模板
- 选择旧姓表示,影响svg的旧姓表示,旧姓是通过计算每个选项是否被选择使用computed得出,旧姓表示修改的同时会影响封筒和返信はがき的旧姓表示选择
- 時間,時間的内容受午前或午後影响,午前:8~12, 午後: 0~10
- 会場,会場名、会場住所&TEL、会費
- 追記文,默认出现3个追记文(至少显示前3个,会显示到最后一个掲載的追记文),最多可增加至5个追记文
- 写真を登録,根据模板JSON文件判断是否有写真,没有则不显示
- カラー,招待状本状的カラー选择,如果product_options_select 1接口返回空数组则表示此招待状没有カラー,此区域不显示
リボン,招待状本状的リボン选择,如果product_options_select 2接口返回空数组则表示此招待状没有リボン,此区域不显示
c. 封筒
差出人名,选择封筒显示的是新郎新婦名还是親名,会影响返信はがき的选择,同时形象地址输入区域显示的内容
- 記載方法,选择封筒显示的是ーつの住所で連名还是新郎新婦別々に記載,会影响返信はがき的选择,同时形象地址输入区域显示的内容
- 住所,根据差出人名和記載方法的选择显示对应住所的输入框,输入7位邮编会触发getAddress方法自动请求并更新地址,输入内容会影响返信はがき的住所使う
- 选择旧姓表示,影响svg的旧姓表示,旧姓表示修改的同时会影响返信はがき的旧姓表示选择
- 封筒カラー,不影响svg封筒的颜色
宛名印刷,通过handleGetGuestList请求回初始的guestList
d. 返信はがき
返送先宛名,选择返信はがき显示的是新郎新婦名还是親名
- 返送先,选择返信はがき显示的是ーつの住所で連名还是新郎新婦別々に記載,会影响svg的区域显示的个数
- 住所,住所使う的选择会将封筒内对应的信息同步过来
- 旧姓表示,影响svg的旧姓表示
はがき裏面,触发handleChangeItemInvitationBusSelect方法,选择svg显示的是哪个はがき裏面
e. 付箋
付箋内容,6个固定的内容,初始显示前4个,最大枚数999,最小枚数1,通过amountAdjust进行枚数限制,本文内容长度受初始模板影响;超出价格为API返回,前台固定显示;
オリジナル付箋,初期显示1个非选择状态的文章,最大可追加数由JSON内容决定
f. 招待状数据及页面逻辑
页面初期化: 更新data => 获取挙式日 => 获取出荷日 => 获取忌语 => 获取本状文章例文 => 获取登录信息 => 如果取到登录信息且远端有数据则获取远端数据 => 请求option商品
svg的文字块是否显示是通过主画面notPosted方法计算出所有不显示的块传输给editor,在editor中遍历得出
escort_cards_edit_page_sp.tpl 、escort_cards_edit_page_pc.tpl 席札sp、pc
a. 基本情报
修改新郎、新婦的姓名、罗马字
-
b. 席札デザイン
形,席札的形选择,如果product_options_select 9接口返回空数组则表示此席札没有形,此区域不显示
リボン,席札的リボン选择,如果product_options_select 2接口返回空数组则表示此席札没有リボン,此区域不显示
c. 印刷内容
新郎・新婦様分の席札の印刷について,会影响下载和预览是否有新郎新婦的席札
- 敬称(様・くん・ちゃん等)の設定,席札下载和预览时是否显示敬称
- 両親の肩書について,根据请求回的数据判断是否有两亲,有的话决定是否显示其肩书
- ゲスト一覧,显示所有请求回的来宾
予備の席札,价格是根据第一部予备席札决定,缩略图显示的效果是根据请求回的席札,追加svg克隆元素_svg长子rect元素,将product_options_select 1接口返回color_value通过fill插入到rect上,使对应的svg可以显示对应的颜色,色块是color_value的颜色,name是color的name,个数限制为:0~999
d. 席札数据及页面逻辑
页面初期化: 更新data=> 获取挙式日 => 获取出荷日 => 获取忌语 => 获取登录信息 => 如果取到登录信息且远端有数据则获取远端数据 => 请求option商品,如果product_options_select 1接口返回非空则请求option 7予备席札,通过将option 7与option 1进行组合得到完整的予备席札
页面共通方法及数据逻辑梳理
a. 数据流
数据的来源及初始化: 需要保存的初始数据,会定义到store.js中,在created周期中判断local中是否已经存在数据,如果存在则通过init方法调用local中的数据,否则通过init方法调用store.js中的初始数据,将数据同步到vue的data上与各页面文件的pageData组合共同构成页面的数据。
数据的前台持久化: 通过vue watch深度监听data的变化,将数据实时存储到local中。
svg随数据变化: 通过vue watch深度监听data的变化,findDiffKey方法去找到变化的具体键值对,将修改后的键值对一起push到changeWord数组中,并通过使用lodash对该数组进行节流防抖优化,变化停止后1秒将最终数据传输到对应的editor文件中,使其svg变化。
svg传输到主画面: getJson方法将myId、是否存在图片信息传输到主画面。getLocation将svg中的元素块位置信息传输到主画面。b. 全屏、sp折叠svg区域
通过viewableAreaZoom方法将editor中触发的指令传送到主画面进行高度或全屏的变更
c. 页面检查
页面会实时进行检查,判断出错误项的个数并在每本最后一个tab里最下方显示,点击此处则进入全局检查状态,所有错误输入项的背景颜色会变成黄色,在右侧会出现!点击可直接唤起检查popup,同时,点击popup中的错误项,会触发getFocusPoint方法聚焦
分别检查empty、init、other三类,每类对应的Tab会通过vue computed计算出当前此类此Tab未通过检查的个数,通过判断未通过检查个数是否均为0,得到整个Tab是否通过检查和整个商品是否通过检查d. Tab切换
由于页面显示的是根据currentSlide的值决定显示的是哪个界面,页面下方会有戻る和次へ,会改变currentSlide的值,同时调用handleTapNavSwiper方法进行swiper切换,同时在第一页和最后一页会由于无法再继续点击会把对应按钮置成disabled
直接点击对应的tab导航栏,可直接切换至对应tab
通过地址栏获取的t o 的值触发getURLFocusDom函数
通过svgSwtich方法将主画面的currentSlide的值转义成svg区域对应显示的svg,使其显示正确的svge. 出荷日、电话
通过接口delivery_select请求回对应的出荷日,与固定的通常、特急、超特急、超超特急组合成出荷日
ご利用ガイド,点击跳转
電話サポートに電話をかける,点击即可拨打电话f. vue页面逻辑
id=”editor”的div为整个页面的最高级容器,通过editor、option、popup等组件构成完整页面,页面通过Swiper实现切换Tab
store的数据在store.js中,只取不存,可以用作初始化及页面初期値恢复
data由store中的数据和各页面的pageData构成。pageData不保存到local中,各页面的数据不互通。local中的数据互通
components引入封装的公共组件
methods页面自有函数
created用作数据初期化,保证页面的data里数据都存在,请求例文、忌语、挙式日等信息
mounted实现页面操作,页面布局设定、sp的高度设定、Swiper的初期化
computed实现页面数据计算,各检查项有多少未满足条件的入力项,各选择按钮根据对应的选项
watch监听页面数据变化,根据数据变化做出联动处理,根据数据变化请求邮政地址等3. 组件文件整理
popup.js 弹窗组件
a. 登录
未登录的用户在点击保存、注文、获取guestList、跳转到关联席札时会弹出
输入账号密码后将账号密码product_id发送login接口,将接口返回的登录信息保存,登录状态更新,既有dom节点进行更新b. 保存确认框
用户登录成功,远端有数据的时候会提示上書き保存或者新規保存,通过save接口给服务器发送选择
c. loading框
初始化时svgNeedLoading和页面中途需要loading进行等待editorNeedLoading共同控制loading是否出现
d. 错误信息框
e. 保存成功信息提示
patternInput.js
a. alpha
input输入框封装,通过监听input内容变化进行实时筛选,只能包含英语字符,可限制最大入力长度
b. alpha-title
input输入框封装,通过监听input内容变化进行实时筛选,只能包含英语字符和空格,可限制最大入力长度
c. zip
input输入框封装,通过监听input内容变化进行实时筛选,只能包含数字,可限制最大入力长度
option.js
根据product_id、option对应的flg、type_code向product_options_select接口发送请求,将返回值遍历并生成对应的option单选控件
editorPC.js PC端svg渲染区域主入口
a. 通过vue的extend方法插入组件
其中包含「席の入れ替えや移動は」提示框、下载、全屏、缩放handleZoomInOut、svg渲染、图片编辑层机能,通过switchSvg的值变化确定当前需要显示的svg
b. 变量
handleChangeExpression: 主画面数据变化,需要svg进行对应修改的数组
switchSvg: 当前应当显示的svg
switchText: 主画面选择的数据,如はがき裏面
notPosted: svg区域需要隐藏的元素
needUpdate: memo画面用户发生选择,需要重新获取最新数据
menu: 菜单信息
inputData: 主画面field内容
itemInvitationColorSelect: 招待状svg需要渲染的颜色
favoriteCategory: 判断主画面当前信息
table: 桌子信息
seat: 席位信息
tableLayoutChange: 桌子的位置调整、居中方式、编辑状态
guest: 席次表来宾
isFullScreen: 是否全屏
svgBgColor: svg背景色
pdfNotEmpty: pdf是否为空
isShowGuestTip: 来宾提示c. 组件逻辑
初期化:
请求load_template_data获取到该商品的JSON数据,通过判断favoriteCategory的值确定主画面信息,请求对应的svg文件
- 将field里的数据通过JSON里提供的格式信息进行格式转换,通过bulk接口请求回对应的数据数组
- 将数组中的元素遍历,生成对应的path,同时,生成rect标签,将颜色、不透明度、宽高、是否超行、是否为空、错误信息插入到rect节点上,将rect和path插入到对应的位置
- 通过寻找class: svg-clickable,确定元素是否存在点击事件
- 在初始请求都结束时,loading+1,初始化拖拽机能initSvgDrag;initSvgDraggableItems、将首屏svg平铺及做相对适口的自适应处理initSvgSizeAndPosition;initSvgPCLocation、鼠标移上事件的追加bindHoverEffect
补充:
- 招待状的追记文JSON数据只有一条,其他追记文是根据JSON提供的追记文信息进行克隆
- 根据getSeason请求回的本状文章文例信息,将其动态指向对应的field数据inputValidate
- 需要显示与隐藏的节点,在请求回对应的path和rect后通过display进行控制
- menu会根据JSON的数据判断出单页或者双页,进而请求对应的svg
- 席札会追加固定内容的「名字 太郎 様」模块
watch:
- handleChangeExpression变化触发对应的editor方法,遍历handleChangeExpression,通过glyph方法请求回新的path,将原有path替换。并根据接口返回的错误信息,修改ract上的错误信息,及是否显示
- menuObj,菜单显示与隐藏,菜品修改
- switchSvg,svg变化
- doubleInvitation,招待状是否是双面的
- loading,判断初始请求是否已经结束
- switchText,招待状各页的选项变更,触发svg的显示与隐藏
-
editor.js
a. 通过vue的extend方法插入组件
其中包含移动控制块、席の入れ替えや移動は」提示框、表侧里侧选项卡、memo选项卡、返信选项卡、下载、全屏、调整缩放比例及svg区域折叠handleZoomInOut、svg渲染、图片编辑层机能,通过switchSvg的值变化确定当前需要显示的svg
b. 变量
handleChangeExpression: 主画面数据变化,需要svg进行对应修改的数组
switchSvg: 当前应当显示的svg
switchText: 主画面选择的数据,如はがき裏面
notPosted: svg区域需要隐藏的元素
needUpdate: memo画面用户发生选择,需要重新获取最新数据
memoFocus: 当前选择的memo
menu: 菜单信息
controlLift: 控制svg区域是否折叠
inputData: 主画面field内容
itemInvitationColorSelect: 招待状svg需要渲染的颜色
favoriteCategory: 判断主画面当前信息
table: 桌子信息
seat: 席位信息
tableLayoutChange: 桌子的位置调整、居中方式、编辑状态
guest: 席次表来宾
isFullScreen: 是否全屏
svgBgColor: svg背景色
pdfNotEmpty: pdf是否为空
isShowGuestTip: 来宾提示c. 组件逻辑
初期化:
请求load_template_data获取到该商品的JSON数据,通过判断favoriteCategory的值确定主画面信息,请求对应的svg文件
- 将field里的数据通过JSON里提供的格式信息进行格式转换,通过bulk接口请求回对应的数据数组
- 将数组中的元素遍历,生成对应的path,同时,生成rect标签,将颜色、不透明度、宽高、是否超行、是否为空、错误信息插入到rect节点上,将rect和path插入到对应的位置
- 控制svg显示与隐藏,并更新选项卡对应的数据
- 通过寻找class: svg-clickable,确定元素是否存在点击事件
- 在初始请求都结束时,loading+1,初始化拖拽机能initSvgDrag;initSvgDraggableItems、将首屏svg平铺及做相对适口的自适应处理initSvgSizeAndPosition
补充:
- 招待状的追记文JSON数据只有一条,其他追记文是根据JSON提供的追记文信息进行克隆
- 根据getSeason请求回的本状文章文例信息,将其动态指向对应的field数据inputValidate
- 需要显示与隐藏的节点,在请求回对应的path和rect后通过display进行控制
- menu会根据JSON的数据判断出单页或者双页,进而请求对应的svg
- 席札会追加固定内容的「名字 太郎 様」模块
watch:
- handleChangeExpression变化触发对应的editor方法,遍历handleChangeExpression,通过glyph方法请求回新的path,将原有path替换。并根据接口返回的错误信息,修改ract上的错误信息,及是否显示
- menuObj,菜单显示与隐藏,菜品修改
- switchSvg,svg变化
- doubleInvitation,招待状是否是双面的
- loading,判断初始请求是否已经结束
- switchText,招待状各页的选项变更,触发svg的显示与隐藏
- memoTagList,memo显示与隐藏,内容修改
designChange.js デザイン変更页
a. 選択中のデザイン
当前选择的商品,通过load_select_product接口返回b. デザイン変更
可选商品列表,根据load_product请求回,将接口返回的价格作为主键生成对应的选择菜单,点击デザインを変更する时弹出确认弹窗,确认后跳转到对应的商品页面4. js函数封装
stringProcessing.js
对String原型链进行封装,实现首字母大写,获取对应位置的字符等功能store.js
vuex的store,不同商品互通的数据、保存到服务器端的所有字段spGuestDrag.js
手机端来宾席位拖拽事件、来宾交换事件profile.js
initProfileSvg: 初始化表紙、プロフィール Tab的svg
loadProfileLocalJson:获取local中的变量信息
getLayoutParams:计算席位宽高、中线点高度、姓名块距离顶部底部距离及自身高度
initProfile:初始化表紙
initInterview:初始化表紙的qa位置、qa显示与隐藏
profileEdit:表紙编辑文字内容
tableEdit:席次表编辑文字内容
initTableSvg: 初始化席次 Tab的svg
drawOutline:绘制网格
currentLayoutTable: 切换桌子模板(如:4-4-4)
tableView: 绘制桌子元素
guestView:绘制席位
initTableGuestSort: 一个桌子里面席位的排序
initGuestPath: 获取席位path
handlePositionAdjust:判断是否进入桌子编辑模式
handleQuitGuestEdit:退出席位编辑模式
initTableNamePath: 获取桌子名称path
handleChangeTableList:桌子增删改
handleChangeSeatList:席位增删
handleChangeGuest:配席
handleTableLayoutChange:tpl通知editor进入编辑模式
uniqueId:生成席位ID
getRandom: 获取随机数
checkEnglish:英语输入检查
checkEnglishPoint:英语、符号输入限制
addEmptySeat:追加空席
handleGetGuestList:获取guestList列表
removeTable:删除桌子
handleCancelChange:取消调整
handleSureChange:确认调整
handleTplPositionAdjustSp:手机端桌子位置调整
handleTplPositionAdjustPc:Pc端桌子位置调整
addGuest:追加来宾
handleTableLayoutType:tpl中切换桌子模板并通知editor
createSvg:绘制桌子模板的圆点
addQa:追加qa区域问题
addProfile:追加profile区域问题
handleSelectMessage:profile选择文例
handleSort:qa排序
handleEditType:切换表紙和席次
handleTapNavSwiper: 切换swiperphotoTransform.js
写真的旋转、平移、缩放、定位menu.js
initMenuEdit:初始化菜单,通过JSON提供的区域高度;category、japanese、english的信息生成完整菜单信息
menuDrinkSort:菜单菜品排序
addMenu:追加菜单
menuEdit:菜单编辑
menuEditGlyph:菜单内容修改init.js
init:初始化vue data
getUrlKey:获取地址栏信息
callphone:拨打电话
initialDataRequest:tpl初始化数据
typeCode:根据set商品名称生成对应的typeCode
setDeliveryDate: 出荷日格式转换
findDiffKey:找到两个对象中有不同value的两个key
handleNavigate:控制swiper翻页
submitDownload:pdf下载
leave:离开画面弹出警告formatter.js
expressRegular:将JSON中表达式的不含数字字段及规则需求拆分
expressAllNumRegular:将JSON中表达式的字段及规则需求拆分
postZipRegular: 邮编位置拆分
seireki_to_wareki:和历
switchEnglishDate: 英语日期 1st
dateFormat:日期格式转换
updateObj:将表达式跟local数据转化为满足规则的数据
nameFormatRegular:特定日期及名称规则转化dataInteraction.js
alertSave:保存前判断是否登录
alertOrder:注文前判断是否登录
overwriteSave:选择新规保存或者上书保存
save:将local数据保存到远端
order: 将local数据发送到,并注文
getData:获取远端数据
login:登录
uploadFile:上传写真
imageTransform:写真位置信息调整
updateImgData:更新写真位置数据
getURLFocusDom:通过地址栏传参,使页面定位到指定位置ediorMove.js
getTouches: 获取当前屏幕上所有触摸点的列表
getTouchsDistance:获取双指距离
Zoom.init 初始化svg实例拖拽
Zoom.drage: svg实例拖拽
Zoom.zoom: 两根手指进行缩放
Zoom.touchmoveHandler: 手指移动事件
Zoom.mousemoveHandler:鼠标移动事件
Zoom.touchEndHandler: 手指拖拽结束事件
Zoom.mouseupHandler: 鼠标拖拽结束事件
Zoom.setTransform: 拖拽结束计算偏移量
Zoom.destroy: 销毁拖拽实例
Zoom.setScale:手机版svg缩放
Zoom.preSetScale:通过缩放比例及手指位置计算出svg拖拽后的位置
drag:svg小块拖拽
tableDrag: 桌子拖拽事件
checkTableIsCoincide:判断桌子是否重合
getPointer:兼容手机和pc,位置点坐标
removeTableDrag:清除桌子拖拽事件
addTable:添加桌子并追加桌子的拖拽事件、桌子的初始位置信息
guestDrag:席位拖拽
guestOverDelete:席位鼠标移上信息删除
dataRegionOver:判断席位当前在哪个区域,桌子左,桌子右,席位
tpl drag guest:pc将来宾拖拽到svg区域并配席5. 第三方插件整理
vuex.min.js // 基于vuex的store进行初始数据管理
vue.min.js // 基于vue进行数据与视图层逻辑处理
snap.svg-min.js // 基于snap.svg实现svg拖拽、定位功能
screenfull.min.js // 基于screenfull实现
mobile-drag-drop // 实现手机席位拖拽
nouislider.js // 实现桌子间距调整滑块
lodash.min.js // 基于lodash实现数据节流防抖处理
hogan.min.js // 基于hogan实现文例的指定节点渲染
FileSaver.min.js // 基于FileSaver实现下载pdf保存
dayjs // 基于dayjs实现时间数据格式处理
axios.min.js // 基于axios实现请求数据,解析API
autosize.js // 使textarea输入时可以随文本内容进行高度自适应
algebra.min.js // 基于algebra实现多元方程求解