@ -0,0 +1,51 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 应用设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
'app_name' =>env('app.name', 'Raingad-IM'), |
|||
'app_logo' =>env('app.logo', env('app.host', '')."/static/common/img/uniapp.png"), |
|||
'app_version' => env('app.version', '5.3.1'), |
|||
'app_release' =>env('app.release', '20241127'), |
|||
// 应用地址 |
|||
'app_host' => env('app.host', ''), |
|||
// 应用的命名空间 |
|||
'app_namespace' => '', |
|||
// 是否启用路由 |
|||
'with_route' => true, |
|||
'app_express' => true, |
|||
// 默认应用 |
|||
'default_app' => 'index', |
|||
// 默认时区 |
|||
'default_timezone' => env('app.default_timezone', 'Asia/Shanghai'), |
|||
|
|||
// 应用映射(自动多应用模式有效) |
|||
'app_map' => [], |
|||
// 域名绑定(自动多应用模式有效) |
|||
'domain_bind' => [], |
|||
// 禁止URL访问的应用列表(自动多应用模式有效) |
|||
'deny_app_list' => [], |
|||
|
|||
// 异常页面的模板文件 |
|||
'exception_tmpl' => app()->getThinkPath() . 'tpl/think_exception.tpl', |
|||
|
|||
// 错误显示信息,非调试模式有效 |
|||
'error_message' => '页面错误!请稍后再试~', |
|||
// 显示错误信息 |
|||
'show_error_msg' => false, |
|||
'auto_multi_app' =>true, |
|||
//用户token加密用的秘钥 |
|||
'aes_token_key' => env('AES_TOKEN_KEY', ''), |
|||
//用户LOGIN加密用的秘钥 |
|||
'aes_login_key' => env('AES_LOGIN_KEY', ''), |
|||
//用户chat加密用的秘钥 |
|||
'aes_chat_key' => env('AES_CHAT_KEY', ''), |
|||
// 接口加密用的秘钥 |
|||
'app_id' => env('APP_ID', ''), |
|||
'app_secret' => env('APP_SECRET', ''), |
|||
'api_status' => env('APP_API_STATUS', true), |
|||
//thinkAPI的令牌 |
|||
'thinkapi_token' => env('APP_THINKAPI_TOKEN', ''), |
|||
]; |
|||
|
|||
@ -0,0 +1,38 @@ |
|||
<?php |
|||
|
|||
// +---------------------------------------------------------------------- |
|||
// | 缓存设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// 默认缓存驱动 |
|||
'default' => env('cache.driver', 'redis'), |
|||
|
|||
// 缓存连接方式配置 |
|||
'stores' => [ |
|||
'file' => [ |
|||
// 驱动方式 |
|||
'type' => 'File', |
|||
// 缓存保存目录 |
|||
'path' => '', |
|||
// 缓存前缀 |
|||
'prefix' => '', |
|||
// 缓存有效期 0表示永久缓存 |
|||
'expire' => 0, |
|||
// 缓存标签前缀 |
|||
'tag_prefix' => 'tag:', |
|||
// 序列化机制 例如 ['serialize', 'unserialize'] |
|||
'serialize' => [], |
|||
], |
|||
'redis' => [ |
|||
// 驱动方式 |
|||
'type' => 'redis', |
|||
'host' =>env('redis.host', '127.0.0.1'), |
|||
'port' => env('redis.port', '6379'), |
|||
'password' => env('redis.password', ''), |
|||
// 缓存前缀 |
|||
'prefix' => env('redis.prefix', ''), |
|||
] |
|||
// 更多的缓存连接 |
|||
], |
|||
]; |
|||
@ -0,0 +1,19 @@ |
|||
<?php |
|||
|
|||
|
|||
return [ |
|||
// 验证码字符集合 |
|||
'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', |
|||
// 验证码字体大小(px) |
|||
'fontSize' => 20, |
|||
// 是否画混淆曲线 |
|||
'useCurve' => false, |
|||
// 验证码图片高度 |
|||
'imageH' => 40, |
|||
// 验证码图片宽度 |
|||
'imageW' => 150, |
|||
// 验证码位数 |
|||
'length' => 4, |
|||
// 验证成功后是否重置 |
|||
'reset' => true |
|||
]; |
|||
@ -0,0 +1,14 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 控制台配置 |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
// 指令定义 |
|||
'commands' => [ |
|||
'queue:work' => think\queue\command\Work::class, |
|||
'queue:listen' => think\queue\command\Listen::class, |
|||
'queue:Restart' => think\queue\command\Restart::class, |
|||
'task' => task\command\Task::class, |
|||
'worker:gateway' => app\worker\command\GatewayWorker::class |
|||
], |
|||
]; |
|||
@ -0,0 +1,18 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Cookie设置 |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
// cookie 保存时间 |
|||
'expire' => 0, |
|||
// cookie 保存路径 |
|||
'path' => '/', |
|||
// cookie 有效域名 |
|||
'domain' => '', |
|||
// cookie 启用安全传输 |
|||
'secure' => false, |
|||
// httponly设置 |
|||
'httponly' => false, |
|||
// 是否使用 setcookie |
|||
'setcookie' => true, |
|||
]; |
|||
@ -0,0 +1,8 @@ |
|||
<?php |
|||
|
|||
return [ |
|||
'tasks' => [ |
|||
\app\common\task\ClearMessage::class, //定时清理消息 |
|||
\app\common\task\SetAtRead::class, //定时清理@消息 |
|||
] |
|||
]; |
|||
@ -0,0 +1,62 @@ |
|||
<?php |
|||
|
|||
return [ |
|||
// 默认使用的数据库连接配置 |
|||
'default' => env('database.driver', 'mysql'), |
|||
|
|||
// 自定义时间查询规则 |
|||
'time_query_rule' => [], |
|||
|
|||
// 自动写入时间戳字段 |
|||
// true为自动识别类型 false关闭 |
|||
// 字符串则明确指定时间字段类型 支持 int timestamp datetime date |
|||
'auto_timestamp' => true, |
|||
|
|||
// 时间字段取出后的默认时间格式 |
|||
'datetime_format' => 'Y-m-d H:i:s', |
|||
|
|||
// 数据库连接配置信息 |
|||
'connections' => [ |
|||
'mysql' => [ |
|||
// 数据库类型 |
|||
'type' => env('database.type', 'mysql'), |
|||
// 服务器地址 |
|||
'hostname' => env('database.hostname', '127.0.0.1'), |
|||
// 数据库名 |
|||
'database' => env('database.database', ''), |
|||
// 用户名 |
|||
'username' => env('database.username', 'root'), |
|||
// 密码 |
|||
'password' => env('database.password', ''), |
|||
// 端口 |
|||
'hostport' => env('database.hostport', '3306'), |
|||
// 数据库连接参数 |
|||
'params' => [], |
|||
// 数据库编码默认采用utf8 |
|||
'charset' => env('database.charset', 'utf8'), |
|||
// 数据库表前缀 |
|||
'prefix' => env('database.prefix', ''), |
|||
|
|||
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) |
|||
'deploy' => 0, |
|||
// 数据库读写是否分离 主从式有效 |
|||
'rw_separate' => false, |
|||
// 读写分离后 主服务器数量 |
|||
'master_num' => 1, |
|||
// 指定从服务器序号 |
|||
'slave_no' => '', |
|||
// 是否严格检查字段是否存在 |
|||
'fields_strict' => true, |
|||
// 是否需要断线重连 |
|||
'break_reconnect' => false, |
|||
// 监听SQL |
|||
'trigger_sql' => env('app_debug', true), |
|||
// 开启字段缓存 |
|||
'fields_cache' => false, |
|||
// 字段缓存路径 |
|||
'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR, |
|||
], |
|||
|
|||
// 更多的数据库配置信息 |
|||
], |
|||
]; |
|||
@ -0,0 +1,42 @@ |
|||
<?php |
|||
|
|||
return [ |
|||
// 默认磁盘 |
|||
'default' => env('filesystem.driver', 'local'), |
|||
// 磁盘列表 |
|||
'disks' => [ |
|||
'local' => [ |
|||
'type' => 'local', |
|||
'root' => app()->getRootPath() . 'public/storage', |
|||
], |
|||
// 更多的磁盘配置信息 |
|||
'aliyun' => [ |
|||
'type' => 'aliyun', |
|||
'accessId' => env('filesystem.aliyun_accessId',''), |
|||
'accessSecret' => env('filesystem.aliyun_accessSecret',''), |
|||
'bucket' => env('filesystem.aliyun_bucket',''), |
|||
'endpoint' => env('filesystem.aliyun_endpoint',''), |
|||
'url' => env('filesystem.aliyun_url',''),//不要斜杠结尾,此处为URL地址域名。 |
|||
], |
|||
'qiniu' => [ |
|||
'type' => 'qiniu', |
|||
'accessKey' => env('filesystem.qiniu_accessKey',''), |
|||
'secretKey' => env('filesystem.qiniu_secretKey',''), |
|||
'bucket' => env('filesystem.qiniu_bucket',''), |
|||
'url' => env('filesystem.qiniu_url',''),//不要斜杠结尾,此处为URL地址域名。 |
|||
], |
|||
'qcloud' => [ |
|||
'type' => 'qcloud', |
|||
'region' => env('filesystem.qcloud_region',''),//bucket 所属区域 英文 |
|||
'appId' => env('filesystem.qcloud_appId',''), // 域名中数字部分 |
|||
'secretId' => env('filesystem.qcloud_secretId',''), |
|||
'secretKey' => env('filesystem.qcloud_secretKey',''), |
|||
'bucket' => env('filesystem.qcloud_bucket',''), |
|||
'timeout' => 60, |
|||
'connect_timeout' => 60, |
|||
'cdn' => env('filesystem.qcloud_cdn',''), |
|||
'scheme' => 'https', |
|||
'read_from_cdn' => false, |
|||
] |
|||
], |
|||
]; |
|||
@ -0,0 +1,33 @@ |
|||
<?php |
|||
return [ |
|||
// 扩展自身需要的配置 |
|||
'protocol' => 'websocket', // 协议 支持 tcp udp unix http websocket text |
|||
'host' => '0.0.0.0', // 监听地址 |
|||
'port' => env('worker_port',8282), // 监听端口 |
|||
'socket' => '', // 完整监听地址 |
|||
'context' => [], // socket 上下文选项 |
|||
'register_deploy' => env('worker_register_deploy',true), // 是否需要部署register |
|||
'businessWorker_deploy' => true, // 是否需要部署businessWorker |
|||
'gateway_deploy' => true, // 是否需要部署gateway |
|||
|
|||
// Register配置 |
|||
'registerAddress' => env('worker_register_address','127.0.0.1:1236'), |
|||
|
|||
// Gateway配置 |
|||
'name' => env('worker_name','pushGateWay'), |
|||
'count' => env('worker_count',1), |
|||
'lanIp' => env('worker_lan_ip','127.0.0.1'), |
|||
'startPort' => env('worker_start_port',2300), |
|||
'daemonize' => false, |
|||
'pingInterval' => 20, |
|||
'pingNotResponseLimit' => 0, |
|||
'pingData' => '{"type":"ping"}', |
|||
|
|||
// BusinsessWorker配置 |
|||
'businessWorker' => [ |
|||
'name' => 'BusinessWorker', |
|||
'count' => 1, |
|||
'eventHandler' => 'app\worker\Events', |
|||
], |
|||
|
|||
]; |
|||
@ -0,0 +1,16 @@ |
|||
<?php |
|||
/** |
|||
* tpAdmin [a web admin based ThinkPHP5] |
|||
* |
|||
* @author yuan1994 <tianpian0805@gmail.com> |
|||
* @link http://tpadmin.yuan1994.com/ |
|||
* @copyright 2016 yuan1994 all rights reserved. |
|||
* @license http://www.apache.org/licenses/LICENSE-2.0 |
|||
*/ |
|||
|
|||
return [ |
|||
// Hashids 的配置项 |
|||
'length' => 12, // 加密字符串长度 |
|||
'salt' => 'raingads', // 加密盐值 |
|||
'alphabet' => '', // 字符仓库,不填写默认为扩展里的字符仓库 |
|||
]; |
|||
@ -0,0 +1,21 @@ |
|||
<?php |
|||
|
|||
|
|||
return [ |
|||
'secret' => env('JWT_SECRET'), |
|||
//Asymmetric key |
|||
'public_key' => env('JWT_PUBLIC_KEY'), |
|||
'private_key' => env('JWT_PRIVATE_KEY'), |
|||
'password' => env('JWT_PASSWORD'), |
|||
//JWT time to live |
|||
'ttl' => env('JWT_TTL', 60), |
|||
//Refresh time to live |
|||
'refresh_ttl' => env('JWT_REFRESH_TTL', 20160), |
|||
//JWT hashing algorithm |
|||
'algo' => env('JWT_ALGO', 'HS256'), |
|||
//token获取方式,数组靠前值优先 |
|||
'token_mode' => ['header', 'cookie', 'param'], |
|||
//黑名单后有效期 |
|||
'blacklist_grace_period' => env('BLACKLIST_GRACE_PERIOD', 10), |
|||
'blacklist_storage' => thans\jwt\provider\storage\Tp5::class, |
|||
]; |
|||
@ -0,0 +1,32 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 多语言设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// 默认语言 |
|||
'default_lang' => env('lang.default_lang', 'zh-cn'), |
|||
// 允许的语言列表 |
|||
'allow_lang_list' => [], |
|||
// 多语言自动侦测变量名 |
|||
'detect_var' => 'lang', |
|||
// 是否使用Cookie记录 |
|||
'use_cookie' => true, |
|||
// 多语言cookie变量 |
|||
'cookie_var' => 'think_lang', |
|||
// 扩展语言包 |
|||
'extend_list' => [ |
|||
'zh-cn' => [ |
|||
app()->getBasePath() . 'lang/zh_cn.php', |
|||
], |
|||
'en-en' => [ |
|||
app()->getBasePath() . 'lang/en_en.php', |
|||
], |
|||
], |
|||
// Accept-Language转义为对应语言包名称 |
|||
'accept_language' => [ |
|||
'zh-hans-cn' => 'zh-cn', |
|||
], |
|||
// 是否支持语言分组 |
|||
'allow_group' => true, |
|||
]; |
|||
@ -0,0 +1,45 @@ |
|||
<?php |
|||
|
|||
// +---------------------------------------------------------------------- |
|||
// | 日志设置 |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
// 默认日志记录通道 |
|||
'default' => env('log.channel', 'file'), |
|||
// 日志记录级别 |
|||
'level' => [], |
|||
// 日志类型记录的通道 ['error'=>'email',...] |
|||
'type_channel' => [], |
|||
// 关闭全局日志写入 |
|||
'close' => false, |
|||
// 全局日志处理 支持闭包 |
|||
'processor' => null, |
|||
|
|||
// 日志通道列表 |
|||
'channels' => [ |
|||
'file' => [ |
|||
// 日志记录方式 |
|||
'type' => 'File', |
|||
// 日志保存目录 |
|||
'path' => '', |
|||
// 单文件日志写入 |
|||
'single' => false, |
|||
// 独立日志级别 |
|||
'apart_level' => [], |
|||
// 最大日志文件数量 |
|||
'max_files' => 0, |
|||
// 使用JSON格式记录 |
|||
'json' => false, |
|||
// 日志处理 |
|||
'processor' => null, |
|||
// 关闭通道日志写入 |
|||
'close' => false, |
|||
// 日志输出格式化 |
|||
'format' => '[%s][%s] %s', |
|||
// 是否实时写入 |
|||
'realtime_write' => false, |
|||
], |
|||
// 其它日志通道配置 |
|||
], |
|||
|
|||
]; |
|||
@ -0,0 +1,12 @@ |
|||
<?php |
|||
// 中间件配置 |
|||
return [ |
|||
// 别名或分组 |
|||
'alias' => [ |
|||
'checkAuth'=>app\common\middleware\CheckAuth::class, |
|||
'manageAuth'=>app\common\middleware\ManageAuth::class, |
|||
'apiAuth'=>app\common\middleware\ApiAuth::class, |
|||
], |
|||
// 优先级设置,此数组中的中间件会按照数组中的顺序优先执行 |
|||
'priority' => [], |
|||
]; |
|||
@ -0,0 +1,8 @@ |
|||
<?php |
|||
return [ |
|||
'accessKeyId'=>env('oss.accesskeyid', ''), |
|||
'accessKeySecret'=>env('oss.accesskeysecret', ''), |
|||
'endpoint'=>env('oss.endpoint', ''), |
|||
'bucket'=>env('oss.bucket', ''), |
|||
'ossUrl'=>env('oss.ossurl', '') |
|||
]; |
|||
@ -0,0 +1,6 @@ |
|||
<?php |
|||
return [ |
|||
'own'=>env('preview.own', ''), |
|||
'yzdcs'=>env('preview.yzdcs', ''), |
|||
'keycode'=>env('preview.keycode', ''), |
|||
]; |
|||
@ -0,0 +1,39 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ] |
|||
// +---------------------------------------------------------------------- |
|||
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved. |
|||
// +---------------------------------------------------------------------- |
|||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: yunwuxin <448901948@qq.com> |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
'default' => 'sync', |
|||
'connections' => [ |
|||
'sync' => [ |
|||
'type' => 'sync', |
|||
], |
|||
'database' => [ |
|||
'type' => 'database', |
|||
'queue' => 'default', |
|||
'table' => 'jobs', |
|||
'connection' => null, |
|||
], |
|||
'redis' => [ |
|||
'type' => 'redis', |
|||
'queue' => 'default', |
|||
'host' => '127.0.0.1', |
|||
'port' => 6379, |
|||
'password' => '', |
|||
'select' => 0, |
|||
'timeout' => 0, |
|||
'persistent' => false, |
|||
], |
|||
], |
|||
'failed' => [ |
|||
'type' => 'none', |
|||
'table' => 'failed_jobs', |
|||
], |
|||
]; |
|||
@ -0,0 +1,45 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 路由设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// pathinfo分隔符 |
|||
'pathinfo_depr' => '/', |
|||
// URL伪静态后缀 |
|||
'url_html_suffix' => 'html', |
|||
// URL普通方式参数 用于自动生成 |
|||
'url_common_param' => true, |
|||
// 是否开启路由延迟解析 |
|||
'url_lazy_route' => false, |
|||
// 是否强制使用路由 |
|||
'url_route_must' => false, |
|||
// 合并路由规则 |
|||
'route_rule_merge' => false, |
|||
// 路由是否完全匹配 |
|||
'route_complete_match' => false, |
|||
// 访问控制器层名称 |
|||
'controller_layer' => 'controller', |
|||
// 空控制器名 |
|||
'empty_controller' => 'Error', |
|||
// 是否使用控制器后缀 |
|||
'controller_suffix' => false, |
|||
// 默认的路由变量规则 |
|||
'default_route_pattern' => '[\w\.]+', |
|||
// 是否开启请求缓存 true自动缓存 支持设置请求缓存规则 |
|||
'request_cache_key' => false, |
|||
// 请求缓存有效期 |
|||
'request_cache_expire' => null, |
|||
// 全局请求缓存排除规则 |
|||
'request_cache_except' => [], |
|||
// 默认控制器名 |
|||
'default_controller' => 'Index', |
|||
// 默认操作名 |
|||
'default_action' => 'index', |
|||
// 操作方法后缀 |
|||
'action_suffix' => '', |
|||
// 默认JSONP格式返回的处理方法 |
|||
'default_jsonp_handler' => 'jsonpReturn', |
|||
// 默认JSONP处理方法 |
|||
'var_jsonp_handler' => 'callback', |
|||
]; |
|||
@ -0,0 +1,19 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 会话设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// session name |
|||
'name' => 'PHPSESSID', |
|||
// SESSION_ID的提交变量,解决flash上传跨域 |
|||
'var_session_id' => '', |
|||
// 驱动方式 支持file cache |
|||
'type' => 'file', |
|||
// 存储连接标识 当type使用cache的时候有效 |
|||
'store' => null, |
|||
// 过期时间 |
|||
'expire' => 9*3600, |
|||
// 前缀 |
|||
'prefix' => '', |
|||
]; |
|||
@ -0,0 +1,159 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 胜家云 [ SingKa Cloud ] |
|||
// +---------------------------------------------------------------------- |
|||
// | Copyright (c) 2016~2020 https://www.singka.net All rights reserved. |
|||
// +---------------------------------------------------------------------- |
|||
// | 宁波晟嘉网络科技有限公司 |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: ShyComet <shycomet@qq.com> |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
'driver' => 'aliyun', // 驱动器 |
|||
'aliyun' => [ |
|||
'version' => '2017-05-25', |
|||
'host' => 'dysmsapi.aliyuncs.com', |
|||
'scheme' => 'http', |
|||
'region_id' => 'cn-hangzhou', |
|||
'access_key' => '', |
|||
'access_secret' => '', |
|||
'sign_name' => '', |
|||
'actions' => [ |
|||
'register' => [ |
|||
'actions_name' => '注册验证', |
|||
'template_id' => 'SMS_53115055', |
|||
], |
|||
'login' => [ |
|||
'actions_name' => '登录验证', |
|||
'template_id' => 'SMS_53115057', |
|||
], |
|||
'changePassword' => [ |
|||
'actions_name' => '修改密码', |
|||
'template_id' => 'SMS_53115053', |
|||
], |
|||
'changeUserinfo' => [ |
|||
'actions_name' => '变更信息', |
|||
'template_id' => 'SMS_53115052', |
|||
], |
|||
], |
|||
], |
|||
'ucloud' => [ |
|||
'public_key' => '', |
|||
'private_key' => '', |
|||
'project_id' => '', |
|||
'base_url' => 'https://api.ucloud.cn', |
|||
'sign_name' => '', |
|||
'actions' => [ |
|||
'register' => [ |
|||
'actions_name' => '注册验证', |
|||
'template_id' => 'UTA1910164E29F4', |
|||
], |
|||
'login' => [ |
|||
'actions_name' => '登录验证', |
|||
'template_id' => 'UTA1910164E29F4', |
|||
], |
|||
'changePassword' => [ |
|||
'actions_name' => '修改密码', |
|||
'template_id' => 'UTA1910164E29F4', |
|||
], |
|||
'changeUserinfo' => [ |
|||
'actions_name' => '变更信息', |
|||
'template_id' => 'UTA1910164E29F4', |
|||
], |
|||
], |
|||
], |
|||
'qcloud' => [ |
|||
'appid' => '', |
|||
'appkey' => '', |
|||
'sign_name' => '', |
|||
'actions' => [ |
|||
'register' => [ |
|||
'actions_name' => '注册验证', |
|||
'template_id' => '566198', |
|||
], |
|||
'login' => [ |
|||
'actions_name' => '登录验证', |
|||
'template_id' => '566197', |
|||
], |
|||
'changePassword' => [ |
|||
'actions_name' => '修改密码', |
|||
'template_id' => '566199', |
|||
], |
|||
'changeUserinfo' => [ |
|||
'actions_name' => '变更信息', |
|||
'template_id' => '566200', |
|||
], |
|||
], |
|||
], |
|||
'qiniu' => [ |
|||
'AccessKey' => '', |
|||
'SecretKey' => '', |
|||
'actions' => [ |
|||
'register' => [ |
|||
'actions_name' => '注册验证', |
|||
'template_id' => '1246849772845797376', |
|||
], |
|||
'login' => [ |
|||
'actions_name' => '登录验证', |
|||
'template_id' => '1246849654881001472', |
|||
], |
|||
'changePassword' => [ |
|||
'actions_name' => '修改密码', |
|||
'template_id' => '1246849964902977536', |
|||
], |
|||
'changeUserinfo' => [ |
|||
'actions_name' => '变更信息', |
|||
'template_id' => '1246849860733243392', |
|||
], |
|||
], |
|||
], |
|||
'upyun' => [ |
|||
'id' => '', |
|||
'token' => '', |
|||
'apiurl' => '', |
|||
'actions' => [ |
|||
'register' => [ |
|||
'actions_name' => '注册验证', |
|||
'template_id' => '2591', |
|||
], |
|||
'login' => [ |
|||
'actions_name' => '登录验证', |
|||
'template_id' => '2592', |
|||
], |
|||
'changePassword' => [ |
|||
'actions_name' => '修改密码', |
|||
'template_id' => '2590', |
|||
], |
|||
'changeUserinfo' => [ |
|||
'actions_name' => '变更信息', |
|||
'template_id' => '2589', |
|||
], |
|||
], |
|||
], |
|||
'huawei' => [ |
|||
'url' => '', |
|||
'appKey' => '', |
|||
'appSecret' => '', |
|||
'sender' => '', |
|||
'signature' => '', |
|||
'statusCallback' => '', |
|||
'actions' => [ |
|||
'register' => [ |
|||
'actions_name' => '注册验证', |
|||
'template_id' => '2591', |
|||
], |
|||
'login' => [ |
|||
'actions_name' => '登录验证', |
|||
'template_id' => '2592', |
|||
], |
|||
'changePassword' => [ |
|||
'actions_name' => '修改密码', |
|||
'template_id' => '2590', |
|||
], |
|||
'changeUserinfo' => [ |
|||
'actions_name' => '变更信息', |
|||
'template_id' => '2589', |
|||
], |
|||
], |
|||
] |
|||
]; |
|||
@ -0,0 +1,10 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Trace设置 开启调试模式后有效 |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
// 内置Html和Console两种方式 支持扩展 |
|||
'type' => 'Html', |
|||
// 读取的日志通道名 |
|||
'channel' => '', |
|||
]; |
|||
@ -0,0 +1,45 @@ |
|||
<?php |
|||
# app_name 应用名称,所有的安装包都是用该名称命名,不能用中文!!!!!!!!!!!! |
|||
|
|||
# VERSION:移动端app版本信息 |
|||
# RELEASE:根据该参数确定版本,版本比移动罐的版本大就会提示更新,苹果和ios通过这个检测 |
|||
# UPDATE_TYPE :forcibly 强制更新, solicit弹窗确认更新, silent 静默更新 |
|||
# UPDATE_INFO :更新说明,换行用\n |
|||
return [ |
|||
'app_name'=>env('app.name', 'Raingad-IM'), //在.env中配置 |
|||
'andriod' => [ |
|||
'version' => env('app.version', '5.3.1'), //在.env中配置 |
|||
'release' => env('app.release', '20241127'), //在.env中配置 |
|||
'url' =>env('app.andriod_webclip',''), |
|||
'update_info' => '1.优化界面,消息操作更直观\n2.增加群聊管理标识\n3.增加视频封面以及比例自动计算\n4.修复若干BUG', |
|||
'update_type' => 'solicit', |
|||
], |
|||
'ios' => [ |
|||
'version' => '5.2.2', |
|||
'release' => '20241118', |
|||
'url' => env('app.ios_webclip',''), |
|||
'update_info' => '暂无', |
|||
'update_type' => 'solicit', |
|||
], |
|||
'windows' => [ |
|||
'version' => '5.5.2', |
|||
'release' => '20250107', |
|||
'url' => env('app.win_webclip',''), |
|||
'update_info' => '1.lemon-imui本地化,消息底部检测', |
|||
'update_type' => 'solicit', |
|||
], |
|||
'mac' => [ |
|||
'version' => '4.0.0', |
|||
'release' => '20240323', |
|||
'url' => env('app.mac_webclip',''), |
|||
'update_info' => '1.修复了一些bug\n2.优化了一些功能', |
|||
'update_type' => 'solicit', |
|||
], |
|||
'serve' => [ |
|||
'version' => '5.2.2', |
|||
'release' => '20241118', |
|||
'url' => '', |
|||
'update_info' => '1.增加聊天记录查看\n2.增加系统公告,移动端首页滚动提醒\n3.增加群聊支持单个人禁言,支持新成员查看历史聊天记录\n4.优化移动端输入框,解决ios低版本H5问题\n5.修复若干BUG', |
|||
'update_type' => 'solicit', |
|||
], |
|||
]; |
|||
@ -0,0 +1,28 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 模板设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// 模板引擎类型使用Think |
|||
'type' => 'Think', |
|||
// 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法 |
|||
'auto_rule' => 1, |
|||
// 模板目录名 |
|||
'view_dir_name' => 'view', |
|||
// 模板后缀 |
|||
'view_suffix' => 'html', |
|||
// 模板文件名分隔符 |
|||
'view_depr' => DIRECTORY_SEPARATOR, |
|||
// 模板引擎普通标签开始标记 |
|||
'tpl_begin' => '{', |
|||
// 模板引擎普通标签结束标记 |
|||
'tpl_end' => '}', |
|||
// 标签库标签开始标记 |
|||
'taglib_begin' => '{', |
|||
// 标签库标签结束标记 |
|||
'taglib_end' => '}', |
|||
'tpl_replace_string' => [ |
|||
'__STATIC__'=>'/static', |
|||
] |
|||
]; |
|||
@ -0,0 +1,7 @@ |
|||
<html> |
|||
<head><title>404 Not Found</title></head> |
|||
<body> |
|||
<center><h1>404 Not Found</h1></center> |
|||
<hr><center>nginx</center> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1 @@ |
|||
.error-wrapper{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.error-wrapper .error-content .pic-error{float:left;width:120%;overflow:hidden;opacity:0;animation-name:slideUp;animation-duration:.5s;animation-delay:.3s;animation-fill-mode:forwards}.error-wrapper .error-content .pic-error img{width:100%;height:100%}.error-wrapper .error-content .bullshit{position:relative;float:left;width:300px;padding:30px 0;overflow:hidden}.error-wrapper .error-content .bullshit-oops{margin-bottom:20px;font-size:32px;font-weight:700;line-height:40px;color:#175cff;opacity:0;animation-name:slideUp;animation-duration:.5s;animation-fill-mode:forwards}.error-wrapper .error-content .bullshit-headline{margin-bottom:10px;font-size:20px;font-weight:700;line-height:24px;color:#222;opacity:0;animation-name:slideUp;animation-duration:.5s;animation-delay:.1s;animation-fill-mode:forwards}.error-wrapper .error-content .bullshit-info{margin-bottom:30px;font-size:13px;line-height:21px;color:rgba(0,0,0,.65);opacity:0;animation-name:slideUp;animation-duration:.5s;animation-delay:.2s;animation-fill-mode:forwards}.error-wrapper .error-content .bullshit-return-home{display:block;float:left;width:110px;height:36px;font-size:14px;line-height:36px;color:#fff;text-align:center;cursor:pointer;background:#175cff;border-radius:100px;opacity:0;animation-name:slideUp;animation-duration:.5s;animation-delay:.3s;animation-fill-mode:forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}} |
|||
@ -0,0 +1 @@ |
|||
.group-box[data-v-79495ffc]{display:flex;flex-direction:column;height:calc(100vh - 104px);background:#fff;border:1px solid #e6e6e6}.group-box .group-box-header[data-v-79495ffc]{display:flex;justify-content:space-between;align-items:center;padding:0 15px;height:60px;border-bottom:1px solid #e6e6e6}.group-box .group-box-list[data-v-79495ffc]{flex:1;overflow:auto}.group-box .group-box-page[data-v-79495ffc]{padding-top:15px;height:48px}.chat-item[data-v-79495ffc]{display:flex;align-items:center;padding:10px;cursor:pointer}.chat-item.active[data-v-79495ffc],.chat-item[data-v-79495ffc]:hover{background:#f5f5f5}.chat-item .chat-avatar[data-v-79495ffc]{margin-right:10px}.chat-item .chat-avatar img[data-v-79495ffc]{width:44px;height:44px;border-radius:50%}.chat-item .chat-content[data-v-79495ffc]{flex-grow:1;display:flex;flex-direction:column}.chat-item .chat-content .chat-message[data-v-79495ffc]{margin-top:5px}.chat-item .chat-content .chat-name[data-v-79495ffc]{font-weight:700;margin-right:10px}.chat-item .chat-time[data-v-79495ffc]{font-size:12px;color:#999}.group-user-box[data-v-79495ffc]{border-left:none}.member-list[data-v-79495ffc]{display:flex;justify-content:flex-start;flex-wrap:wrap;padding:20px 0 20px 20px}.member-list .member-item[data-v-79495ffc]{display:flex;align-items:center;flex-wrap:wrap;padding:10px;width:200px;border:1px solid #eee;border-radius:8px;margin-right:20px;margin-bottom:20px}.member-list .member-item[data-v-79495ffc]:last-child{margin-right:0}.member-list .member-item .member-avatar[data-v-79495ffc]{margin-right:10px}.member-list .member-item .member-avatar img[data-v-79495ffc]{width:44px;height:44px;border-radius:50%}.member-list .member-item .member-content[data-v-79495ffc]{flex-grow:1;display:flex;justify-content:space-between}.member-list .member-item .member-content .member-header[data-v-79495ffc]{display:flex;align-items:flex-start;flex-direction:column}.member-list .member-item .member-content .member-header .member-name[data-v-79495ffc]{font-weight:700;margin-right:10px}.member-list .member-item .member-content .member-header .member-role[data-v-79495ffc]{font-size:12px;color:#999}.member-list .member-item .member-content .member-actions[data-v-79495ffc]{display:flex;justify-content:flex-end}.mt-3[data-v-79495ffc]{margin-top:3px}[data-v-79495ffc] .el-card__body{padding:0!important} |
|||
@ -0,0 +1 @@ |
|||
.main-file-item{height:calc(100vh - 102px)} |
|||
@ -0,0 +1 @@ |
|||
.item-background p[data-v-3f58b2b1]{color:#999;line-height:1.8}.welcome .logo[data-v-3f58b2b1]{text-align:center}.welcome .logo img[data-v-3f58b2b1]{vertical-align:bottom;width:80px;height:80px;margin-bottom:20px}.welcome .logo h2[data-v-3f58b2b1]{font-size:24px;font-weight:400;display:flex;align-items:center;justify-content:center}.tips[data-v-3f58b2b1]{margin-top:20px}.tips-item[data-v-3f58b2b1]{display:flex;align-items:center;justify-content:center;padding-bottom:10px}.tips-item-icon[data-v-3f58b2b1]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:18px;margin-right:20px;color:var(--el-color-primary);background:hsla(0,0%,71%,.1)}.tips-item-message[data-v-3f58b2b1]{flex:1;font-size:14px}.actions[data-v-3f58b2b1]{text-align:center;margin:20px 0 20px 0}.stop-task[data-v-3f58b2b1]:hover{color:#f56c6c}.start-task[data-v-3f58b2b1]{color:#409eff}.task-name[data-v-3f58b2b1]{font-weight:600}.task-log[data-v-3f58b2b1]{background:#000;color:#fff;white-space:break-spaces;letter-spacing:1px} |
|||
@ -0,0 +1 @@ |
|||
.avater-components .el-avatar--square{border-radius:8px}.avatar{height:24px}.logo-center[data-v-1956f8c4]{display:inline-block}.user-img[data-v-1956f8c4]{margin-right:8px;vertical-align:middle}.search-lists[data-v-1956f8c4]{padding:5px 0;height:200px;overflow:auto}.colleagues-list[data-v-1956f8c4]{padding:5px 0;display:block;margin-left:0;display:flex!important;align-items:center!important;align-content:center}.xh-user[data-v-1956f8c4]{color:#333;font-size:12px}.xh-user__hd[data-v-1956f8c4]{padding:0 15px;height:40px;line-height:40px;border-bottom:1px solid #c2c2c2}.xh-user__bd[data-v-1956f8c4]{padding:10px 12px}.xh-user__ft[data-v-1956f8c4]{padding:5px 12px;background:#f7f8fa;border-top:1px solid #c2c2c2}.xh-user__ft .el-button[data-v-1956f8c4]{font-size:12px}.select-info[data-v-1956f8c4]{display:inline-block;width:calc(100% - 30px)}.select-info--num[data-v-1956f8c4]{color:#175cff}.el-checkbox-group[data-v-1956f8c4]{overflow-x:hidden}.el-checkbox[data-v-1956f8c4] .el-checkbox__label{color:#333;display:flex;align-items:center;margin-right:10px}.all-check[data-v-1956f8c4]{padding:5px 0;display:flex;align-items:center}.search-input[data-v-1956f8c4] .el-input__inner{background-color:#f4f4f4;border:none}.wk-user-select[data-v-f3dcf9b2]{box-sizing:border-box;height:32px;position:relative;border-radius:4px;font-size:13px;background-color:#fff;border:1px solid #e6e6e6;color:#333;padding:0 20px 0 5px;cursor:pointer}.wk-user-select .user-item[data-v-f3dcf9b2]{padding:3px 15px 3px 5px;background-color:#f3f7ff;border-radius:4px;margin:3px;max-width:80px;position:relative}.wk-user-select .user-item.is-hide[data-v-f3dcf9b2]{background-color:#f2f2f2;color:#999}.wk-user-select .user-placeholder[data-v-f3dcf9b2]{color:#ddd;line-height:32px;cursor:pointer}.wk-user-select .delete-icon[data-v-f3dcf9b2]{color:#999;cursor:pointer;position:absolute;top:6px;right:2px}.wk-user-select .delete-icon[data-v-f3dcf9b2]:hover{color:#175cff}.wk-user-select[data-v-f3dcf9b2]:hover{border-color:#c0c4cc}.wk-user-select.is_disabled[data-v-f3dcf9b2]{background-color:#f5f7fa;border-color:#e4e7ed;cursor:not-allowed}.wk-user-select.is_disabled .user-item[data-v-f3dcf9b2]{background-color:rgba(240,244,248,.918);color:#c0c4cc;cursor:not-allowed}.wk-user-select.is_disabled .delete-icon[data-v-f3dcf9b2],.wk-user-select.is_disabled .user-placeholder[data-v-f3dcf9b2]{color:#c0c4cc;cursor:not-allowed}.wk-user-select.is_valid[data-v-f3dcf9b2]:hover{border-color:#c0c4cc}.wk-user-select.is_focus[data-v-f3dcf9b2]{border-color:#175cff!important}.el-select__tags[data-v-f3dcf9b2]{padding-right:30px}.el-icon-more[data-v-f3dcf9b2]{position:absolute;top:3px;right:20px;padding:6px 10px;font-size:12px;background-color:#f3f7ff;color:#666;border-radius:4px}.el-icon-more[data-v-f3dcf9b2]:hover{background-color:#175cff;color:#fff}.el-icon-arrow-up[data-v-f3dcf9b2]{position:absolute;top:calc(50% - 7px);right:5px;color:#c0c4cc;font-size:14px;transition:transform .3s;transform:rotate(180deg);cursor:pointer}.el-icon-arrow-up.is-reverse[data-v-f3dcf9b2]{transform:rotate(0deg)}[data-v-5a260d74] .avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}[data-v-5a260d74] .avatar-uploader .el-upload:hover{border-color:#409eff}[data-v-5a260d74] .avatar-uploader-icon{font-size:28px;color:#8c939d;width:120px;height:120px;line-height:120px;text-align:center}.avatar[data-v-5a260d74]{width:120px;height:120px;display:block} |
|||
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 312 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 29 KiB |
@ -0,0 +1 @@ |
|||
"use strict";(self["webpackChunkRaingad_IM"]=self["webpackChunkRaingad_IM"]||[]).push([[133],{4133:function(s,t,a){a.r(t),a.d(t,{default:function(){return c}});var l=function(){var s=this,t=s._self._c;return t("div",{staticClass:"error-wrapper"},[t("div",{staticClass:"error-content"},[t("el-row",{attrs:{gutter:15}},[t("el-col",{attrs:{xs:24,sm:24,md:12,lg:12,xl:12}},[t("div",{staticClass:"pic-error"},[t("img",{attrs:{src:a(5456),alt:"401"}})])]),t("el-col",{attrs:{xs:24,sm:24,md:12,lg:12,xl:12}},[t("div",{staticClass:"bullshit"},[t("div",{staticClass:"bullshit-oops"},[s._v("抱歉!")]),t("div",{staticClass:"bullshit-headline"},[s._v(s._s(s.msg))]),t("div",{staticClass:"bullshit-info"},[s._v(s._s(s.des))]),t("a",{staticClass:"bullshit-return-home",attrs:{href:"#/"}},[s._v("返回首页")])])])],1)],1)])},e=[],i={name:"Page404",data(){return{msg:"当前页面不存在...",des:""}},mounted(){let s=this.$route.query;this.msg=s.msg,""==this.msg&&(this.des="请检查您输入的网址是否正确,或点击下面的按钮返回首页!")}},r=i,n=a(1001),u=(0,n.Z)(r,l,e,!1,null,null,null),c=u.exports},5456:function(s,t,a){s.exports=a.p+"assets/img/404.42feab21.png"}}]); |
|||
@ -0,0 +1 @@ |
|||
"use strict";(self["webpackChunkRaingad_IM"]=self["webpackChunkRaingad_IM"]||[]).push([[567],{7567:function(t,e,n){n.r(e),n.d(e,{default:function(){return d}});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"pd-20 main-file-item"},[e("fileItems",{attrs:{isAll:1}})],1)},s=[],l=n(4773),a={components:{fileItems:l.Z},data(){return{}},methods:{openFolder(t){this.active=t.id}}},u=a,r=n(1001),c=(0,r.Z)(u,i,s,!1,null,null,null),d=c.exports}}]); |
|||
|
After Width: | Height: | Size: 9.4 KiB |
@ -0,0 +1 @@ |
|||
<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>IM即时聊天</title><link rel="stylesheet" href="//at.alicdn.com/t/c/font_3565944_4mjwnqbwizx.css"><script src="./assets/js/peerjs.min.js"></script><script defer="defer" src="assets/js/chunk-vendors.3d6e6243.js"></script><script defer="defer" src="assets/js/app.85372e4e.js"></script><link href="assets/css/app.c65eb857.css" rel="stylesheet"></head><body><div id="app"></div></body></html> |
|||
@ -0,0 +1,32 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | ThinkPHP [ WE CAN DO IT JUST THINK ] |
|||
// +---------------------------------------------------------------------- |
|||
// | Copyright (c) 2006-2019 http://thinkphp.cn All rights reserved. |
|||
// +---------------------------------------------------------------------- |
|||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: liu21st <liu21st@gmail.com> |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
// [ 应用入口文件 ] |
|||
namespace think; |
|||
|
|||
require __DIR__ . '/../vendor/autoload.php'; |
|||
header('Access-Control-Allow-Origin:*'); |
|||
// 响应类型 |
|||
header('Access-Control-Allow-Methods:*'); |
|||
// 响应头设置 |
|||
header('Access-Control-Allow-Headers:x-requested-with,X_Requested_With,content-type,Authorization,clientId,sessionId,cid,X-Im-AppId,X-Im-Sign,X-Im-TimeStamp,Accept-Language'); |
|||
// 定义配置文件目录和应用目录同级 |
|||
define('CONF_PATH', __DIR__.'/../config/'); |
|||
define('PUBLIC_PATH', __DIR__.'/'); |
|||
define('PACKAGE_PATH', __DIR__.'/unpackage/'); |
|||
// 执行HTTP应用并响应 |
|||
$http = (new App())->http; |
|||
|
|||
$response = $http->run(); |
|||
|
|||
$response->send(); |
|||
|
|||
$http->end($response); |
|||
@ -0,0 +1,2 @@ |
|||
User-agent: * |
|||
Disallow: |
|||
@ -0,0 +1,19 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | ThinkPHP [ WE CAN DO IT JUST THINK ] |
|||
// +---------------------------------------------------------------------- |
|||
// | Copyright (c) 2006~2019 http://thinkphp.cn All rights reserved. |
|||
// +---------------------------------------------------------------------- |
|||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: liu21st <liu21st@gmail.com> |
|||
// +---------------------------------------------------------------------- |
|||
// $Id$ |
|||
|
|||
if (is_file($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SCRIPT_NAME"])) { |
|||
return false; |
|||
} else { |
|||
$_SERVER["SCRIPT_FILENAME"] = __DIR__ . '/index.php'; |
|||
|
|||
require __DIR__ . "/index.php"; |
|||
} |
|||
@ -0,0 +1,22 @@ |
|||
-- 升级说明 |
|||
-- 增加群聊禁言到期时间,好友上限,群聊上限。 |
|||
|
|||
-- 更新最新的版本需要更新一下配置文件,进入后台重新保存一下基础设置和聊天设置,否则配置信息不完整 |
|||
|
|||
CREATE TABLE `yu_emoji` ( |
|||
`id` int(11) NOT NULL, |
|||
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id,0为系统', |
|||
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '类型', |
|||
`name` varchar(255) DEFAULT NULL COMMENT '名称', |
|||
`src` varchar(255) DEFAULT NULL COMMENT '链接', |
|||
`create_time` int(11) NOT NULL DEFAULT '0', |
|||
`update_time` int(11) NOT NULL DEFAULT '0', |
|||
`delete_time` int(11) NOT NULL DEFAULT '0', |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表情表'; |
|||
|
|||
-- |
|||
-- 表的索引 `yu_emoji` |
|||
-- |
|||
ALTER TABLE `yu_emoji` |
|||
ADD PRIMARY KEY (`id`); |
|||
@ -0,0 +1,8 @@ |
|||
-- 升级说明 |
|||
-- 增加群聊禁言到期时间,好友上限,群聊上限。 |
|||
|
|||
-- 更新最新的版本需要更新一下配置文件,进入后台重新保存一下基础设置和聊天设置,否则配置信息不完整 |
|||
|
|||
ALTER TABLE `yu_group_user` ADD `no_speak_time` INT(11) NOT NULL DEFAULT '0' COMMENT '禁言到期时间' AFTER `is_top`; |
|||
ALTER TABLE `yu_user` ADD `friend_limit` INT(11) NOT NULL DEFAULT '0' COMMENT '好友上限' AFTER `setting`; |
|||
ALTER TABLE `yu_user` ADD `group_limit` INT(11) NOT NULL DEFAULT '0' COMMENT '群聊上限' AFTER `setting`; |
|||
@ -0,0 +1,23 @@ |
|||
-- 升级说明 |
|||
-- 增加群聊禁言到期时间,好友上限,群聊上限。 |
|||
|
|||
-- 更新最新的版本需要更新一下配置文件,进入后台重新保存一下基础设置和聊天设置,否则配置信息不完整 |
|||
|
|||
CREATE TABLE `yu_emoji` ( |
|||
`id` int(11) NOT NULL, |
|||
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id,0为系统', |
|||
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '类型', |
|||
`name` varchar(255) DEFAULT NULL COMMENT '名称', |
|||
`src` varchar(255) DEFAULT NULL COMMENT '链接', |
|||
`file_id` INT(11) NOT NULL DEFAULT '0' COMMENT '文件id', |
|||
`create_time` int(11) NOT NULL DEFAULT '0', |
|||
`update_time` int(11) NOT NULL DEFAULT '0', |
|||
`delete_time` int(11) NOT NULL DEFAULT '0', |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表情表'; |
|||
|
|||
-- |
|||
-- 表的索引 `yu_emoji` |
|||
-- |
|||
ALTER TABLE `yu_emoji` |
|||
ADD PRIMARY KEY (`id`); |
|||
@ -0,0 +1,337 @@ |
|||
|
|||
-- |
|||
-- 数据库: `im` |
|||
-- |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
-- |
|||
-- 表的结构 `yu_config` |
|||
-- |
|||
|
|||
CREATE TABLE `yu_config` ( |
|||
`id` int(11) NOT NULL, |
|||
`name` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|||
`value` json DEFAULT NULL, |
|||
`create_user` int(11) NOT NULL DEFAULT '0', |
|||
`update_time` int(11) NOT NULL DEFAULT '0', |
|||
`create_time` int(11) NOT NULL DEFAULT '0', |
|||
`remark` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='配置表'; |
|||
|
|||
-- |
|||
-- 转存表中的数据 `yu_config` |
|||
-- |
|||
|
|||
INSERT INTO `yu_config` (`id`, `name`, `value`, `create_user`, `update_time`, `create_time`, `remark`, `status`) VALUES |
|||
(1, 'sysInfo', '{\"logo\": \"\", \"name\": \"Raingad-IM\", \"state\": \"1\", \"regauth\": \"0\", \"regtype\": \"2\", \"runMode\": \"1\", \"ipregion\": \"1\", \"closeTips\": \"系统升级维护中,请稍候再试!\", \"description\": \"一款基于vue2.0的即时通信系统\", \"registerInterval\": \"600\"}', 0, 1688462862, 1688462862, NULL, 1), |
|||
(2, 'chatInfo', '{\"stun\": \"\", \"online\": \"1\", \"webrtc\": \"0\", \"dbDelMsg\": \"1\", \"msgClear\": \"1\", \"redoTime\": \"120\", \"stunPass\": \"\", \"stunUser\": \"\", \"groupChat\": \"1\", \"simpleChat\": \"1\", \"autoAddUser\": {\"status\": \"0\", \"welcome\": \"你好啊,欢迎来到Raingad-IM\", \"user_ids\": [\"1\", \"2\", \"3\"], \"user_items\": [\"1\", \"2\", \"3\"]}, \"msgClearDay\": \"30\", \"autoAddGroup\": {\"name\": \"春游交流\", \"status\": \"0\", \"userMax\": \"100\", \"owner_uid\": \"1\", \"owner_info\": [{\"id\": \"1\", \"avatar\": \"", \"user_id\": \"1\", \"realname\": \"管理员\"}]}, \"groupUserMax\": \"0\", \"sendInterval\": \"0\"}', 0, 1688463300, 1688463300, NULL, 1), |
|||
(3, 'smtp', '{\"addr\": \"xiekunyu@sss.com\", \"host\": \"smtp.exmail.qq.com\", \"pass\": \"ssss\", \"port\": \"465\", \"sign\": \"Raingad-IM\", \"security\": \"ssl\"}', 0, 1688464072, 1688464072, NULL, 1), |
|||
(4, 'fileUpload', '{\"disk\": \"local\", \"size\": \"50\", \"qiniu\": {\"url\": \"\", \"bucket\": \"\", \"accessKey\": \"\", \"secretKey\": \"\"}, \"aliyun\": {\"url\": \"\", \"bucket\": \"\", \"accessId\": \"\", \"endpoint\": \"\", \"accessSecret\": \"\"}, \"qcloud\": {\"cdn\": \"\", \"appId\": \"\", \"bucket\": \"\", \"region\": \"\", \"secretId\": \"\", \"secretKey\": \"\"}, \"fileExt\": [\"jpg\", \"jpeg\", \"ico\", \"webp\", \"bmp\", \"gif\", \"pdf\", \"mp3\", \"wav\", \"wmv\", \"amr\", \"mp4\", \"3gp\", \"avi\", \"m2v\", \"mkv\", \"mov\", \"ppt\", \"pptx\", \"doc\", \"docx\", \"xls\", \"xlsx\", \"txt\", \"md\", \"hevc\", \"png\", \"KLKV\"], \"preview\": \"\"}', 0, 1688464130, 1688464130, NULL, 1), |
|||
(5, 'compass', '{\"list\": [], \"mode\": 1, \"status\": 0}', 0, 1688464130, 1688464130, NULL, 1); |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
-- |
|||
-- 表的结构 `yu_file` |
|||
-- |
|||
|
|||
CREATE TABLE `yu_file` ( |
|||
`file_id` int(11) NOT NULL, |
|||
`cate` tinyint(1) NOT NULL DEFAULT '9' COMMENT '文件分类', |
|||
`file_type` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件类型', |
|||
`parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父Id', |
|||
`name` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名称', |
|||
`src` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '链接', |
|||
`size` int(11) DEFAULT '0' COMMENT '大小', |
|||
`ext` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件后缀', |
|||
`md5` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'md5', |
|||
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '创建人', |
|||
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', |
|||
`update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', |
|||
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间', |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态', |
|||
`is_lock` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否锁定' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件库'; |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
-- |
|||
-- 表的结构 `yu_friend` |
|||
-- |
|||
|
|||
CREATE TABLE `yu_friend` ( |
|||
`friend_id` int(11) NOT NULL, |
|||
`friend_user_id` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '好友ID', |
|||
`nickname` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '好友备注', |
|||
`is_invite` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否为邀请方', |
|||
`is_top` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否置顶', |
|||
`is_notice` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否消息提醒', |
|||
`create_user` int(11) NOT NULL DEFAULT '0', |
|||
`update_time` int(11) NOT NULL DEFAULT '0', |
|||
`create_time` int(11) NOT NULL DEFAULT '0', |
|||
`delete_time` int(11) NOT NULL DEFAULT '0', |
|||
`remark` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '申请备注', |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='联系人置顶表'; |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
-- |
|||
-- 表的结构 `yu_group` |
|||
-- |
|||
|
|||
CREATE TABLE `yu_group` ( |
|||
`group_id` int(11) NOT NULL, |
|||
`name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '团队名称', |
|||
`name_py` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '团队的拼音', |
|||
`avatar` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '群聊头像', |
|||
`level` tinyint(1) NOT NULL DEFAULT '1' COMMENT '等级', |
|||
`create_user` int(11) NOT NULL DEFAULT '0' COMMENT '创建人', |
|||
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', |
|||
`owner_id` int(11) NOT NULL DEFAULT '0' COMMENT '拥有者', |
|||
`is_public` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否公开', |
|||
`notice` mediumtext COLLATE utf8mb4_unicode_ci COMMENT '公告', |
|||
`setting` mediumtext COLLATE utf8mb4_unicode_ci COMMENT '设置', |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态', |
|||
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
-- |
|||
-- 表的结构 `yu_group_user` |
|||
-- |
|||
|
|||
CREATE TABLE `yu_group_user` ( |
|||
`id` int(11) NOT NULL, |
|||
`group_id` int(11) NOT NULL DEFAULT '0' COMMENT '团队Id', |
|||
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户Id', |
|||
`role` tinyint(1) NOT NULL DEFAULT '2' COMMENT '角色 1拥有者,2管理员,3成员', |
|||
`invite_id` int(11) NOT NULL DEFAULT '0' COMMENT '邀请人', |
|||
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', |
|||
`unread` int(11) NOT NULL DEFAULT '0' COMMENT '群未读消息', |
|||
`is_notice` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1是否提醒', |
|||
`is_top` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否置顶', |
|||
`no_speak_time` int(11) NOT NULL DEFAULT '0' COMMENT '禁言到期时间', |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0 ,未同意邀请,1,同意', |
|||
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
-- |
|||
-- 表的结构 `yu_message` |
|||
-- |
|||
|
|||
CREATE TABLE `yu_message` ( |
|||
`msg_id` int(11) NOT NULL, |
|||
`id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '消息id', |
|||
`from_user` int(11) NOT NULL DEFAULT '0' COMMENT '发送者', |
|||
`to_user` int(11) NOT NULL DEFAULT '0' COMMENT '接受收者', |
|||
`content` text COLLATE utf8mb4_unicode_ci COMMENT '消息内容,如果为文件或图片就是url', |
|||
`chat_identify` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标识 :a与b聊天,b与a聊天。记录 a-b', |
|||
`type` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'text' COMMENT '消息类型:text、file、image...', |
|||
`is_group` tinyint(1) NOT NULL DEFAULT '0' COMMENT '群聊消息', |
|||
`is_read` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否阅读', |
|||
`is_last` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否是最后一条消息', |
|||
`create_time` int(13) NOT NULL DEFAULT '0' COMMENT '发送时间', |
|||
`is_undo` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否撤回', |
|||
`at` text COLLATE utf8mb4_unicode_ci COMMENT '提醒某人', |
|||
`pid` int(11) DEFAULT '0' COMMENT '引用id', |
|||
`file_id` int(11) NOT NULL DEFAULT '0' COMMENT '文件id', |
|||
`file_cate` tinyint(1) NOT NULL DEFAULT '0' COMMENT '文件类型', |
|||
`file_size` int(11) NOT NULL DEFAULT '0' COMMENT '文件大小', |
|||
`file_name` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件名称', |
|||
`extends` json DEFAULT NULL COMMENT '消息扩展内容', |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态', |
|||
`del_user` text COLLATE utf8mb4_unicode_ci COMMENT '已删除成员' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
|
|||
-- |
|||
-- 表的结构 `yu_emoji` |
|||
-- |
|||
|
|||
CREATE TABLE `yu_emoji` ( |
|||
`id` int(11) NOT NULL, |
|||
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id,0为系统', |
|||
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '类型', |
|||
`name` varchar(255) DEFAULT NULL COMMENT '名称', |
|||
`src` varchar(255) DEFAULT NULL COMMENT '链接', |
|||
`file_id` INT(11) NOT NULL DEFAULT '0' COMMENT '文件id', |
|||
`create_time` int(11) NOT NULL DEFAULT '0', |
|||
`update_time` int(11) NOT NULL DEFAULT '0', |
|||
`delete_time` int(11) NOT NULL DEFAULT '0', |
|||
`status` tinyint(1) NOT NULL DEFAULT '1' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表情表'; |
|||
|
|||
-- |
|||
-- 表的结构 `yu_user` |
|||
-- |
|||
|
|||
CREATE TABLE `yu_user` ( |
|||
`user_id` int(11) NOT NULL, |
|||
`account` char(32) COLLATE utf8mb4_unicode_ci NOT NULL, |
|||
`realname` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|||
`password` char(32) COLLATE utf8mb4_unicode_ci NOT NULL, |
|||
`salt` varchar(4) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '加密盐', |
|||
`avatar` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '头像', |
|||
`email` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '电子邮箱', |
|||
`sex` tinyint(1) NOT NULL DEFAULT '2' COMMENT '性别,0女,1男,2未知', |
|||
`role` tinyint(1) NOT NULL DEFAULT '0' COMMENT '角色,0无角色,1超管,2普管', |
|||
`motto` text COLLATE utf8mb4_unicode_ci COMMENT '个性签名', |
|||
`remark` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', |
|||
`name_py` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名字的拼音', |
|||
`cs_uid` int(11) NOT NULL DEFAULT '0' COMMENT '客服ID', |
|||
`setting` json DEFAULT NULL COMMENT '用户设置', |
|||
`friend_limit` int(11) NOT NULL DEFAULT '0' COMMENT '好友上限', |
|||
`group_limit` int(11) NOT NULL DEFAULT '0' COMMENT '群聊上限', |
|||
`create_time` int(11) UNSIGNED NOT NULL COMMENT '创建时间', |
|||
`update_time` int(11) UNSIGNED DEFAULT NULL, |
|||
`login_count` mediumint(8) UNSIGNED DEFAULT '0' COMMENT '登录次数', |
|||
`is_auth` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否认证', |
|||
`last_login_time` int(11) UNSIGNED DEFAULT '0' COMMENT '最后登录时间', |
|||
`last_login_ip` char(15) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '最后登录Ip\n', |
|||
`register_ip` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '注册IP', |
|||
`delete_time` int(11) UNSIGNED NOT NULL DEFAULT '0', |
|||
`status` tinyint(1) UNSIGNED DEFAULT '1' |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPACT; |
|||
|
|||
|
|||
-- |
|||
-- 转存表中的数据 `yu_user` |
|||
-- |
|||
|
|||
INSERT INTO `yu_user` (`user_id`, `account`, `realname`, `password`, `salt`, `avatar`, `email`, `sex`, `role`, `motto`, `remark`, `name_py`, `cs_uid`, `setting`, `friend_limit`, `group_limit`, `create_time`, `update_time`, `login_count`, `is_auth`, `last_login_time`, `last_login_ip`, `register_ip`, `delete_time`, `status`) VALUES |
|||
(1, 'administrator', '管理员', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'service@kais.com', 1, 1, NULL, '', 'guanliyuan', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"false\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1222907803, 1702625051, 300, 0, 1730704229, '171.212.121.209', NULL, 0, 1), |
|||
(2, '13800000002', '熊大', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'lllll@bchn', 2, 0, '我是测试', '', 'xiongda', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"true\", \"hideMessageTime\": \"true\"}', 0, 0, 1555341865, 1730171777, 14886, 0, 1730704870, '125.80.141.99', NULL, 0, 1), |
|||
(3, '13800000003', '熊二', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, '12345@qq.com', 0, 0, '', '', 'xionger', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"false\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1557933999, 1728161315, 1217, 0, 1730697701, '103.121.164.134', NULL, 0, 1), |
|||
(4, '13800000004', '喜洋洋', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'xiyangyang@qq.com', 1, 0, '', '', 'xiyangyang', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"true\", \"hideMessageTime\": \"true\"}', 0, 0, 1604587165, 1730142085, 834, 0, 1730643800, '180.91.180.120', NULL, 0, 1), |
|||
(5, '13800000005', '灰太狼', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'huitailang@qq.com', 1, 0, NULL, '', 'huitailang', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"true\", \"hideMessageTime\": \"true\"}', 0, 0, 1604587246, 1711360067, 859, 0, 1730692491, '1.199.39.24', NULL, 0, 1), |
|||
(6, '13800000006', '奥特曼', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'aoteman@qq.com', 1, 0, '', '', 'aoteman', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"true\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587295, 1729431591, 824, 0, 1730688234, '120.224.39.54', NULL, 0, 1), |
|||
(7, '13800000007', '孙悟空', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'sunwukong@qq.com', 1, 0, '', '', 'sunwukong', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"false\", \"hideMessageName\": \"true\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587347, 1728972288, 761, 0, 1730703214, '115.60.18.127', NULL, 0, 1), |
|||
(8, '13800000008', '猪八戒', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'zhubajie@qq.com', 1, 0, '', '', 'zhubajie', 0, '{\"theme\": \"default\", \"isVoice\": \"false\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"true\"}', 0, 0, 1604587378, 1726480311, 894, 0, 1730705108, '120.211.148.44', NULL, 0, 1), |
|||
(9, '13800000009', '唐三藏', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'tangsanzang@qq.com', 0, 0, '', '', 'tangsanzang', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587409, 1723078304, 1147, 0, 1730462811, '120.228.7.21', NULL, 0, 1), |
|||
(10, '13800000010', '沙悟净', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'sss', 2, 0, '', '', 'shawujing', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"true\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587409, 1727523988, 818, 0, 1730689889, '120.224.39.54', NULL, 0, 1), |
|||
(11, '13800000011', '刘备', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'liubei@kaishanlaw.com', 1, 0, '', '', 'hongbaolai', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"2\", \"avatarCricle\": \"false\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1555341865, 1724836138, 861, 0, 1730703374, '115.60.18.127', NULL, 0, 1), |
|||
(12, '13800000012', '关羽', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'gggg', 1, 0, '', '', 'guanyu', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"false\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1557933999, 1730285557, 781, 0, 1730686560, '120.224.39.54', NULL, 0, 1), |
|||
(13, '13800000013', '张飞', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'i', 1, 0, '', '', 'zhangfei', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"false\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587165, 1729275843, 641, 0, 1730702978, '115.60.18.127', NULL, 0, 1), |
|||
(14, '13800000014', '赵云', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', '', 'zhaoyun@qq.com', 1, 0, '', '', 'zhaoyun', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"true\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587246, 1730374373, 662, 0, 1730688783, '124.135.239.79', NULL, 0, 1), |
|||
(15, '13800000015', '曹操', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'caocao@qq.com', 1, 0, '', '', 'caocao', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587295, 1720255912, 800, 0, 1730703843, '220.173.180.106', NULL, 0, 1), |
|||
(16, '13800000016', '司马懿', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'simayi@qq.com', 2, 0, '', '', 'simayi', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587347, 1711527030, 781, 0, 1730703600, '218.57.140.131', NULL, 0, 1), |
|||
(17, '13800000017', '孙权', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'sunquan@qq.com', 1, 0, 'fv', '', 'sunquan', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"true\", \"hideMessageTime\": \"true\"}', 0, 0, 1604587378, 1714396067, 713, 0, 1730598894, '39.148.72.199', NULL, 0, 1), |
|||
(18, '13800000018', '周瑜', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'zhouyu@qq.com', 1, 0, '12121', '', 'zhouyu', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587409, 1714437700, 786, 0, 1730700668, '222.71.91.18', NULL, 0, 1), |
|||
(19, '13800000019', '诸葛亮', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'zhugeliang@qq.com', 0, 0, '', '', 'zhugeliang', 0, '{\"theme\": \"blue\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"false\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587378, 1730705058, 883, 0, 1730688482, '222.212.4.43', NULL, 0, 1), |
|||
(20, '13800000020', '吕布', '2cb4ecb7fd5295685e275edc7d44e02e', 'srww', NULL, 'lvbu@qq.com', 0, 0, '', '', 'lvbu', 0, '{\"theme\": \"default\", \"isVoice\": \"true\", \"sendKey\": \"1\", \"avatarCricle\": \"true\", \"hideMessageName\": \"false\", \"hideMessageTime\": \"false\"}', 0, 0, 1604587409, 1729935411, 1750, 0, 1730014387, '101.44.83.192', NULL, 0, 1); |
|||
|
|||
-- |
|||
-- 转储表的索引 |
|||
-- |
|||
|
|||
-- |
|||
-- 表的索引 `yu_config` |
|||
-- |
|||
ALTER TABLE `yu_config` |
|||
ADD PRIMARY KEY (`id`); |
|||
|
|||
-- |
|||
-- 表的索引 `yu_file` |
|||
-- |
|||
ALTER TABLE `yu_file` |
|||
ADD PRIMARY KEY (`file_id`); |
|||
|
|||
-- |
|||
-- 表的索引 `yu_friend` |
|||
-- |
|||
ALTER TABLE `yu_friend` |
|||
ADD PRIMARY KEY (`friend_id`); |
|||
|
|||
-- |
|||
-- 表的索引 `yu_group` |
|||
-- |
|||
ALTER TABLE `yu_group` |
|||
ADD PRIMARY KEY (`group_id`); |
|||
|
|||
-- |
|||
-- 表的索引 `yu_group_user` |
|||
-- |
|||
ALTER TABLE `yu_group_user` |
|||
ADD PRIMARY KEY (`id`); |
|||
|
|||
-- |
|||
-- 表的索引 `yu_message` |
|||
-- |
|||
ALTER TABLE `yu_message` |
|||
ADD PRIMARY KEY (`msg_id`); |
|||
|
|||
-- |
|||
-- 表的索引 `yu_emoji` |
|||
-- |
|||
ALTER TABLE `yu_emoji` |
|||
ADD PRIMARY KEY (`id`); |
|||
|
|||
-- |
|||
-- 表的索引 `yu_user` |
|||
-- |
|||
ALTER TABLE `yu_user` |
|||
ADD PRIMARY KEY (`user_id`), |
|||
ADD UNIQUE KEY `account` (`account`) USING BTREE, |
|||
ADD KEY `accountpassword` (`account`,`password`); |
|||
|
|||
-- |
|||
-- 在导出的表使用AUTO_INCREMENT |
|||
-- |
|||
|
|||
-- |
|||
-- 使用表AUTO_INCREMENT `yu_config` |
|||
-- |
|||
ALTER TABLE `yu_config` |
|||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7; |
|||
|
|||
-- |
|||
-- 使用表AUTO_INCREMENT `yu_file` |
|||
-- |
|||
ALTER TABLE `yu_file` |
|||
MODIFY `file_id` int(11) NOT NULL AUTO_INCREMENT; |
|||
|
|||
-- |
|||
-- 使用表AUTO_INCREMENT `yu_friend` |
|||
-- |
|||
ALTER TABLE `yu_friend` |
|||
MODIFY `friend_id` int(11) NOT NULL AUTO_INCREMENT; |
|||
|
|||
-- |
|||
-- 使用表AUTO_INCREMENT `yu_group` |
|||
-- |
|||
ALTER TABLE `yu_group` |
|||
MODIFY `group_id` int(11) NOT NULL AUTO_INCREMENT; |
|||
|
|||
-- |
|||
-- 使用表AUTO_INCREMENT `yu_group_user` |
|||
-- |
|||
ALTER TABLE `yu_group_user` |
|||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; |
|||
|
|||
-- |
|||
-- 使用表AUTO_INCREMENT `yu_message` |
|||
-- |
|||
ALTER TABLE `yu_message` |
|||
MODIFY `msg_id` int(11) NOT NULL AUTO_INCREMENT; |
|||
|
|||
-- |
|||
-- 使用表AUTO_INCREMENT `yu_emoji` |
|||
-- |
|||
ALTER TABLE `yu_emoji` |
|||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; |
|||
|
|||
-- |
|||
-- 使用表AUTO_INCREMENT `yu_user` |
|||
-- |
|||
ALTER TABLE `yu_user` |
|||
MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21; |
|||
COMMIT; |
|||
|
|||
@ -0,0 +1,527 @@ |
|||
#yAudio{ |
|||
width:600px; |
|||
margin:15% auto; |
|||
} |
|||
.yAudio { |
|||
display: flex; |
|||
width: 100%; |
|||
color: #333; |
|||
font-family: Arial, Helvetica, sans-serif; |
|||
overflow: hidden; |
|||
-webkit-user-select: none; |
|||
-moz-user-select: none; |
|||
-ms-user-select: none; |
|||
user-select: none; |
|||
line-height: normal; |
|||
position: relative; |
|||
--theme-color: #d72630; |
|||
} |
|||
|
|||
.yAudio .yAudio-artword { |
|||
width: 160px; |
|||
height: 160px; |
|||
margin-right: 15px; |
|||
} |
|||
|
|||
.yAudio .yAudio-artword .yAudio-figure { |
|||
display: block; |
|||
width: 100%; |
|||
height: 100%; |
|||
margin: 0; |
|||
padding: 0; |
|||
} |
|||
|
|||
.yAudio .yAudio-artword .yAudio-pic { |
|||
display: block; |
|||
width: 100%; |
|||
height: 100%; |
|||
object-fit: cover; |
|||
} |
|||
|
|||
.yAudio .yAudio-content { |
|||
flex: 1; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-header { |
|||
display: flex; |
|||
align-items: center; |
|||
padding: 5px 0 7px; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-play { |
|||
width: 38px; |
|||
height: 38px; |
|||
border-radius: 50%; |
|||
color: #fff; |
|||
background-color: var(--theme-color); |
|||
margin-right: 5px; |
|||
cursor: not-allowed; |
|||
position: relative; |
|||
} |
|||
|
|||
.yAudio.load .yAudio-content .yAudio-play { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-play svg { |
|||
position: absolute; |
|||
top: 8px; |
|||
left: 10px; |
|||
width: 22px; |
|||
height: 22px; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-play svg path { |
|||
fill: #fff; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-play__pause, |
|||
.yAudio.play .yAudio-content .yAudio-play__playing { |
|||
visibility: visible; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-play__playing, |
|||
.yAudio.play .yAudio-content .yAudio-play__pause { |
|||
visibility: hidden; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-play__playing { |
|||
left: 8px; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-container { |
|||
flex: 1; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-author { |
|||
font-size: 12px; |
|||
color: #999; |
|||
font-weight: 300; |
|||
margin: 0; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-title { |
|||
font-size: 15px; |
|||
margin: 0; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-time { |
|||
color: #ccc; |
|||
font-size: 12px; |
|||
font-weight: 100; |
|||
line-height: 1; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-main { |
|||
width: 100%; |
|||
position: relative; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-waveform { |
|||
width: 100%; |
|||
height: 60px; |
|||
cursor: pointer; |
|||
opacity: 0.8; |
|||
transform: scaleY(0); |
|||
transform-origin: left 75%; |
|||
transition: all 0.3s ease-out; |
|||
position: relative; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-waveform::before { |
|||
content: ''; |
|||
position: absolute; |
|||
top: 0; |
|||
left: var(--bar-left); |
|||
width: 1px; |
|||
height: 100%; |
|||
opacity: 0; |
|||
background-color: var(--theme-color); |
|||
transition: opacity 0.3s ease-out; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-waveform:hover, |
|||
.yAudio.start .yAudio-content .yAudio-waveform, |
|||
.yAudio .yAudio-content .yAudio-waveform:hover::before { |
|||
opacity: 1; |
|||
} |
|||
|
|||
.yAudio.load .yAudio-content .yAudio-waveform { |
|||
transform: scaleY(1); |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-waveform .yAudio-pro { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
width: 0; |
|||
height: 60px; |
|||
overflow: hidden; |
|||
background-color: transparent; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-current, |
|||
.yAudio .yAudio-content .yAudio-total { |
|||
position: absolute; |
|||
top: 28px; |
|||
color: #fff; |
|||
padding: 3px 2px; |
|||
font-size: 12px; |
|||
line-height: 1; |
|||
transform: scale(0.9); |
|||
opacity: 0; |
|||
background-color: rgba(50, 50, 50, 0.91); |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-current { |
|||
left: 0; |
|||
z-index: 9; |
|||
color: var(--theme-color); |
|||
transition: opacity 0.3s linear; |
|||
} |
|||
|
|||
.yAudio.start .yAudio-content .yAudio-current { |
|||
opacity: 1; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-total { |
|||
color: #999; |
|||
right: 0; |
|||
} |
|||
|
|||
.yAudio.load .yAudio-content .yAudio-total { |
|||
opacity: 1; |
|||
animation: opacity 0.6s linear; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-comments { |
|||
width: 100%; |
|||
position: relative; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-wrapper { |
|||
position: absolute; |
|||
top: -15px; |
|||
left: 0; |
|||
width: 100%; |
|||
height: 12px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-wrapper__item { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 10px; |
|||
width: 12px; |
|||
height: 12px; |
|||
background-color: #222; |
|||
background-repeat: no-repeat; |
|||
background-size: cover; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-wrapper__item.current { |
|||
border-radius: 50%; |
|||
box-shadow: 1px 2px 6px #6c6c6c; |
|||
z-index: 9; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-popover { |
|||
display: flex; |
|||
width: 100%; |
|||
height: 30px; |
|||
line-height: 30px; |
|||
font-size: 12px; |
|||
box-sizing: border-box; |
|||
transition: all 0.3s ease-out; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-popover-wrapper { |
|||
position: absolute; |
|||
top: 4px; |
|||
left: 0; |
|||
line-height: 1; |
|||
opacity: 0; |
|||
transition: top 0.25s, opacity 0.25s; |
|||
} |
|||
|
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-wrapper.active |
|||
~ .yAudio-popover |
|||
.yAudio-popover-wrapper { |
|||
top: 7px; |
|||
opacity: 1; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-popover-wrapper__user { |
|||
display: block; |
|||
float: left; |
|||
color: var(--theme-color); |
|||
padding: 0 8px; |
|||
text-decoration: none; |
|||
position: relative; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-popover-wrapper__user::before { |
|||
content: ''; |
|||
display: block; |
|||
position: absolute; |
|||
top: -12px; |
|||
left: 0; |
|||
width: 1px; |
|||
height: 200%; |
|||
background-image: linear-gradient( |
|||
rgba(255, 85, 0, 0.95), |
|||
rgba(255, 85, 0, 0.1) |
|||
); |
|||
} |
|||
|
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-popover-wrapper.right |
|||
.yAudio-popover-wrapper__user { |
|||
float: right; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-popover-wrapper.right, |
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-popover-wrapper.right |
|||
.yAudio-popover-wrapper__user::before { |
|||
right: 0; |
|||
left: auto; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-popover-wrapper__comment { |
|||
color: #666; |
|||
float: left; |
|||
margin: 0; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-comments-from { |
|||
width: 100%; |
|||
height: 0; |
|||
opacity: 0; |
|||
padding: 5px 5px 5px 25px; |
|||
background-color: #f2f2f2; |
|||
border: 1px solid #e5e5e5; |
|||
box-sizing: border-box; |
|||
overflow: hidden; |
|||
position: relative; |
|||
transition: all 0.3s ease-out; |
|||
} |
|||
|
|||
.yAudio.start .yAudio-content .yAudio-comments-from, |
|||
.yAudio.comment .yAudio-content .yAudio-comments-from { |
|||
opacity: 1; |
|||
height: 32px; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-comments-from::before { |
|||
content: ''; |
|||
position: absolute; |
|||
top: 6px; |
|||
left: 6px; |
|||
width: 19px; |
|||
height: 19px; |
|||
background-image: linear-gradient(135deg, #846170, #70929c); |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-comments-from__input { |
|||
width: 100%; |
|||
height: 20px; |
|||
border-radius: 0 4px 4px 0; |
|||
padding: 0 9px; |
|||
font-size: 12px; |
|||
outline: none; |
|||
cursor: pointer; |
|||
border: 1px solid #e5e5e5; |
|||
border-left: none; |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-footer { |
|||
position: relative; |
|||
box-sizing: border-box; |
|||
margin-top: 10px; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list { |
|||
border-radius: 0 0 4px 4px; |
|||
border: 1px solid #f2f2f2; |
|||
font-size: 12px; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-container { |
|||
max-height: 150px; |
|||
overflow-y: hidden; |
|||
transition: max-height 0.3s; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-container.active { |
|||
overflow-y: scroll; |
|||
max-height: 300px; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper { |
|||
margin: 0; |
|||
padding: 0; |
|||
transition: all 0.6s; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item { |
|||
width: 100%; |
|||
height: 30px; |
|||
display: flex; |
|||
align-items: center; |
|||
padding: 0 5px; |
|||
box-sizing: border-box; |
|||
color: #ccc; |
|||
cursor: not-allowed; |
|||
border-bottom: 1px solid #f2f2f2; |
|||
transition: all 0.3s; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item:last-child { |
|||
border-bottom: none; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item.active, |
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item:hover, |
|||
.yAudio .yAudio-content .yAudio-more:hover { |
|||
background-color: #f2f2f2; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item-img { |
|||
display: block; |
|||
width: 20px; |
|||
height: 20px; |
|||
margin-right: 5px; |
|||
opacity: 0.5; |
|||
transition: all 0.3s; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item-number { |
|||
margin-right: 5px; |
|||
font-size: 12px; |
|||
line-height: 1; |
|||
color: #ccc; |
|||
transition: all 0.3s; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item-content { |
|||
flex: 1; |
|||
font-size: 0; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item-user, |
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item-title { |
|||
display: inline-block; |
|||
font-size: 12px; |
|||
line-height: 1; |
|||
margin-right: 5px; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-wrapper__item-title { |
|||
color: #ccc; |
|||
transition: all 0.3s; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-bar { |
|||
position: absolute; |
|||
top: 4px; |
|||
right: 4px; |
|||
width: 6px; |
|||
height: 30px; |
|||
background-color: #ccc; |
|||
border-radius: 6px; |
|||
opacity: 0; |
|||
transition: opacity 0.6s; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-bar.active, |
|||
.yAudio .yAudio-content .yAudio-list-container.active:hover .yAudio-list-bar { |
|||
opacity: 1; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-more { |
|||
text-align: center; |
|||
padding: 5px 10px; |
|||
color: #999; |
|||
border: none; |
|||
font-size: 12px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.yAudio.load .yAudio-content .yAudio-list-wrapper__item { |
|||
color: #999; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.yAudio.load .yAudio-content .yAudio-list-wrapper__item-img { |
|||
opacity: 1; |
|||
} |
|||
|
|||
.yAudio.load .yAudio-content .yAudio-list-wrapper__item-number, |
|||
.yAudio.load .yAudio-content .yAudio-list-wrapper__item-title { |
|||
color: #333; |
|||
} |
|||
|
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-list-wrapper__item.isload |
|||
.yAudio-list-wrapper__item-number, |
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-list-wrapper__item.isload |
|||
.yAudio-list-wrapper__item-title, |
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-list-wrapper__item.isload |
|||
.yAudio-list-wrapper__item-user { |
|||
color: #b5b5b5; |
|||
} |
|||
|
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-list-wrapper__item.isload |
|||
.yAudio-list-wrapper__item-img { |
|||
opacity: 0.5; |
|||
} |
|||
|
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-list-wrapper__item.active |
|||
.yAudio-list-wrapper__item-number |
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-list-wrapper__item.active |
|||
.yAudio-list-wrapper__item-user, |
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-list-wrapper__item.active |
|||
.yAudio-list-wrapper__item-title { |
|||
color: var(--theme-color); |
|||
} |
|||
|
|||
.yAudio |
|||
.yAudio-content |
|||
.yAudio-list-wrapper__item.active |
|||
.yAudio-list-wrapper__item-img { |
|||
opacity: 1; |
|||
} |
|||
|
|||
.yAudio .yAudio-content .yAudio-list-container.active::-webkit-scrollbar { |
|||
width: 0; |
|||
height: 0; |
|||
} |
|||
|
|||
@keyframes opacity { |
|||
0% { |
|||
opacity: 0; |
|||
} |
|||
100% { |
|||
opacity: 1; |
|||
} |
|||
} |
|||
@ -0,0 +1,637 @@ |
|||
@font-face { |
|||
font-family: 'iconfont'; /* project id 1867770 */ |
|||
src: url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.eot'); |
|||
src: url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.eot?#iefix') format('embedded-opentype'), |
|||
url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.woff2') format('woff2'), |
|||
url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.woff') format('woff'), |
|||
url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.ttf') format('truetype'), |
|||
url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.svg#iconfont') format('svg'); |
|||
} |
|||
|
|||
.sv-target video { |
|||
background-color: #000000; |
|||
} |
|||
|
|||
.sv-font { |
|||
font-family: 'iconfont'; |
|||
} |
|||
|
|||
.sv-pic-pic { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
margin-right: 6px; |
|||
} |
|||
|
|||
.sv-play { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-fontBtn { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-next { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-fullScreen { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-cancelFull { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-target { |
|||
position: relative; |
|||
} |
|||
.sv-control { |
|||
position: absolute; |
|||
bottom: 0; |
|||
left: 0; |
|||
width: 100%; |
|||
height: 54px; |
|||
background-color: rgba(0, 0, 0, 0.5); |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
} |
|||
.sv-play-container { |
|||
height: 100%; |
|||
/* background-color: royalblue; */ |
|||
display: flex; |
|||
flex-direction: row; |
|||
padding-right: 10px; |
|||
} |
|||
.sv-control-r { |
|||
height: 100%; |
|||
/* background-color: royalblue; */ |
|||
display: flex; |
|||
flex-direction: row; |
|||
padding-left: 10px; |
|||
padding-right: 10px; |
|||
} |
|||
.sv-play-container button.sv-playBtn { |
|||
background: none; |
|||
border: none; |
|||
cursor: pointer; |
|||
padding: 0 10px; |
|||
outline: none; |
|||
color: inherit; |
|||
text-align: inherit; |
|||
font: inherit; |
|||
line-height: inherit; |
|||
margin-left: 10px; |
|||
} |
|||
|
|||
.sv-control-r button.showMute { |
|||
background: none; |
|||
border: none; |
|||
cursor: pointer; |
|||
padding: 0 10px; |
|||
outline: none; |
|||
color: inherit; |
|||
text-align: inherit; |
|||
font: inherit; |
|||
line-height: inherit; |
|||
position: relative; |
|||
} |
|||
|
|||
.sv-time { |
|||
height: 100%; |
|||
color: #ffffff; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
font-size: 12px; |
|||
} |
|||
|
|||
.sv-time-split { |
|||
padding: 0 4px; |
|||
} |
|||
|
|||
.sv-mutePanel { |
|||
position: absolute; |
|||
top: -120px; |
|||
left: 0; |
|||
width: 20px; |
|||
height: 80px; |
|||
background-color: rgba(0, 0, 0, 0.8); |
|||
display: flex; |
|||
flex-direction: column; |
|||
padding: 16px 6px; |
|||
border-radius: 4px; |
|||
} |
|||
|
|||
.sv-mute-num { |
|||
width: 100%; |
|||
height: 20px; |
|||
background-color: transparent; |
|||
color: #ffffff; |
|||
font-size: 12px; |
|||
text-align: center; |
|||
margin-bottom: 4px; |
|||
} |
|||
|
|||
.sv-mute-slider { |
|||
flex: 1; |
|||
width: 3px; |
|||
background-color: #ffffff; |
|||
margin: 0 auto; |
|||
position: relative; |
|||
display: flex; |
|||
flex-direction: column-reverse; |
|||
} |
|||
|
|||
.sv-mute-sliderRange { |
|||
width: 100%; |
|||
background-color: #00a1d6; |
|||
} |
|||
|
|||
.sv-control-r button.sv-mute-button { |
|||
position: absolute; |
|||
top: 0; |
|||
left: -4.5px; |
|||
width: 12px; |
|||
height: 12px; |
|||
border-radius: 50%; |
|||
z-index: 10; |
|||
background-color: #00a1d6; |
|||
border: 0; |
|||
cursor: pointer; |
|||
outline: none; |
|||
} |
|||
|
|||
.sv-progressBar { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 2%; |
|||
width: 96%; |
|||
height: 2px; |
|||
background-color: hsla(0,0%,100%,.2); |
|||
border-radius: 4px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.sv-cacheProgress { |
|||
width: 0%; |
|||
height: 100%; |
|||
background-color: #7a7878; |
|||
border-radius: 4px; |
|||
} |
|||
|
|||
.sv-progressNum { |
|||
width: 0%; |
|||
height: 100%; |
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
border-radius: 4px; |
|||
background-color: #00a1d6; |
|||
} |
|||
|
|||
.sv-progressBtn { |
|||
position: absolute; |
|||
left: 0%; |
|||
top: -7px; |
|||
width: 16px; |
|||
height: 16px; |
|||
border-radius: 50%; |
|||
background-color: rgba(0, 161, 214, 0.5); |
|||
cursor: pointer; |
|||
} |
|||
.sv-progressBtn>div { |
|||
width: 10px; |
|||
height: 10px; |
|||
border-radius: 50%; |
|||
background-color: #00a1d6; |
|||
margin-top: 2.6px; |
|||
margin-left: 2.8px; |
|||
} |
|||
|
|||
.hide { |
|||
display: none!important; |
|||
} |
|||
|
|||
.sv-full-screen { |
|||
position: fixed!important; |
|||
width: 100%!important; |
|||
height: 100%!important; |
|||
left: 0!important; |
|||
top: 0!important; |
|||
margin: 0!important; |
|||
padding: 0!important; |
|||
} |
|||
|
|||
.sv-loading{ |
|||
/* width: 60px; |
|||
height: 60px; */ |
|||
position: absolute; |
|||
left: 48%; |
|||
top: 48%; |
|||
} |
|||
.sv-loading span{ |
|||
display: inline-block; |
|||
width: 4px; |
|||
height: 100%; |
|||
border-radius: 4px; |
|||
background: #00a1d6; |
|||
-webkit-animation: load 1s ease infinite; |
|||
animation: load 1s ease infinite; |
|||
} |
|||
@-webkit-keyframes load{ |
|||
0%,100%{ |
|||
height: 20px; |
|||
background: #00a1d6; |
|||
} |
|||
50%{ |
|||
height: 40px; |
|||
margin: -15px 0; |
|||
background: lightblue; |
|||
} |
|||
} |
|||
.sv-loading span:nth-child(2){ |
|||
-webkit-animation-delay:0.2s; |
|||
animation-delay:0.2s; |
|||
} |
|||
.sv-loading span:nth-child(3){ |
|||
-webkit-animation-delay:0.4s; |
|||
animation-delay:0.4s; |
|||
} |
|||
.sv-loading span:nth-child(4){ |
|||
-webkit-animation-delay:0.6s; |
|||
animation-delay:0.6s; |
|||
} |
|||
.sv-loading span:nth-child(5){ |
|||
-webkit-animation-delay:0.8s; |
|||
animation-delay:0.8s; |
|||
} |
|||
|
|||
/* 弹幕 */ |
|||
.sv-brrage { |
|||
position: absolute; |
|||
padding: 4px; |
|||
background-color: transparent; |
|||
display: flex; |
|||
flex-direction: row; |
|||
white-space: nowrap; |
|||
width: auto; |
|||
word-wrap: break-word; |
|||
max-width: 500px; |
|||
min-width: 100px; |
|||
} |
|||
|
|||
.sv-brrage-center { |
|||
text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px; |
|||
} |
|||
|
|||
/* 画中画 */ |
|||
|
|||
.sv-picinpic { |
|||
position: absolute; |
|||
z-index: 22; |
|||
position: absolute; |
|||
top: 20px; |
|||
right: 20px; |
|||
white-space: nowrap; |
|||
height: 36px; |
|||
padding: 0 12px; |
|||
overflow: visible; |
|||
border-radius: 2px; |
|||
border-radius: 18px; |
|||
background: #2b2b2b; |
|||
background: rgba(43,43,43,.8); |
|||
color: #fff; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-size: 14px; |
|||
cursor: pointer; |
|||
} |
|||
.sv-picinpic:hover { |
|||
background: linear-gradient(90deg,#4ca9c7 0,#03bbf7)!important |
|||
}.sv-el-control-style { |
|||
padding-right: 10px; |
|||
padding-left: 10px; |
|||
height: 100%; |
|||
display: flex; |
|||
flex-direction: row; |
|||
} |
|||
|
|||
.sv-nextBtn { |
|||
background: none; |
|||
border: none; |
|||
cursor: pointer; |
|||
outline: none; |
|||
text-align: inherit; |
|||
} |
|||
|
|||
.sv-speedBtn { |
|||
background: none; |
|||
border: none; |
|||
cursor: pointer; |
|||
outline: none; |
|||
text-align: inherit; |
|||
position: relative; |
|||
} |
|||
.sv-speedBtn .sv-speed-btn { |
|||
position: absolute; |
|||
bottom: 54px; |
|||
left: -10px; |
|||
padding: 10px; |
|||
border-radius: 4px; |
|||
background-color: rgba(0, 0, 0, 0.8); |
|||
/* box-sizing: border-box; |
|||
border: 1px solid #ffffff; */ |
|||
} |
|||
.sv-speedBtn .sv-speed-btn ul { |
|||
padding: 0; |
|||
margin: 0; |
|||
} |
|||
.sv-speedBtn .sv-speed-btn ul li { |
|||
list-style: none; |
|||
font-size: 12px; |
|||
line-height: 20px; |
|||
cursor: pointer; |
|||
} |
|||
.sv-speedBtn .sv-speed-btn ul li:hover{ |
|||
color: #00a1d6; |
|||
} |
|||
.sv-active{ |
|||
color: #00a1d6!important; |
|||
} |
|||
|
|||
.sv-control-c { |
|||
height: 100%; |
|||
} |
|||
|
|||
/* 弹幕控件 */ |
|||
.sv-barrage { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
height: 100%; |
|||
position: relative; |
|||
} |
|||
.sv-barrage-a { |
|||
height: 26px; |
|||
} |
|||
.sv-barrage-input { |
|||
height: 17px; |
|||
outline: none; |
|||
padding: 6px 30px; |
|||
border-top-left-radius: 4px; |
|||
border-bottom-left-radius: 4px; |
|||
border-top: 1px solid #333333; |
|||
border-left: 1px solid #333333; |
|||
border-bottom: 1px solid #333333; |
|||
border-right: 1px solid #00a1d6; |
|||
background: none; |
|||
font-size: 12px; |
|||
color: #fff; |
|||
} |
|||
.sv-barrage-button { |
|||
height: 31px; |
|||
background-color: #00a1d6; |
|||
color: #fff; |
|||
width: 60px; |
|||
min-width: 60px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
box-sizing: border-box; |
|||
border-top: 1px solid #333333; |
|||
border-right: 1px solid #333333; |
|||
border-bottom: 1px solid #333333; |
|||
border-left: 1px solid #00a1d6; |
|||
border-top-right-radius: 4px; |
|||
border-bottom-right-radius: 4px; |
|||
outline: none; |
|||
vertical-align: middle; |
|||
} |
|||
.sv-barrage-button:hover{ |
|||
background-color: #03bbf7; |
|||
border-left: 1px solid #03bbf7; |
|||
} |
|||
.sv-barrage-font { |
|||
position: absolute; |
|||
left: 6px; |
|||
top: 16px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.sv-apanel { |
|||
position: absolute; |
|||
bottom: 54px; |
|||
left: -10px; |
|||
padding: 10px; |
|||
border-radius: 4px; |
|||
background-color: rgba(0, 0, 0, 0.8); |
|||
width: 200px; |
|||
height: 100px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
color: #fff; |
|||
z-index: 99999; |
|||
} |
|||
.sv-apanel-item { |
|||
display: flex; |
|||
flex-direction: column; |
|||
overflow: hidden; |
|||
} |
|||
.sv-apanel-item span { |
|||
font-size: 12px; |
|||
} |
|||
.sv-apanel-item ul { |
|||
margin: 0; |
|||
padding: 0; |
|||
margin-top: 8px; |
|||
} |
|||
.sv-apanel-item ul li { |
|||
list-style: none; |
|||
background-color: #fff; |
|||
display: block; |
|||
width: 20px; |
|||
height: 20px; |
|||
margin: 4px; |
|||
float: left; |
|||
cursor: pointer; |
|||
} |
|||
.activeColor{ |
|||
box-sizing: border-box; |
|||
border: 2px solid #ffff; |
|||
} |
|||
|
|||
.videoContainer { |
|||
width: 100%; |
|||
height: calc(100vh - 4px); |
|||
margin: 0; |
|||
padding: 0; |
|||
} |
|||
|
|||
body{ |
|||
background-color: #f5f5f5;color: #5F5F5F;margin: 0; padding: 0; height: 100%; |
|||
} |
|||
|
|||
.container { |
|||
text-align: center; |
|||
font-size: 72px; |
|||
margin-top: 20%; |
|||
} |
|||
|
|||
/*zoom-marker*/ |
|||
|
|||
.picview { width:50%; margin:auto auto auto auto; height:800px; overflow:hidden; } |
|||
.picview img{position:absolute; left: 30%; top:20%; width:500px; z-index:1; } |
|||
.zoom-marker{cursor: pointer;z-index:2;} |
|||
|
|||
/* pptview */ |
|||
.pptview{ |
|||
width: 100%; |
|||
height: 100vh; |
|||
position: relative; |
|||
display: flex; |
|||
} |
|||
|
|||
.slide-box{ |
|||
margin: 0px auto; |
|||
position: relative; |
|||
} |
|||
#all_slides_warpper{ |
|||
position: absolute; |
|||
left: 10px; |
|||
right: 10px; |
|||
top: 10px; |
|||
bottom: 10px; |
|||
padding: 0px; |
|||
max-width: 900px; |
|||
left: 50% !important; |
|||
transform: translateX(-50%); |
|||
/* margin:50px 100px; */ |
|||
/* height: inherit !important; */ |
|||
height: auto !important; |
|||
} |
|||
|
|||
#all_slides_warpper .slide{ |
|||
border-radius: 0px; |
|||
-webkit-transform-origin: 0 0; |
|||
} |
|||
.not-in-wap #all_slides_warpper .slide-box{ |
|||
margin-bottom: 20px; |
|||
/* top: 50%; |
|||
transform: translateY(-50%); */ |
|||
} |
|||
.not-in-wap #all_slides_warpper .slide{ |
|||
/* margin: 0px auto; */ |
|||
margin: 0px; |
|||
top: 0px !important; |
|||
left: 0px !important; |
|||
/* top: 50% !important; |
|||
transform: translateY(-50%); */ |
|||
} |
|||
|
|||
.is-in-wap #all_slides_warpper .slide-box{ |
|||
margin-bottom: 10px; |
|||
} |
|||
.is-in-wap #all_slides_warpper .slide{ |
|||
display: block !important; |
|||
} |
|||
.is-in-wap .slide-page-toolbar{display: none;} |
|||
|
|||
.not-in-wap .main-slide-fscreen{ |
|||
left: 0px !important; |
|||
} |
|||
|
|||
.total-page-point{ |
|||
border-color: #FF8040; |
|||
box-shadow: 0 0 0 2px #ff8040; |
|||
} |
|||
.slide-play-btn{ |
|||
display: none; |
|||
opacity: 0.6; |
|||
position: absolute; |
|||
font-size: 45px; |
|||
/* top: 36%; |
|||
left: 90px; */ |
|||
transform: scale(1) !important; |
|||
z-index: 999999; |
|||
color: #ff8040; |
|||
top: 50%; |
|||
left: 50%; |
|||
margin-left: -22.5px; |
|||
margin-top: -22.5px; |
|||
} |
|||
.slide-play-btn:hover{ |
|||
opacity: 0.8; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
/* 全屏 */ |
|||
.output-fscreen .slide-page-toolbar{ |
|||
left: 45%; |
|||
} |
|||
.output-fscreen .slide-left-icon{ |
|||
left: 0px; |
|||
width: 150px; |
|||
} |
|||
.output-fscreen .slide-right-icon{ |
|||
width: 150px; |
|||
} |
|||
|
|||
.text-preview{ |
|||
width: 900px; |
|||
min-height: 600px; |
|||
padding: 15px; |
|||
background: #fff; |
|||
margin: 15px auto; |
|||
border-radius: 6px; |
|||
font-size: 18px; |
|||
font-weight: 600; |
|||
color: #000 !important; |
|||
} |
|||
.text-preview #file-content{ |
|||
white-space: pre-wrap; |
|||
} |
|||
|
|||
@media (max-width: 768px) { |
|||
.text-preview{ |
|||
width: 90% !important; |
|||
} |
|||
.not-in-wap #left_slides_bar{display: none !important;} |
|||
.not-in-wap .slide-left-icon{left: 0px;} |
|||
#all_slides_warpper{left: 10px !important;top:10px !important;transform: translateX(0);} |
|||
/* .slide-page-toolbar{display: none;} */ |
|||
} |
|||
|
|||
@media (max-width: 900px) { |
|||
.text-preview{ |
|||
width: 90% !important; |
|||
} |
|||
#all_slides_warpper{left: 10px !important;top:10px !important;transform: translateX(0);} |
|||
/* .slide-page-toolbar{display: none;} */ |
|||
.docx-wrapper{ |
|||
padding:10px !important; |
|||
} |
|||
.docx-wrapper>section.docx{ |
|||
width: 100% !important; |
|||
height: 100% !important; |
|||
margin: 0px !important; |
|||
padding: 10px !important; |
|||
} |
|||
#yAudio{ |
|||
width: 100% !important; |
|||
} |
|||
.yAudio{ |
|||
flex-wrap: wrap !important; |
|||
justify-content: center !important; |
|||
} |
|||
|
|||
.yAudio-content{ |
|||
padding:30px !important; |
|||
} |
|||
} |
|||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 78 B |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 610 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1 @@ |
|||
eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([3-9a-hk-wzA-Z]|1\\w)'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(a(1a,O){7(D X===\'a\'&&X.amd){X([],O())}c 7(D Y===\'Z\'&&Y.1b){Y.1b=O()}c{1a[\'u\']=O()}}(this,a(){4 u={};4 3={E:\'1c\',1d:\'mask_div_id\',1e:"测试水印",f:20,g:20,h:0,k:0,m:50,n:50,1g:\'微软雅黑\',1h:\'black\',1i:\'18px\',1j:0.15,o:1k,p:1k,v:15,1l:0,1m:0,1n:1o,P:Q,};4 w=a(d){7(s.z===1&&D s[0]==="Z"){4 9=s[0]||{};R(8 in 9){7(9[8]&&3[8]&&9[8]===3[8])1q;c 7(9[8]||9[8]===0)3[8]=9[8]}}4 q=l.F(3.E);q&&q.10&&q.10.1r(q);4 A=l.F(3.1n);4 e=A?A:l.body;4 G=S.1s(e.scrollWidth,e.clientWidth);4 H=S.1s(e.scrollHeight,e.clientHeight);4 11=s[0]||{};4 t=e;4 B=0;4 C=0;7(11.1l||11.1m){7(t){B=t.1t||0;C=t.1u||0;3.f=3.f+C;3.g=3.g+B}}c{7(t){B=t.1t||0;C=t.1u||0}}4 b=l.F(3.E);4 r=1o;7(!b){b=l.1v(\'1w\');b.id=3.E;b.setAttribute(\'6\',\'pointer-events: 1y !1z; 1A: 1B !1z\');7(D b.1C===\'a\'){r=b.1C({mode:\'open\'})}c{r=b}4 T=e.children;4 12=S.floor(S.random()*(T.z-1));7(T[12]){e.insertBefore(b,T[12])}c{e.13(b)}}c 7(b.r){r=b.r}3.k=U((G-3.f)/(3.o+3.m));4 14=U((G-3.f-3.o*3.k)/(3.k));3.m=14?3.m:14;4 I;3.h=U((H-3.g)/(3.p+3.n));4 16=U((H-3.g-3.p*3.h)/(3.h));3.n=16?3.n:16;4 J;7(A){I=3.f+3.o*3.k+3.m*(3.k-1);J=3.g+3.p*3.h+3.n*(3.h-1)}c{I=C+3.f+3.o*3.k+3.m*(3.k-1);J=B+3.g+3.p*3.h+3.n*(3.h-1)}4 x;4 y;R(4 i=0;i<3.h;i++){7(A){y=B+3.g+(H-J)/2+(3.n+3.p)*i}c{y=3.g+(H-J)/2+(3.n+3.p)*i}R(4 j=0;j<3.k;j++){7(A){x=C+3.f+(G-I)/2+(3.o+3.m)*j}c{x=3.f+(G-I)/2+(3.o+3.m)*j}4 5=l.1v(\'1w\');4 1D=l.createTextNode(3.1e);5.13(1D);5.id=3.1d+i+j;5.6.webkitTransform="K(-"+3.v+"L)";5.6.MozTransform="K(-"+3.v+"L)";5.6.msTransform="K(-"+3.v+"L)";5.6.OTransform="K(-"+3.v+"L)";5.6.transform="K(-"+3.v+"L)";5.6.visibility="";5.6.position="absolute";5.6.left=x+\'V\';5.6.top=y+\'V\';5.6.overflow="hidden";5.6.zIndex="9999999";5.6.opacity=3.1j;5.6.fontSize=3.1i;5.6.fontFamily=3.1g;5.6.color=3.1h;5.6.textAlign="center";5.6.width=3.o+\'V\';5.6.height=3.p+\'V\';5.6.1A="1B";5.6[\'-ms-user-select\']="1y";r.13(5)}}1E 1F=d.P===undefined?3.P:d.P;7(1F){17.1G(e,18);17.1G(l.F(\'1c\').r,18)}};4 1H=a(){7(s.z===1&&D s[0]==="Z"){4 9=s[0]||{};R(8 in 9){7(9[8]&&3[8]&&9[8]===3[8])1q;c 7(9[8]||9[8]===0)3[8]=9[8]}}4 q=l.F(3.E);4 1I=q.10;1I.1r(q)};4 M;u.init=a(d){M=d;w(d);N.1J(\'onload\',a(){w(d)});N.1J(\'resize\',a(){w(d)})};u.load=a(d){M=d;w(d)};u.remove=a(){1H()};4 1K=a(W){7((M&&W.z===1)||W.z===1&&W[0].removedNodes.z>=1){w(M)}};1E 19=N.19||N.WebKitMutationObserver||N.MozMutationObserver;4 17=new 19(1K);4 18={\'childList\':Q,\'attributes\':Q,\'subtree\':Q,};return u}));',[],109,'|||defaultSettings|var|mask_div|style|if|key|src|function|otdiv|else|settings|watermark_hook_element|watermark_x|watermark_y|watermark_rows|||watermark_cols|document|watermark_x_space|watermark_y_space|watermark_width|watermark_height|watermark_element|shadowRoot|arguments|parentEle|watermark|watermark_angle|loadMark|||length|watermark_parent_element|page_offsetTop|page_offsetLeft|typeof|watermark_id|getElementById|page_width|page_height|allWatermarkWidth|allWatermarkHeight|rotate|deg|globalSetting|window|factory|monitor|true|for|Math|nodeList|parseInt|px|records|define|module|object|parentNode|setting|index|appendChild|temp_watermark_x_space||temp_watermark_y_space|watermarkDom|option|MutationObserver|root|exports|wm_div_id|watermark_prefix|watermark_txt||watermark_font|watermark_color|watermark_fontsize|watermark_alpha|100|watermark_parent_width|watermark_parent_height|watermark_parent_node|null||continue|removeChild|max|offsetTop|offsetLeft|createElement|div||none|important|display|block|attachShadow|oText|const|minotor|observe|removeMark|_parentElement|addEventListener|callback'.split('|'),0,{})) |
|||
@ -0,0 +1,546 @@ |
|||
@font-face { |
|||
font-family: 'iconfont'; |
|||
/* project id 1867770 */ |
|||
src: url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.eot'); |
|||
src: url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.eot?#iefix') format('embedded-opentype'), url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.woff2') format('woff2'), url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.woff') format('woff'), url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.ttf') format('truetype'), url('https://at.alicdn.com/t/font_1867770_5pzef3csvso.svg#iconfont') format('svg'); |
|||
} |
|||
|
|||
.sv-target video { |
|||
background-color: #000; |
|||
} |
|||
|
|||
.sv-font { |
|||
font-family: 'iconfont'; |
|||
} |
|||
|
|||
.sv-pic-pic { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
margin-right: 6px; |
|||
} |
|||
|
|||
.sv-play { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-fontBtn { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-next { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-fullScreen { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-cancelFull { |
|||
color: #ffffff; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.sv-target { |
|||
position: relative; |
|||
} |
|||
|
|||
.sv-control { |
|||
position: absolute; |
|||
bottom: 0; |
|||
left: 0; |
|||
width: 100%; |
|||
height: 54px; |
|||
background-color: rgba(0, 0, 0, 0.5); |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
} |
|||
|
|||
.sv-play-container { |
|||
height: 100%; |
|||
/* background-color: royalblue; */ |
|||
display: flex; |
|||
flex-direction: row; |
|||
padding-right: 10px; |
|||
} |
|||
|
|||
.sv-control-r { |
|||
height: 100%; |
|||
/* background-color: royalblue; */ |
|||
display: flex; |
|||
flex-direction: row; |
|||
padding-left: 10px; |
|||
padding-right: 10px; |
|||
} |
|||
|
|||
.sv-play-container button.sv-playBtn { |
|||
background: none; |
|||
border: none; |
|||
cursor: pointer; |
|||
padding: 0 10px; |
|||
outline: none; |
|||
color: inherit; |
|||
text-align: inherit; |
|||
font: inherit; |
|||
line-height: inherit; |
|||
margin-left: 10px; |
|||
} |
|||
|
|||
.sv-control-r button.showMute { |
|||
background: none; |
|||
border: none; |
|||
cursor: pointer; |
|||
padding: 0 10px; |
|||
outline: none; |
|||
color: inherit; |
|||
text-align: inherit; |
|||
font: inherit; |
|||
line-height: inherit; |
|||
position: relative; |
|||
} |
|||
|
|||
.sv-time { |
|||
height: 100%; |
|||
color: #ffffff; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
font-size: 12px; |
|||
} |
|||
|
|||
.sv-time-split { |
|||
padding: 0 4px; |
|||
} |
|||
|
|||
.sv-mutePanel { |
|||
position: absolute; |
|||
top: -120px; |
|||
left: 0; |
|||
width: 20px; |
|||
height: 80px; |
|||
background-color: rgba(0, 0, 0, 0.8); |
|||
display: flex; |
|||
flex-direction: column; |
|||
padding: 16px 6px; |
|||
border-radius: 4px; |
|||
} |
|||
|
|||
.sv-mute-num { |
|||
width: 100%; |
|||
height: 20px; |
|||
background-color: transparent; |
|||
color: #ffffff; |
|||
font-size: 12px; |
|||
text-align: center; |
|||
margin-bottom: 4px; |
|||
} |
|||
|
|||
.sv-mute-slider { |
|||
flex: 1; |
|||
width: 3px; |
|||
background-color: #ffffff; |
|||
margin: 0 auto; |
|||
position: relative; |
|||
display: flex; |
|||
flex-direction: column-reverse; |
|||
} |
|||
|
|||
.sv-mute-sliderRange { |
|||
width: 100%; |
|||
background-color: #00a1d6; |
|||
} |
|||
|
|||
.sv-control-r button.sv-mute-button { |
|||
position: absolute; |
|||
top: 0; |
|||
left: -4.5px; |
|||
width: 12px; |
|||
height: 12px; |
|||
border-radius: 50%; |
|||
z-index: 10; |
|||
background-color: #00a1d6; |
|||
border: 0; |
|||
cursor: pointer; |
|||
outline: none; |
|||
} |
|||
|
|||
.sv-progressBar { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 2%; |
|||
width: 96%; |
|||
height: 2px; |
|||
background-color: hsla(0, 0%, 100%, .2); |
|||
border-radius: 4px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.sv-cacheProgress { |
|||
width: 0%; |
|||
height: 100%; |
|||
background-color: #7a7878; |
|||
border-radius: 4px; |
|||
} |
|||
|
|||
.sv-progressNum { |
|||
width: 0%; |
|||
height: 100%; |
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
border-radius: 4px; |
|||
background-color: #00a1d6; |
|||
} |
|||
|
|||
.sv-progressBtn { |
|||
position: absolute; |
|||
left: 0%; |
|||
top: -7px; |
|||
width: 16px; |
|||
height: 16px; |
|||
border-radius: 50%; |
|||
background-color: rgba(0, 161, 214, 0.5); |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.sv-progressBtn>div { |
|||
width: 10px; |
|||
height: 10px; |
|||
border-radius: 50%; |
|||
background-color: #00a1d6; |
|||
margin-top: 2.6px; |
|||
margin-left: 2.8px; |
|||
} |
|||
|
|||
.hide { |
|||
display: none!important; |
|||
} |
|||
|
|||
.sv-full-screen { |
|||
position: fixed!important; |
|||
width: 100%!important; |
|||
height: 100%!important; |
|||
left: 0!important; |
|||
top: 0!important; |
|||
margin: 0!important; |
|||
padding: 0!important; |
|||
} |
|||
|
|||
.sv-loading { |
|||
/* width: 60px; |
|||
height: 60px; */ |
|||
position: absolute; |
|||
left: 48%; |
|||
top: 48%; |
|||
} |
|||
|
|||
.sv-loading span { |
|||
display: inline-block; |
|||
width: 4px; |
|||
height: 100%; |
|||
border-radius: 4px; |
|||
background: #00a1d6; |
|||
-webkit-animation: load 1s ease infinite; |
|||
animation: load 1s ease infinite; |
|||
} |
|||
|
|||
@-webkit-keyframes load { |
|||
0%, |
|||
100% { |
|||
height: 20px; |
|||
background: #00a1d6; |
|||
} |
|||
50% { |
|||
height: 40px; |
|||
margin: -15px 0; |
|||
background: lightblue; |
|||
} |
|||
} |
|||
|
|||
.sv-loading span:nth-child(2) { |
|||
-webkit-animation-delay: 0.2s; |
|||
animation-delay: 0.2s; |
|||
} |
|||
|
|||
.sv-loading span:nth-child(3) { |
|||
-webkit-animation-delay: 0.4s; |
|||
animation-delay: 0.4s; |
|||
} |
|||
|
|||
.sv-loading span:nth-child(4) { |
|||
-webkit-animation-delay: 0.6s; |
|||
animation-delay: 0.6s; |
|||
} |
|||
|
|||
.sv-loading span:nth-child(5) { |
|||
-webkit-animation-delay: 0.8s; |
|||
animation-delay: 0.8s; |
|||
} |
|||
|
|||
|
|||
/* 弹幕 */ |
|||
|
|||
.sv-brrage { |
|||
position: absolute; |
|||
padding: 4px; |
|||
background-color: transparent; |
|||
display: flex; |
|||
flex-direction: row; |
|||
white-space: nowrap; |
|||
width: auto; |
|||
word-wrap: break-word; |
|||
max-width: 500px; |
|||
min-width: 100px; |
|||
} |
|||
|
|||
.sv-brrage-center { |
|||
text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px; |
|||
} |
|||
|
|||
|
|||
/* 画中画 */ |
|||
|
|||
.sv-picinpic { |
|||
position: absolute; |
|||
z-index: 22; |
|||
position: absolute; |
|||
top: 20px; |
|||
right: 20px; |
|||
white-space: nowrap; |
|||
height: 36px; |
|||
padding: 0 12px; |
|||
overflow: visible; |
|||
border-radius: 2px; |
|||
border-radius: 18px; |
|||
background: #2b2b2b; |
|||
background: rgba(43, 43, 43, .8); |
|||
color: #fff; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-size: 14px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.sv-picinpic:hover { |
|||
background: linear-gradient(90deg, #4ca9c7 0, #03bbf7)!important |
|||
} |
|||
|
|||
.sv-el-control-style { |
|||
padding-right: 10px; |
|||
padding-left: 10px; |
|||
height: 100%; |
|||
display: flex; |
|||
flex-direction: row; |
|||
} |
|||
|
|||
.sv-nextBtn { |
|||
background: none; |
|||
border: none; |
|||
cursor: pointer; |
|||
outline: none; |
|||
text-align: inherit; |
|||
} |
|||
|
|||
.sv-speedBtn { |
|||
background: none; |
|||
border: none; |
|||
cursor: pointer; |
|||
outline: none; |
|||
text-align: inherit; |
|||
position: relative; |
|||
} |
|||
|
|||
.sv-speedBtn .sv-speed-btn { |
|||
position: absolute; |
|||
bottom: 54px; |
|||
left: -10px; |
|||
padding: 10px; |
|||
border-radius: 4px; |
|||
background-color: rgba(0, 0, 0, 0.8); |
|||
/* box-sizing: border-box; |
|||
border: 1px solid #ffffff; */ |
|||
} |
|||
|
|||
.sv-speedBtn .sv-speed-btn ul { |
|||
padding: 0; |
|||
margin: 0; |
|||
} |
|||
|
|||
.sv-speedBtn .sv-speed-btn ul li { |
|||
list-style: none; |
|||
font-size: 12px; |
|||
line-height: 20px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.sv-speedBtn .sv-speed-btn ul li:hover { |
|||
color: #00a1d6; |
|||
} |
|||
|
|||
.sv-active { |
|||
color: #00a1d6!important; |
|||
} |
|||
|
|||
.sv-control-c { |
|||
height: 100%; |
|||
} |
|||
|
|||
|
|||
/* 弹幕控件 */ |
|||
|
|||
.sv-barrage { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
height: 100%; |
|||
position: relative; |
|||
} |
|||
|
|||
.sv-barrage-a { |
|||
height: 26px; |
|||
} |
|||
|
|||
.sv-barrage-input { |
|||
height: 17px; |
|||
outline: none; |
|||
padding: 6px 30px; |
|||
border-top-left-radius: 4px; |
|||
border-bottom-left-radius: 4px; |
|||
border-top: 1px solid #333333; |
|||
border-left: 1px solid #333333; |
|||
border-bottom: 1px solid #333333; |
|||
border-right: 1px solid #00a1d6; |
|||
background: none; |
|||
font-size: 12px; |
|||
color: #fff; |
|||
} |
|||
|
|||
.sv-barrage-button { |
|||
height: 31px; |
|||
background-color: #00a1d6; |
|||
color: #fff; |
|||
width: 60px; |
|||
min-width: 60px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
box-sizing: border-box; |
|||
border-top: 1px solid #333333; |
|||
border-right: 1px solid #333333; |
|||
border-bottom: 1px solid #333333; |
|||
border-left: 1px solid #00a1d6; |
|||
border-top-right-radius: 4px; |
|||
border-bottom-right-radius: 4px; |
|||
outline: none; |
|||
vertical-align: middle; |
|||
} |
|||
|
|||
.sv-barrage-button:hover { |
|||
background-color: #03bbf7; |
|||
border-left: 1px solid #03bbf7; |
|||
} |
|||
|
|||
.sv-barrage-font { |
|||
position: absolute; |
|||
left: 6px; |
|||
top: 16px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.sv-apanel { |
|||
position: absolute; |
|||
bottom: 54px; |
|||
left: -10px; |
|||
padding: 10px; |
|||
border-radius: 4px; |
|||
background-color: rgba(0, 0, 0, 0.8); |
|||
width: 200px; |
|||
height: 100px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
color: #fff; |
|||
z-index: 99999; |
|||
} |
|||
|
|||
.sv-apanel-item { |
|||
display: flex; |
|||
flex-direction: column; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
.sv-apanel-item span { |
|||
font-size: 12px; |
|||
} |
|||
|
|||
.sv-apanel-item ul { |
|||
margin: 0; |
|||
padding: 0; |
|||
margin-top: 8px; |
|||
} |
|||
|
|||
.sv-apanel-item ul li { |
|||
list-style: none; |
|||
background-color: #fff; |
|||
display: block; |
|||
width: 20px; |
|||
height: 20px; |
|||
margin: 4px; |
|||
float: left; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.activeColor { |
|||
box-sizing: border-box; |
|||
border: 2px solid #ffff; |
|||
} |
|||
|
|||
#videoContainer { |
|||
width: 800px; |
|||
height: 500px; |
|||
margin-left: auto; |
|||
margin-right: auto; |
|||
margin-top: 100px; |
|||
} |
|||
|
|||
body { |
|||
background-color: #00000089; |
|||
color: #5F5F5F; |
|||
margin: 0; |
|||
padding: 0; |
|||
height: 100%; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
.container { |
|||
text-align: center; |
|||
font-size: 72px; |
|||
margin-top: 20%; |
|||
} |
|||
|
|||
|
|||
/*zoom-marker*/ |
|||
|
|||
.picview { |
|||
width: 50%; |
|||
margin: auto auto auto auto; |
|||
height: 800px; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
.picview img { |
|||
position: absolute; |
|||
left: 30%; |
|||
top: 20%; |
|||
width: 500px; |
|||
z-index: 1; |
|||
} |
|||
|
|||
.zoom-marker { |
|||
cursor: pointer; |
|||
z-index: 2; |
|||
} |
|||