diff --git a/UPDATE.md b/UPDATE.md
new file mode 100644
index 0000000..c9a3392
--- /dev/null
+++ b/UPDATE.md
@@ -0,0 +1,9 @@
+## PicHome beta1.1 更新说明
+
+### 1.导入逻辑优化,修复库导入文件和实际文件严重不符问题,支持合并库和导入库等文件库的导入,以及导入效率优化
+
+### 2.修复库设置中“分类(文件夹)”筛选项丢失的问题
+
+### 3.在站点设置=>界面设置内增加“默认打开文件窗口方式”设置,支持文件在当前窗口打开,详情页显示和功能优化
+
+### 4.其他已知bug修复
\ No newline at end of file
diff --git a/admin/oaooafiles.md5 b/admin/oaooafiles.md5
index 8ff320c..07c3286 100644
--- a/admin/oaooafiles.md5
+++ b/admin/oaooafiles.md5
@@ -8,7 +8,7 @@ d3af6beed6f4c5941d8474d8c30de6ab *admin/login/images/bg_login.gif
c3ed53246c61a74dca37236067d3ba56 *admin/login/login.php
2ccb26dbc4099faa5579c6c0d5727623 *admin/login/updatesession.php
cd5af5197f085d31563c357bf2b3f933 *admin/scripts/admin.js
-2eead28813ab73fc1f0c84d01e6ba64a *admin/system/common.php
+a6964db4b95a3d7fc276d190f92a9542 *admin/system/common.php
a60c2224558c2b82fbc7c5298df8aa5f *admin/system/cron.php
a3342df727581964bd15ba05ef4b74db *admin/system/database.php
9a7dd5d9cca593615256b921abcc0ab6 *admin/system/dist/css/chunk-2b4f90f7.519dec70.css
@@ -90,7 +90,7 @@ abe78a94ae6f33d188e25d7047f5b0f2 *admin/systemlog/template/admin.htm
455bd79582a8bea73faec69555b69eb3 *admin/systemlog/uninstall.php
5bb95d9914284024bfbde8e8cb60286f *admin/template/header_left.htm
853b016ecacafd2eccc8f35a5ab8b276 *admin.php
-af8d986a5c78a4d104938291c6e541ca *avatar.php
+5e5eb249d06b26d6c26cc8fb30b78892 *avatar.php
d0029be05cb9f585dcbcc8dd34817b81 *config/config_default.php
a316f263465d0751621451addf43c399 *config/config_frame.php
77fc6ae224ef71e20a515569babe71db *core/adminstart.php
@@ -239,7 +239,7 @@ d5b0e7dc291a731a5c184d97baecf2df *core/class/table/table_user_profile_setting.ph
bc2e189cfaacbdb84ddceb3a0abdcf92 *core/class/table/table_user_verify_info.php
692cda4c6ad17e87e1edefb7251d0116 *core/class/table/table_user_wechat.php
ca64f852f9c9442d65fa30ed279c6d6c *core/coreBase.php
-f869d55a8b656f7e51ae88b928b91e6e *core/core_version.php
+b335e80b81831d8e322f43e404124d1d *core/core_version.php
d90d23b8deb20cef2c43e66725ec2813 *core/cron/cron_cache_cleanup_week.php
d6f619ef3f14590fc5abc6ce76954d25 *core/cron/cron_cache_pichome_searchhot.php
09bf107dfc58f0424b0245834d221a42 *core/cron/cron_clean_notification_month.php
@@ -255,9 +255,9 @@ ec9cb962601e7d0d092e7b6e09ba8dc2 *core/function/cache/cache_profilesetting.php
f0e6d9900f7db48051ee4fdea06c8889 *core/function/cache/cache_setting.php
cc7c6903e4401fdb29424890e2084a91 *core/function/cache/cache_usergroups.php
2ce5a4d7e34bca8432b5885b14b25574 *core/function/cache/cache_userstats.php
-e3e91bb4a446a73d1744ca195e39066a *core/function/function_cache.php
+a4656352d5a04b447ae9ffa64e2474e7 *core/function/function_cache.php
c006c70d2a5b50212a02a31eff50c71d *core/function/function_code.php
-3727ad4836f9dbdacb0d6ce0f44ee443 *core/function/function_core.php
+86342eb3ddd47606c7e1ced02f4cc54e *core/function/function_core.php
52776d2eac0619ddad1ca9762781a4b0 *core/function/function_filesock.php
92ebd7558fd1c9291179a91fb3c2f880 *core/function/function_mail.php
aff9e34d19a59c6c356696f8f2540618 *core/function/function_message.php
@@ -1039,10 +1039,10 @@ eba5f5cecbb2a1cf2064e55c8c0de177 *dzz/pdf/web/locale/vi/viewer.properties
badeea57fda90d27e54a9f9488ac4c43 *dzz/pdf/web/viewer.html
6cf3b8dd7fae022af726634be28de37d *dzz/pdf/web/viewer.js
9d8f7b8df2cf3dffa23febb3582928d4 *dzz/pdf/web/viewer.js.map
-8659ad92dfd558463783565f41e2267b *dzz/pichome/admin.php
-7534bf9c73c427bffedb2ea88a853d12 *dzz/pichome/ajax.php
-da38e97091f039e98f3cff60351dec3c *dzz/pichome/checkexport.php
-088006485445db81b3e5431e1a60efc6 *dzz/pichome/class/class_eagleexport.php
+9702eb58e8b17ea4d968e2f0f6a7d14e *dzz/pichome/admin.php
+8d4800ca355e9f6a54e78f5349717829 *dzz/pichome/ajax.php
+0ca8de11ebaf13e2a461dc37a5182f65 *dzz/pichome/checkexport.php
+fc77d297675059d228b072772c97071b *dzz/pichome/class/class_eagleexport.php
6293eb9bd5b473c7f178be5d6534341c *dzz/pichome/config/config.php
29640dfed0df1100d9c8e4d819b4c593 *dzz/pichome/css/admin.css
07f01151181178c663d669622ea927f3 *dzz/pichome/css/common.css
@@ -1056,6 +1056,12 @@ f09b1c7476e28ad67f1c2f2f314230a0 *dzz/pichome/css/fonts/remixicon.symbol.svg
881fbc46361e0c0e5f003c159b2f3005 *dzz/pichome/css/fonts/remixicon.woff
9915fef980fa539085da55b84dfde760 *dzz/pichome/css/fonts/remixicon.woff2
beba9d9c0e6f710c90145d9e3cbbab2d *dzz/pichome/css/index.css
+29640dfed0df1100d9c8e4d819b4c593 *dzz/pichome/css/pc/admin.css
+8106960af48c6ce411b168662f3a4386 *dzz/pichome/css/pc/common.css
+e3123a0f6930b3d0a84387d3102c704d *dzz/pichome/css/pc/details.css
+73f2dc27a3b58222ac1c0cfebb8bd4cb *dzz/pichome/css/pc/index.css
+69c8a20f13ee8eb40d35ddd497d35fd3 *dzz/pichome/css/pc/xuanzhuan/iconfont.ttf
+b006647cb9c39a657d354fcf0bdf88bf *dzz/pichome/css/pc/xuanzhuan/index.css
48994b9f88c49cdb67a88116380cfb95 *dzz/pichome/css/theme/black/index.css
3d037ab39fd205fc01dcb0644dc73594 *dzz/pichome/css/theme/black/root.css
247be4f622b714c5745e69ebb932e197 *dzz/pichome/css/theme/darkgrey/index.css
@@ -1070,10 +1076,10 @@ dce825b1ca6c3b1c18adc856618b8602 *dzz/pichome/css/theme/lightgrey/index.css
2566cbfc860d4bc3c12812d9d35011ef *dzz/pichome/css/theme/purple/root.css
4705cbd2d8a842635d69d2ace637212e *dzz/pichome/css/theme/white/index.css
b07e0746971bb7c6dfc1d88ed2bdc4b2 *dzz/pichome/css/theme/white/root.css
-b8ca416041036fcaa26a718343b671cc *dzz/pichome/details.php
+a735516da3ba332a53a8bfad48610aea *dzz/pichome/details.php
8cbb24ea1bf37279c62c847f69984107 *dzz/pichome/download.php
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
-149c4134105afa138de62c31034c38c6 *dzz/pichome/exportfile.php
+15b6fca48208432cea1930bb57e0db5a *dzz/pichome/exportfile.php
06880b4a650311dd50933bf9a5aece2a *dzz/pichome/filelist.php
ae3317853c4561197a9a649000597886 *dzz/pichome/function/function_common.php
d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
@@ -1084,13 +1090,21 @@ d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
08a26df5cbee8f21dbac8d646d1da218 *dzz/pichome/image/nodata.svg
f308fd14dbe2e06349ef366d6f9aa2c7 *dzz/pichome/image/palette.png
efdb2935803c55f32f283c48abed9dbd *dzz/pichome/image/phlogo.png
-6c9bc6ff1ea0bb36eb156ae681741ee5 *dzz/pichome/index.php
+fcb60dfc7f223068eac9d35e8028617c *dzz/pichome/index.php
c9b191574ccc8ab6c8ff631302f10561 *dzz/pichome/install.php
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/audioPlay.js
a088950fc4bf4348d87cda978e5ded97 *dzz/pichome/js/common.js
b7a95d9f617863cf515a43e7b83978c5 *dzz/pichome/js/headerMethods.js
d752d1878252e486cc0244887cfadbae *dzz/pichome/js/headerWatch.js
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/jquery.mousewheel.min.js
+29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/pc/audioPlay.js
+cda62b1eb2f8a116c0016cd3a603e014 *dzz/pichome/js/pc/headerMethods.js
+d752d1878252e486cc0244887cfadbae *dzz/pichome/js/pc/headerWatch.js
+d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/pc/jquery.mousewheel.min.js
+72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/pc/plug/DomResize.js
+8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/pc/plug/element-ui.js
+66fe9527aec8d8b68e3bc5036ea8f7f9 *dzz/pichome/js/pc/plug/sortable.min.js
+7fe276a3e0d5ed3a6f2c84a9440c4add *dzz/pichome/js/pc/plug/wavesurfer.js
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/plug/DomResize.js
8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/plug/element-ui.js
dc3ea9ad3b70dda4a5250f14e9f2a36a *dzz/pichome/js/plug/jquery.row-grid.js
@@ -1103,32 +1117,32 @@ b21b8531847604ab5f2f5caaef51ba31 *dzz/pichome/js/vue/vue.js
69764bf35375a54256412f3c748b312d *dzz/pichome/js/waterfall.js
c24f19d7061cdf5bae41e5e9b9f5600c *dzz/pichome/language/en-US/lang.php
8a3e6ab24d873202b96c3acd9c1b0d2b *dzz/pichome/language/zh-CN/lang.php
-7c10bb4a15f7522989848c5138174c05 *dzz/pichome/library.php
+2d494f5deef41265f95908bd33a902dd *dzz/pichome/library.php
ccef8b340c90fc0061c6dd645fecc8df *dzz/pichome/setting.php
-3a9db7def73d093f8f30ccae5577f18f *dzz/pichome/share.php
-37c8861eb4f7f8c94608935cd9c41544 *dzz/pichome/template/components/headerAdmin/index.htm
-59434ecdc8ec0b282eec428cc5806ff5 *dzz/pichome/template/components/headerindex/index.htm
-5518c2bc4f44f3636e63d6a3ebe6e508 *dzz/pichome/template/components/headerindex/screen.htm
-105d244408ea6a9780677c28b376ea6c *dzz/pichome/template/components/headerindex/searchScreen.htm
-47702c24d36ca5b820de1029b4fdf138 *dzz/pichome/template/components/index/images.htm
-986115087ed076c2e624bd94c0ec56f0 *dzz/pichome/template/components/index/indexVuex.htm
-c2953f2cc75684f3a777148ad8c5fce9 *dzz/pichome/template/components/index/screen.htm
-8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/frame/footer_simple.htm
-ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/frame/header_simple_end.htm
-891bc77b1e8e054dcbcbc5bcdd317592 *dzz/pichome/template/frame/header_simple_start.htm
-8f6971c0247b193ab47c3c5ddb6d0266 *dzz/pichome/template/page/adminBasic.htm
-11fd257b9af5db87fcf2b70568a4310d *dzz/pichome/template/page/adminFileterset.htm
-be4f1925a5cbd80416e8a545621132c2 *dzz/pichome/template/page/adminLoginpage.htm
-9c164499d8cf7719b80e969fd6def67d *dzz/pichome/template/page/adminPagesetting.htm
-c77af0fd0053dfaa96f4db838ae6adf3 *dzz/pichome/template/page/adminPersonal.htm
-f0e94bac24224daf8e6957b01aea7fd6 *dzz/pichome/template/page/details.htm
-4e61b93f59ad1885f03a5247022bbefd *dzz/pichome/template/page/index.htm
-cf70aadbb56bd4fe27d1c1b15a75ca90 *dzz/pichome/template/page/library.htm
-016721dd93f715c67bd1cd66cb3ca679 *dzz/pichome/template/page/share.htm
+cecf65f580b3a209dcf80cd8560ec6bb *dzz/pichome/share.php
+1b2b3b2922d7e02373b1b9862c7a5ef7 *dzz/pichome/template/pc/components/headerAdmin/index.htm
+75ece58d5e173d62a72275aefc2ea7ec *dzz/pichome/template/pc/components/headerindex/index.htm
+5518c2bc4f44f3636e63d6a3ebe6e508 *dzz/pichome/template/pc/components/headerindex/screen.htm
+105d244408ea6a9780677c28b376ea6c *dzz/pichome/template/pc/components/headerindex/searchScreen.htm
+fc0a8c88bf39abe81695ab58de8d6a9f *dzz/pichome/template/pc/components/index/images.htm
+0b479ca8b7c107cd66492c3b5e9a7bce *dzz/pichome/template/pc/components/index/indexVuex.htm
+c2953f2cc75684f3a777148ad8c5fce9 *dzz/pichome/template/pc/components/index/screen.htm
+8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/pc/frame/footer_simple.htm
+ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/pc/frame/header_simple_end.htm
+08154101159fde8eb21fe522cc937e4c *dzz/pichome/template/pc/frame/header_simple_start.htm
+6b71a79c84f6349ee7756391c94dd889 *dzz/pichome/template/pc/page/adminBasic.htm
+cc96dd261e08e02dc52f76cd93f2b606 *dzz/pichome/template/pc/page/adminFileterset.htm
+109683e420385c288d86639466b6a1d8 *dzz/pichome/template/pc/page/adminLoginpage.htm
+e066dec8e0303fabf007c8a74eb4625e *dzz/pichome/template/pc/page/adminPagesetting.htm
+0920466b526ad2b5b6e20c8b2acead53 *dzz/pichome/template/pc/page/adminPersonal.htm
+ad552124940206341e350aceaedc0e16 *dzz/pichome/template/pc/page/details.htm
+ed7a4b32a51a8fb8dd3f5760d76d493a *dzz/pichome/template/pc/page/index.htm
+4cc95ff5505efa436d8cce73dd456cfe *dzz/pichome/template/pc/page/library.htm
+953101b30d9f9f7e303a7891ade351f3 *dzz/pichome/template/pc/page/share.htm
3cd79761b99168c3f9faf607183df134 *dzz/pichome/uninstall.php
b5221437a0c978e0caf63f2278759934 *dzz/pichome/uninstall_real.php
efbd03954c4e8df90891d9d6f338619f *dzz/pichome/upload.php
-50001a358e0b90b6f1e4b2414c0f2d44 *dzz/pichome/user.php
+91a4166d72ff4c926e1f5a73c804466c *dzz/pichome/user.php
3d037ab39fd205fc01dcb0644dc73594 *dzz/textviewer/css/theme/black/root.css
e19d97f977fa3d2316168bbe8e4101e5 *dzz/textviewer/css/theme/darkgrey/root.css
732389ded34cb9c52dd88271f1345af9 *dzz/textviewer/css/theme/fonts/element-icons.ttf
@@ -1155,8 +1169,8 @@ a875bc67c5d7db47c918a3cfe5318a57 *dzz/xgplayer/template/main.htm
5cb9422375b907e05eb6b7dc36fcd895 *favicon.ico
8e55bdb192a3aefe82e03292527819ca *htaccess_default.txt
55d39f5cf3916ab6a9336d95c671ab53 *index.php
-ede086aa34596b826b2ccf6d32a89303 *install/data/install.sql
-67df3c5463e4b6826d4cfc8cc5d64b82 *install/data/install_data.sql
+149ca09a781fa0fd9ee90ceb0a409006 *install/data/install.sql
+6add5cf682c64601c21a727302a46431 *install/data/install_data.sql
feabf4e4c8e20dc73548dfd6ba8400f9 *install/images/error.png
fc25acefcabc066437d4b27550387954 *install/images/logo.png
2ba93e93e0fbdfeb91e22f6d3bf8b6ca *install/images/logo.svg
@@ -1170,6 +1184,7 @@ a987af86766c27c565794ffa189cf664 *install/include/install_mysql.php
d7d7fef7dc366413340be8ad3da41709 *install/include/install_var.php
5c2f5c9042a9e66bc8f5af0b638cf1de *install/index.php
8eca1f167c0b805d9fda97804379a962 *install/language/zh-cn/lang.php
+9df77036c7ebea501feaa23661852767 *install/update.php
5aefe69b1ba16fe8a6f79c2156f8f281 *misc/ajax.php
66ee773a4c2e373da92f48f81930cf3f *misc/classes/init.php
f656adb0c1b2699a4d8c613f2b9dacab *misc/pichomeexport.php
@@ -1184,7 +1199,6 @@ ff6abf5b6ce1f3256d2aad8fdd24f646 *misc/setunrun.php
d365238875a6457eaea991f1e7913309 *misc/template/misc_seluser.htm
89c90d955c3bfda0f63dce1449021924 *misc/upgrade.php
170b9709fad7d1a8479d03c5c5913bae *misc.php
-6b24f900b7ee6c424f47304a9cf098de *pichome_release.zip
eb11382b6241b03f598530206c21e0a1 *short.php
a4167122758dd580e234395e98987bcb *static/bootstrap/css/bootstrap-slider.css
e5f6fb08f469dc836cb3609e23694b3a *static/bootstrap/css/bootstrap-theme.css
diff --git a/admin/system/common.php b/admin/system/common.php
index 8e47b59..2a1b0a8 100644
--- a/admin/system/common.php
+++ b/admin/system/common.php
@@ -113,7 +113,7 @@ if($operation == 'getApp'){//获取当前用户应用
left join %t s on s.uid = u.uid and s.skey=%swhere u.uid =%d",
array('user','user_setting','headerColor',$uid));
if($udata['avatarstatus'] == 1){
- $userData['icon'] = 'avatar.php?uid='.$udata['uid'];
+ $userData['icon'] = 'avatar.php?uid='.$udata['uid'].'&random='.VERHASH;
}elseif($udata['svalue']){
$userData['firstword'] = strtoupper(new_strsubstr($udata['username'],1,''));
$userData['headerColor'] = $udata['svalue'];
diff --git a/avatar.php b/avatar.php
index 1b71628..ea0834a 100644
--- a/avatar.php
+++ b/avatar.php
@@ -29,7 +29,7 @@ if(file_exists(dirname(__FILE__).'/'.$avatar)) {
exit;
}
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
- $avatar_url = 'static/image/avatar/noavatar_'.$size.'.gif';
+ $avatar_url = 'data/avatar/noavatar_'.$size.'.gif';
}
if(empty($random)) {
diff --git a/core/core_version.php b/core/core_version.php
index 0eedf0a..7d5ec07 100644
--- a/core/core_version.php
+++ b/core/core_version.php
@@ -11,8 +11,8 @@ if(!defined('IN_OAOOA')) {
}
if(!defined('CORE_VERSION')) {
- define('CORE_VERSION', 'beta1');
+ define('CORE_VERSION', 'beta1.1');
define('CORE_VERSION_LEVEL', 'Pichome');
- define('CORE_RELEASE', '20210820');
- define('CORE_FIXBUG' , '01000000');
+ define('CORE_RELEASE', '20210923');
+ define('CORE_FIXBUG' , '01100000');
}
\ No newline at end of file
diff --git a/core/function/function_cache.php b/core/function/function_cache.php
index 1ed8b5b..020b335 100644
--- a/core/function/function_cache.php
+++ b/core/function/function_cache.php
@@ -54,13 +54,13 @@ function updatecache($cachename = '') {
try{
@include_once DZZ_ROOT.'./dzz/'.$entrys[0].'/cache/cache_'.$entrys[1].'.php';
if(function_exists('build_cache_'.$entrys[0].'_'.$entrys[1])) call_user_func('build_cache_'.$entrys[0].'_'.$entrys[1]);
- elseif(function_exists('build_cache_app_'.$entryr[1])) call_user_func('build_cache_app_'.$entrys[1]);
+ elseif(function_exists('build_cache_app_'.$entrys[1])) call_user_func('build_cache_app_'.$entrys[1]);
}catch(Exception $e){continue;}
}elseif(count($entrys)==3){
try{
@include_once DZZ_ROOT.'./'.$entrys[0].'/'.$entrys[1].'/cache/cache_'.$entrys[2].'.php';
if(function_exists('build_cache_'.$entrys[1].'_'.$entrys[2])) call_user_func('build_cache_'.$entrys[1].'_'.$entrys[2]);
- elseif(function_exists('build_cache_app_'.$entryr[1])) call_user_func('build_cache_app_'.$entrys[1]);
+ elseif(function_exists('build_cache_app_'.$entrys[1])) call_user_func('build_cache_app_'.$entrys[1]);
}catch(Exception $e){continue;}
} else {//插件缓存
diff --git a/core/function/function_core.php b/core/function/function_core.php
index 90efff8..df683d8 100644
--- a/core/function/function_core.php
+++ b/core/function/function_core.php
@@ -804,7 +804,7 @@ function avatar_block($uid=0,$headercolors=array(),$class="Topcarousel"){
}
if(empty($user)) return '';
if($user['avatarstatus']){//用户已经上传头像
- return '';
+ return '
';
}else{//没有上传头像,使用背景+首字母
if($uid){
if($headercolors[$uid]) $headerColor=$headercolors[$uid];
diff --git a/data/attachment/appimg/index.html b/data/attachment/appimg/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/data/attachment/cache/index.html b/data/attachment/cache/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/data/attachment/dzz/index.html b/data/attachment/dzz/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/data/attachment/qrcode/index.html b/data/attachment/qrcode/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/data/log/index.html b/data/log/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/data/sysdata/index.html b/data/sysdata/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/data/template/index.html b/data/template/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/dzz/pichome/admin.php b/dzz/pichome/admin.php
index 7230898..4c536c3 100644
--- a/dzz/pichome/admin.php
+++ b/dzz/pichome/admin.php
@@ -26,7 +26,7 @@
if (!file_exists($waterfilepath)) {
$waterfilepath = htmlspecialchars;
}
- include template('page/adminBasic');
+ include template('pc/page/adminBasic');
}
}
@@ -46,7 +46,7 @@
exit(json_encode(array('success' => true)));
} else {
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
- include template('page/adminPagesetting');
+ include template('pc/page/adminPagesetting');
}
} elseif ($do == 'loginpage') {//登录页设置
if (submitcheck('settingsubmit')) {
@@ -71,7 +71,7 @@
updatesetting($setting, $settingnew);
exit(json_encode(array('success' => true)));
} else {
- include template('page/adminLoginpage');
+ include template('pc/page/adminLoginpage');
}
} elseif ($do == 'fileterset') {//筛选项设置
@@ -91,7 +91,7 @@
}else{
$data = json_encode(array());
}
- include template('page/adminFileterset');
+ include template('pc/page/adminFileterset');
}
}
function updatesetting($setting, $settingnew){
diff --git a/dzz/pichome/ajax.php b/dzz/pichome/ajax.php
index a956563..bcb52b8 100644
--- a/dzz/pichome/ajax.php
+++ b/dzz/pichome/ajax.php
@@ -857,7 +857,7 @@
if ($appid) {
if ($data = DB::fetch_first("select * from %t where appid=%s ", array('pichome_vapp', $appid))) {
$data['filter'] = unserialize($data['filter']);
- if($data['filter']){
+ // if($data['filter']){
foreach ($data['filter'] as $k => $v) {
if ($v['key'] == 'tag' && $v['chacked'] == 1) {
if (isset($v['group'])) {
@@ -875,21 +875,21 @@
}
$pichomefilterfileds = $data['filter'];
exit(json_encode(array('success' => true, 'data' => $pichomefilterfileds)));
- }else{
- if (isset($setting['pichomefilterfileds'])) {
- exit(json_encode(array('success' => true, 'data' => $setting['pichomefilterfileds'])));
- } else {
- $setting = C::t('setting')->fetch_all('pichomefilterfileds');
- exit(json_encode(array('success' => true, 'data' =>$setting['pichomefilterfileds'])));
- }
- }
+ // }else{
+ // if (isset($setting['pichomefilterfileds'])) {
+ // exit(json_encode(array('success' => true, 'data' => $setting['pichomefilterfileds'])));
+ // } else {
+ // $setting = C::t('setting')->fetch_all('pichomefilterfileds');
+ // exit(json_encode(array('success' => true, 'data' =>$setting['pichomefilterfileds'])));
+ // }
+ // }
} else {
exit(json_encode(array('error' => true)));
}
} else {
- if (isset($setting['pichomefilterfileds'])) {
- exit(json_encode(array('success' => true, 'data' => $setting['pichomefilterfileds'])));
+ if (isset($_G['setting']['pichomefilterfileds'])) {
+ exit(json_encode(array('success' => true, 'data' => $_G['setting']['pichomefilterfileds'])));
} else {
$setting = C::t('setting')->fetch_all('pichomefilterfileds');
exit(json_encode(array('success' => true, 'data' =>$setting['pichomefilterfileds'])));
diff --git a/dzz/pichome/checkexport.php b/dzz/pichome/checkexport.php
index 3038a2d..a7469eb 100644
--- a/dzz/pichome/checkexport.php
+++ b/dzz/pichome/checkexport.php
@@ -142,7 +142,7 @@
'personal' => 1,
'dateline' => $mtime,
'path' => $path,
- 'filter'=>'a:12:{i:0;a:3:{s:3:"key";s:3:"tag";s:4:"text";s:6:"标签";s:7:"checked";s:1:"1";}i:1;a:3:{s:3:"key";s:5:"color";s:4:"text";s:6:"颜色";s:7:"checked";s:1:"1";}i:2;a:3:{s:3:"key";s:4:"link";s:4:"text";s:6:"链接";s:7:"checked";s:1:"1";}i:3;a:3:{s:3:"key";s:4:"desc";s:4:"text";s:6:"注释";s:7:"checked";s:1:"1";}i:4;a:3:{s:3:"key";s:8:"duration";s:4:"text";s:6:"时长";s:7:"checked";s:1:"1";}i:5;a:3:{s:3:"key";s:4:"size";s:4:"text";s:6:"尺寸";s:7:"checked";s:1:"1";}i:6;a:3:{s:3:"key";s:3:"ext";s:4:"text";s:6:"类型";s:7:"checked";s:1:"1";}i:7;a:3:{s:3:"key";s:5:"shape";s:4:"text";s:6:"形状";s:7:"checked";s:1:"1";}i:8;a:3:{s:3:"key";s:5:"grade";s:4:"text";s:6:"评分";s:7:"checked";s:1:"1";}i:9;a:3:{s:3:"key";s:5:"btime";s:4:"text";s:12:"添加时间";s:7:"checked";s:1:"1";}i:10;a:3:{s:3:"key";s:8:"dateline";s:4:"text";s:12:"修改日期";s:7:"checked";s:1:"1";}i:11;a:3:{s:3:"key";s:5:"mtime";s:4:"text";s:12:"创建日期";s:7:"checked";s:1:"1";}}'
+ 'filter'=>'a:13:{i:0;a:3:{s:3:"key";s:8:"classify";s:4:"text";s:6:"分类";s:7:"checked";s:1:"1";}i:1;a:4:{s:3:"key";s:3:"tag";s:4:"text";s:6:"标签";s:7:"checked";s:1:"1";s:8:"showtype";s:1:"0";}i:2;a:3:{s:3:"key";s:5:"color";s:4:"text";s:6:"颜色";s:7:"checked";s:1:"1";}i:3;a:3:{s:3:"key";s:4:"link";s:4:"text";s:6:"链接";s:7:"checked";s:1:"1";}i:4;a:3:{s:3:"key";s:4:"desc";s:4:"text";s:6:"注释";s:7:"checked";s:1:"1";}i:5;a:3:{s:3:"key";s:8:"duration";s:4:"text";s:6:"时长";s:7:"checked";s:1:"1";}i:6;a:3:{s:3:"key";s:4:"size";s:4:"text";s:6:"尺寸";s:7:"checked";s:1:"1";}i:7;a:3:{s:3:"key";s:3:"ext";s:4:"text";s:6:"类型";s:7:"checked";s:1:"1";}i:8;a:3:{s:3:"key";s:5:"shape";s:4:"text";s:6:"形状";s:7:"checked";s:1:"1";}i:9;a:3:{s:3:"key";s:5:"grade";s:4:"text";s:6:"评分";s:7:"checked";s:1:"1";}i:10;a:3:{s:3:"key";s:5:"btime";s:4:"text";s:12:"添加时间";s:7:"checked";s:1:"1";}i:11;a:3:{s:3:"key";s:8:"dateline";s:4:"text";s:12:"修改日期";s:7:"checked";s:1:"1";}i:12;a:3:{s:3:"key";s:5:"mtime";s:4:"text";s:12:"创建日期";s:7:"checked";s:1:"1";}}'
];
if($appid = C::t('pichome_vapp')->insert($appattr)){
diff --git a/dzz/pichome/class/class_eagleexport.php b/dzz/pichome/class/class_eagleexport.php
index 871ed9b..f450d88 100644
--- a/dzz/pichome/class/class_eagleexport.php
+++ b/dzz/pichome/class/class_eagleexport.php
@@ -15,10 +15,13 @@
private $uid = 0;//用户id
private $username = null;//用户名
private $filenum = 0;//总文件数
- private $isexportnum = 0;//已导入文件数
- private $mjsondir = DZZ_ROOT.'data/attachment/cache/';
+ private $checkpage = 1;
+ private $checklimit = 100;
+ private $checknum = 0;
private $eagledir =DZZ_ROOT.'library';
private $exportstatus = 0;
+ private $donum = 0;
+ private $lastid = '';
public function __construct($data = array())
{
@@ -28,7 +31,9 @@
$this->uid = $data['uid'];
$this->username = $data['username'];
$this->exportstatus = ($data['status'] == 1) ? 1:0;
+ // $this->donum = $data['donum'];
$this->eagledir = str_replace(BS,'/',$this->eagledir);
+ $this->lastid = $data['lastid'];
}
public function exportAloneFile($rid,$force = 0)
@@ -183,255 +188,271 @@
return true;
}
- //创建json文件,以便于之后对比
- public function createmjson($jsonfile, $mjsonpath)
- {
- /* $handle = fopen($jsonfile, 'rb');
- while (!feof($handle)) {
- $fileContent = fread($handle, 8192);
- if (file_put_contents($mjsonpath, $fileContent, FILE_APPEND) === false) {
- return false;
- }
- unset($fileContent);
- }*/
- file_put_contents($mjsonpath, file_get_contents($jsonfile));
- return true;
- }
public function execExport($force = false)
{
- if($this->exportstatus == 1) return;
- //原json文件
- $mjsonpath = $this->mjsondir .md5($this->path) . '.json';
-
- //当前文件信息json文件
- $mjsonfile = $this->eagledir . BS . $this->path . '/mtime.json';
- $filedata = file_get_contents($mjsonfile);
- //获取文件信息
- $filedata = json_decode($filedata, true);
-
- //文件总数
- $this->filenum = $filedata['all'];
- unset($filedata['all']);
- //当前json文件id数据
- $fileids = array_keys($filedata);
- //上次json文件id数据
- $ofileids = [];
- //原有json文件数据
- if (file_exists($mjsonpath)) {
- $ofiledata = file_get_contents($mjsonpath);
- //获取文件信息
- $ofiledata = json_decode($ofiledata, true);
- unset($ofiledata['all']);
- $ofileids = array_keys($ofiledata);
- }
- //如果之前有json文件数据存储,则对比多余的执行删除
- if (!empty($ofileids)) {
- //获取原来有,现在没有的数据并删除
- $delids = array_diff($ofileids, $fileids);
- $delrids = [];
- foreach ($delids as $id) {
- $delrids[] = $id . $this->appid;
- }
- if(!empty($delrids)) C::t('pichome_resources')->delete_by_rid($delrids);
-
- }
- $vappdata = C::t('pichome_vapp')->fetch($this->appid);
-
- //如果存在最后更新的id值视为更新中断,从该id开始更新
- if($vappdata['lastid']){
- //获取该id值位于数组中的位置
- $index = array_search($vappdata['lastid'],$fileids);
- //从当前索引位置截取数组中的值,忽略已经处理过的值
- $filedata = array_slice($filedata,$index);
- }
-
-
- //运行导入
- foreach ($filedata as $k => $v) {
- $currentindex = array_search($k,$fileids);
- $percent = round(($currentindex/$this->filenum)*100);
- //记录导入起始位置,以备中断后从此处,更改导入状态为正在导入
- C::t('pichome_vapp')->update($this->appid,array('lastid'=>$k,'percent'=>$percent,'state'=>1));
- $tmppath =$this->eagledir .BS. $this->path . BS . 'images' . BS . $k . '.info';
- //文件信息文件路径
- $metadatajsonfile = $tmppath . BS . 'metadata.json';
- //组合文件id
- $rid = $k . $this->appid;
-
- $data = C::t('pichome_resources')->fetch($rid);
-
- //查询文件表是否有对应记录
- if ($data ) {
- //json文件不存在时删除文件,此情形基本不会出现(文件更新时,mtime会对应发生变化)
- if (!file_exists($metadatajsonfile)) {
- //删除文件
- C::t('pichome_resources')->delete_by_rid($rid);
- continue;
- }
- elseif ($force || $data['dateline'] < $v) {//当文件最后更新时间小于eagle时间时,需处理标签,颜色,目录等信息
-
- //获取文件信息数据
- $metadata = file_get_contents($metadatajsonfile);
- $filemetadata = json_decode($metadata, true);
- $p = new Encode_Core();
- $charset = $p->get_encoding($tmppath);
- if(CHARSET != $charset)$filemetadataname= diconv($filemetadata['name'],CHARSET,$charset);
- //文件名称
- $filename = $filemetadataname . '.' . $filemetadata['ext'];
- //缩略图名称
- $thumbname = $filemetadataname . '_thumbnail.png';
- //文件路径
- $file = $tmppath . BS . $filename;
- //缩略图路径
- $thumbfile = $tmppath . BS . $thumbname;
- //检查md5是否发生变化
- $filemd5 = md5_file($file);
- //如果md5发生变化则删除原数据,重新导入
- if ($data['md5'] != $filemd5) {
- C::t('pichome_resources')->delete_by_rid($rid);
- $filemetadata['filename'] = $filemetadata['name'];
- $filemetadata['file'] = $file;
- $filemetadata['thumbfile'] = $thumbfile;
- $filemetadata['md5'] = $filemd5;
- $filemetadata['rid'] = $rid;
- $filemetadata['dateline'] = $v;
- $this->exportfile($filemetadata);
+ if($this->exportstatus > 0 && $this->exportstatus<3 ) return ;
+ C::t('pichome_vapp')->update($this->appid,array('state'=>1,'donum'=>0,'percent'=>0));
+ $filedir = $this->eagledir . '/' . $this->path.'/images';
+ if ($dch = opendir($filedir)) {
+ while (($file = readdir($dch)) != false) {
+ if ($file != '.' && $file != '..') {
+ $filePath = $filedir . '/' . $file;
+ if (is_dir($filePath) && file_exists($filePath.'/metadata.json')) {
+ $this->filenum++;
}
- else {
- //查询原数据中的属性信息
- $attrdata = C::t('pichome_resources_attr')->fetch($rid);
- //信息表数据记录
- $setarr = [];
- //检查标签变化
- //标签数据
- $tags = $filemetadata['tags'];
- //现有标签
- $tagids = [];
- //原有标签
- $oldtids=[];
- if ($attrdata['tag']) $oldtids = explode(',', $attrdata['tag']);
- if (!empty($tags)) {
- $tagids = $this->addtag($tags);
- $setarr['tag'] = implode(',',$tagids);
- }
- $addtags = array_diff($tagids,$oldtids);
- $deltags = array_diff($oldtids,$tagids);
-
- if(!empty($deltags))C::t('pichome_resourcestag')->delete_by_ridtid($rid,$deltags);
- foreach($addtags as $tid){
- $rtag = ['appid' => $this->appid, 'rid' => $rid, 'tid' => $tid];
- C::t('pichome_resourcestag')->insert($rtag);
- }
-
- //检查标注变化
- if (isset($filemetadata['comments'])) {
- $cids = [];
- foreach ($filemetadata['comments'] as $commentval) {
- $tcommentval['id'] = $commentval['id'] . $this->appid;
- $tentval['appid'] = $this->appid;
- $tcommentval['rid'] = $rid;
- $tcommentval['x'] = number_format($commentval['x'], 2);
- $tcommentval['y'] = number_format($commentval['y'], 2);
- C::t('pichome_comments')->insert($tcommentval);
- $cids[] = $tcommentval['id'];
- }
- $ocids = C::t('pichome_comments')->fetch_id_by_rid($rid);
- $delcids = array_diff($ocids, $cids);
- if (!empty($delcids)) C::t('pichome_comments')->delete($delcids);
- } else {
- C::t('pichome_comments')->delete_by_rid($rid);
- }
-
- $filename = $filemetadata['name'] . '.' . $filemetadata['ext'];
- //检查reources数据变化
- $resourcesarr = [
- 'name' => $filename,
- 'dateline' => $v,
- 'isdelete' => $filemetadata['isDeleted'],
- 'grade' => $filemetadata['star'] ? intval($filemetadata['star']) : 0
- ];
- $file = str_replace(BS,'/',$file);
- $attachment = str_replace($this->eagledir .'/', '', $file);
- $path = str_replace(BS, '/', $attachment);
- if (!file_exists($thumbfile)) {
- $thumb = (file_exists($filemetadata['thumbfile'])) ? 1 : 0;
- } else {
- $thumb = 1;
- }
- $setarr['path'] = $path;
- $resourcesarr['hasthumb'] = $thumb;
- $resourcesarr['rid'] = $rid;
- C::t('pichome_resources')->insert($resourcesarr);
- $rfids = [];
-
- //检查目录变化
- foreach ($filemetadata['folders'] as $fv) {
- $fid = $fv . $this->appid;
- if (!C::t('pichome_folder')->check_password_byfid($fid)) {
- $frsetarr = ['appid' => $this->appid, 'rid' => $rid, 'fid' => $fid];
-
- $rfids[] = C::t('pichome_folderresources')->insert($frsetarr);
- } else {
+ }
+ }
+ closedir($dch);
+ }else{
+ C::t('pichome_vapp')->update($this->appid,array('state'=>0));
+ return array('error' => 'Read Dir Failer');
+ }
+ if ($dh = opendir($filedir)) {
+ while (($file = readdir($dh)) != false) {
+ if ($file != '.' && $file != '..') {
+ $filePath = $filedir . '/' . $file;
+ if (is_dir($filePath) && file_exists($filePath.'/metadata.json')) {
+ $id = str_replace('.info','',$file);
+ //组合文件id
+ $rid = $id . $this->appid;
+ //文件路径
+ $tmppath =$filePath;
+ //文件信息文件路径
+ $metadatajsonfile = $tmppath . BS . 'metadata.json';
+
+ $data = C::t('pichome_resources')->fetch($rid);
+ //获取json文件最后修改时间
+ $lastdate = filemtime($metadatajsonfile);
+ //查询文件表是否有对应记录
+ if ($data ) {
+ //json文件不存在时删除文件,此情形基本不会出现(文件更新时,mtime会对应发生变化)
+ if (!file_exists($metadatajsonfile)) {
+ //删除文件
+ C::t('pichome_resources')->delete_by_rid($rid);
continue;
}
- }
- $orfids = C::t('pichome_folderresources')->fetch_id_by_rid($rid);
- $delrfids = array_diff($orfids, $rfids);
- C::t('pichome_folderresources')->delete($delrfids);
- //尝试更新属性表数据
- $setarr['link'] = $filemetadata['url'] ? trim($filemetadata['url']) : '';
- //描述数据
- $setarr['desc'] = $filemetadata['annotation'] ? htmlspecialchars($filemetadata['annotation']) : '';
- if ($filemetadata['duration']) $setarr['duration'] = number_format($filemetadata['duration'], 2);
- $setarr['rid'] = $rid;
- C::t('pichome_resources_attr')->insert($setarr);
-
- }
+ elseif ($force || ($data['lastdate']< $lastdate)) {//当文件最后更新时间小于eagle时间时,需处理标签,颜色,目录等信息
+ //获取文件信息数据
+ $metadata = file_get_contents($metadatajsonfile);
+ $filemetadata = json_decode($metadata, true);
+ $p = new Encode_Core();
+ $charset = $p->get_encoding($tmppath);
+ if(CHARSET != $charset)$filemetadataname= diconv($filemetadata['name'],CHARSET,$charset);
+ //文件名称
+ $filename = $filemetadataname . '.' . $filemetadata['ext'];
+ //缩略图名称
+ $thumbname = $filemetadataname . '_thumbnail.png';
+ //文件路径
+ $file = $tmppath . BS . $filename;
+ //缩略图路径
+ $thumbfile = $tmppath . BS . $thumbname;
+ //检查md5是否发生变化
+ $filemd5 = md5_file($file);
+ //如果md5发生变化则删除原数据,重新导入
+ if ($data['md5'] != $filemd5) {
+ C::t('pichome_resources')->delete_by_rid($rid);
+ $filemetadata['filename'] = $filemetadata['name'];
+ $filemetadata['file'] = $file;
+ $filemetadata['thumbfile'] = $thumbfile;
+ $filemetadata['md5'] = $filemd5;
+ $filemetadata['rid'] = $rid;
+ $filemetadata['dateline'] = $filemetadata['mtime'];
+ $filemetadata['lastdate'] = $lastdate;
+ $this->exportfile($filemetadata);
+ }
+ else {
+ //查询原数据中的属性信息
+ $attrdata = C::t('pichome_resources_attr')->fetch($rid);
+ //信息表数据记录
+ $setarr = [];
+ //检查标签变化
+ //标签数据
+ $tags = $filemetadata['tags'];
+ //现有标签
+ $tagids = [];
+ //原有标签
+ $oldtids=[];
+ if ($attrdata['tag']) $oldtids = explode(',', $attrdata['tag']);
+
+ if (!empty($tags)) {
+ $tagids = $this->addtag($tags);
+ $setarr['tag'] = implode(',',$tagids);
+ }
+ $addtags = array_diff($tagids,$oldtids);
+ $deltags = array_diff($oldtids,$tagids);
+
+ if(!empty($deltags))C::t('pichome_resourcestag')->delete_by_ridtid($rid,$deltags);
+ foreach($addtags as $tid){
+ $rtag = ['appid' => $this->appid, 'rid' => $rid, 'tid' => $tid];
+ C::t('pichome_resourcestag')->insert($rtag);
+ }
+
+ //检查标注变化
+ if (isset($filemetadata['comments'])) {
+ $cids = [];
+ foreach ($filemetadata['comments'] as $commentval) {
+ $tcommentval['id'] = $commentval['id'] . $this->appid;
+ $tentval['appid'] = $this->appid;
+ $tcommentval['rid'] = $rid;
+ $tcommentval['x'] = number_format($commentval['x'], 2);
+ $tcommentval['y'] = number_format($commentval['y'], 2);
+ try{
+ C::t('pichome_comments')->insert($tcommentval);
+ }catch (Exception $e){
+
+ }
+ $cids[] = $tcommentval['id'];
+ }
+ $ocids = C::t('pichome_comments')->fetch_id_by_rid($rid);
+ $delcids = array_diff($ocids, $cids);
+ if (!empty($delcids)) C::t('pichome_comments')->delete($delcids);
+ } else {
+ C::t('pichome_comments')->delete_by_rid($rid);
+ }
+
+ $filename = $filemetadata['name'] . '.' . $filemetadata['ext'];
+ //检查reources数据变化
+ $resourcesarr = [
+ 'name' => $filename,
+ 'dateline' => $filemetadata['lastModified'],
+ 'isdelete' => $filemetadata['isDeleted'],
+ 'grade' => $filemetadata['star'] ? intval($filemetadata['star']) : 0,
+ 'lastdate'=>$lastdate
+ ];
+ $file = str_replace(BS,'/',$file);
+ $attachment = str_replace($this->eagledir .'/', '', $file);
+ $path = str_replace(BS, '/', $attachment);
+ if (!file_exists($thumbfile)) {
+ $thumb = (file_exists($filemetadata['thumbfile'])) ? 1 : 0;
+ } else {
+ $thumb = 1;
+ }
+ $setarr['path'] = $path;
+ $resourcesarr['hasthumb'] = $thumb;
+ $resourcesarr['rid'] = $rid;
+ C::t('pichome_resources')->insert($resourcesarr);
+ $rfids = [];
+
+ //检查目录变化
+ foreach ($filemetadata['folders'] as $fv) {
+ $fid = $fv . $this->appid;
+ if (!C::t('pichome_folder')->check_password_byfid($fid)) {
+ $frsetarr = ['appid' => $this->appid, 'rid' => $rid, 'fid' => $fid];
+ $rfids[] = C::t('pichome_folderresources')->insert($frsetarr);
+ } else {
+ continue;
+ }
+ }
+ $orfids = C::t('pichome_folderresources')->fetch_id_by_rid($rid);
+ $delrfids = array_diff($orfids, $rfids);
+ C::t('pichome_folderresources')->delete($delrfids);
+ //尝试更新属性表数据
+ $setarr['link'] = $filemetadata['url'] ? trim($filemetadata['url']) : '';
+ //描述数据
+ $setarr['desc'] = $filemetadata['annotation'] ? $filemetadata['annotation'] : '';
+ if ($filemetadata['duration']) $setarr['duration'] = number_format($filemetadata['duration'], 2);
+ $setarr['rid'] = $rid;
+ C::t('pichome_resources_attr')->insert($setarr);
+ }
+ }
+ else{
+ $this->donum += 1;
+ $percent = round(($this->donum/$this->filenum)*100);
+ //防止因获取文件总个数不准确百分比溢出
+ $percent = ($percent > 100) ? 100:$percent;
+ //记录导入起始位置,以备中断后从此处,更改导入状态为正在导入
+ C::t('pichome_vapp')->update($this->appid,array('lastid'=>$id,'percent'=>$percent,'donum'=>$this->donum,'state'=>1));
+ continue;
+ }
+ }
+ else {//如果没有记录,则为新导入文件
+ if (!file_exists($metadatajsonfile)) {
+ $this->filenum -= 1;
+ continue;
+ }
+ //获取文件信息数据
+ $metadata = file_get_contents($metadatajsonfile);
+ $filemetadata = json_decode($metadata, true);
+ //文件目录信息
+ $filefolders = $filemetadata['folders'];
+ //如果目录含有密码则不导入数据直接跳过
+ $haspassword = C::t('pichome_folder')->check_haspasswrod($filefolders, $this->appid);
+
+ if ($haspassword) continue;
+ $p = new Encode_Core();
+ $charset = $p->get_encoding($tmppath);
+ if(CHARSET != $charset)$filemetadataname= diconv($filemetadata['name'],CHARSET,$charset);
+ $filename =$filemetadataname . '.' . $filemetadata['ext'];
+ $thumbname = $filemetadataname . '_thumbnail.png';
+
+ $file = $tmppath . BS . $filename;
+ $thumbfile = $tmppath . BS . $thumbname;
+ $filemd5 = md5_file($file);
+ $filemetadata['filename'] = $filemetadata['name'];
+ $filemetadata['file'] = $file;
+ $filemetadata['thumbfile'] = $thumbfile;
+ $filemetadata['md5'] = $filemd5;
+ $filemetadata['rid'] = $rid;
+ $filemetadata['mtime'] = $filemetadata['mtime'] ? $filemetadata['mtime']:$filemetadata['modificationTime'];
+ $filemetadata['btime'] = $filemetadata['btime'] ? $filemetadata['btime']:$filemetadata['modificationTime'];
+ $filemetadata['dateline'] = $filemetadata['lastModified'];
+ $filemetadata['lastdate'] = $lastdate;
+ $this->exportfile($filemetadata);
+ }
+ $this->donum += 1;
+ $percent = round(($this->donum/$this->filenum)*100);
+ //防止因获取文件总个数不准确百分比溢出
+ $percent = ($percent > 100) ? 100:$percent;
+ //记录导入起始位置,以备中断后从此处,更改导入状态为正在导入
+ C::t('pichome_vapp')->update($this->appid,array('lastid'=>$id,'percent'=>$percent,'donum'=>$this->donum,'state'=>1));
+ }
}
}
- else {//如果没有记录,则为新导入文件
- if (!file_exists($metadatajsonfile)) {
- $this->filenum -= 1;
- continue;
- }
- //获取文件信息数据
- $metadata = file_get_contents($metadatajsonfile);
- $filemetadata = json_decode($metadata, true);
- //文件目录信息
- $filefolders = $filemetadata['folders'];
- //如果目录含有密码则不导入数据直接跳过
- $haspassword = C::t('pichome_folder')->check_haspasswrod($filefolders, $this->appid);
-
- if ($haspassword) continue;
- $p = new Encode_Core();
- $charset = $p->get_encoding($tmppath);
- if(CHARSET != $charset)$filemetadataname= diconv($filemetadata['name'],CHARSET,$charset);
- $filename =$filemetadataname . '.' . $filemetadata['ext'];
- $thumbname = $filemetadataname . '_thumbnail.png';
-
- //echo $charset;die;
- $file = $tmppath . BS . $filename;
- $thumbfile = $tmppath . BS . $thumbname;
- $filemd5 = md5_file($file);
- $filemetadata['filename'] = $filemetadata['name'];
- $filemetadata['file'] = $file;
- $filemetadata['thumbfile'] = $thumbfile;
- $filemetadata['md5'] = $filemd5;
- $filemetadata['rid'] = $rid;
- $filemetadata['dateline'] = $v;
-
- $this->exportfile($filemetadata);
- }
+ closedir($dh);
+ }else{
+ C::t('pichome_vapp')->update($this->appid,array('state'=>0));
+ return array('error' => 'Read Dir Failer');
}
- //更新存储json文件
- $this->createmjson($mjsonfile,$mjsonpath);
- C::t('pichome_vapp')->update($this->appid,array('lastid'=>'','percent'=>100,'filenum'=>$this->filenum,'state'=>2));
+ //更改状态为校验
+ C::t('pichome_vapp')->update($this->appid,array('lastid'=>'','percent'=>100,'filenum'=>$this->filenum,'donum'=>0,'state'=>2));
+ $total = DB::result_first("select count(rid) from %t where appid = %s ",array('pichome_resources',$this->appid));
+ //校验文件
+ $this->check_file($total);
return array('success' => true);
}
-
+ public function check_file($total){
+
+ $limitsql = ($this->checkpage -1)*$this->checklimit.','.$this->checklimit;
+ $delrids = [];
+ $data = DB::fetch_all("select rid from %t where appid = %s order by lastdate asc limit $limitsql ",array('pichome_resources',$this->appid));
+ if(empty($data)) {
+ C::t('pichome_vapp')->update($this->appid,array('percent'=>100,'state'=>3));
+ return true;
+ }
+ foreach ( $data as $v){
+ $id = str_replace($this->appid,'',$v['rid']);
+ $filejson = $this->eagledir . '/' . $this->path.'/images/'.$id.'.info/metadata.json';
+ if(!file_exists($filejson)){
+ $delrids[] = $v['rid'];
+ }
+ $this->checknum += 1;
+ $percent = round(( $this->checknum/$total)*100);
+ //记录导入起始位置,以备中断后从此处,更改导入状态为正在导入
+ C::t('pichome_vapp')->update($this->appid,array('percent'=>$percent,'state'=>2));
+ }
+ if(!empty($delrids)){
+ //如果有需要删除的,删除后,则重新查询上一页数据
+ C::t('pichome_resources')->delete_by_rid($delrids);
+ $ctotal = DB::result_first("select count(rid) from %t where appid = %s ",array('pichome_resources',$this->appid));
+ if($ctotal)$this->check_file($total);
+ }else{
+ $this->checkpage += 1;
+ $this->check_file($total);
+ }
+ }
public function exportfile($filemetadata)
{
$rid = $filemetadata['rid'];
@@ -470,7 +491,6 @@
];
//插入文件表数据
if (C::t('pichome_resources')->insert($resourcesarr)) {
-
//插入目录关联表数据
foreach ($filemetadata['folders'] as $fv) {
$fid = $fv . $this->appid;
@@ -517,12 +537,14 @@
//链接数据
$setarr['link'] = $filemetadata['url'] ? trim($filemetadata['url']) : '';
//描述数据
- $setarr['desc'] = $filemetadata['annotation'] ? htmlspecialchars($filemetadata['annotation']) : '';
+ $setarr['desc'] = $filemetadata['annotation'] ? $filemetadata['annotation'] : '';
$setarr['rid'] = $rid;
$setarr['appid'] = $this->appid;
$setarr['path'] = $path;
//插入数据
C::t('pichome_resources_attr')->insert($setarr);
+ }else{
+ runlog('eagleexport',$rid);
}
}
diff --git a/dzz/pichome/css/pc/admin.css b/dzz/pichome/css/pc/admin.css
new file mode 100644
index 0000000..c6dff69
--- /dev/null
+++ b/dzz/pichome/css/pc/admin.css
@@ -0,0 +1,133 @@
+.el-aside {
+ background-color: var(--bg-header);
+ border-right: 1px solid var(--border-color-base);
+}
+
+.maxWidth {
+ width: 370px;
+}
+
+#center_title {
+ line-height: 55px;
+ border-bottom: 1px solid var(--border-color-base);
+ padding: 0 25px;
+ color: var(--content-textHover);
+ font-size: 16px;
+}
+
+.el-form-item__label,
+.el-checkbox,
+.el-radio {
+ color: var(--content-text);
+}
+.el-checkbox,
+.el-radio {
+ margin-right: 16px;
+ margin-left: 0 !important;
+}
+.tipTxt{
+ color: var(--tip-color);
+ font-size: 12px;
+ line-height: 20px;
+ margin-top: 6px;
+}
+
+.tipTxt:hover {
+ color: var(--content-text);
+}
+
+.avatar-uploader .el-upload {
+ border: 1px dashed var(--border-color-base);
+ border-radius: 6px;
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+ width: 150px;
+ height: 150px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.avatar-uploader .el-upload:hover {
+ border-color:var(--color-primary);
+}
+
+.avatar-uploader .avatar-uploader-icon {
+ font-size: 16px;
+ color: var(--content-text);
+}
+.avatar-uploader .el-image{
+ height: 150px;
+ width: 100%;
+ line-height: 150px;
+}
+.avatar-uploader .el-image img{
+ max-width: 100%;
+ max-height: 150px;
+ width: auto;
+ height: auto;
+ vertical-align: middle;
+}
+.avatar-uploader .el-progress{
+ position: absolute;
+ left: 0px;
+ top: 0px;
+ background: var(--bg-content);
+ z-index: 100;
+}
+.avatar {
+ max-width: 100%;
+ max-height: 100%;
+ display: inline-block;
+}
+
+.register-bg-bt{
+ background-color: transparent;
+ color: var(--content-text);
+ margin-left: 6px;
+}
+
+.el-checkbox,.el-radio{
+ min-width: 120px;
+ margin-bottom: 8px;
+}
+.theme-block{
+ margin-right: 12px;
+ float: left;
+}
+.theme-block .bg{
+ height: 40px;
+ width: 40px;
+ border: 1px solid var(--border-color-base);
+ border-radius: 4px;
+ position: relative;
+ overflow: hidden;
+ cursor: pointer;
+}
+.theme-block .bg.active{
+ border: 1px solid var(--color-primary);
+}
+
+.theme-block .bg .triangle{
+ position: absolute;
+ right: 0px;
+ bottom: 0px;
+ width: 0;
+ height: 0;
+ border-bottom: 30px solid var(--color-primary);
+ border-left: 30px solid transparent;
+ display: none;
+}
+.theme-block .bg .icon{
+ color: #FFFFFF;
+ font-size: 14px;
+ position: absolute;
+ bottom: 2px;
+ right: 2px;
+ display: none;
+}
+.theme-block .bg.active .triangle,
+.theme-block .bg.active .icon{
+ display: block;
+}
\ No newline at end of file
diff --git a/dzz/pichome/css/pc/common.css b/dzz/pichome/css/pc/common.css
new file mode 100644
index 0000000..0d4efe5
--- /dev/null
+++ b/dzz/pichome/css/pc/common.css
@@ -0,0 +1,448 @@
+*{
+ padding: 0;
+ margin: 0;
+ box-sizing: border-box;
+}
+html,
+body,
+#dzzoffice,
+.el-container,
+.el-main,
+.page-content{
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+}
+.el-header{
+ color: var(--header-text);
+ border-bottom: 1px solid var(--border-color-base);
+}
+.el-color-dropdown{
+ color: var(--header-text);
+ background-color: var(--bg-header);
+ border-bottom: 1px solid var(--border-color-base);
+}
+body{
+ background-color: var(--bg-content);
+}
+[v-cloak]{
+ display: none;
+}
+.el-progress-bar__outer{
+ background-color: var(--bg-input);
+}
+.el-dropdown-menu__item--divided{
+ border-color: var(--border-color-base);
+}
+.el-dropdown-menu__item--divided:before{
+ background-color: transparent;
+}
+.el-divider.el-divider--horizontal{
+ margin: 8px 0;
+}
+.el-input__inner,
+.el-textarea__inner{
+ font-size: 14px;
+ color: var(--header-text);
+ background-color: var(--bg-input);
+}
+.el-input__inner:focus,.el-input__inner:hover,
+.el-textarea__inner:focus,.el-textarea__inner:hover{
+ background-color: var(--bg-inputfocus);
+ border-color: var(--color-primary);
+}
+.el-table td, .el-table th.is-leaf{
+ border-color:var(--border-color-base);
+}
+.el-table--border::after, .el-table--group::after, .el-table::before{
+ background-color: var(--border-color-base);
+}
+.el-table th,.el-table tr{
+ background-color: var(--bg-content);
+}
+.el-table--striped .el-table__body tr.el-table__row--striped td{
+ background-color: var(--td-striped);
+}
+.el-table--enable-row-hover .el-table__body tr:hover>td{
+ background-color: var(--bg-content);
+}
+.el-table--striped .el-table__body tr.el-table__row--striped:hover>td{
+ background-color: var(--td-striped);
+}
+.el-dialog,
+.el-popper{
+ background-color: var(--bg-poper);
+ color: var(--header-text);
+ border-color:var(--border-color-base);
+}
+
+.el-popper[x-placement^=bottom] .popper__arrow{
+ border-bottom-color:var(--border-color-base) !important;
+}
+.el-popper[x-placement^=bottom] .popper__arrow::after{
+ border-bottom-color:var(--bg-poper) !important;
+}
+.el-popper[x-placement^=left] .popper__arrow{
+ border-left-color:var(--border-color-base) !important;
+}
+.el-popper[x-placement^=left] .popper__arrow::after{
+ border-left-color:var(--bg-poper) !important;
+}
+.el-dialog .el-dialog__header{
+ text-align: center;
+}
+.el-dialog .el-dialog__header .el-dialog__title{
+ color: var(--header-text);
+}
+.el-form-item__label{
+ color: var(--content-textHover);
+}
+.el-tooltip__popper.is-dark{
+ color: #FFFFFF;
+ border: 1px solid var(--border-color-base);
+ background-color: var(--bg-tooltip);
+}
+
+.el-tooltip__popper .popper__arrow{
+ border-bottom-color:var(--border-color-base) !important;
+}
+.el-tooltip__popper .popper__arrow::after{
+ border-bottom-color:var(--bg-tooltip) !important;
+}
+
+.el-menu{
+ background-color: transparent;
+ border: 0;
+}
+.el-menu .el-menu-item,
+.el-dropdown-menu__item{
+ color: var(--header-text);
+}
+.el-menu .el-menu-item:focus,.el-menu .el-menu-item:hover,.el-menu .el-menu-item.is-active,
+.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover {
+ color: var(--header-active);
+ background-color: var(--bg-poperHover);
+}
+.el-dropdown,
+.el-menu .el-menu-item{
+ color: var(--header-text);
+}
+
+
+.el-select-dropdown__item{
+ color: var(--header-text);
+}
+.el-select-dropdown__item.selected{
+ color: var(--header-active);
+}
+.el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
+ background-color: var(--bg-poperHover);
+ color: var(--header-active);
+}
+
+
+.el-checkbox,
+.el-radio{
+ color: var(--header-text);
+}
+.el-checkbox .el-checkbox__inner,
+.el-radio .el-radio__inner{
+ background-color: transparent;
+ border-color: var(--radio-line);
+}
+.el-checkbox .el-checkbox__input.is-focus .el-checkbox__inner,
+.el-radio .el-radio__input.is-focus .el-radio__inner{
+ border-color: var(--radio-line);
+}
+
+.el-radio__input.is-checked+.el-radio__label,
+.el-checkbox__input.is-checked+.el-checkbox__label{
+ color: var(--header-active);
+}
+
+.el-input .el-input__icon{
+ color: var(--header-text);
+}
+.el-date-table td.available:hover,
+.el-picker-panel__icon-btn:hover,
+.el-date-table td.today span{
+ color: var(--header-active);
+}
+.el-picker-panel__icon-btn,
+.el-date-table td,
+.el-date-table th{
+ color: var(--header-text);
+}
+.el-date-table td.in-range div,
+.el-date-table td.in-range div:hover{
+ background-color: var(--color-primary);
+}
+
+.el-date-range-picker__content.is-left,
+.el-date-table th{
+ border-color:var(--border-color-base) !important;
+}
+
+.el-tree,
+.el-tree .el-tree-node .el-tree-node__expand-icon{
+ background: transparent;
+ color: var(--header-text);
+}
+.el-tree .el-tree-node .el-tree-node__expand-icon.is-leaf{
+ color: transparent !important;
+}
+.el-tree .el-tree-node:focus .el-tree-node__expand-icon{
+ color: var(--header-active);
+}
+.el-tree .el-tree-node__content:hover{
+ color: var(--header-active);
+ background-color: var(--bg-poperHover);
+}
+.el-tree .el-tree-node:focus>.el-tree-node__content{
+ background-color: var(--bg-poperHover);
+}
+
+
+
+
+
+.page-content{
+ display: flex;
+ flex-direction: column;
+}
+.page-component__scroll{
+ height: 100%;
+ flex: 1;
+}
+.page-component__scroll>.el-scrollbar__wrap {
+ overflow-x: hidden;
+}
+.Topcarousel{
+ border-radius: 50%;
+ text-align: center;
+ display: inline-block;
+ font-size: 18px;
+ width: 100%;
+ height: 100%;
+ color: #FFF;
+}
+#copyInput{
+ opacity: 0;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+}
+.img-circle{
+ border-radius: 50%;
+ width: 100%;
+ height: 100%;
+}
+.hide{
+ display: none !important;
+}
+.PopoverNotPadding{
+ padding: 0;
+}
+.clearfix:after{
+ content: '.';
+ clear: both;
+ display: block;
+ height: 0;
+ visibility: hidden;
+ font-size: 0;
+ line-height: 0;
+}
+ul{
+ list-style: none;
+}
+.squareIcon{
+ height: 48px;
+ width: 48px;
+ background: var(--bg-color);
+ color: var(--text-color1);
+ padding: 0 8px;
+ border-radius: 6px;
+ text-align: center;
+ line-height: 48px;
+ display: inline-block;
+ margin-right: 8px;
+ flex: 0 0 auto;
+}
+.squareIcon i{
+ font-size: 28px;
+}
+.squareImg{
+ height: 48px;
+ width: 48px;
+ border-radius: 6px;
+ display: inline-block;
+ margin-right: 8px;
+ flex: 0 0 auto;
+ background: var(--g-colroimg);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.squareImg img{
+ max-width: 100%;
+ max-height: 100%;
+}
+
+.dzz-dropdown-menu .dzz-dropdown-menu__item{
+ color: var(--header-text);
+ line-height: 35px;
+ padding: 0 5px;
+ border-radius: 4px;
+ position: relative;
+ cursor: pointer;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.dzz-dropdown-menu .dzz-dropdown-menu__item:hover{
+ color: var(--header-active);
+ background-color: var(--bg-poperHover);
+}
+.dzz-dropdown-menu .dzz-dropdown-menu__item.nothover:hover{
+ background-color: transparent;
+}
+
+#top_header {
+ height: 70px;
+ width: 100%;
+ padding: 4px 16px;
+ align-items: center;
+ display: flex;
+}
+
+#top_header .header-content .h-left .el-image {
+ width: 35px;
+ height: 35px;
+}
+
+#top_header .header-content .h-left .text {
+ font-size: 16px;
+ font-weight: 700;
+ margin-left: 10px;
+ color: var(--header-active);
+}
+#top_header .header-content {
+ display: flex;
+ height: 56px;
+ align-items: center;
+ width: 100%;
+}
+
+#top_header .header-content .h-left {
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ text-decoration: none;
+}
+#top_header .header-content .h-center {
+ flex: 1 1 auto;
+ height: 100%;
+ padding: 0 30px;
+ display: flex;
+ align-items: center;
+}
+#top_header .header-content .h-right #dzz_avatar_img {
+ cursor: pointer;
+ width: 35px;
+ height: 35px;
+ line-height: 35px;
+ margin-left: 5px;
+}
+.el-empty{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ text-align: center;
+ box-sizing: border-box;
+ padding: 40px 0;
+}
+.el-empty__image {
+ width: 160px;
+}
+.el-empty__image img{
+ user-select: none;
+ width: 100%;
+ height: 100%;
+ vertical-align: top;
+ object-fit: contain;
+}
+.el-empty__description {
+ margin-top: 20px;
+ color: var(--content-textHover);
+}
+
+
+.aboutPichome{
+ padding: 0;
+ width: 478px;
+}
+.aboutPichome .el-message-box__header,
+.aboutPichome .el-message-box__btns{
+ display: none;
+}
+.aboutPichome .aboutlogo{
+ text-align: center;
+ line-height: 0;
+ padding-top: 40px;
+}
+.aboutPichome .aboutmessage{
+ padding: 65px 40px;
+ font-size: 19px;
+ padding-bottom: 15px;
+}
+.aboutPichome .aboutmessage .aboutlist{
+ margin-bottom: 20px;
+ overflow: hidden;
+}
+.aboutPichome a{
+ text-decoration: none;
+}
+.aboutPichome .aboutmessage .aboutlist .title{
+ float: left;
+ width: 95px;
+}
+.aboutPichome .aboutmessage .aboutlist .mes{
+ float: left;
+ width: calc(100% - 95px);
+}
+.aboutPichome .aboutmessage .aboutlist .update{
+ font-size: 12px;
+}
+
+
+
+#systemNotice .panel-heading {
+ border-radius: 0;
+ background: var(--bg-header);
+ color: var(--header-text);
+ padding: 10px 15px;
+}
+#systemNotice .panel-heading .close{
+ float: right;
+ border: 0;
+ font-size: 21px;
+ color: var(--header-text);
+}
+#systemNotice .panel-body {
+ background: var(--bg-input);
+ color: var(--header-text);
+ padding: 10px 15px !important;
+}
+#systemNotice .panel-body img{
+ max-height: 30px;
+ vertical-align: bottom;
+ margin-right: 10px;
+}
+#systemNotice .panel-body a{
+ color: var(--header-text);
+ text-decoration: none;
+}
\ No newline at end of file
diff --git a/dzz/pichome/css/pc/details.css b/dzz/pichome/css/pc/details.css
new file mode 100644
index 0000000..2ed1e3c
--- /dev/null
+++ b/dzz/pichome/css/pc/details.css
@@ -0,0 +1,354 @@
+.el-header,.el-main{
+ background-color: var(--bg-content);
+}
+#top_header .header-content .h-right .r-option {
+ display: flex;
+ align-items: center;
+ height: 40px;
+}
+#top_header .header-content .h-right .right-block {
+ float: left;
+ font-size: 24px;
+ padding: 8px;
+ cursor: pointer;
+ border-radius: 50%;
+ width: 40px;
+ height: 40px;
+ margin-right: 5px;
+ color: var(--header-icon);
+}
+#top_header .header-content .h-right .right-block:hover {
+ background: var(--header-textHover);
+ color: var(--header-iconHover);
+}
+#top_header .header-content .h-right .right-block i {
+ vertical-align: top;
+}
+#top_header .header-content .h-center .imgoperation {
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex: 1;
+}
+#top_header .header-content .h-center .imgoperation .proportion{
+ width: 140px;
+}
+
+#top_header .header-content .h-center .imgoperation .text{
+ display: inline-block;
+ cursor: default;
+ margin-left: 10px;
+}
+#top_header .header-content .h-center .imgoperation .text:hover{
+ color: var(--header-active);
+}
+#top_header .header-content .h-center .imgoperation .text .icon{
+ font-size: 18px;
+ vertical-align: middle;
+ font-weight: 700;
+}
+.carousel__arrow-box{
+ display: inline-block;
+ width: 52px;
+ margin-left: 10px;
+}
+.carousel__arrow-box .carousel__arrow{
+ cursor: pointer;
+ float: left;
+ margin-left: 5px;
+}
+
+.carousel__arrow-box .carousel__arrow:hover{
+ color: var(--header-active);
+}
+.carousel__arrow-box .carousel__arrow .icon{
+ font-size: 18px;
+ font-weight: 700;
+ vertical-align: middle;
+}
+
+.proportionnum-box .el-dropdown-menu__item{
+ line-height: 30px;
+ font-size: 12px;
+}
+.el-tooltip__popper.color-top {
+ color: var(--content-text);
+ background: var(--bg-content);
+ border: 1px solid var(--border-color-base);
+}
+
+.el-tooltip__popper.color-top .popper__arrow {
+ border-top-color: var(--border-color-base) !important;
+}
+
+.el-tooltip__popper.color-top .popper__arrow::after {
+ border-top-color: var(--bg-tooltip) !important;
+}
+
+
+.el-header {
+ border-bottom: 0;
+}
+.el-scrollbar__view{
+ height: 100%;
+}
+.el-slider__button-wrapper.grabbing:hover,
+.el-slider__button-wrapper.grabbing,
+.el-slider__button-wrapper.grabbing .el-slider__button{
+ cursor: grabbing !important;
+}
+.details-top {
+ width: 100%;
+ height: 100%;
+ position: relative;
+ overflow: hidden;
+ padding: 0 20px;
+}
+
+.details-maincontainer{
+ height: 100%;
+}
+.floating-layer {
+ width: 100%;
+ height: 100%;
+ position: relative;
+ padding-right: 360px;
+ padding-bottom: 8px;
+}
+
+.details-top .page-component__scroll .is-horizontal {
+ display: none;
+}
+#ImgScroll.move{
+ cursor: grab;
+}
+#ImgScroll.move.activemove{
+ cursor: grabbing;
+}
+#ImgScroll .is-horizontal {
+ display: block;
+}
+#ImgScroll .el-scrollbar__view {
+ position: relative;
+ text-align: center;
+ /* box-sizing: content-box; */
+ font-size: 0;
+ width: 100%;
+ height: 100%;
+}
+.information-box {
+ color: var(--content-text);
+}
+
+.floating-layer .picture-box {
+ height: 100%;
+ position: relative;
+ width: 100%;
+}
+.floating-layer.HideInformation{
+ padding-right: 0px;
+}
+
+
+.floating-layer .picture-box .image-viewer__img {
+ display: inline-block;
+ vertical-align: middle;
+}
+.floating-layer .picture-box .image-viewer__img.max {
+ max-width: 100%;
+ max-height: 100%;
+}
+.floating-layer .picture-box .image-viewer__img.opacity{
+ display: none;
+}
+.floating-layer .picture-box .image-viewer__img.thumbnail{
+
+}
+.floating-layer .information-box {
+ position: absolute;
+ height: 100%;
+ width: 360px;
+ padding-left: 20px;
+ right: 0;
+ top: 0;
+ padding-bottom: 8px;
+}
+.floating-layer.HideInformation .information-box {
+ display: none;
+}
+.floating-layer .information-box .el-divider {
+ margin: 0;
+}
+
+.floating-layer .information-box .title {
+ font-size: 18px;
+ color: var(--content-textHover);
+ font-weight: 700;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-box-orient: vertical;
+ max-height: 48px;
+ margin-bottom: 16px;
+}
+
+.floating-layer .information-box .operation {
+ padding-bottom: 16px;
+ margin-left: -4px;
+ display: flex;
+}
+
+.floating-layer .information-box .operation .circular {
+ color: var(--content-text);
+ font-size: 17px;
+ font-weight: 700;
+ text-decoration: none;
+ float: left;
+ width: 45px;
+ margin: 0 4px;
+ text-align: center;
+ line-height: 43px;
+ cursor: pointer;
+ background: var(--bg-header);
+ border: 1px solid var(--border-color-base);
+ border-radius: 50%;
+}
+
+.floating-layer .information-box .operation .circular.bg {
+ flex: auto;
+ border-radius: 18px;
+}
+
+.floating-layer .information-box .operation .circular:hover {
+ color: var(--content-textHover);
+}
+
+.floating-layer .information-box .message .color {
+ margin: 0 -3px;
+ display: flex;
+}
+
+.floating-layer .information-box .message .color>li {
+ height: 28px;
+ float: left;
+ padding: 0 3px 6px;
+ flex: 1;
+ max-width: 90px;
+ cursor: pointer;
+}
+
+.floating-layer .information-box .message .color>li.opacity {
+ opacity: 0.3;
+}
+
+.floating-layer .information-box .message .color>li .el-dropdown {
+ width: 100%;
+ height: 100%;
+}
+
+.floating-layer .information-box .message .color>li .bg {
+ height: 100%;
+ width: 100%;
+ border-radius: 4px;
+ border: 1px solid var(--border-color-base);
+}
+
+.floating-layer .information-box .message .label {
+ /* padding-bottom: 16px; */
+}
+
+.floating-layer .information-box .message .label .el-tag {
+ min-width: 45px;
+ text-align: center;
+ margin-bottom: 5px;
+ float: left;
+ margin-right: 5px;
+ background: var(--bg-header);
+ border: 1px solid var(--border-color-base);
+ color: var(--content-text);
+ cursor: pointer;
+}
+
+.floating-layer .information-box .message .notes {
+ font-size: 14px;
+ /* padding-bottom: 16px; */
+ line-height: 22px;
+ word-wrap: break-word;
+}
+
+.floating-layer .information-box .message .thesis-wrap {
+ padding-bottom: 16px;
+}
+
+.floating-layer .information-box .message .thesis-wrap .tip-title {
+ font-size: 16px;
+ font-weight: 700;
+ margin-bottom: 6px;
+ color: var(--content-textHover);
+}
+
+.floating-layer .information-box .message .link {
+ position: relative;
+ font-size: 16px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding-right: 35px;
+ cursor: pointer;
+}
+
+.floating-layer .information-box .message .link:hover {
+ color: var(--content-textHover);
+}
+
+.floating-layer .information-box .message .link i {
+ position: absolute;
+ right: 0;
+ top: 0;
+ font-size: 25px;
+ width: 25px;
+ height: 25px;
+ bottom: 0;
+ margin-top: auto;
+ margin-bottom: auto;
+ cursor: pointer;
+}
+
+.floating-layer .information-box .information {
+ padding: 18px 0;
+}
+
+.floating-layer .information-box .information .tip {
+ font-size: 18px;
+ font-weight: 700;
+ padding-bottom: 16px;
+ color: var(--content-textHover);
+}
+
+.floating-layer .information-box .information .field {
+ margin-bottom: 6px;
+}
+
+.floating-layer .information-box .information .field .name {
+ font-size: 14px;
+}
+
+.floating-layer .information-box .information .field .record {
+ font-size: 14px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ color: var(--content-textMessage);
+ text-align: right;
+}
+
+.floating-layer .information-box .information .field .record .star {
+ color: var(--stars);
+}
+
+.floating-layer .information-box .information .field .record .star.active {
+ color: var(--starsActive);
+}
+
diff --git a/dzz/pichome/css/pc/index.css b/dzz/pichome/css/pc/index.css
new file mode 100644
index 0000000..6a230ee
--- /dev/null
+++ b/dzz/pichome/css/pc/index.css
@@ -0,0 +1,1391 @@
+.el-empty{
+ padding: 0;
+ width: 160px;
+ height: 200px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ margin: auto;
+}
+#Details_Iframe{
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 1000;
+}
+#top_header .header-content .h-center .result-section {
+ width: 100%;
+ height: 40px;
+ position: relative;
+ display: flex;
+ align-items: center;
+}
+
+#top_header .header-content .h-center .result-section .input-box {
+ flex: 1;
+ position: relative;
+ color: var(--header-text);
+}
+
+#top_header .header-content .h-center .result-section .el-icon-search {
+ position: absolute;
+ left: 5px;
+ top: 0;
+}
+
+#top_header .header-content .h-center .result-section .el-input__inner {
+ border-radius: 0 25px 25px 0;
+ color: var(--header-text);
+ border: 0;
+ height: 37px;
+}
+
+#top_header .header-content .h-center .result-section .InputKeyword{
+ height: 40px;
+ border: 1px solid var(--border-color-base);
+ border-radius: 0px 20px 20px 0px;
+ position: relative;
+ background: var(--bg-input);
+}
+#top_header .header-content .h-center .result-section .radius .InputKeyword{
+ border-radius: 20px;
+}
+#top_header .header-content .h-center .result-section .InputKeyword.focus{
+ border: 0;
+}
+#top_header .header-content .h-center .result-section .InputKeyword:hover{
+ border-color: var(--color-primary);
+}
+
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen{
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ overflow: hidden;
+}
+
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll-box{
+ position: absolute;
+ left: 15px;
+ right: 30px;
+ width: calc(100% - 45px);
+ height: 100%;
+ overflow: hidden;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen.ShowScroll .txtScroll-box{
+ left: 35px;
+ right: 60px;
+ width: calc(100% - 95px);
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll{
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ white-space: nowrap;
+ line-height: 38px;
+ display: flex;
+ align-items: center;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll .list{
+ display: inline-block;
+ margin-right: 8px;
+ font-size: 12px;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll .list.txtScrent{
+ background: var(--header-textHover);
+ height: 30px;
+ padding: 0 5px;
+ line-height: 30px;
+ border-radius: 4px;
+ position: relative;
+ padding-right: 18px;
+ max-width: 160px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll .list.txtKeyword{
+ font-size: 14px;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll .list:last-child{
+ margin: 0;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll .list.txtScrent .color{
+ background: rgb(212, 92, 103);
+ width: 16px;
+ height: 16px;
+ display: inline-block;
+ border-radius: 50%;
+ vertical-align: text-bottom;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll .list .delBtn{
+ position: absolute;
+ right: 0;
+ top: 0;
+ font-size: 12px;
+ padding: 2px;
+ cursor: pointer;
+ line-height: 26px;
+}
+/* #top_header .header-content .h-center .result-section .InputKeyword .Kscreen .txtScroll .list:hover .delBtn{
+ display: inline-block;
+} */
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .arrow{
+ position: absolute;
+ width: 25px;
+ height: 100%;
+ text-align: center;
+ line-height: 38px;
+ font-size: 21px;
+ cursor: pointer;
+ top: 0;
+ display: none;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen.ShowScroll .arrow{
+ display: inline-block;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .arrow-left:hover,
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .arrow-right:hover{
+ background: var(--header-textHover);
+ color: var(--header-iconHover);
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .arrow-left{
+ left: 0;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .arrow-right{
+ right: 30px;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .arrow-close{
+ right: 4px;
+ border-radius: 0px 20px 20px 0px;
+ font-size: 14px;
+ display: none;
+}
+#top_header .header-content .h-center .result-section .InputKeyword .Kscreen .arrow-close:hover{
+ color: var(--tip-color);
+}
+
+
+#top_header .header-content .h-center .result-section .el-input__inner::-webkit-input-placeholder,
+#top_header .header-content .h-center .result-section .el-input__inner::-moz-placeholder,
+#top_header .header-content .h-center .result-section .el-input__inner:-moz-placeholder,
+#top_header .header-content .h-center .result-section .el-input__inner:-ms-input-placeholder {
+ /* WebKit, Blink, Edge 适配谷歌*/
+ color: var(--header-text);
+}
+
+#top_header .header-content .h-center .result-section .library-classification {
+ border: 1px solid var(--border-color-base);
+ border-right: 0;
+ line-height: 37px;
+ padding-right: 15px;
+ white-space: nowrap;
+ border-radius: 25px 0px 0px 25px;
+ height: 100%;
+}
+
+#top_header .header-content .h-center .result-section .library-classification .block {
+ font-size: 14px;
+ cursor: pointer;
+ margin-left: 15px;
+ color: var(--header-text);
+}
+
+#top_header .header-content .h-center .result-section .library-classification .block:hover {
+ color: var(--header-active);
+}
+
+#top_header .header-content .h-right .r-option {
+ display: flex;
+ align-items: center;
+ height: 40px;
+}
+
+#top_header .header-content .h-right .right-block {
+ float: left;
+ font-size: 24px;
+ padding: 8px;
+ cursor: pointer;
+ border-radius: 50%;
+ width: 40px;
+ height: 40px;
+ margin-right: 5px;
+ color: var(--header-icon);
+}
+
+#top_header .header-content .h-right .right-block i {
+ vertical-align: top;
+}
+
+#top_header .header-content .h-right .right-block:hover {
+ background: var(--header-textHover);
+ color: var(--header-iconHover);
+}
+#top_header .header-content .h-right .right-block.active{
+ background: var(--header-textHover);
+ color: var(--header-iconHover);
+}
+
+
+.database-box .el-dropdown-menu__item .icon {
+ width: 16px;
+ height: 16px;
+ margin-right: 5px;
+ vertical-align: middle;
+ font-size: 16px;
+}
+
+.classification-box {
+ min-width: 280px;
+}
+
+.classification-box .classification-history-box {
+ margin-top: 8px;
+}
+
+.classification-box .classification-history-box .dzz-dropdown-menu__item {
+ display: flex;
+ align-items: center;
+}
+
+.classification-box .classification-history-box .dzz-dropdown-menu__item .txt {
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding-right: 5px;
+}
+
+.classification-box .classification-history-box .dzz-dropdown-menu__item .txt .icon {
+ font-size: 16px;
+ margin-right: 5px;
+ vertical-align: bottom;
+}
+
+.classification-box .classification-history-box .dzz-dropdown-menu__item .num {
+ float: right;
+}
+
+.classification-box .classification-all-box {
+ margin-top: 8px;
+}
+
+.classification-box .classification-all-box .title {
+ padding-bottom: 8px;
+ font-size: 12px;
+ color: var(--tip-color);
+}
+
+.classification-box .classification-all-box .el-tree .el-tree-node .file-icon {
+ font-size: 16px;
+ vertical-align: middle;
+}
+
+.classification-box .classification-all-box .el-tree .el-tree-node>.el-tree-node__content .file-icon-open,
+.classification-box .classification-all-box .el-tree .el-tree-node.is-expanded>.el-tree-node__content .file-icon-close {
+ display: none;
+}
+
+.classification-box .classification-all-box .el-tree .el-tree-node.is-expanded>.el-tree-node__content .file-icon-open {
+ display: inline-block;
+}
+
+.display-mode {
+ width: 240px;
+}
+
+.display-mode .el-dropdown-menu__item {
+ padding: 0px;
+ position: relative;
+}
+.display-mode .el-dropdown-menu__item.is-disabled {
+ color: var(--tip-color);
+}
+.display-mode .el-dropdown-menu__item .item-txt{
+ padding: 0px 20px 0 30px;
+ position: relative;
+}
+.display-mode .el-dropdown-menu__item .prefix {
+ position: absolute;
+ left: 5px;
+ top: 0;
+ bottom: 0;
+ font-size: 17px;
+ height: 17px;
+ width: 17px;
+ margin-top: auto;
+ margin-bottom: auto;
+ display: none;
+}
+
+.display-mode .el-dropdown-menu__item.active .prefix {
+ display: inline-block;
+}
+
+.display-mode .el-dropdown-menu__item .suffix {
+ position: absolute;
+ right: 0px;
+ top: 0;
+ bottom: 0;
+ font-size: 17px;
+ height: 17px;
+ width: 17px;
+ margin-top: auto;
+ margin-bottom: auto;
+}
+
+
+.display-mode .el-divider {
+ margin: 8px 0;
+}
+
+.display-mode .el-dropdown-menu__item:hover .child-dropdown {
+ display: block !important;
+}
+
+.display-mode .el-dropdown-menu__item .child-dropdown {
+ width: 240px;
+ right: 238px;
+ left: unset;
+ top: -16px;
+}
+
+
+
+.screen-box {
+ padding-bottom: 20px;
+ text-align: center;
+ margin-top: -6px;
+}
+
+.screen-box .block {
+ display: inline-block;
+ margin: 0 6px;
+}
+
+.screen-box .field-single {
+ border-radius: 4px;
+ border: 1px solid var(--border-color-base);
+ font-size: 14px;
+ padding: 5px 10px;
+ cursor: pointer;
+ position: relative;
+ margin-top: 6px;
+}
+.screen-box .field-single.active{
+ background: var(--header-textHover);
+ color: var(--header-active);
+}
+.screen-box .field-single .icon {
+ vertical-align: bottom;
+ font-size: 17px;
+}
+.screen-box .field-single .delBtn {
+ color: #FFFFFF;
+ background-color: var(--header-screenDel);
+ border-radius: 50%;
+ font-size: 12px;
+ padding: 2px;
+ cursor: pointer;
+ position: absolute;
+ right: -5px;
+ top: -5px;
+ display: none;
+}
+.screen-box .field-single:hover .delBtn{
+ display: block;
+}
+.screen-box .field-single .color {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ border-radius: 50%;
+ vertical-align: bottom;
+ margin-left: 5px;
+}
+.field-select-box .single .el-checkbox,
+.field-select-box .single .el-radio {
+ width: 100%;
+ height: 100%;
+ line-height: 35px;
+}
+
+.field-select-box .single .quantity {
+ position: absolute;
+ height: 100%;
+ width: auto;
+ right: 5px;
+ top: 0;
+ cursor: pointer;
+}
+
+.field-select-box .single .el-checkbox .stars {
+ vertical-align: text-bottom;
+}
+
+.field-select-box .el-textarea {
+ margin-top: 8px;
+}
+
+.field-select-box .el-textarea .el-textarea__inner {
+ resize: none;
+}
+
+.field-section .field-el-input {
+ width: 65px;
+}
+
+.field-section .field-el-input .el-input__inner {
+ text-align: center;
+ padding: 0;
+}
+
+.field-section .field-el-select {
+ width: 65px;
+ color: var(--header-text);
+}
+
+.field-color-box {
+ font-size: 0;
+ border-top: 1px solid var(--border-color-base);
+ border-right: 1px solid var(--border-color-base);
+}
+
+.field-select-box.scroll {
+ max-height: 305px;
+ min-height: 59px;
+}
+
+.field-select-box.scroll .el-scrollbar .el-scrollbar__wrap {
+ overflow-x: hidden;
+}
+
+.field-select-box .field-color-box .colors-single {
+ width: 40px;
+ height: 25px;
+ border-left: 1px solid var(--border-color-base);
+ border-bottom: 1px solid var(--border-color-base);
+ float: left;
+}
+
+.field-select-box .field-color-box .colors-single.active,
+.field-select-box .field-color-box .colors-single:hover {
+ border: 2px solid var(--header-active);
+}
+
+.field-select-box .voluntarily {
+ display: flex;
+ padding-top: 16px;
+}
+
+.field-select-box .voluntarily .color-disk {
+ position: relative;
+ display: flex;
+ height: 30px;
+}
+
+.field-select-box .voluntarily .color-disk .show {
+ width: 15px;
+ height: 15px;
+ position: absolute;
+ left: 7px;
+ top: 0;
+ bottom: 0;
+ margin-top: auto;
+ margin-bottom: auto;
+ border-radius: 4px;
+ z-index: 5;
+}
+
+.field-select-box .voluntarily .color-disk .el-input__inner {
+ height: 30px;
+ padding-left: 27px;
+ border-radius: 4px 0 0 4px;
+ width: 160px;
+}
+
+.field-select-box .voluntarily .color-disk .icon {
+ height: 30px;
+ width: 35px;
+ display: inline-block;
+ padding: 6px;
+ border: 1px solid var(--border-color-base);
+ border-left: 0;
+ border-radius: 0px 4px 4px 0;
+ text-align: center;
+ cursor: pointer;
+ position: relative;
+}
+
+.field-select-box .voluntarily .color-disk .icon img {
+ max-width: 100%;
+ max-height: 100%;
+}
+.field-select-box .voluntarily .color-disk .icon .el-color-picker{
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ left: 0;
+ top: 0;
+ opacity: 0;
+}
+.field-select-box .voluntarily .color-disk .icon .el-color-picker .el-color-picker__trigger{
+ width: 100%;
+ height: 100%;
+}
+.field-select-box .voluntarily .slider {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ height: 30px;
+ padding-left: 16px;
+}
+
+.field-select-box .voluntarily .slider .txt {
+ font-size: 12px;
+ margin-right: 8%;
+}
+
+.field-select-box .voluntarily .slider .el-slider {
+ display: inline-block;
+ width: 78%;
+}
+
+.field-select-box .voluntarily .slider .el-slider .el-slider__runway {
+ border: 1px solid var(--border-color-base);
+ background-color: var(--slider-line);
+}
+
+.field-select-box .tags-box .left {
+ float: left;
+ width: 253px;
+ border-right: 1px solid var(--border-color-base);
+ padding-top: 12px;
+ background: var(--tagbg);
+}
+
+.field-select-box .tags-box .left .title {
+ padding: 0px 17px;
+ font-size: 16px;
+ height: 32px;
+ line-height: 32px;
+ margin-bottom: 8px;
+}
+
+.field-select-box .tags-box .left .el-popper {
+ background: var(--tagbg);
+ padding: 0 12px 12px 12px;
+}
+.field-select-box .tags-box .left .logic {
+ padding: 10px 17px;
+ border-top: 1px solid var(--border-color-base);
+}
+.field-select-box .tags-box .left .logic .el-dropdown {
+ margin-left: 8px;
+}
+.field-select-box .tags-box .el-dropdown-menu__item {
+ display: flex;
+ border-radius: 4px;
+ padding: 0 5px;
+ margin-bottom: 6px;
+ height: 36px;
+}
+.field-select-box .tags-box .el-dropdown-menu__item.active{
+ background-color: var(--color-primary);
+ color: #FFFFFF;
+}
+.field-select-box .tags-box .el-dropdown-menu__item .txt {
+ flex: 1;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.field-select-box .tags-box .el-dropdown-menu__item .num {
+ float: right;
+}
+
+.field-select-box .tags-box .right {
+ float: left;
+ width: 253px;
+ padding-top: 12px;
+}
+
+.field-select-box .tags-box .right .el-popper {
+ padding: 0 12px 12px 12px;
+}
+.field-select-box .tags-box .right .el-popper .el-dropdown-menu__item{
+ height: 26px;
+ line-height: 26px;
+}
+.field-select-box .tags-box .right .el-checkbox.txt {
+ display: flex;
+ align-items: center;
+}
+
+.field-select-box .tags-box .right .el-checkbox.txt .el-checkbox__label {
+ flex: 1;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.field-select-box .single .el-date-editor.dateline {
+ display: flex;
+ width: 100%;
+}
+
+.field-select-box .single .el-date-editor.dateline .el-input__icon {
+ display: none;
+}
+
+.field-select-box .single .el-date-editor.dateline .el-range-input {
+ flex: auto;
+ color: var(--header-active);
+ background: transparent;
+}
+
+.field-select-box .single .el-date-editor.dateline .el-range-separator {
+ color: var(--header-active);
+ width: 20PX;
+}
+.el-popover-search{
+ padding: 0;
+ border: 2px solid var(--color-primary);
+ box-shadow: none;
+ position: absolute;
+ top: 0;
+ height: auto;
+ left: 0;
+ width: 100%;
+ z-index: 4000;
+ border-radius: 0 20px 20px 20px;
+ border-width: 2px;
+ background-color: var(--bg-input);
+ display: none;
+ overflow:hidden;
+}
+.radius .el-popover-search{
+ border-radius: 20px;
+}
+.InputKeyword.focus .el-popover-search{
+ display: block;
+}
+.el-popover-search .el-divider{
+ margin: 0;
+}
+.el-popover-search .field-select-box{
+ padding: 15px 15px 0 15px;
+}
+.popover-search {
+ max-width: 832px;
+ padding: 8px;
+ padding-left: 15px;
+}
+
+.popover-search .recent-search .title {
+ font-size: 16px;
+ color: var(--header-active);
+}
+
+.popover-search .recent-search .title .icon {
+ display: inline-block;
+ margin-left: 5px;
+ border-radius: 50%;
+ width: 24px;
+ height: 24px;
+ line-height: 24px;
+ text-align: center;
+ vertical-align: bottom;
+ cursor: pointer;
+}
+
+.popover-search .recent-search .title .icon:hover {
+ color: var(--header-active);
+ background: var(--bg-poperHover);
+}
+
+.popover-search .recent-search .recent-search-txt {
+ padding-top: 6px;
+}
+
+.popover-search .recent-search .recent-search-txt .txt {
+ float: left;
+ padding: 8px 15px;
+ background: var(--bg-poperHover);
+ border-radius: 16px;
+ cursor: pointer;
+ font-size: 16px;
+ margin-bottom: 6px;
+ margin-right: 5px;
+}
+
+.popover-search .recent-search .recent-search-txt .txt:hover {
+ color: var(--header-active);
+}
+
+.popover-search .hot-tags {
+ margin-top: 12px;
+ margin-top: 16px;
+}
+
+/* .popover-search .hot-tags .title {
+ font-size: 16px;
+ color: var(--header-active);
+} */
+
+.popover-search .hot-tags .tags-img {
+ overflow: hidden;
+ padding-top: 8px;
+
+}
+
+.popover-search .hot-tags .tags-img .img-list {
+ width: 192px;
+ height: 84px;
+ border-radius: 8px;
+ overflow: hidden;
+ margin-right: 8px;
+ position: relative;
+ float: left;
+ margin-bottom: 8px;
+}
+
+.popover-search .hot-tags .tags-img .img-list .img {
+ background-position: 50%;
+ background-repeat: no-repeat;
+ background-size: cover;
+ width: 100%;
+ height: 100%;
+}
+
+.popover-search .hot-tags .tags-img .img-list .bg {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ background: rgb(0, 0, 0, .3);
+}
+
+.popover-search .hot-tags .tags-img .img-list .txt {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ padding: 8px;
+ font-size: 16px;
+ color: #FFFFFF;
+ font-weight: 700;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+ text-align: center;
+ z-index: 1;
+}
+
+.popover-search .hot-tags .tags-img .img-list .txt:hover {
+ background: rgb(0, 0, 0, .3);
+}
+
+.popover-search .hot-tags .tags-img .img-list .txt span {
+ display: block;
+ max-height: 100%;
+ max-width: 100%;
+ overflow: hidden;
+}
+
+
+
+.list-box {
+ overflow: hidden;
+}
+.list-box .list-list{
+ position: relative;
+ margin: 0 auto;
+ overflow: hidden;
+}
+.list-box .Icoblock-block {
+ position: absolute;
+ font-size: 0;
+ overflow: hidden;
+}
+
+.list-box .Icoblock-block:hover .bgimage-operation {
+ opacity: 1;
+ border-radius: 0;
+}
+
+.list-box .Icoblock-block .image-section {
+
+}
+
+.list-box .Icoblock-block .image-section .el-Icoblock {
+ position: relative;
+ cursor: zoom-in;
+}
+.list-box .Icoblock-block .image-section .el-Icoblock.radius{
+ border-radius: 18px;
+}
+
+.list-box .Icoblock-block .image-section .el-Icoblock.border {
+ border: 1px solid var(--border-color-base);
+ background-color: var(--content-imgbg);
+ border-radius: 18px;
+ overflow: hidden;
+}
+.list-box .Icoblock-block .image-section .el-Icoblock.border .el-image__inner{
+ border-radius: 0;
+}
+.list-box .Icoblock-block .image-section .el-image {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ left: 0;
+ top: 0;
+ display: block;
+}
+.list-box .Icoblock-block .image-section .el-Icoblock.border .el-image__inner{
+ width: 100%;
+}
+.list-box .Icoblock-block .image-section .el-image .el-image__inner {
+ max-width: 100%;
+ max-height: 100%;
+ width: auto;
+ height: auto;
+ position: absolute;
+ left: 0;
+ right: 0;
+ border: 0;
+ bottom: 0;
+ top: 0;
+ margin: auto;
+ border-radius: 18px;
+}
+.list-box .Icoblock-block .image-section .el-image .el-image__inner.opacity {
+ opacity: 0;
+}
+.list-box .Icoblock-block {
+ width: 50%;
+}
+
+@media screen and (min-width: 768px) {
+ .list-box .Icoblock-block {
+ width: 33.3333%;
+ }
+}
+
+@media screen and (min-width: 992px) {
+ .list-box .Icoblock-block {
+ width: 25%;
+ }
+}
+
+@media screen and (min-width: 1200px) {
+ .list-box .Icoblock-block {
+ width: 20%;
+ }
+}
+
+@media screen and (min-width: 1440px) {
+ .list-box .Icoblock-block {
+ /* width: 16.665%; */
+ }
+}
+
+
+.rowGrids-box {
+ position: relative;
+}
+.rowGrids-list {
+ position: relative;
+ overflow: hidden;
+ margin: 0 auto;
+ height: 100%;
+}
+.rowGrids-box .Icoblock-box {
+ position: absolute;
+ overflow: hidden;
+ font-size: 0;
+}
+.rowGrids-box .Icoblock-box .backg.radius{
+ border-radius: 18px;
+}
+.rowGrids-box .Icoblock-box .Icoblock {
+ overflow: hidden;
+ position: relative;
+ width: 100%;
+ height: 100%;
+ cursor: zoom-in;
+}
+
+.each-piece .backg.border {
+ border: 1px solid var(--border-color-base);
+ background-color: var(--content-imgbg);
+ border-radius: 18px;
+ overflow: hidden;
+}
+
+.rowGrids-box .Icoblock-box .el-image__inner {
+ max-width: 100%;
+ max-height: 100%;
+ width: auto;
+ height: auto;
+ position: absolute;
+ left: 0;
+ right: 0;
+ border: 0;
+ bottom: 0;
+ top: 0;
+ margin: auto;
+ border-radius: 18px;
+}
+.rowGrids-box .Icoblock-box .border .el-image__inner {
+ width: 100%;
+ /* height: 100%; */
+ border-radius: 0;
+}
+.rowGrids-box .Icoblock-box .el-image__inner.opacity {
+ opacity: 0;
+}
+#waterfallCenter {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#waterfallCenter .imgmargin {
+ margin: 0 auto;
+ height: 100%;
+ position: relative;
+}
+
+#waterfallCenter .imgmargin .moreload {
+ height: 30px;
+ width: 100%;
+ position: absolute !important;
+ bottom: 0;
+ left: 0;
+ line-height: 30px;
+ text-align: center;
+ color: var(--content-text);
+}
+
+#waterfallCenter .imgmargin .moreload .el-loading-text {
+ display: inline-block;
+ margin: 0;
+ margin-left: 10px;
+ vertical-align: top;
+}
+
+#waterfallCenter .w-block {
+ position: absolute;
+ width: 252px;
+}
+
+#waterfallCenter .w-block .w-p {
+ padding-left: 8px;
+ padding-right: 8px;
+}
+
+#waterfallCenter .w-block .w-p .w-storage {
+ position: relative;
+ overflow: hidden;
+ cursor: zoom-in;
+}
+
+#waterfallCenter .w-block .w-p .w-storage.border {
+ border: 1px solid var(--border-color-base);
+ background-color: var(--content-imgbg);
+ border-radius: 18px;
+ overflow: hidden;
+}
+#waterfallCenter .w-block .w-p .w-dimg.border .img{
+ border-radius: 0;
+}
+#waterfallCenter .w-block .w-p .w-dimg {
+ min-height: 120px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100%;
+}
+#waterfallCenter .w-block .w-p .w-dimg.radius{
+ border-radius: 18px;
+}
+#waterfallCenter .w-block .w-p .w-dimg .img {
+ max-width: 100%;
+ max-height: 100%;
+ width: auto;
+ height: auto;
+ border-radius: 18px;
+}
+#waterfallCenter .w-block .w-p .border .w-dimg .img {
+ width: 100%;
+ height: 100%;
+}
+#waterfallCenter .w-block .w-p .w-dimg .img.opacity {
+ opacity: 0;
+}
+@media (min-width: 0px) and (max-width: 755px) {
+ #waterfallCenter {
+ width: 504px;
+ }
+}
+
+@media (min-width: 756px) and (max-width: 1007px) {
+ #waterfallCenter {
+ width: 756px;
+ }
+}
+
+@media (min-width: 1008px) and (max-width: 1259px) {
+ #waterfallCenter {
+ width: 1008px;
+ }
+}
+
+@media (min-width: 1260px) and (max-width: 1511px) {
+ #waterfallCenter {
+ width: 1260px;
+ }
+}
+
+@media (min-width: 1512px) and (max-width: 1763px) {
+ #waterfallCenter {
+ width: 1512px;
+ }
+}
+
+@media (min-width: 1764px) and (max-width: 2015px) {
+ #waterfallCenter {
+ width: 1764px;
+ }
+}
+
+@media (min-width: 2016px) and (max-width: 2267px) {
+ #waterfallCenter {
+ width: 2016px;
+ }
+}
+
+@media (min-width: 2268px) and (max-width: 2519px) {
+ #waterfallCenter {
+ width: 2268px;
+ }
+}
+
+@media (min-width: 2520px) and (max-width: 2771px) {
+ #waterfallCenter {
+ width: 2520px;
+ }
+}
+
+@media (min-width: 2772px) and (max-width: 3023px) {
+ #waterfallCenter {
+ width: 2772px;
+ }
+}
+
+@media (min-width: 3024px) and (max-width: 3275px) {
+ #waterfallCenter {
+ width: 3024px;
+ }
+}
+
+@media (min-width: 3276px) and (max-width: 3527px) {
+ #waterfallCenter {
+ width: 3276px;
+ }
+}
+
+@media (min-width: 3528px) and (max-width: 3779px) {
+ #waterfallCenter {
+ width: 3528px;
+ }
+}
+
+@media (min-width: 3780px) and (max-width: 4031px) {
+ #waterfallCenter {
+ width: 3780px;
+ }
+}
+
+@media (min-width: 4032px) and (max-width: 4283px) {
+ #waterfallCenter {
+ width: 4032px;
+ }
+}
+
+@media (min-width: 4284px) and (max-width: 4535px) {
+ #waterfallCenter {
+ width: 4284px;
+ }
+}
+
+@media (min-width: 4536px) and (max-width: 4787px) {
+ #waterfallCenter {
+ width: 4536px;
+ }
+}
+
+@media (min-width: 4788px) and (max-width: 5039px) {
+ #waterfallCenter {
+ width: 4788px;
+ }
+}
+
+@media (min-width: 5040px) and (max-width: 5291px) {
+ #waterfallCenter {
+ width: 5040px;
+ }
+}
+
+@media (min-width: 5292px) and (max-width: 5543px) {
+ #waterfallCenter {
+ width: 5292px;
+ }
+}
+
+@media (min-width: 5544px) and (max-width: 5795px) {
+ #waterfallCenter {
+ width: 5544px;
+ }
+}
+
+@media (min-width: 5796px) and (max-width: 6047px) {
+ #waterfallCenter {
+ width: 5796px;
+ }
+}
+
+@media (min-width: 6048px) and (max-width: 6299px) {
+ #waterfallCenter {
+ width: 6048px;
+ }
+}
+
+
+.bgimage-operation{
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+}
+.bgimage-operation.show{
+ opacity: 1;
+}
+.bgimage-operation .topFlex{
+ position: absolute;
+ left: 8px;
+ top: 8px;
+ overflow: hidden;
+ z-index: 5;
+}
+.bgimage-operation .circulars{
+ background-color: var(--content-imgbg-btn);
+ color: var(--content-imgbg-txt);
+ border-radius: 50%;
+ font-size: 16px;
+ width: 30px;
+ height: 30px;
+ text-align: center;
+ line-height: 30px;
+ cursor: pointer;
+}
+.bgimage-operation .circulars.link{
+ position: absolute;
+ bottom: 8px;
+ left: 8px;
+ font-size: 14px;
+ width: auto;
+ border-radius: 8px;
+ padding: 0 5px;
+ z-index: 10;
+}
+.bgimage-operation .circulars.link .el-link--inner{
+ font-size: 14px;
+ vertical-align: top;
+}
+.bgimage-operation .circulars:hover{
+ color: var(--content-imgbg-txtHover);
+ background-color: var(--content-imgbg-btnHover);
+}
+.bgimage-operation .topFlex .circulars{
+ float: left;
+ margin-left: 8px;
+}
+.bgimage-operation .topFlex .circulars:first-child{
+ margin-left: 0;
+}
+.bgimage-operation .movies-box{
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 4;
+ background: var(--content-imgbg);
+ cursor: auto;
+}
+
+.bgimage-operation .movies-box .line{
+ width: 1px;
+ background: var(--music-line);
+ left: 0px;
+ top: 0;
+ position: absolute;
+ bottom: 0;
+ margin-top: auto;
+ margin-bottom: auto;
+ z-index: 4;
+ height: 100%;
+}
+.bgimage-operation .movies-box .voice{
+ position: absolute;
+ right: 8px;
+ top: 8px;
+ z-index: 10;
+}
+.bgimage-operation .movies-box .voice.yes .no,
+.bgimage-operation .movies-box .voice.no .yes{
+ display: none;
+}
+.bgimage-operation .movies-box .voice.yes .yes,
+.bgimage-operation .movies-box .voice.no .no{
+ display: block;
+}
+.bgimage-operation .movies-box .html-loading{
+ position: absolute !important;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+.bgimage-operation .movies-box>wave{
+ width: 100%;
+ position: absolute !important;
+ top: 0;
+ bottom: 0;
+ margin-top: auto;
+ margin-bottom: auto;
+ left: 0;
+}
+.bgimage-operation .movies-box .html-loading .el-loading-mask{
+ z-index: 4;
+ background-color: transparent;
+}
+.bgimage-operation .movies-box .video{
+ width: 100%;
+ height: 100%;
+ z-index: 5;
+}
+.bgimage-operation .movies-box .time{
+ position: absolute;
+ bottom: 6px;
+ height: 17px;
+ background: var(--content-imgbg-btnTime);
+ right: 8px;
+ font-size: 12px;
+ color: var(--content-imgbg-txt);
+ padding: 0 5px;
+ border-radius: 6px;
+ z-index: 5;
+}
+.bgimage-operation .movies-box .progress{
+ height: 5px;
+ position: absolute;
+ bottom: 0px;
+ left: 0px;
+ width: 100%;
+ opacity: 0.7;
+}
+.bgimage-operation .movies-box .progress .progress-bar{
+ background-color: #337ab7;
+ height: 100%;
+ border-radius: 100px;
+}
+.each-piece .annotation{
+ position: absolute;
+ right: 5px;
+ top: 5px;
+ font-size: 14px;
+ width: 22px;
+ height: 22px;
+ border: 2px solid #FFFFFF;
+ border-radius: 50%;
+ color: #FFFFFF;
+ text-align: center;
+ line-height: 20px;
+ background: var(--color-primary);
+}
+.each-piece .bottom-img-message{
+ text-align: center;
+ color: var(--content-text);
+ overflow: hidden;
+ max-height: 65px;
+}
+
+.each-piece .bottom-img-message .name{
+ overflow:hidden;
+ text-overflow:ellipsis;
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-line-clamp:2;
+ font-size: 13px;
+ margin-top: 10px;
+ width: 100%;
+ max-height: 35px;
+}
+.each-piece .bottom-img-message .other{
+ font-size: 12px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ height: 21px;
+ padding-top: 5px;
+ color: var(--content-textMessage);
+}
+.each-piece .bottom-img-message .other .score{
+ color: var(--stars);
+}
+.each-piece .bottom-img-message .other .score.active{
+ color: var(--starsActive);
+}
+.img-loading{
+ text-align: center;
+ padding: 10px 0;
+ font-size: 14px;
+ color: var(--content-textHover);
+ height: 40px;
+ width: 105px;
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ margin-left: auto;
+ margin-right: auto;
+ z-index: 10;
+}
+.img-loading span{
+ margin-right: 8px;
+}
+.dzz-dropdown-menu .dzz-dropdown-menu__item.screen-notdata{
+ color: var(--tip-color);
+ text-align: center;
+}
+.dzz-dropdown-menu .dzz-dropdown-menu__item.screen-notdata:hover{
+ color: var(--tip-color);
+ background-color: transparent;
+}
\ No newline at end of file
diff --git a/dzz/pichome/css/pc/xuanzhuan/iconfont.ttf b/dzz/pichome/css/pc/xuanzhuan/iconfont.ttf
new file mode 100644
index 0000000..4e8d395
Binary files /dev/null and b/dzz/pichome/css/pc/xuanzhuan/iconfont.ttf differ
diff --git a/dzz/pichome/css/pc/xuanzhuan/index.css b/dzz/pichome/css/pc/xuanzhuan/index.css
new file mode 100644
index 0000000..30cb86b
--- /dev/null
+++ b/dzz/pichome/css/pc/xuanzhuan/index.css
@@ -0,0 +1,21 @@
+@font-face {
+ font-family: "iconfont"; /* Project id */
+ src: url('iconfont.ttf?t=1631936247363') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-zuoyoufanzhuan_huaban1:before {
+ content: "\e65f";
+}
+
+.icon-chuizhifanzhuan_huaban1:before {
+ content: "\e660";
+}
+
diff --git a/dzz/pichome/details.php b/dzz/pichome/details.php
index 3dbbb81..32c0d95 100644
--- a/dzz/pichome/details.php
+++ b/dzz/pichome/details.php
@@ -1,33 +1,32 @@
false)));
- }
- $resourcesdata = C::t('pichome_resources')->fetch_by_rid($rid);
- exit(json_encode(array('resourcesdata' => $resourcesdata)));
-
- }else{
- $theme = GetThemeColor();
- include template('page/details');
- }
+/*
+ * @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
+ * @license https://www.oaooa.com/licenses/
+ *
+ * @link https://www.oaooa.com
+ * @author zyx(zyx@oaooa.com)
+ */
+
+
+if (!defined('IN_OAOOA')) {//所有的php文件必须加上此句,防止被外部调用
+ exit('Access Denied');
+}
+$overt = getglobal('setting/overt');
+if (!$overt) {
+ Hook::listen('check_login');//检查是否登录,未登录跳转到登录界面
+}
+$operation = isset($_GET['operation']) ? trim($_GET['operation']) : '';
+$opentype = isset($_GET['opentype']) ? trim($_GET['opentype']) : '';
+if($operation == 'fetch'){
+ $rid = isset($_GET['rid']) ? trim($_GET['rid']) : '';
+ if (!$rid) {
+ exit(json_encode(array('error' => false)));
+ }
+ $resourcesdata = C::t('pichome_resources')->fetch_by_rid($rid);
+ exit(json_encode(array('resourcesdata' => $resourcesdata)));
+
+}else{
+ $theme = GetThemeColor();
+ include template('pc/page/details');
+}
diff --git a/dzz/pichome/exportfile.php b/dzz/pichome/exportfile.php
index c95f0b6..592b61f 100644
--- a/dzz/pichome/exportfile.php
+++ b/dzz/pichome/exportfile.php
@@ -11,6 +11,18 @@
$force = isset($_GET['force']) ? intval($_GET['force']):0;
$data = C::t('pichome_vapp')->fetch($appid);
if(!$data) exit(json_encode(array('error'=>'no data')));
- include_once dzz_libfile('eagleexport');
- $eagleexport = new eagleexport($data);
- $return = $eagleexport->execExport($force);
\ No newline at end of file
+ if($data['type'] == 0){
+ include_once dzz_libfile('eagleexport');
+ $eagleexport = new eagleexport($data);
+ $return = $eagleexport->execExport($force);
+ print_r($return);
+ }else{
+ include_once dzz_libfile('oaooaexport');
+ $oaooaexport = new oaooaexport($data);
+ //导入标签分类数据
+ $oaooaexport->exportTaggroup();
+ //执行导入文件
+ $return = $oaooaexport->initExport();
+
+ }
+
\ No newline at end of file
diff --git a/dzz/pichome/index.php b/dzz/pichome/index.php
index e4c32ce..c428e8f 100644
--- a/dzz/pichome/index.php
+++ b/dzz/pichome/index.php
@@ -11,6 +11,7 @@
if (!defined('IN_OAOOA')) {//所有的php文件必须加上此句,防止被外部调用
exit('Access Denied');
}
+ $ismobile = helper_browser::ismobile();
$overt = getglobal('setting/overt');
if(!$overt && !$overt = C::t('setting')->fetch('overt')){
@@ -55,4 +56,9 @@
}
$pagesetting = json_encode($pagesetting);
- include template('page/index');
\ No newline at end of file
+ if ($ismobile) {
+ include template('mobile/page/index');
+ } else {
+ include template('pc/page/index');
+ }
+
\ No newline at end of file
diff --git a/dzz/pichome/js/pc/audioPlay.js b/dzz/pichome/js/pc/audioPlay.js
new file mode 100644
index 0000000..744e492
--- /dev/null
+++ b/dzz/pichome/js/pc/audioPlay.js
@@ -0,0 +1,256 @@
+
+
+// (function(){
+ var isVoice = false;
+ // $(document).on('mouseenter','.bgimage-operation',function(){
+ // $(this).addClass('show');
+ // var status = $(this).data('status');
+ // var type = $(this).data('type');
+ // if(status){
+ // $(this).data('status',false);
+ // if(type == 'video'){
+ // handleVideo($(this));
+ // }
+ // if(type == 'audio'){
+ // handleMusic($(this));
+ // }
+ // }
+ // });
+
+ // $(document).on('mouseleave','.bgimage-operation',function(){
+ // var self = $(this);
+ // self.removeClass('show');
+ // });
+
+ function handleMouseenter(tage){
+ var find = tage.find('.bgimage-operation');
+ find.addClass('show');
+ var status = find.data('status');
+ var type = find.data('type');
+ if(status){
+ find.data('status',false);
+ if(type == 'video'){
+ handleVideo(find);
+ }
+ if(type == 'audio'){
+ handleMusic(find);
+ }
+ }
+ };
+ function handleMouseleave(tage){
+ tage.find('.bgimage-operation').removeClass('show');
+ };
+
+
+
+ function handleVideo(box){
+ var str = {
+ loading:false,
+ finish:false,
+ };
+ if(str.loading){
+ return false;
+ }
+ var realpath = box.data('playurl');
+ str.loading = true;
+ var html_box = jQuery('
+
+ `,
+ '',
+ {
+ customClass:'aboutPichome',
+ showClose:false,
+ showConfirmButton:false,
+ dangerouslyUseHTMLString: true,
+ closeOnClickModal:true
+ });
+ break;
+ case 'OutLogin':
+ this.OutLogin();
+ break;
+ case 'system':
+ window.open(SITEURL+'admin.php?mod=system');
+ break;
+ }
+ return false;
+ },
+
+
+
+
+
+ handleScreenTime(type,val){
+ if(type=='btime'){
+ if(this.btime.btime == val){
+ this.handleClickDelete('btime');
+ return false;
+ }
+ this.btime.btime = val;
+ if(val != '自定义范围'){
+ this.btime.datelinepicker = [];
+ VuexStore.commit('SetParams',{key:'btime',val:val});
+ VuexStore.dispatch('handleHash');
+ }
+
+ }else if(type=='dateline'){
+ if(this.dateline.dateline == val){
+ this.handleClickDelete('dateline');
+ return false;
+ }
+ this.dateline.dateline = val;
+ if(val != '自定义范围'){
+ this.dateline.datelinepicker = [];
+ VuexStore.commit('SetParams',{key:'dateline',val:val});
+ VuexStore.dispatch('handleHash');
+ }
+ }else if(type=='mtime'){
+ if(this.mtime.mtime == val){
+ this.handleClickDelete('mtime');
+ return false;
+ }
+ this.mtime.mtime = val;
+ if(val != '自定义范围'){
+ this.mtime.datelinepicker = [];
+ VuexStore.commit('SetParams',{key:'mtime',val:val});
+ VuexStore.dispatch('handleHash');
+ }
+ }
+ },
+ handleClickLeftTag(fid){//标签左侧点击
+ this.tagData.checkedsFid = fid;
+ window.sessionStorage.setItem("tagfid",fid);
+ if(fid == 'all'){
+ this.tagData.Rightdata = this.tagData.alltagdata.alltagdata;
+ }else{
+ if(this.tagData.alltagdata.catdata && this.tagData.alltagdata.catdata[fid]){
+ this.tagData.Rightdata = this.tagData.alltagdata.catdata[fid].tdatas;
+ }else{
+ this.tagData.Rightdata = [];
+ }
+
+ }
+ },
+ handleClickLeftlogic(value){//标签右侧逻辑点击
+ if(this.tagData.checkedsId.length){
+ VuexStore.commit('SetParams',{key:'tagrelative',val:value});
+ VuexStore.dispatch('handleHash');
+ }
+ this.tagData.tagrelative = value;
+ },
+
+ handleClickRightTag(val){//标签右侧点击
+ if(this.tagData.checkedsId.length){
+ var newVal = [];
+ var keyword = '';
+ var data = JSON.parse(JSON.stringify(this.tagData.alltagdata.alltagdata));
+ for(var i in data){
+ var item = data[i];
+ if(this.tagData.checkedsId.indexOf(item.tid)>-1){
+ newVal.push(item.tagname);
+ }
+ if(val==data[i].tid){
+ keyword = item.tagname;
+ }
+ }
+ VuexStore.commit('SetParams',{key:'tag',val:this.tagData.checkedsId.join(',')});
+ VuexStore.commit('SetParams',{key:'tagrelative',val:this.tagData.tagrelative});
+ VuexStore.dispatch('handleHash');
+ this.tagData.checkedstxt = newVal.join(',');
+ var self = this;
+ if(this.tagData.checkedsId.indexOf(val)>-1 && keyword){
+ $.post(MOD_URL+'&op=ajax&operation=addsearch',{
+ appid:self.GetAppid,
+ keyword:keyword,
+ ktype:1
+ });
+ }
+ }else{
+ this.handleClickDelete('tag');
+ }
+ },
+ handleClickRightGroupTag(cid,tid){//标签右侧点击
+ if(this.modelParamsTag[cid].data.length){
+ var arr = [];
+ var texts = [];
+ for(var i in this.modelParamsTag){
+ arr.push.apply(arr,this.modelParamsTag[i].data);
+ }
+ for(var x in this.paramsTag[cid].oldVal){
+ var val = this.paramsTag[cid].oldVal[x];
+ if(this.modelParamsTag[cid].data.indexOf(val.tid)>-1){
+ texts.push(val.tagname);
+ }
+ }
+ this.modelParamsTag[cid].text = texts.join(',');
+ VuexStore.commit('SetParams',{key:'tag',val:arr.join(',')});
+ VuexStore.dispatch('handleHash');
+ }else{
+ this.handleClickDelete('grouptag',cid);
+ }
+ },
+ handleRightTagSearch(val){//标签右侧搜索
+ var tagfid = window.sessionStorage.getItem("tagfid");
+ if(tagfid == 'all'){
+ var data = JSON.parse(JSON.stringify(this.tagData.alltagdata.alltagdata));
+ }else{
+ if(this.tagData.alltagdata.catdata && this.tagData.alltagdata.catdata[tagfid]){
+ var data = JSON.parse(JSON.stringify(this.tagData.alltagdata.catdata[tagfid].tdatas));
+ }else{
+ var data = [];
+ }
+ }
+ if(val){
+ var newObj = [];
+ for(var i in data){
+ var item = data[i];
+ if(item.tagname.indexOf(val)>-1){
+ newObj.push(item);
+ }
+ }
+ this.tagData.Rightdata = newObj;
+ }else{
+ this.tagData.Rightdata = data;
+ }
+ },
+ handleRightGroupTagSearch(cid){//标签右侧搜索
+ var keyword = this.modelParamsTag[cid].search;
+ var data = JSON.parse(JSON.stringify(this.paramsTag[cid].oldVal));
+ if(keyword){
+ var newObj = [];
+ for(var i in data){
+ var item = data[i];
+ if(item.tagname.indexOf(keyword)>-1){
+ newObj.push(item);
+ }
+ }
+ this.paramsTag[cid].newVal = newObj;
+ }else{
+ this.paramsTag[cid].newVal = data;
+ }
+ },
+ handleLink(type){//链接改变
+ if(type != this.link.link){
+ this.link.link = type
+ VuexStore.commit('SetParams',{key:'link',val:type});
+ VuexStore.dispatch('handleHash');
+ }else{
+ this.handleClickDelete('link');
+ }
+ },
+ handleDesc(type){//注释改变
+ if(type != this.desc.desc){
+ this.desc.desc = type
+ VuexStore.commit('SetParams',{key:'desc',val:type});
+ VuexStore.dispatch('handleHash');
+ }else{
+ this.handleClickDelete('desc');
+ }
+ },
+ handleChangeExt(){//类型改变
+ VuexStore.commit('SetParams',{key:'ext',val:this.ext.val.join(',')});
+ VuexStore.dispatch('handleHash');
+ },
+ handleChangeShape(){//形状改变
+ VuexStore.commit('SetParams',{key:'shape',val:this.shape.shape.join(',')});
+ VuexStore.dispatch('handleHash');
+ },
+ handleChangeShapeCustom(type){//形状自定义改变
+ if(!type){
+ this.shape.width = '';
+ this.shape.height = '';
+ }
+ },
+ handleWatchShape(type){//形状改变
+ if(parseInt(this.shape.width)>0 && parseInt(this.shape.height)>0){
+ var str = this.shape.width+':'+this.shape.height;
+ VuexStore.commit('SetParams',{key:'shapesize',val:str});
+ if(!this.FirstLoad){
+ VuexStore.dispatch('handleHash');
+ }
+ return false;
+ }
+ if(this.shape.width=='' && this.shape.height=='' && this.GetParams.shapesize){
+ VuexStore.commit('SetParams',{key:'shapesize',val:''});
+ if(!this.FirstLoad){
+ VuexStore.dispatch('handleHash');
+ }
+ return false;
+ }
+ },
+ handleChangeGrade(){//评分
+ VuexStore.commit('SetParams',{key:'grade',val:this.grade.grade.join(',')});
+ VuexStore.dispatch('handleHash');
+ },
+ handleChangebtimepicker(val){//添加时间自定义
+ VuexStore.commit('SetParams',{key:'btime',val:val.join('_')});
+ VuexStore.dispatch('handleHash');
+ },
+ handleChangemtimepicker(val){//创建日期自定义
+ VuexStore.commit('SetParams',{key:'mtime',val:val.join('_')});
+ VuexStore.dispatch('handleHash');
+ },
+ handleChangedatelinepicker(val){//修改日期自定义
+ VuexStore.commit('SetParams',{key:'dateline',val:val.join('_')});
+ VuexStore.dispatch('handleHash');
+ },
+
+ handleColoBlock(value){//颜色块点击
+ if(this.colors.color == value){
+ this.colors.color = '';
+ }else{
+ this.colors.color = value;
+ }
+ this.handleColor();
+ },
+ handleColoPicker(value){//颜色块插件
+ if(value){
+ this.colors.color = value;
+ }else{
+ this.colors.color = '';
+ }
+ this.handleColor();
+ },
+ handleColorInput:debounce(function(){//颜色输入
+ this.handleColor();
+ },800),
+ handleColor(){
+ if(this.colors.color){
+ VuexStore.commit('SetParams',{key:'color',val:this.colors.color});
+ VuexStore.commit('SetParams',{key:'persion',val:this.colors.persion});
+ VuexStore.dispatch('handleHash');
+ }else{
+ this.handleClickDelete('color');
+ }
+ },
+ handleColoSlider(value){//颜色滑块
+ VuexStore.commit('SetParams',{key:'persion',val:value});
+ VuexStore.dispatch('handleHash');
+ },
+ handleduration(value){//时长单位选择
+ VuexStore.commit('SetParams',{key:'dunit',val:value});
+ VuexStore.dispatch('handleHash');
+ },
+ handleShowPopover(type,cid){//弹窗显示
+ if(type == 'grouptag'){
+ var data = this.GetScreenData(type,cid);
+ }else{
+ var data = this.GetScreenData(type);
+ }
+ switch(type){
+ case 'grouptag'://标签弹窗显示
+ if(this.paramsTag[cid]){
+ this.paramsTag[cid] = [];
+ var arr = [];
+ var arr1 = [];
+ for(var i in data){
+ arr.push(data[i]);
+ arr1.push(data[i]);
+ }
+ this.paramsTag[cid].newVal = arr;
+ this.paramsTag[cid].oldVal = arr1;
+ }
+ break;
+ case 'tag'://标签弹窗显示
+ var alltagdata = JSON.parse(JSON.stringify(data.alltagdata));
+ var catdata = JSON.parse(JSON.stringify(data.catdata));
+ this.tagData.alltagdata = {
+ alltagdata:alltagdata,
+ catdata:catdata
+ };
+ if(this.GetAppid){
+ var tagfid = window.sessionStorage.getItem("tagfid");
+ if(tagfid){
+ if(tagfid == 'all'){
+ this.tagData.Rightdata = alltagdata;
+ }else{
+ if(catdata && catdata[tagfid]){
+ this.tagData.Rightdata = catdata[tagfid].tdatas;
+ }else{
+ this.tagData.Rightdata = [];
+ }
+ }
+ }
+ }else{
+ this.tagData.Rightdata = alltagdata;
+ }
+ break;
+ case 'ext'://类型弹窗显示
+ if(data){
+ this.ext.data = data;
+ this.ext.height = data.length*35+24;
+ }else{
+ this.ext.data = [];
+ }
+ break;
+ case 'shape'://形状弹窗显示
+ if(data){
+ this.shape.data = data;
+ }else{
+ this.shape.data = [];
+ }
+ break;
+ case 'grade'://评分弹窗显示
+ if(data){
+ var fdata = [];
+ var notStr = {num: 0, grade: 0};
+ var not = false;
+ for(var i in data){
+ if(parseInt(data[i].grade) == 0){
+ not = true;
+ notStr.num = data[i].num;
+ }else{
+ fdata.push(data[i]);
+ }
+ }
+ fdata.push(notStr);
+ this.grade.data = fdata;
+ }else{
+ this.grade.data = [];
+ }
+ break;
+ case 'btime'://形状弹窗显示
+ if(data){
+ this.btime.data = data;
+ }else{
+ this.btime.data = [];
+ }
+ break;
+ case 'mtime'://形状弹窗显示
+ if(data){
+ this.mtime.data = data;
+ }else{
+ this.mtime.data = [];
+ }
+ break;
+ case 'dateline'://形状弹窗显示
+ if(data){
+ this.dateline.data = data;
+ }else{
+ this.dateline.data = [];
+ }
+ break;
+ }
+ },
+ handleClickDelete(type,cid){//清除标签选项
+ var self = this;
+ // if(this.$refs.ScreenPopoverRef && this.$refs.ScreenPopoverRef.length){
+ // for(var s in this.$refs.ScreenPopoverRef){
+ // if(this.$refs.ScreenPopoverRef[s].showPopper){
+ // this.$refs.ScreenPopoverRef[s].showPopper = false;
+ // }
+ // }
+ // }
+ if(type == 'empty'){
+ this.FirstLoad = true;
+ if(this.keyword){
+ this.keyword = '';
+ this.popoverSearch.keywordList = [];
+ VuexStore.commit('SetimgParameter', {key:'keyword',val:''});
+ }
+ if(this.classify.text){
+ this.classify.text = '';
+ this.$refs.tree[0].setCheckedKeys([])
+ VuexStore.commit('SetParams',{key:'classify',val:''});
+ }
+ if(this.colors.color){
+ var colors = {
+ color:'',
+ persion:50
+ };
+ this.colors = colors;
+ VuexStore.commit('SetParams',{key:'color',val:''});
+ VuexStore.commit('SetParams',{key:'persion',val:50});
+ }
+
+ if(this.link.link){
+ this.link = {
+ link:'',
+ val:''
+ };
+ VuexStore.commit('SetParams',{key:'link',val:''});
+ VuexStore.commit('SetParams',{key:'linkval',val:''});
+ }
+
+ if(this.desc.desc){
+ this.desc = {
+ desc:'',
+ val:''
+ };
+ VuexStore.commit('SetParams',{key:'desc',val:''});
+ VuexStore.commit('SetParams',{key:'descval',val:''});
+ }
+
+ if(this.GetParams.duration){
+ this.duration = {
+ start:'',
+ end:'',
+ dunit:'s'
+ };
+ VuexStore.commit('SetParams',{key:'duration',val:''});
+ VuexStore.commit('SetParams',{key:'dunit',val:''});
+ }
+
+ if(this.GetParams.wsize||this.GetParams.hsize){
+ this.wsize = {
+ start:'',
+ end:''
+ };
+ this.hsize = {
+ start:'',
+ end:''
+ };
+ VuexStore.commit('SetParams',{key:'wsize',val:''});
+ VuexStore.commit('SetParams',{key:'hsize',val:''});
+ }
+
+ if(this.GetParams.ext){
+ this.ext = {
+ val:[],
+ height:this.ext.height,
+ data:this.ext.data,
+ };
+ VuexStore.commit('SetParams',{key:'ext',val:''});
+ }
+
+ if(this.shape.txt){
+ this.shape = {
+ shape:[],
+ width:this.shape.width,
+ height:this.shape.height,
+ txt:'',
+ data:this.shape.data
+ };
+ VuexStore.commit('SetParams',{key:'shape',val:''});
+ VuexStore.commit('SetParams',{key:'shapesize',val:''});
+ }
+
+ if(this.GetParams.grade){
+ this.grade = {
+ grade:[],
+ data:this.grade.data,
+ };
+ VuexStore.commit('SetParams',{key:'grade',val:''});
+ }
+
+ if(this.GetParams.btime){
+ this.btime = {
+ btime:'',
+ datelinepicker:[],
+ data:this.btime.data
+ };
+ VuexStore.commit('SetParams',{key:'btime',val:''});
+ }
+
+ if(this.GetParams.dateline){
+ this.dateline = {
+ dateline:'',
+ datelinepicker:[],
+ data:this.dateline.data
+ };
+ VuexStore.commit('SetParams',{key:'dateline',val:''});
+ }
+
+ if(this.GetParams.mtime){
+ this.mtime = {
+ mtime:'',
+ datelinepicker:[],
+ data:this.mtime.data
+ };
+ VuexStore.commit('SetParams',{key:'mtime',val:''});
+ }
+
+ if($('.alltag-block').length && this.tagData.checkedstxt){
+ this.tagData.checkedsId = [];
+ this.tagData.checkedstxt = '';
+ this.tagData.search = '';
+ this.tagData.tagrelative = '1';
+ VuexStore.commit('SetParams',{key:'tag',val:''});
+ VuexStore.commit('SetParams',{key:'tagrelative',val:''});
+ if(this.tagData.checkedsFid == 'all'){
+ var data = JSON.parse(JSON.stringify(this.tagData.alltagdata.alltagdata));
+ this.tagData.Rightdata = data;
+ }else{
+ var data = JSON.parse(JSON.stringify(this.tagData.alltagdata.catdata[this.tagData.checkedsFid].tdatas));
+
+ this.tagData.Rightdata = data;
+ }
+ }
+
+ if(!$.isEmptyObject(this.modelParamsTag)){
+ for(var t in this.modelParamsTag){
+ this.modelParamsTag[t] = {
+ search:'',
+ text:'',
+ data:[]
+ };
+ }
+ var fata = JSON.parse(JSON.stringify(this.paramsTag[t].oldVal));
+ this.paramsTag[t].newVal = fata;
+ VuexStore.commit('SetParams',{key:'tag',val:''});
+ }
+
+
+
+
+
+ }else{
+ switch(type){
+ case 'tag':
+ // localStorage.removeItem('tagfid');
+ // this.tagData.checkedsFid = 'all';
+ this.tagData.checkedsId = [];
+ this.tagData.checkedstxt = '';
+ this.tagData.search = '';
+ this.tagData.tagrelative = '1';
+ VuexStore.commit('SetParams',{key:'tag',val:''});
+ VuexStore.commit('SetParams',{key:'tagrelative',val:''});
+
+ if(this.tagData.checkedsFid == 'all'){
+ var data = JSON.parse(JSON.stringify(this.tagData.alltagdata.alltagdata));
+ this.tagData.Rightdata = data;
+ }else{
+ var data = JSON.parse(JSON.stringify(this.tagData.alltagdata.catdata[this.tagData.checkedsFid].tdatas));
+ this.tagData.Rightdata = data;
+ }
+ break;
+ case 'color':
+ var colors = {
+ color:'',
+ persion:50
+ };
+ this.colors = colors;
+ VuexStore.commit('SetParams',{key:'color',val:''});
+ VuexStore.commit('SetParams',{key:'persion',val:50});
+ break;
+ case 'classify':
+ this.classify.text = '';
+ this.$refs.tree[0].setCheckedKeys([])
+ VuexStore.commit('SetParams',{key:'classify',val:''});
+ break;
+
+ case 'link':
+ this.link = {
+ link:'',
+ val:''
+ };
+ VuexStore.commit('SetParams',{key:'link',val:''});
+ VuexStore.commit('SetParams',{key:'linkval',val:''});
+ break;
+ case 'desc':
+ this.desc = {
+ desc:'',
+ val:''
+ };
+ VuexStore.commit('SetParams',{key:'desc',val:''});
+ VuexStore.commit('SetParams',{key:'descval',val:''});
+ break;
+ case 'duration':
+ this.duration = {
+ start:'',
+ end:'',
+ dunit:'s'
+ };
+ VuexStore.commit('SetParams',{key:'duration',val:''});
+ VuexStore.commit('SetParams',{key:'dunit',val:''});
+ break;
+ case 'csize':
+ this.wsize = {
+ start:'',
+ end:''
+ };
+ this.hsize = {
+ start:'',
+ end:''
+ };
+ VuexStore.commit('SetParams',{key:'wsize',val:''});
+ VuexStore.commit('SetParams',{key:'hsize',val:''});
+ break;
+ case 'ext':
+ this.ext = {
+ val:[],
+ height:this.ext.height,
+ data:this.ext.data
+ };
+ VuexStore.commit('SetParams',{key:'ext',val:''});
+ break;
+ case 'shape':
+ this.shape = {
+ shape:[],
+ width:this.shape.width,
+ height:this.shape.height,
+ txt:'',
+ data:this.shape.data
+ };
+ VuexStore.commit('SetParams',{key:'shape',val:''});
+ VuexStore.commit('SetParams',{key:'shapesize',val:''});
+ break;
+ case 'grade':
+ this.grade = {
+ grade:[],
+ data:this.grade.data
+ };
+ VuexStore.commit('SetParams',{key:'grade',val:''});
+ break;
+ case 'btime':
+ this.btime = {
+ btime:'',
+ datelinepicker:[],
+ data:this.btime.data
+ };
+ VuexStore.commit('SetParams',{key:'btime',val:''});
+ break;
+ case 'mtime':
+ this.mtime = {
+ mtime:'',
+ datelinepicker:[],
+ data:this.mtime.data
+ };
+ VuexStore.commit('SetParams',{key:'mtime',val:''});
+ break;
+ case 'dateline':
+ this.dateline = {
+ dateline:'',
+ datelinepicker:[],
+ data:this.dateline.data
+ };
+ VuexStore.commit('SetParams',{key:'dateline',val:''});
+ break;
+ case 'grouptag':
+ var tags = [];
+ for(var t in this.modelParamsTag){
+ if(t!=cid){
+ tags.push.apply(tags,this.modelParamsTag[t].data);
+ }
+ }
+ VuexStore.commit('SetParams',{key:'tag',val:tags.join(',')});
+ this.modelParamsTag[cid] = {
+ search:'',
+ text:'',
+ data:[]
+ };
+ var fata = JSON.parse(JSON.stringify(this.paramsTag[cid].oldVal));
+ this.paramsTag[cid].newVal = fata;
+ break;
+
+ }
+ }
+
+ VuexStore.dispatch('handleHash');
+ setTimeout(function(){
+ self.FirstLoad = false;
+ },1000)
+
+ },
+ GetScreenData(type,cid){
+ var self = this;
+ var param;
+ if(!type){
+ return false;
+ }
+ var str = {
+ skey:type
+ };
+ if(type == 'grouptag'){
+ str['cid']=cid;
+ }
+ if(this.GetAppid){
+ str['appid'] = this.GetAppid;
+ }
+ if(this.GetimgParameter && this.GetimgParameter.keyword){
+ str['keyword'] = this.GetimgParameter.keyword;
+ }
+ var Params = this.GetParams;
+ for(var p in Params){
+ if(p==type){
+ continue;
+ }
+ if(type == 'shape' && p =='shapesize'){
+ continue;
+ }
+ if(Params[p]){
+ if(p=='classify'){
+ str['fids'] = Params[p];
+ }else if(p=='grade'){
+ if(Params[p].indexOf('未评分')>-1){
+ var farr = Params[p].split(',');
+ if(farr.length){
+ farr.splice(farr.indexOf('未评分'),1);
+ }
+ farr.push(0);
+ str[p] = farr.join(',');
+ }else{
+ str[p] = Params[p];
+ }
+
+ }else if(p=='shape'){
+ var shape = [];
+ var fshape = Params[p].split(',');
+ var shapeData = this.shapeData;
+ for(var s in fshape){
+ for(var b in shapeData){
+ if(fshape[s] == shapeData[b].name){
+ shape.push(shapeData[b].val);
+ }
+ }
+ }
+ str[p] = shape.join(',');
+ }else if(p=='btime' || p=='mtime' || p=='dateline'){
+ var len = Params[p].split('_');
+ if(len.length>1){
+ str[p] = Params[p];
+ }else{
+ str[p] = GetDateVal(Params[p]);
+ }
+ }else{
+ str[p] = Params[p];
+ }
+ }
+
+ }
+ var vtag = [];
+ for(var t in this.modelParamsTag){
+ if(t!=cid){
+ vtag.push.apply(vtag,this.modelParamsTag[t].data);
+ }
+ }
+ if(vtag.length){
+ str['tag'] = vtag.join(',');
+ }
+ $.ajax({
+ url : MOD_URL+'&op=ajax&operation=searchmenu_num',
+ type : "post",
+ data : str,
+ async : false,
+ dataType: "json",
+ success : function(data) {
+ param = data;
+ }
+ });
+ return param;
+ },
+ GetHashParams(){
+ var arr = (location.hash || "").replace(/^\?/,'').split("&");
+ var params = {};
+ for(var i=0; i