first commit
This commit is contained in:
16
.gitignore
vendored
Normal file
16
.gitignore
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/npm-debug.log*
|
||||
/yarn-error.log
|
||||
/yarn.lock
|
||||
/package-lock.json
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
|
||||
# umi
|
||||
/src/.umi/
|
||||
/.env.local
|
||||
.idea/
|
||||
2
.npmrc
Normal file
2
.npmrc
Normal file
@@ -0,0 +1,2 @@
|
||||
ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
|
||||
ELECTRON_BUILDER_BINARIES_MIRROR=http://npm.taobao.org/mirrors/electron-builder-binaries/
|
||||
252
README.md
Normal file
252
README.md
Normal file
@@ -0,0 +1,252 @@
|
||||
## electronTs
|
||||
|
||||
> 这个项目大致作用就是:前端有 electron-vue,那熟悉 nodejs,typescript 的同学也是时候该有个能开箱即用的electron框架了,项目正在开发完善中,请保持每天多次拉取代码的习惯!
|
||||
|
||||
需要一说的是这个项目开发了大量的装饰器做到了代码的编写风格优雅化和定制化,同时也更加类似java的springboot框架,更采用了约定大于配置的原则,所以也要求阅读代码的同学对ts的掌握度稍微高点!!同时更加详细的使用文档还没时间写,下面的文档将就看看,主要还是推荐看代码,代码里面基本有详细的注释!
|
||||
|
||||
忘记说了,本项目基于:nodejs,typescript,electron,jade,gulp.js,less,typescript 装饰器等实现!!
|
||||
|
||||
## 1:项目结构说明
|
||||
|
||||
这边重点介绍`src/`目录,因为`src/`才是我们项目开发的源码目录!而`dist/`目录是项目上线后使用的。所以不关心!!
|
||||
|
||||
```text
|
||||
|-src
|
||||
|____core 核心TS逻辑的源码
|
||||
| |____types 一些自动以的类型声明
|
||||
| |____net 网络请求的封装
|
||||
| |____config 项目的整体配置文件
|
||||
| |____annotation 存放自定义装饰器
|
||||
| |____utils 项目的工具函数
|
||||
| |____controller 项目的控制器,主要在这里控制页面的显示,记住每个桌面端页面都是一个控制器!
|
||||
| |____model Typescript的存取器,这里主要存放当前启动主窗口的实例
|
||||
| |____interactive 各种系统界面的ui,例如菜单,弹窗,进度条,图标等
|
||||
| |____ipc 渲染进程和主进程的ipc监听
|
||||
| | |____application.ipc.ts 程序系统核心级别的ipc监听
|
||||
| | |____components.ipc.ts 具体到默写页面级别的ipc监听
|
||||
| |____run 程序真正的入口启动类
|
||||
|____App.ts 程序的开始类,主要初始化 run
|
||||
|____application 应用程序页面
|
||||
| |____page 每个controller都对应这里的一个页面
|
||||
| |____layout 页面的公共布局
|
||||
| |____components 存放页面的公共复用组件
|
||||
| |____assets 静态资源
|
||||
| | |____less css样式
|
||||
| | |____js
|
||||
| | | |____page 这里存放对应page页面的js
|
||||
| | | |____lib 存放js公共库,例如jquery等
|
||||
| | |____img 存放图片
|
||||
```
|
||||
|
||||
## 2:源码分析
|
||||
|
||||
### 2.1:核心装饰器间调用思路
|
||||
|
||||
- 第一步:`Init.run.ts` 中 `@AutoLoadWindow()` 装饰器首先被运行,然后会自动加载启动类`Home.controller.ts`
|
||||
|
||||
- 第二步:这一步首先运行类属性上的装饰器`@Inject()`,`@Inject()`会去实例化被装饰属性的类型,赋值给被装饰的属性!
|
||||
|
||||
- 第三步:`@Inject()`运行完后,会紧接着运行类的方法上的装饰器,先后顺序为:`@Render()` 和 `@Ipc()`,但是实际运行的效果却是 `@Ipc()` 在 `@Render()`之前,主要原因是`@Render()`中有`await`导致的,这其中`@Render()`是最核心的装饰器之一。主要作用是:获取方法传给模板的数据,根据`jade`模板&数据生成`html`页面,载入`html`然后创建窗口!
|
||||
|
||||
- 第四步:前面三步走完后,用户已经可以看到窗口了,而`@Ipc()`装饰器的主要作用在于自动调用传入类中的所有方法实现`ipc`监听。
|
||||
|
||||
**注意:当然上面的步骤只是核心装饰器的运行流程,还有很多其他装饰器也是同步执行的,这里没详细介绍!可以阅读源码~~**
|
||||
|
||||
### 2.2:渲染进程创建窗口思路
|
||||
|
||||
- 1:`Init.run.ts`类上有个装饰器`@CreateApplicationIpc()`,该装饰器也继承`Run`类,之后内部实例化`ApplicationIpc()`类,这其中会通过` ipcMain.on`去监听前端的事件`openWindow`。
|
||||
- 2:创建窗口分为三种情况
|
||||
- 1:独立窗口
|
||||
- 2:依附在主窗口上的父子窗口
|
||||
- 3:依附在非主窗口上的父子窗口
|
||||
- 3:前端`js`通过使用:`ipcRenderer.sendSync('openWindow', ['Home.controller/Setting', true])` 发起通知,让主进程创建窗口!这其中参数:`Home.controller/Setting`,表示调用`Home.controller.ts`里面的`Setting`方法创建窗口!
|
||||
|
||||
### 2.3:已提供的装饰器
|
||||
|
||||
- @AutoLoadWindow()
|
||||
- 作用:根据配置文件自动引入主controller文件
|
||||
- 使用:仅限启动类`Run`
|
||||
- 参数:无
|
||||
- 注意:无
|
||||
|
||||
- @Render(templateName?:string)
|
||||
- 作用:根据配置文件自动创建窗口
|
||||
- 使用:用在`controller/` 文件夹下的控制器类方法中
|
||||
- 参数:templateName:要渲染的模板名称(选填)
|
||||
- 未填写参数:自动使用被装饰的方法名去寻找路径`src/application/page/**/*.jade`路径下的模块文件,并自动读取`Index.config.ts`对应的`PageSize`和`PagePath`
|
||||
- 已填写参数:同上,只不过使用传入的名称去寻找模板和配置文件等信息
|
||||
- 注意:被装饰的方法的名字需要和模板名称,配置文件中`PageSize`和`PagePath`都相同!!!
|
||||
|
||||
- @Ipc(IpcParams: { new (...args: any[]): {}; }[])
|
||||
- 作用:自动注册窗口相关的局部 IPC
|
||||
- 使用:用在`controller/` 文件夹下的控制器类方法中
|
||||
- 参数:IpcParams:需要被注册的未实例化的类数组
|
||||
- 注意:参数必须填写未实例化的类,构成数组,例如:`@Ipc([ Application, TestIpc ])`
|
||||
|
||||
- @CreateIpc(IpcParams: { new (...args: any[]): {}; }[])
|
||||
- 作用:自动注册程序公共的全局 IPC
|
||||
- 使用:仅限启动类Run
|
||||
- 参数:IpcParams:需要被注册的未实例化的类数组
|
||||
- 注意:参数必须填写未实例化的类,构成数组,例如:`@CreateApplicationIpc([ Application, TestIpc ])`
|
||||
|
||||
- @Injectable()
|
||||
- 作用:依赖收集,主要用来存储被装饰的类到存取器
|
||||
- 使用:用在类上
|
||||
- 参数:无
|
||||
- 注意:和 `@Inject()` 搭配使用
|
||||
|
||||
- @Inject()
|
||||
- 作用:依赖注入,将`@Injectable()`中存的类取出并实例化到类属性上
|
||||
- 使用:用在类的属性上
|
||||
- 参数:无
|
||||
- 注意:和 `@Injectable()` 搭配使用
|
||||
|
||||
- @GET(RequestParams?: { url?: string, useHandle?: boolean })
|
||||
- 作用:发送`GET`请求
|
||||
- 使用:用在`service`层类的方法上
|
||||
- 参数:
|
||||
- url:如果不传参数将自动依据方法名作为对象的key去寻找`Config.ApiUrl.ApiList[方法名]`的接口地址,如果传参数,使用传入的参数作为接口请求地址
|
||||
- useHandle:如果接口返回的数据需要做特殊处理,那么可以设置 `useHandle`为`true`,中间被`@GET`注解的方法将会获得ajax请求的结果,如果为`flase`方法将不会获得任何参数!
|
||||
- 注意:不填写参数时,请保持方法名和 `Config.ApiUrl.ApiList[key]`中的key名称一致!!
|
||||
|
||||
- 【设计中..】@POST(RequestParams?: string)
|
||||
- 作用:暂无描述
|
||||
- 使用:暂无描述
|
||||
- 参数:暂无描述
|
||||
- 注意:暂无描述
|
||||
|
||||
- 【设计中..】@DELETE(RequestParams?: string)
|
||||
- 作用:暂无描述
|
||||
- 使用:暂无描述
|
||||
- 参数:暂无描述
|
||||
- 注意:暂无描述
|
||||
|
||||
- 【设计中..】@PUT(RequestParams?: string)
|
||||
- 作用:暂无描述
|
||||
- 使用:暂无描述
|
||||
- 参数:暂无描述
|
||||
- 注意:暂无描述
|
||||
|
||||
- @CreateApplicationMenu()
|
||||
- 作用:创建程序的顶部菜单!
|
||||
- 使用:仅限启动类`Run`
|
||||
- 参数:无
|
||||
- 注意:无
|
||||
|
||||
- @CreateTouchbar()
|
||||
- 作用:创建`MacOs`系统上的`Touchbar`!
|
||||
- 使用:仅限启动类`Run`
|
||||
- 参数:无
|
||||
- 注意:仅限`MacOs`系统有效,如果是`windows`可删除该装饰器
|
||||
|
||||
- @CreateTray()
|
||||
- 作用:创建`MacOs`系统上顶部全局菜单的图标!
|
||||
- 使用:仅限启动类`Run`
|
||||
- 参数:无
|
||||
- 注意:仅限`MacOs`系统有效,如果是`windows`可删除该装饰器
|
||||
|
||||
|
||||
**更多的请自行阅读源码!!**
|
||||
|
||||
## 3:注意事项
|
||||
|
||||
### 3.1 解决下载electron缓慢的问题!
|
||||
|
||||
~~在项目初始的时候`npm i`,`node`会去下载`electron`,因为被墙的原因你可能需要四五个小时都不一定能把`electron`依赖下载完成。所以请自行参考这篇文章手动修改,跳过程序的`node install.js`的过程,加快速度!!~~
|
||||
|
||||
~~教程地址:[假装这里有链接](假装这里有链接)~~
|
||||
|
||||
---
|
||||
|
||||
**PS:如果上面的方案不能解决你的问题(亲测无效),那么请先删除项目的`node_modules`依赖,然后重新 `npm i`,当看到终端在下载`electron`的时候,请强制停止终端。然后从这个地址:**
|
||||
|
||||
> [https://npm.taobao.org/mirrors/electron/](https://npm.taobao.org/mirrors/electron/)
|
||||
|
||||
下载对应你系统的`electron`包。
|
||||
|
||||
**MacOs系统**
|
||||
|
||||
我这边下载的是`Macos`系统的`9.1.0`最新版`electron`,文件名:`electron-v9.1.0-darwin-x64.zip`。
|
||||
|
||||
下载完成后解压压缩包,然后将文件夹中的`Electron.app`复制到`应用程序`中,然后修改`package.json`中的命令`el`为`/Applications/Electron.app/Contents/MacOS/Electron .`
|
||||
即可!!
|
||||
|
||||
示例配置文件为:
|
||||
```json
|
||||
"scripts": {
|
||||
"el": "/Applications/Electron.app/Contents/MacOS/Electron ."
|
||||
}
|
||||
```
|
||||
|
||||
**Windows系统**
|
||||
|
||||
如果你是`Windows`系统,那么你可以下载 [electron-v9.1.0-win32-x64.zip](https://npm.taobao.org/mirrors/electron/9.1.0/electron-v9.1.0-win32-x64.zip) 的包!也是解压然后将解压后的文件移动到没有中文名和空格的路径中,然后使用`electron.exe`去运行项目即可!
|
||||
|
||||
示例配置文件为:
|
||||
```json
|
||||
"scripts": {
|
||||
"el": "C:\\electron-v9.1.0-win32-x64\\electron.exe ."
|
||||
}
|
||||
```
|
||||
|
||||
### 3.2 修改jade插件
|
||||
|
||||
因为 `jade` 插件支持的参数 `globals` 只支持数组!所在再把`config/Index.config.ts`中的`jadeCompile0ptions`传给模板`application/layout/index.jade`的时候不好分开遍历`css`和`js`。
|
||||
|
||||
所以需要修改`globals`的数组为对象:
|
||||
|
||||
- 修改后的效果如下:
|
||||
|
||||
```typescript
|
||||
// jade 模板引擎配置,更多参数自行阅读声明文件
|
||||
public static jadeCompile0ptions: JadeOptions = {
|
||||
pretty: true, // 编译输出后是否保留源码格式,true 保持
|
||||
globals: {
|
||||
css: [
|
||||
'http://mdui-aliyun.cdn.w3cbus.com/source/dist/css/mdui.min.css',
|
||||
'http://at.alicdn.com/t/font_1934749_6mfzbfby21d.css',
|
||||
],
|
||||
js: [
|
||||
'https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js',
|
||||
'http://mdui-aliyun.cdn.w3cbus.com/source/dist/js/mdui.min.js'
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
修改步骤
|
||||
|
||||
1:打开文件:`node_modules/@types/jade/index.d.ts`,找到接口`JadeOptions`,修改原先的`globals`为下面类型:
|
||||
|
||||
```typescript
|
||||
...
|
||||
globals?: {
|
||||
css: string[],
|
||||
js: string[]
|
||||
};
|
||||
...
|
||||
```
|
||||
|
||||
2:打开文件:`node_modules/jade/lib/index.js`,找到第`133`行 ~ `141`行,注释这些代码即可。实例如下:
|
||||
|
||||
```typescript
|
||||
...
|
||||
var globals = [];
|
||||
|
||||
// 下面这些注释掉
|
||||
// if (options.globals) {
|
||||
// globals = options.globals.slice();
|
||||
// }
|
||||
|
||||
// globals.push('jade');
|
||||
// globals.push('jade_mixins');
|
||||
// globals.push('jade_interp');
|
||||
// globals.push('jade_debug');
|
||||
// globals.push('buf');
|
||||
// 上面这些注释掉
|
||||
|
||||
var body = ''
|
||||
...
|
||||
```
|
||||
|
||||
重新运行项目即可!!
|
||||
1
dist/.pydio
vendored
Normal file
1
dist/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
b88e1b20-4836-4795-a122-8b7cdba3fca1
|
||||
14
dist/App.js
vendored
Normal file
14
dist/App.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
require('module-alias/register');
|
||||
var electron_1 = require("electron");
|
||||
var Init_run_1 = require("@run/Init.run");
|
||||
electron_1.app.on('ready', function () {
|
||||
new Init_run_1.Run();
|
||||
});
|
||||
electron_1.app.on('window-all-closed', function () {
|
||||
if (process.platform !== 'darwin') {
|
||||
electron_1.app.quit();
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=App.js.map
|
||||
1
dist/App.js.map
vendored
Normal file
1
dist/App.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,uBAAuB,CAAC,CAAA;AAChC,qCAA+B;AAC/B,0CAAoC;AACpC,cAAG,CAAC,EAAE,CAAC,OAAO,EAAE;IACZ,IAAI,cAAG,EAAE,CAAA;AACb,CAAC,CAAC,CAAC;AAEH,cAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE;IACxB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;QAC/B,cAAG,CAAC,IAAI,EAAE,CAAA;KACb;AACL,CAAC,CAAC,CAAC"}
|
||||
46
dist/Ioc.annotation.js
vendored
Normal file
46
dist/Ioc.annotation.js
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Inject = exports.Injectable = void 0;
|
||||
require("reflect-metadata");
|
||||
var Ioc_model_1 = __importDefault(require("@model/Ioc.model"));
|
||||
/**
|
||||
* 收集类依赖
|
||||
* @constructor
|
||||
*/
|
||||
function Injectable() {
|
||||
return function (_constructor) {
|
||||
if (Ioc_model_1.default.classPool.indexOf(_constructor) !== -1) {
|
||||
throw new Error('无需重复收集类');
|
||||
}
|
||||
else {
|
||||
//注册
|
||||
Ioc_model_1.default.classPool = [_constructor];
|
||||
}
|
||||
};
|
||||
}
|
||||
exports.Injectable = Injectable;
|
||||
/**
|
||||
* 将类依赖实例化然后注入到被装饰的属性中
|
||||
* @constructor
|
||||
*/
|
||||
function Inject() {
|
||||
return function (target, propertyName) {
|
||||
/**
|
||||
* 使用 reflect-metadata 提供的内置 类型元数据键 design:type 通过反射拿到被装饰属性的类型
|
||||
* 也就是 类属性要实例化 的 service 类
|
||||
*/
|
||||
var propertyType = Reflect.getMetadata('design:type', target, propertyName);
|
||||
if (Ioc_model_1.default.classPool.indexOf(propertyType) == -1) {
|
||||
throw new Error('被装饰的属性所属的变量类型类,没有被装饰器@Injectable()注入,请检查!');
|
||||
}
|
||||
else {
|
||||
// 从存取器的数组中通过下标取出被装饰属性对应的service类,然后实例化这个类,在放入被装饰的属性中
|
||||
target[propertyName] = new (Ioc_model_1.default.classPool[Ioc_model_1.default.classPool.indexOf(propertyType)])();
|
||||
}
|
||||
};
|
||||
}
|
||||
exports.Inject = Inject;
|
||||
//# sourceMappingURL=Ioc.annotation.js.map
|
||||
1
dist/Ioc.annotation.js.map
vendored
Normal file
1
dist/Ioc.annotation.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Ioc.annotation.js","sourceRoot":"","sources":["../src/Ioc.annotation.ts"],"names":[],"mappings":";;;;;;AAAA,4BAA0B;AAC1B,+DAAwC;AAExC;;;GAGG;AACH,SAAgB,UAAU;IACtB,OAAO,UAAC,YAA4C;QAChD,IAAG,mBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B;aAAM;YACH,IAAI;YACJ,mBAAQ,CAAC,SAAS,GAAG,CAAC,YAAY,CAAC,CAAA;SACtC;IACL,CAAC,CAAA;AACL,CAAC;AATD,gCASC;AAED;;;GAGG;AACH,SAAgB,MAAM;IAClB,OAAO,UAAU,MAAW,EAAE,YAAoB;QAC9C;;;WAGG;QACH,IAAM,YAAY,GAAQ,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACnF,IAAI,mBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAChE;aAAM;YACH,qDAAqD;YACrD,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,mBAAQ,CAAC,SAAS,CAAC,mBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;SAC9F;IACL,CAAC,CAAA;AACL,CAAC;AAdD,wBAcC"}
|
||||
27
dist/Ioc.model.js
vendored
Normal file
27
dist/Ioc.model.js
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
||||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
||||
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
||||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
||||
r[k] = a[j];
|
||||
return r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var IocModel = /** @class */ (function () {
|
||||
function IocModel() {
|
||||
this._classPool = [];
|
||||
}
|
||||
Object.defineProperty(IocModel.prototype, "classPool", {
|
||||
get: function () {
|
||||
return this._classPool;
|
||||
},
|
||||
set: function (value) {
|
||||
this._classPool = __spreadArrays(value, this._classPool);
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
return IocModel;
|
||||
}());
|
||||
exports.default = new IocModel();
|
||||
//# sourceMappingURL=Ioc.model.js.map
|
||||
1
dist/Ioc.model.js.map
vendored
Normal file
1
dist/Ioc.model.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Ioc.model.js","sourceRoot":"","sources":["../src/Ioc.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA;IAAA;QACY,eAAU,GAAyC,EAAE,CAAC;IASlE,CAAC;IAPG,sBAAI,+BAAS;aAAb;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;aAED,UAAc,KAAyC;YACnD,IAAI,CAAC,UAAU,kBAAO,KAAK,EAAK,IAAI,CAAC,UAAU,CAAC,CAAA;QACpD,CAAC;;;OAJA;IAKL,eAAC;AAAD,CAAC,AAVD,IAUC;AAED,kBAAe,IAAI,QAAQ,EAAE,CAAC"}
|
||||
1
dist/application/.pydio
vendored
Normal file
1
dist/application/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
27c22e44-7b85-44f8-bbaa-d3a1f2fcbc6a
|
||||
1
dist/application/assets/.pydio
vendored
Normal file
1
dist/application/assets/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
f5f6fd42-2689-4c35-a3e9-00645202d27f
|
||||
1
dist/application/assets/css/.pydio
vendored
Normal file
1
dist/application/assets/css/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
787f2667-a007-4f3c-b1e6-9314a335cf60
|
||||
67
dist/application/assets/css/Home.css
vendored
Normal file
67
dist/application/assets/css/Home.css
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
.Home ul {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.Home ul li {
|
||||
margin-left: 15px;
|
||||
width: 15%;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.Home ul li .abbreviation_f {
|
||||
width: 100%;
|
||||
height: 178px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
.Home ul li .abbreviation_f .zz {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 2;
|
||||
background: #000;
|
||||
filter: blur(10px);
|
||||
}
|
||||
.Home ul li .abbreviation_f .thumbnailUrl {
|
||||
width: 103px;
|
||||
height: 178px;
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
left: 50%;
|
||||
margin-left: -51.5px;
|
||||
}
|
||||
.Home ul li .abbreviation_f .tips {
|
||||
position: absolute;
|
||||
z-index: 99;
|
||||
color: #fff;
|
||||
padding: 2px 5px;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
.Home ul li .abbreviation_f .red {
|
||||
background: red;
|
||||
}
|
||||
.Home ul li .abbreviation_f .green {
|
||||
background: green;
|
||||
}
|
||||
.Home ul li .info {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
.Home ul li .info img {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
.Home ul li .info p {
|
||||
font-size: 13px;
|
||||
width: 93%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
margin-left: 10px;
|
||||
color: #bababa;
|
||||
}
|
||||
126
dist/application/assets/css/PlayVideo.css
vendored
Normal file
126
dist/application/assets/css/PlayVideo.css
vendored
Normal file
@@ -0,0 +1,126 @@
|
||||
html,
|
||||
body,
|
||||
.PlayVideo,
|
||||
#my-video {
|
||||
background: #000;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
outline: none !important;
|
||||
}
|
||||
.swiper-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.swiper-container .swiper-slide {
|
||||
text-align: center;
|
||||
}
|
||||
.swiper-container img {
|
||||
height: 100%;
|
||||
}
|
||||
.PlayVideo {
|
||||
position: fixed;
|
||||
}
|
||||
.PlayVideo .title {
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
text-align: center;
|
||||
line-height: 45px;
|
||||
color: #fff;
|
||||
position: fixed;
|
||||
z-index: 99;
|
||||
}
|
||||
.PlayVideo .title i {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
font-size: 25px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.PlayVideo .title i:before {
|
||||
cursor: pointer;
|
||||
}
|
||||
.PlayVideo .title .down_video {
|
||||
right: 60px;
|
||||
}
|
||||
.PlayVideo .title .down_comment {
|
||||
cursor: pointer;
|
||||
right: 20px;
|
||||
top: 2px;
|
||||
font-size: 22px;
|
||||
}
|
||||
.PlayVideo .comment_list {
|
||||
position: absolute;
|
||||
right: -256px;
|
||||
z-index: 90;
|
||||
width: 256px;
|
||||
background: #202020;
|
||||
height: calc(100% - 32px);
|
||||
top: 0;
|
||||
overflow-y: scroll;
|
||||
padding-top: 32px;
|
||||
}
|
||||
.PlayVideo .comment_list .showComment {
|
||||
display: none;
|
||||
}
|
||||
.PlayVideo .comment_list .showComment .sub_comment {
|
||||
padding: 0 !important;
|
||||
margin-top: 15px;
|
||||
border-bottom: none !important;
|
||||
}
|
||||
.PlayVideo .comment_list .showComment .sub_comment img {
|
||||
width: 24px !important;
|
||||
height: 24px !important;
|
||||
}
|
||||
.PlayVideo .comment_list .showComment .sub_comment .list_item {
|
||||
margin-left: 8px !important;
|
||||
}
|
||||
.PlayVideo .comment_list .showComment .sub_comment .item_content {
|
||||
font-size: 13px !important;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
border-bottom: 1px solid #303030;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment:hover {
|
||||
background: #2d2b2b;
|
||||
cursor: pointer;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment img {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment .list_item {
|
||||
margin-left: 13px;
|
||||
width: 100%;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment .list_item .item_title {
|
||||
margin-top: 6px;
|
||||
color: #576b95;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment .list_item .item_content {
|
||||
color: #909090;
|
||||
font-size: 14px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment .list_item .icon-like {
|
||||
color: #606060;
|
||||
font-size: 13px;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment .list_item .icon-like .numbe {
|
||||
margin-left: 4px;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment .list_item .icon-like .view_other {
|
||||
margin-left: 12px;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment .list_item .icon-like .view_other .icon-cc-down {
|
||||
margin-left: 3px;
|
||||
}
|
||||
.PlayVideo .comment_list .item_comment .list_item .icon-like .view_other span,
|
||||
.PlayVideo .comment_list .item_comment .list_item .icon-like .view_other .icon-cc-down {
|
||||
color: #909090;
|
||||
font-size: 12px;
|
||||
}
|
||||
0
dist/application/assets/css/bav.css
vendored
Normal file
0
dist/application/assets/css/bav.css
vendored
Normal file
22
dist/application/assets/css/clear.css
vendored
Normal file
22
dist/application/assets/css/clear.css
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
html,
|
||||
body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
ul,
|
||||
li {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.content {
|
||||
float: left;
|
||||
width: calc(100% - 200px);
|
||||
margin-left: 200px;
|
||||
margin-top: 50px;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
44
dist/application/assets/css/header.css
vendored
Normal file
44
dist/application/assets/css/header.css
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
.action {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 999;
|
||||
}
|
||||
.action .left_action {
|
||||
width: 200px;
|
||||
height: 100%;
|
||||
background: #f6f6f6;
|
||||
float: left;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
padding-right: 6px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.action .left_action .icon-houtui {
|
||||
margin-right: 15px;
|
||||
}
|
||||
.action .right_menu {
|
||||
width: calc(100% - 200px);
|
||||
height: 100%;
|
||||
background: #f9f9f9;
|
||||
float: left;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.action .right_menu .menu_text {
|
||||
font-weight: 500;
|
||||
font-size: 15px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
.action .right_menu .menu_action i {
|
||||
margin-right: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
.action .right_menu .menu_action .icon-yifu {
|
||||
font-size: 20px;
|
||||
}
|
||||
32
dist/application/assets/css/nav.css
vendored
Normal file
32
dist/application/assets/css/nav.css
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
.nav_menu {
|
||||
width: 200px;
|
||||
height: calc(100% - 50px);
|
||||
background: #ededed;
|
||||
float: left;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 50px;
|
||||
}
|
||||
.nav_menu .title {
|
||||
margin-left: 20px;
|
||||
color: #888888;
|
||||
margin-bottom: 7px;
|
||||
padding-top: 20px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav_menu .item_menu {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
padding-left: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.nav_menu .item_menu:hover {
|
||||
background: #e1e1e1;
|
||||
}
|
||||
.nav_menu .item_menu .icon-ziyuan {
|
||||
font-size: 15px;
|
||||
}
|
||||
.nav_menu .item_menu span {
|
||||
color: #2f2f2f;
|
||||
margin-left: 9px;
|
||||
}
|
||||
1
dist/application/assets/img/.pydio
vendored
Normal file
1
dist/application/assets/img/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
80d1eff3-5375-4e2f-af48-ac95ceae5dda
|
||||
BIN
dist/application/assets/img/pug.png
vendored
Normal file
BIN
dist/application/assets/img/pug.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 859 B |
1
dist/application/assets/js/.pydio
vendored
Normal file
1
dist/application/assets/js/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
e411047a-6633-45a0-a9ed-cf463f0d96b8
|
||||
13
dist/application/assets/js/Home.js
vendored
Normal file
13
dist/application/assets/js/Home.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
const { ipcRenderer } = require('electron');
|
||||
|
||||
class Home {
|
||||
constructor() {
|
||||
console.log(process.argv)
|
||||
$(".home").click(()=> {
|
||||
// 渲染进程发起ipc,让主进程创建窗体
|
||||
ipcRenderer.sendSync('openWindow', ['PlayVideo.controller', true])
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
new Home();
|
||||
1
dist/application/assets/js/lib/.pydio
vendored
Normal file
1
dist/application/assets/js/lib/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
220499cf-96d3-4f32-a87a-281f91de008c
|
||||
62
dist/application/assets/js/lib/http.js
vendored
Normal file
62
dist/application/assets/js/lib/http.js
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
class Utils {
|
||||
/**
|
||||
* 发送GET 请求
|
||||
* @param URL 地址
|
||||
* @param params 参数
|
||||
* @param callback 回调
|
||||
* @constructor
|
||||
*/
|
||||
Http(URL, params,callback) {
|
||||
$.ajax({
|
||||
url: `http://www.bmycode.com:3000/api${URL}`,
|
||||
type: 'GET',
|
||||
data: params,
|
||||
success: (res)=> {
|
||||
callback(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据时间戳返回多久之前的时间
|
||||
* @param timespan 时间戳
|
||||
* @returns {string}
|
||||
*/
|
||||
formatTime (timespan) {
|
||||
var dateTime = new Date(timespan);
|
||||
var year = dateTime.getFullYear();
|
||||
var month = dateTime.getMonth() + 1;
|
||||
var day = dateTime.getDate();
|
||||
var hour = dateTime.getHours();
|
||||
var minute = dateTime.getMinutes();
|
||||
var second = dateTime.getSeconds();
|
||||
var now = new Date();
|
||||
var now_new = Date.parse(now.toDateString()); //typescript转换写法
|
||||
|
||||
var milliseconds = 0;
|
||||
var timeSpanStr;
|
||||
|
||||
milliseconds = now_new - timespan;
|
||||
|
||||
if (milliseconds <= 1000 * 60 * 1) {
|
||||
timeSpanStr = '刚刚';
|
||||
}
|
||||
else if (1000 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60) {
|
||||
timeSpanStr = Math.round((milliseconds / (1000 * 60))) + '分钟前';
|
||||
}
|
||||
else if (1000 * 60 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24) {
|
||||
timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60)) + '小时前';
|
||||
}
|
||||
else if (1000 * 60 * 60 * 24 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24 * 15) {
|
||||
timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60 * 24)) + '天前';
|
||||
}
|
||||
else if (milliseconds > 1000 * 60 * 60 * 24 * 15 && year == now.getFullYear()) {
|
||||
timeSpanStr = month + '月' + day + '号' + hour + ':' + minute;
|
||||
} else {
|
||||
timeSpanStr = year + '年' + month + '月' + day + '号' + hour + ':' + minute;
|
||||
}
|
||||
return timeSpanStr;
|
||||
};
|
||||
}
|
||||
|
||||
window.$Utils = new Utils()
|
||||
10872
dist/application/assets/js/lib/jquery.js
vendored
Normal file
10872
dist/application/assets/js/lib/jquery.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
dist/application/assets/js/lib/zui/.pydio
vendored
Normal file
1
dist/application/assets/js/lib/zui/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
273b55bb-5bfc-40e5-a839-b6b577ae395d
|
||||
1322
dist/application/assets/js/lib/zui/zui-theme.css
vendored
Normal file
1322
dist/application/assets/js/lib/zui/zui-theme.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
dist/application/assets/js/lib/zui/zui.min.css
vendored
Normal file
6
dist/application/assets/js/lib/zui/zui.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
16
dist/application/assets/js/lib/zui/zui.min.js
vendored
Normal file
16
dist/application/assets/js/lib/zui/zui.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/application/assets/js/page/.pydio
vendored
Normal file
1
dist/application/assets/js/page/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
ced54523-ebdb-4d02-bd4f-dd82588095b7
|
||||
108
dist/application/assets/js/page/Home.js
vendored
Normal file
108
dist/application/assets/js/page/Home.js
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
const { ipcRenderer } = require('electron');
|
||||
|
||||
class Home {
|
||||
constructor() {
|
||||
this.playVideo()
|
||||
this.GotoList()
|
||||
this.page = $(".video_list").attr("page")
|
||||
this.loadMore()
|
||||
}
|
||||
|
||||
/**
|
||||
* 点击播放视频,发送ipc通知主进程创建独立的 PlayVideo 窗口
|
||||
* 然后向 PlayVideo 方法传入 datat 参数
|
||||
*/
|
||||
playVideo() {
|
||||
$(".abbreviation_f").off("click").on('click',function (e) {
|
||||
if ($(this).attr("workType") == "video") {
|
||||
ipcRenderer.send('openWindow', {
|
||||
action: 'Home.controller/PlayVideo',
|
||||
data: {
|
||||
principalId: $(this).attr("principalId"),
|
||||
photoId: $(this).attr("photoId")
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ipcRenderer.send('openWindow', {
|
||||
action: 'Home.controller/PlayVideo',
|
||||
data: {
|
||||
caption: $(this).next().text(),
|
||||
list: JSON.parse( $(this).find(".imgUrls").text() )
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 点击使用默认浏览器打开主播主页
|
||||
* @constructor
|
||||
*/
|
||||
GotoList() {
|
||||
$(".info").off("click").on('click',function (e) {
|
||||
ipcRenderer.send('openExternal', {
|
||||
url: `https://live.kuaishou.com/profile/${$(this).prev().attr("principalId")}`
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 滚动加载更多数据
|
||||
*/
|
||||
loadMore() {
|
||||
let self = this;
|
||||
$(window).scroll(function () {
|
||||
let scrollTop = $(this).scrollTop();
|
||||
let scrollHeight = $(document).height();
|
||||
let windowHeight = $(this).height();
|
||||
if (scrollTop + windowHeight == scrollHeight) {
|
||||
self.getVideoList()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 滚动到底部后发送请求获取数据
|
||||
*/
|
||||
getVideoList() {
|
||||
$Utils.Http("/list", { page: this.page }, res=> {
|
||||
let MMList = res.data;
|
||||
|
||||
// 更新页面上的page页码
|
||||
$(".video_list").attr({ page: MMList.pcursor })
|
||||
// 保存页面到变量
|
||||
this.page = $(".video_list").attr("page")
|
||||
// 遍历新数据到页面
|
||||
MMList.list.forEach(function (val,index) {
|
||||
$(".video_list").append(`
|
||||
<li>
|
||||
<div class="abbreviation_f" principalId="${val.user.id}" photoId="${val.id}" workType="${val.workType}">
|
||||
<div style="background:url('${val.thumbnailUrl}');background-position: center center;" class="zz"></div>
|
||||
<img src="${val.thumbnailUrl}" class="thumbnailUrl" />
|
||||
<div class="${val.workType == 'video' ? 'tips red':'tips green'}">
|
||||
${val.workType == 'video' ? '视频':'图片'}
|
||||
${
|
||||
val.imgUrls.length != 0
|
||||
? `<div class="imgUrls" style="display:none">${JSON.stringify(val.imgUrls)}</div>`
|
||||
: ''
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<img src="${val.user.avatar}" />
|
||||
<p>${val.caption}</p>
|
||||
</div>
|
||||
</li>
|
||||
`);
|
||||
});
|
||||
|
||||
this.playVideo()
|
||||
this.GotoList()
|
||||
// 因为页面数据变多了,所以为所有的dom重新监听点击播放,进入主页事件
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
new Home();
|
||||
84
dist/application/assets/js/page/PlayVideo.js
vendored
Normal file
84
dist/application/assets/js/page/PlayVideo.js
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
const { ipcRenderer } = require('electron');
|
||||
|
||||
class PlayVideo {
|
||||
constructor() {
|
||||
this.isShowMenu = false
|
||||
this.downVideo()
|
||||
this.initSwiper()
|
||||
this.ShowComment()
|
||||
this.ShowCommentList()
|
||||
this.SwiperIndex = 0;
|
||||
}
|
||||
|
||||
initSwiper() {
|
||||
let self = this;
|
||||
new Swiper ('.swiper-container', {
|
||||
direction: 'horizontal', // 垂直切换选项
|
||||
loop: false, // 循环模式选项
|
||||
// 如果需要分页器
|
||||
pagination: {
|
||||
el: '.swiper-pagination',
|
||||
},
|
||||
|
||||
// 如果需要前进后退按钮
|
||||
navigation: {
|
||||
nextEl: '.swiper-button-next',
|
||||
prevEl: '.swiper-button-prev',
|
||||
},
|
||||
on: {
|
||||
slideChange: function () {
|
||||
self.SwiperIndex = this.realIndex;
|
||||
},
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
downVideo() {
|
||||
let self = this;
|
||||
$(".down_video").click(function () {
|
||||
// 当前播放的是图片
|
||||
if ($("#my-video").length == 0) {
|
||||
let allImg = $(".swiper-wrapper .swiper-slide img").eq(self.SwiperIndex)
|
||||
ipcRenderer.send('SaveFile', {
|
||||
url: allImg.attr("src")
|
||||
})
|
||||
// 当前播放的是视频
|
||||
} else {
|
||||
console.log("下载视频")
|
||||
ipcRenderer.send('SaveFile', {
|
||||
url: $("#my-video").attr("src")
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 展开评论弹窗
|
||||
* @constructor
|
||||
*/
|
||||
ShowComment() {
|
||||
$(".down_comment").click(() => {
|
||||
if (this.isShowMenu) {
|
||||
$(".comment_list").animate({ right: '-256px'})
|
||||
this.isShowMenu = false
|
||||
} else {
|
||||
$(".comment_list").animate({ right: 0})
|
||||
this.isShowMenu = true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看更多评论
|
||||
* @constructor
|
||||
*/
|
||||
ShowCommentList() {
|
||||
$(".view_other").click(function () {
|
||||
$(this).next().toggle({
|
||||
'display': 'block'
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
new PlayVideo();
|
||||
1
dist/application/page/.pydio
vendored
Normal file
1
dist/application/page/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
0090f9d9-fdfc-4ba3-8b45-ee96e9f430c3
|
||||
1
dist/application/page/Home/.pydio
vendored
Normal file
1
dist/application/page/Home/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
afd5fac5-84a9-4d37-b6bd-6ee992f52227
|
||||
452
dist/application/page/Home/Home.html
vendored
Normal file
452
dist/application/page/Home/Home.html
vendored
Normal file
@@ -0,0 +1,452 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp">
|
||||
<link rel="stylesheet" href="../../assets/css/header.css">
|
||||
<link rel="stylesheet" href="../../assets/css/nav.css">
|
||||
<script src="../../assets/js/lib/http.js"></script>
|
||||
<!-- - 从 Index.config.ts 中渲染公共 css 和 js-->
|
||||
<link rel="stylesheet" href="http://mdui-aliyun.cdn.w3cbus.com/source/dist/css/mdui.min.css">
|
||||
<link rel="stylesheet" href="http://at.alicdn.com/t/font_1934749_hhc110df87a.css">
|
||||
<script src="http://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
|
||||
<script src="http://mdui-aliyun.cdn.w3cbus.com/source/dist/js/mdui.min.js"></script>
|
||||
<script>
|
||||
if (typeof module === 'object') {
|
||||
window.jQuery = window.$ = module.exports;
|
||||
};
|
||||
|
||||
</script>
|
||||
<title>首页页面窗口-测试传给模板的数据</title>
|
||||
<link rel="stylesheet" href="../../assets/css/clear.css">
|
||||
<link rel="stylesheet" href="../../assets/css/Home.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="action">
|
||||
<div class="left_action"><i class="iconfont icon-houtui"></i><i class="iconfont icon-qianjin"></i></div>
|
||||
<div class="right_menu">
|
||||
<div class="menu_text">iTunes 音乐</div>
|
||||
<div class="menu_action"><i class="iconfont icon-iconzhengli_youjian"></i><i class="iconfont icon-yifu"></i><i class="iconfont icon-shezhi"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nav_menu">
|
||||
<div class="title">我的音乐</div>
|
||||
<div class="item_menu"><i class="iconfont icon-yinle"></i><span>iTunes音乐</span></div>
|
||||
<div class="item_menu"><i class="iconfont icon-changyongicon-"></i><span>下载管理</span></div>
|
||||
<div class="item_menu"><i class="iconfont icon-yun"></i><span>我的音乐盘</span></div>
|
||||
<div class="item_menu"><i class="iconfont icon-shoucang"></i><span>我的收藏</span></div>
|
||||
<div class="title">我的云盘</div>
|
||||
<div class="item_menu"><i class="iconfont icon-tupian"></i><span>精彩照片</span></div>
|
||||
<div class="item_menu"><i class="iconfont icon-shipin1"></i><span>视频记忆</span></div>
|
||||
<div class="item_menu"><i class="iconfont icon-wenjianjia1"></i><span>重要文件</span></div>
|
||||
<div class="item_menu"><i class="iconfont icon-qita"></i><span>其他资料</span></div>
|
||||
<div class="title">在线娱乐</div>
|
||||
<div class="item_menu"><i class="iconfont icon-ziyuan"></i><span>短视频</span></div>
|
||||
<div class="item_menu"><i class="iconfont icon-zhibo"></i><span>娱乐直播</span></div>
|
||||
<div class="item_menu"><i class="iconfont icon-xinwen"></i><span>新闻资讯</span></div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="Home">
|
||||
<ul page="1.602093681999E12" class="video_list">
|
||||
<li>
|
||||
<div principalId="Nx277777" photoId="3xjtvq5zs879b82" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/10/19/BMjAyMDEwMTAxOTI2NDhfMjQ0NzAyMDZfMzc0OTM0OTAyNDJfMV8z_Bd18a518d1e87e6096a4b0d66207abe23.jpg?clientCacheKey=3xjtvq5zs879b82.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/10/19/BMjAyMDEwMTAxOTI2NDhfMjQ0NzAyMDZfMzc0OTM0OTAyNDJfMV8z_Bd18a518d1e87e6096a4b0d66207abe23.jpg?clientCacheKey=3xjtvq5zs879b82.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/08/17/09/BMjAyMDA4MTcwOTM2MDNfMjQ0NzAyMDZfMV9oZDM4Nl8xODU=_s.jpg">
|
||||
<p>……抱歉大家 我胖的没腰了</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xa4rtvfb34wimq" photoId="3xjfu7x83a6yasg" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/14/17/BMjAyMDEwMTQxNzE1MDBfMjEwNzc1MDUwNl8zNzY3Nzk1OTQ2MF8yXzM=_Be15bad27660839ce7b659bf71ba9203a.jpg?clientCacheKey=3xjfu7x83a6yasg.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/14/17/BMjAyMDEwMTQxNzE1MDBfMjEwNzc1MDUwNl8zNzY3Nzk1OTQ2MF8yXzM=_Be15bad27660839ce7b659bf71ba9203a.jpg?clientCacheKey=3xjfu7x83a6yasg.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/09/13/BMjAyMDEwMDkxMzA1MDlfMjEwNzc1MDUwNl8yX2hkOTNfODg2_s.jpg">
|
||||
<p>秋意浓 #大长腿美女 #辣妹</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="H411365242" photoId="3xm36pzkzemtck9" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/13/19/BMjAyMDEwMTMxOTQ2NTdfNDExMzY1MjQyXzM3NjQxNzM2MDYyXzFfMw==_Baf4c24bd5bcf98725a9179ed090bbe40.jpg?clientCacheKey=3xm36pzkzemtck9.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/13/19/BMjAyMDEwMTMxOTQ2NTdfNDExMzY1MjQyXzM3NjQxNzM2MDYyXzFfMw==_Baf4c24bd5bcf98725a9179ed090bbe40.jpg?clientCacheKey=3xm36pzkzemtck9.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/09/02/15/BMjAyMDA5MDIxNTA1NTVfNDExMzY1MjQyXzJfaGQ4MF8yNjQ=_s.jpg">
|
||||
<p>听说女生打出“xx”都是嘻嘻,男生打出是…#热</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="zllzxezht" photoId="3xi89bk2uqhneis" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/15/11/BMjAyMDEwMTUxMTAwMTVfNTg2MzgwOTU3XzM3NzA5MDc1NTYwXzFfMw==_B08b73cc4bf04fd07524515e94be10247.jpg?clientCacheKey=3xi89bk2uqhneis.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/15/11/BMjAyMDEwMTUxMTAwMTVfNTg2MzgwOTU3XzM3NzA5MDc1NTYwXzFfMw==_B08b73cc4bf04fd07524515e94be10247.jpg?clientCacheKey=3xi89bk2uqhneis.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/06/03/11/BMjAyMDA2MDMxMTIwMDlfNTg2MzgwOTU3XzFfaGQyNjJfODI2_s.jpg">
|
||||
<p>#凭实力单身</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="zllzxezht" photoId="3xujnr8cmr4shs4" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/14/18/BMjAyMDEwMTQxODIzMTlfNTg2MzgwOTU3XzM3NjgwOTExMTU0XzFfMw==_B97e4c697aa9e592dee5d2c83c587bfb1.jpg?clientCacheKey=3xujnr8cmr4shs4.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/14/18/BMjAyMDEwMTQxODIzMTlfNTg2MzgwOTU3XzM3NjgwOTExMTU0XzFfMw==_B97e4c697aa9e592dee5d2c83c587bfb1.jpg?clientCacheKey=3xujnr8cmr4shs4.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/06/03/11/BMjAyMDA2MDMxMTIwMDlfNTg2MzgwOTU3XzFfaGQyNjJfODI2_s.jpg">
|
||||
<p>#凭实力单身</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="zllzxezht" photoId="3x6xesh5e2iuprk" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/11/11/BMjAyMDEwMTExMTAxMDRfNTg2MzgwOTU3XzM3NTIxODg4MzkyXzFfMw==_B79cace044c211c55efa1545d309bbe3c.jpg?clientCacheKey=3x6xesh5e2iuprk.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/11/11/BMjAyMDEwMTExMTAxMDRfNTg2MzgwOTU3XzM3NTIxODg4MzkyXzFfMw==_B79cace044c211c55efa1545d309bbe3c.jpg?clientCacheKey=3x6xesh5e2iuprk.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/06/03/11/BMjAyMDA2MDMxMTIwMDlfNTg2MzgwOTU3XzFfaGQyNjJfODI2_s.jpg">
|
||||
<p>乍见之欢不如久处不厌</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xnehjvkvw75qvi" photoId="3xb77ex6iuinj84" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/14/10/BMjAyMDEwMTQxMDU2MzNfNTc2NjMyNF8zNzY2MzM0ODY0NV8xXzM=_Bc36b573cbfa0859aa39f6d18b64b9c1d.jpg?clientCacheKey=3xb77ex6iuinj84.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/14/10/BMjAyMDEwMTQxMDU2MzNfNTc2NjMyNF8zNzY2MzM0ODY0NV8xXzM=_Bc36b573cbfa0859aa39f6d18b64b9c1d.jpg?clientCacheKey=3xb77ex6iuinj84.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/06/26/15/BMjAyMDA2MjYxNTA1NTRfNTc2NjMyNF8xX2hkNjM2XzMwMw==_s.jpg">
|
||||
<p>#元气少女 #作品推广 #小蛮腰 老天爷保佑🙏让我这么可爱的善良的性感的女孩子上个热门吧</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xnehjvkvw75qvi" photoId="3xjvytm5x2ts9sa" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/14/10/BMjAyMDEwMTQxMDMxMTJfNTc2NjMyNF8zNzY2MjQ1NzU3Ml8xXzM=_B51bf98589bdaab175ac21f690ee24a31.jpg?clientCacheKey=3xjvytm5x2ts9sa.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/14/10/BMjAyMDEwMTQxMDMxMTJfNTc2NjMyNF8zNzY2MjQ1NzU3Ml8xXzM=_B51bf98589bdaab175ac21f690ee24a31.jpg?clientCacheKey=3xjvytm5x2ts9sa.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/06/26/15/BMjAyMDA2MjYxNTA1NTRfNTc2NjMyNF8xX2hkNjM2XzMwMw==_s.jpg">
|
||||
<p>#身材管理 #作品推广 嘻嘻最近回老家了想多陪陪家里人,外婆奶萌萌发都白了好多看着真的挺心疼的。记得想我哦❤️</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="yexiaomiao" photoId="3xsqiha45uu73cs" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/14/19/BMjAyMDEwMTQxOTU2NTNfMTkzMDcyMTVfMzc2ODYzMzQzMjJfMl8z_Beac3c2d48b76e1c65a2018853cf738cd.jpg?clientCacheKey=3xsqiha45uu73cs.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/14/19/BMjAyMDEwMTQxOTU2NTNfMTkzMDcyMTVfMzc2ODYzMzQzMjJfMl8z_Beac3c2d48b76e1c65a2018853cf738cd.jpg?clientCacheKey=3xsqiha45uu73cs.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/08/20/11/BMjAyMDA4MjAxMTE4MDhfMTkzMDcyMTVfMl9oZDUyOF82MTk=_s.jpg">
|
||||
<p>有点饿又有点想你 想去饿了么点你</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="XIAMEI199" photoId="3xew4psfunwvvju" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/12/18/BMjAyMDEwMTIxODM0MDFfMTE0MzM3NzA0MF8zNzU5MzU2MzU1Nl8yXzM=_B7213493b2f01aed9d4771ff8fb5586a5.jpg?clientCacheKey=3xew4psfunwvvju.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/12/18/BMjAyMDEwMTIxODM0MDFfMTE0MzM3NzA0MF8zNzU5MzU2MzU1Nl8yXzM=_B7213493b2f01aed9d4771ff8fb5586a5.jpg?clientCacheKey=3xew4psfunwvvju.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/12/21/BMjAyMDEwMTIyMTA1MTVfMTE0MzM3NzA0MF8yX2hkNjRfNzM=_s.jpg">
|
||||
<p>#人生旅途许多的风景只适合贵州小姐姐你喜欢 吗 #支持快手传播正能量 哈哈😄旁边好多人看着尴尬了😂</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="XIAMEI199" photoId="3xgkmfbmevvq7kw" workType="vertical" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/13/21/BMjAyMDEwMTMyMTA5MDRfMTE0MzM3NzA0MF8zNzY0Njk1ODI2N18yXzY=_Bc80f295fce9255e4848c7015b869b3c7.jpg?clientCacheKey=3xgkmfbmevvq7kw.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/13/21/BMjAyMDEwMTMyMTA5MDRfMTE0MzM3NzA0MF8zNzY0Njk1ODI2N18yXzY=_Bc80f295fce9255e4848c7015b869b3c7.jpg?clientCacheKey=3xgkmfbmevvq7kw.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips green">图片
|
||||
<div style="display:none" class="imgUrls">["http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_0.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_1.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_2.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_3.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_4.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_5.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_6.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_7.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_8.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_9.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_10.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzODUzMDgyNzUzNjMzMzc4OV8xNjAyNTk0NTQ3ODI4_11.webp"]</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/12/21/BMjAyMDEwMTIyMTA1MTVfMTE0MzM3NzA0MF8yX2hkNjRfNzM=_s.jpg">
|
||||
<p>#贵州小姐姐你喜欢吗 #作品推广 : 小时候,我以为生活就是:事事如意,年年有余。长大后,我发现生活就是:事事如意料之外,年年有余额不足。</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="XIAMEI199" photoId="3xvym7x2d23gv3q" workType="vertical" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/15/00/BMjAyMDEwMTUwMDUxMDJfMTE0MzM3NzA0MF8zNzY5ODMyNDYwMF8yXzY=_Bfcad4fd3dcfe71026d0501327d32f318.jpg?clientCacheKey=3xvym7x2d23gv3q.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/15/00/BMjAyMDEwMTUwMDUxMDJfMTE0MzM3NzA0MF8zNzY5ODMyNDYwMF8yXzY=_Bfcad4fd3dcfe71026d0501327d32f318.jpg?clientCacheKey=3xvym7x2d23gv3q.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips green">图片
|
||||
<div style="display:none" class="imgUrls">["http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_0.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_1.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_2.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_3.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_4.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_5.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_6.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_7.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_8.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_9.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_10.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_11.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_12.webp","http://tx2.a.yximgs.com/ufile/atlas/NTIzNTQzNDYwMzcwNTE2ODM1MV8xNjAyNjk0MjY1MDA2_13.webp"]</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/12/21/BMjAyMDEwMTIyMTA1MTVfMTE0MzM3NzA0MF8yX2hkNjRfNzM=_s.jpg">
|
||||
<p>#作品推广 总有那么一瞬间 半夜醒来 对自己摇摇头 可笑从来不需要任何人疼 抗下所有不得不承认时间真的改变了很多很多十几岁的年纪我连自己的快乐都给不了自己 生活过于平静 没有惊喜 更没有意外我承受不了那种生活太累了</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="xiaoyanzichaoguai" photoId="3xhzdv82wqxkfme" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/14/17/BMjAyMDEwMTQxNzAzNDFfMTMyNTEwMjAzMl8zNzY3NzMyNzUxOF8xXzM=_B3e7340fb0b428c9c7fc43e32a2cc7eb4.jpg?clientCacheKey=3xhzdv82wqxkfme.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/14/17/BMjAyMDEwMTQxNzAzNDFfMTMyNTEwMjAzMl8zNzY3NzMyNzUxOF8xXzM=_B3e7340fb0b428c9c7fc43e32a2cc7eb4.jpg?clientCacheKey=3xhzdv82wqxkfme.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2019/06/25/18/BMjAxOTA2MjUxODUwMTZfMTMyNTEwMjAzMl8xX2hkMzk3XzQwMA==_s.jpg">
|
||||
<p>打出wnx,就知道你纯不纯洁了😂</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xd2fucwifn37ge" photoId="3xhuidgfkif2xf6" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/13/22/BMjAyMDEwMTMyMjU4MjlfMTc5Mzc2OTc5XzM3NjUyMjk0ODAxXzFfMw==_Bce4fffa3ddbea9b80217dc28485f5cc4.jpg?clientCacheKey=3xhuidgfkif2xf6.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/13/22/BMjAyMDEwMTMyMjU4MjlfMTc5Mzc2OTc5XzM3NjUyMjk0ODAxXzFfMw==_Bce4fffa3ddbea9b80217dc28485f5cc4.jpg?clientCacheKey=3xhuidgfkif2xf6.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/05/10/21/BMjAyMDA1MTAyMTA1NTRfMTc5Mzc2OTc5XzFfaGQ4ODdfNzIz_s.jpg">
|
||||
<p>...</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xd2fucwifn37ge" photoId="3xmg35tqcmuf3ge" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/11/23/BMjAyMDEwMTEyMzM3NDRfMTc5Mzc2OTc5XzM3NTY0Nzk4MTUxXzFfMw==_B3e080a39900894080c5dcecdc28e5dec.jpg?clientCacheKey=3xmg35tqcmuf3ge.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/11/23/BMjAyMDEwMTEyMzM3NDRfMTc5Mzc2OTc5XzM3NTY0Nzk4MTUxXzFfMw==_B3e080a39900894080c5dcecdc28e5dec.jpg?clientCacheKey=3xmg35tqcmuf3ge.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/05/10/21/BMjAyMDA1MTAyMTA1NTRfMTc5Mzc2OTc5XzFfaGQ4ODdfNzIz_s.jpg">
|
||||
<p>...</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="kx6888999" photoId="3x47kssvmt4vyak" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/11/19/BMjAyMDEwMTExOTUxNTVfMTg4NjYyMjQxNF8zNzU1MTk2MjA5MV8yXzM=_B0e77ac33ed9f5057260f37cf0e480cdc.jpg?clientCacheKey=3x47kssvmt4vyak.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/11/19/BMjAyMDEwMTExOTUxNTVfMTg4NjYyMjQxNF8zNzU1MTk2MjA5MV8yXzM=_B0e77ac33ed9f5057260f37cf0e480cdc.jpg?clientCacheKey=3x47kssvmt4vyak.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/08/06/13/BMjAyMDA4MDYxMzEwMzFfMTg4NjYyMjQxNF8yX2hkOTg4Xzk0Nw==_s.jpg">
|
||||
<p>Be who you are and love you naturally. 做你自己,爱你的人自然爱你. #背影杀手</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="WanZan1234789" photoId="3x622acx8mvvkki" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/09/22/23/BMjAyMDA5MjIyMzU0MjNfMTI5MDUzMDg5Nl8zNjQ3NjY3NzEzMl8xXzM=_B1481c4dcb06727d86c3a2ffa391503ac.jpg?clientCacheKey=3x622acx8mvvkki.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/09/22/23/BMjAyMDA5MjIyMzU0MjNfMTI5MDUzMDg5Nl8zNjQ3NjY3NzEzMl8xXzM=_B1481c4dcb06727d86c3a2ffa391503ac.jpg?clientCacheKey=3x622acx8mvvkki.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/08/11/21/BMjAyMDA4MTEyMTIzMzRfMTI5MDUzMDg5Nl8xX2hkNzVfMjc3_s.jpg">
|
||||
<p>好像今年很流行这样牛仔裤?@快手时尚(O40300089) @快手创作者激励计划(O792200110) #街拍美女</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="YYBK1234" photoId="3xegz88jsp5yu5e" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/12/15/BMjAyMDEwMTIxNTU3MTRfMTU4OTcxMzU0XzM3NTg2NTYwNzMwXzFfMw==_Baf639d59af3ad56f52841cd192545e3b.jpg?clientCacheKey=3xegz88jsp5yu5e.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/12/15/BMjAyMDEwMTIxNTU3MTRfMTU4OTcxMzU0XzM3NTg2NTYwNzMwXzFfMw==_Baf639d59af3ad56f52841cd192545e3b.jpg?clientCacheKey=3xegz88jsp5yu5e.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/08/13/11/BMjAyMDA4MTMxMTE3NDhfMTU4OTcxMzU0XzFfaGQ0NjJfNzcy_s.jpg">
|
||||
<p>收一个关门弟子 只教关门 现在报名还教关灯和关窗 傻的来 不傻的别来 我骂不过你</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3x8qsgfihiz54e2" photoId="3xmxy4k2bbyrzs4" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/12/07/BMjAyMDEwMTIwNzI2MzdfOTk5MDE1ODlfMzc1NjkyNjY0MzNfMV8z_B7fe56172f4c78e4b0e341b58ca89751e.jpg?clientCacheKey=3xmxy4k2bbyrzs4.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/12/07/BMjAyMDEwMTIwNzI2MzdfOTk5MDE1ODlfMzc1NjkyNjY0MzNfMV8z_B7fe56172f4c78e4b0e341b58ca89751e.jpg?clientCacheKey=3xmxy4k2bbyrzs4.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2019/10/05/13/BMjAxOTEwMDUxMzQ0MThfOTk5MDE1ODlfMV9oZDE1MV8zNjM=_s.jpg">
|
||||
<p>#小蛮腰 #好身材练起来 #牛仔裤 早</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xn7kaqnehdjckk" photoId="3xxa7djaf9zag2i" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/11/15/BMjAyMDEwMTExNTU4NTRfMTg0NTA3Nzk2Nl8zNzUzNzk5MTA0Nl8xXzM=_B5cb505b80c6e06c7327325c13c7dc307.jpg?clientCacheKey=3xxa7djaf9zag2i.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/11/15/BMjAyMDEwMTExNTU4NTRfMTg0NTA3Nzk2Nl8zNzUzNzk5MTA0Nl8xXzM=_B5cb505b80c6e06c7327325c13c7dc307.jpg?clientCacheKey=3xxa7djaf9zag2i.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/06/20/21/BMjAyMDA2MjAyMTIwMTdfMTg0NTA3Nzk2Nl8xX2hkNDUwXzYz_s.jpg">
|
||||
<p>@有田✨本人(O1961694739)</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="cc0001551" photoId="3xi39df8h7jjetm" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/11/14/BMjAyMDEwMTExNDI5MzRfMjAwNzgzMDA0Ml8zNzUzMzAxNDE4MF8xXzM=_B632a19c1873f425c1639da7ade50fd37.jpg?clientCacheKey=3xi39df8h7jjetm.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/11/14/BMjAyMDEwMTExNDI5MzRfMjAwNzgzMDA0Ml8zNzUzMzAxNDE4MF8xXzM=_B632a19c1873f425c1639da7ade50fd37.jpg?clientCacheKey=3xi39df8h7jjetm.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/09/09/13/BMjAyMDA5MDkxMzAyMDJfMjAwNzgzMDA0Ml8xX2hkNjgyXzkxNw==_s.jpg">
|
||||
<p>据说打出“今晚”一直点下去后面的字就能看出你渣不渣,不信你试试~ #作品推广 #jk制服</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="xiongxiaobao520" photoId="3xb4v2kwpim6iac" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/08/18/BMjAyMDEwMDgxODUxMjRfNDI1MTExNDQ5XzM3Mzk4NTc4OTYyXzFfMw==_B46121c2fda2272fb21b1641c975db17e.jpg?clientCacheKey=3xb4v2kwpim6iac.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/08/18/BMjAyMDEwMDgxODUxMjRfNDI1MTExNDQ5XzM3Mzk4NTc4OTYyXzFfMw==_B46121c2fda2272fb21b1641c975db17e.jpg?clientCacheKey=3xb4v2kwpim6iac.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/01/05/15/BMjAyMDAxMDUxNTQ4MzFfNDI1MTExNDQ5XzFfaGQyNTNfNzc=_s.jpg">
|
||||
<p>没有男友 姐妹来凑#男友力 #姐妹成对快乐加倍ʕ</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="tzxy99999" photoId="3x6qjfw7awai6zu" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/08/19/17/BMjAyMDA4MTkxNzM0MzJfMTc5MjQ3MTI3Nl8zNDYyNjYyNzA4M18wXzM=_Bafab0be57b40cea9e3bf870fd6764d4d.jpg?clientCacheKey=3x6qjfw7awai6zu.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/08/19/17/BMjAyMDA4MTkxNzM0MzJfMTc5MjQ3MTI3Nl8zNDYyNjYyNzA4M18wXzM=_Bafab0be57b40cea9e3bf870fd6764d4d.jpg?clientCacheKey=3x6qjfw7awai6zu.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/02/25/23/BMjAyMDAyMjUyMzM2NDdfMTc5MjQ3MTI3Nl8xX2hkNTg1XzMyMw==_s.jpg">
|
||||
<p>哎呀... </p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="tzxy99999" photoId="3xrefpbn4bxpmjq" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/08/22/19/BMjAyMDA4MjIxOTIyMzRfMTc5MjQ3MTI3Nl8zNDgxMDE5ODE0OV8xXzM=_B3cba68470e14d342ece3aff03f866c87.jpg?clientCacheKey=3xrefpbn4bxpmjq.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/08/22/19/BMjAyMDA4MjIxOTIyMzRfMTc5MjQ3MTI3Nl8zNDgxMDE5ODE0OV8xXzM=_B3cba68470e14d342ece3aff03f866c87.jpg?clientCacheKey=3xrefpbn4bxpmjq.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/02/25/23/BMjAyMDAyMjUyMzM2NDdfMTc5MjQ3MTI3Nl8xX2hkNTg1XzMyMw==_s.jpg">
|
||||
<p>来呀 带你嗨皮🥳#治愈系笑容 #主播中心 #快手创作者中心</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="zlw002629" photoId="3xyveiknv5ek3ai" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/09/20/18/BMjAyMDA5MjAxODQ0NTVfODAwNjczODlfMzYzNjczNDI1MjFfMV8z_B22fcdb102d7c35a930653ec4c6e889f2.jpg?clientCacheKey=3xyveiknv5ek3ai.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/09/20/18/BMjAyMDA5MjAxODQ0NTVfODAwNjczODlfMzYzNjczNDI1MjFfMV8z_B22fcdb102d7c35a930653ec4c6e889f2.jpg?clientCacheKey=3xyveiknv5ek3ai.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/07/03/BMjAyMDEwMDcwMzI4MjlfODAwNjczODlfMV9oZDE2Nl8yNDk=_s.jpg">
|
||||
<p>我妈为什么生我 还不是怕你找不到老婆</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="xrgll6688" photoId="3xiugv4qvnz43yq" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/01/18/BMjAyMDEwMDExODM1MzJfMTAwNzYyNzAwXzM2OTI5NDYzNDUxXzFfMw==_Be8170dcb58e6a4f7c730aeeea7c59089.jpg?clientCacheKey=3xiugv4qvnz43yq.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/01/18/BMjAyMDEwMDExODM1MzJfMTAwNzYyNzAwXzM2OTI5NDYzNDUxXzFfMw==_Be8170dcb58e6a4f7c730aeeea7c59089.jpg?clientCacheKey=3xiugv4qvnz43yq.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/03/19/BMjAyMDEwMDMxOTI1MTdfMTAwNzYyNzAwXzFfaGQ4NzJfMjc1_s.jpg">
|
||||
<p>离开你们太久了、中秋见一面吧🙉 #快味中秋</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="xrgll6688" photoId="3xzxcrssg6rsq94" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/02/18/BMjAyMDEwMDIxODQwNDlfMTAwNzYyNzAwXzM3MDEzMzIzNDI0XzBfMw==_B2970eab9180c8003fcb9f7d4de60ff02.jpg?clientCacheKey=3xzxcrssg6rsq94.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/02/18/BMjAyMDEwMDIxODQwNDlfMTAwNzYyNzAwXzM3MDEzMzIzNDI0XzBfMw==_B2970eab9180c8003fcb9f7d4de60ff02.jpg?clientCacheKey=3xzxcrssg6rsq94.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/03/19/BMjAyMDEwMDMxOTI1MTdfMTAwNzYyNzAwXzFfaGQ4NzJfMjc1_s.jpg">
|
||||
<p>即使没有人为你鼓掌,也要优雅的谢幕 #主播中心</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="xrgll6688" photoId="3xsr7p76y9hn3rm" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/03/16/BMjAyMDEwMDMxNjU1MzFfMTAwNzYyNzAwXzM3MDc0NTc2NDAyXzBfMw==_Ba6b290872b25235560962d2dba48130a.jpg?clientCacheKey=3xsr7p76y9hn3rm.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/03/16/BMjAyMDEwMDMxNjU1MzFfMTAwNzYyNzAwXzM3MDc0NTc2NDAyXzBfMw==_Ba6b290872b25235560962d2dba48130a.jpg?clientCacheKey=3xsr7p76y9hn3rm.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/03/19/BMjAyMDEwMDMxOTI1MTdfMTAwNzYyNzAwXzFfaGQ4NzJfMjc1_s.jpg">
|
||||
<p>你们是要遗弃我吗?🐶 </p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="xrgll6688" photoId="3xe2h5qnp7vvkui" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/05/15/BMjAyMDEwMDUxNTQxMjZfMTAwNzYyNzAwXzM3MjAxNTAxMzUxXzBfMw==_B5b1d1665a13eeb12f3f01894057faab8.jpg?clientCacheKey=3xe2h5qnp7vvkui.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/05/15/BMjAyMDEwMDUxNTQxMjZfMTAwNzYyNzAwXzM3MjAxNTAxMzUxXzBfMw==_B5b1d1665a13eeb12f3f01894057faab8.jpg?clientCacheKey=3xe2h5qnp7vvkui.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/03/19/BMjAyMDEwMDMxOTI1MTdfMTAwNzYyNzAwXzFfaGQ4NzJfMjc1_s.jpg">
|
||||
<p>我学的对不对吖? #今日份的自拍</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xgazf9hhdebuam" photoId="3xti76twypvyxq4" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/03/17/BMjAyMDEwMDMxNzQ3MzdfMTM4NDE1Mzk5NV8zNzA3ODE4NDM1MF8xXzM=_B815b47fb28b5e3649f7bc223e27f3387.jpg?clientCacheKey=3xti76twypvyxq4.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/03/17/BMjAyMDEwMDMxNzQ3MzdfMTM4NDE1Mzk5NV8zNzA3ODE4NDM1MF8xXzM=_B815b47fb28b5e3649f7bc223e27f3387.jpg?clientCacheKey=3xti76twypvyxq4.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/07/07/22/BMjAyMDA3MDcyMjU4MzFfMTM4NDE1Mzk5NV8xX2hkNjUwXzQ1Ng==_s.jpg">
|
||||
<p>双击么么哒 #清纯美女 #快味中秋</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="done-911" photoId="3xs3szbm5k93vbu" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/09/27/16/BMjAyMDA5MjcxNjM5MjRfMjA3NDI4NDYwMV8zNjcwMTE5Mzk1N18wXzM=_Bcc9d4f660ccc21250b7d6ad45c145b1e.jpg?clientCacheKey=3xs3szbm5k93vbu.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/09/27/16/BMjAyMDA5MjcxNjM5MjRfMjA3NDI4NDYwMV8zNjcwMTE5Mzk1N18wXzM=_Bcc9d4f660ccc21250b7d6ad45c145b1e.jpg?clientCacheKey=3xs3szbm5k93vbu.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/09/01/18/BMjAyMDA5MDExODUyMTdfMjA3NDI4NDYwMV8xX2hkMTk5XzMzNg==_s.jpg">
|
||||
<p>北京三里屯,牛仔裤穿搭</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xwcugkmdpgi6hk" photoId="3xccwqwz7aa2pu6" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/06/10/18/BMjAyMDA2MTAxODM4MThfMTIwMDA3ODMxMl8zMDIzODAxMzU0N18xXzM=_B2e6808de9c6835e14d9d862fe948235c.jpg?clientCacheKey=3xccwqwz7aa2pu6.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/06/10/18/BMjAyMDA2MTAxODM4MThfMTIwMDA3ODMxMl8zMDIzODAxMzU0N18xXzM=_B2e6808de9c6835e14d9d862fe948235c.jpg?clientCacheKey=3xccwqwz7aa2pu6.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/03/21/19/BMjAyMDAzMjExOTI3NDdfMTIwMDA3ODMxMl8xX2hkMTkyXzYxNA==_s.jpg">
|
||||
<p>我很中意你,你鸡母鸡呀!</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3x7d7ymb274278w" photoId="3xg8st3ajmz2uxy" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/09/29/06/BMjAyMDA5MjkwNjM0NTlfOTM4MDE0NzAzXzM2NzcxNDAxMjcyXzJfMw==_Ba9b2de2f4d6b78c1bb62f6ce7da6709c.jpg?clientCacheKey=3xg8st3ajmz2uxy.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/09/29/06/BMjAyMDA5MjkwNjM0NTlfOTM4MDE0NzAzXzM2NzcxNDAxMjcyXzJfMw==_Ba9b2de2f4d6b78c1bb62f6ce7da6709c.jpg?clientCacheKey=3xg8st3ajmz2uxy.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/07/28/11/BMjAyMDA3MjgxMTA1MTRfOTM4MDE0NzAzXzJfaGQ0NjVfNjQ4_s.jpg">
|
||||
<p>#街拍 #穿搭</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3x9ivqzjsm5szqc" photoId="3xa6752kuumvm99" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/08/16/11/BMjAyMDA4MTYxMTM5NDZfMTc3MDc0Mjc1OF8zNDQyNDA1ODQxOF8xXzM=_Bcae5fc332f4d12c66fedc27289b2771b.jpg?clientCacheKey=3xa6752kuumvm99.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/08/16/11/BMjAyMDA4MTYxMTM5NDZfMTc3MDc0Mjc1OF8zNDQyNDA1ODQxOF8xXzM=_Bcae5fc332f4d12c66fedc27289b2771b.jpg?clientCacheKey=3xa6752kuumvm99.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/02/09/11/BMjAyMDAyMDkxMTE1NTFfMTc3MDc0Mjc1OF8xX2hkODE3XzM5Ng==_s.jpg">
|
||||
<p>#最美街拍 #支持原创作品</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="3xf4nbak25r2ffc" photoId="3x8xs4kiqz5mauc" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/08/18/BMjAyMDEwMDgxODI1MTlfMTU2Mjg3MTgwNl8zNzM5NzIxNDM3OV8yXzM=_B231942dc5e8cc0c516d0fd8d54a0f8a1.jpg?clientCacheKey=3x8xs4kiqz5mauc.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/08/18/BMjAyMDEwMDgxODI1MTlfMTU2Mjg3MTgwNl8zNzM5NzIxNDM3OV8yXzM=_B231942dc5e8cc0c516d0fd8d54a0f8a1.jpg?clientCacheKey=3x8xs4kiqz5mauc.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/05/13/17/BMjAyMDA1MTMxNzI0MzZfMTU2Mjg3MTgwNl8xX2hkNTQ2XzMyMw==_s.jpg">
|
||||
<p>...</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="Xixixi12345" photoId="3xrhdd5f98xqjr9" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/08/25/21/BMjAyMDA4MjUyMTI1NDNfODk1MTUwNDAxXzM1MDA5MDczMjM2XzFfMw==_Bcf0e71db62fdec77ca8ab846781a43e2.jpg?clientCacheKey=3xrhdd5f98xqjr9.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/08/25/21/BMjAyMDA4MjUyMTI1NDNfODk1MTUwNDAxXzM1MDA5MDczMjM2XzFfMw==_Bcf0e71db62fdec77ca8ab846781a43e2.jpg?clientCacheKey=3xrhdd5f98xqjr9.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2018/11/04/19/BMjAxODExMDQxOTEzMjRfODk1MTUwNDAxXzFfaGQ0MF85OTI=_s.jpg">
|
||||
<p>#卡点舞</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="LS20201212" photoId="3xixpr82xrtjf5k" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/09/20/14/BMjAyMDA5MjAxNDIwMThfMTY0OTc3ODE2MV8zNjM1MTAxNDUxMV8xXzM=_B6a520fb231f14ad5d5f042ccf899207b.jpg?clientCacheKey=3xixpr82xrtjf5k.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/09/20/14/BMjAyMDA5MjAxNDIwMThfMTY0OTc3ODE2MV8zNjM1MTAxNDUxMV8xXzM=_B6a520fb231f14ad5d5f042ccf899207b.jpg?clientCacheKey=3xixpr82xrtjf5k.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/09/29/14/BMjAyMDA5MjkxNDE5MTVfMTY0OTc3ODE2MV8xX2hkOTAxXzg3OA==_s.jpg">
|
||||
<p>#街拍女神 #街拍小伟</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="ZVstar_23" photoId="3xpyf5ypvu6xpta" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/10/03/18/BMjAyMDEwMDMxODI2NTdfMTE2Mzg3ODUzXzM3MDgxMjQ0ODQ5XzFfMw==_B1e456a76959553d361688e52cc72d11e.jpg?clientCacheKey=3xpyf5ypvu6xpta.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/10/03/18/BMjAyMDEwMDMxODI2NTdfMTE2Mzg3ODUzXzM3MDgxMjQ0ODQ5XzFfMw==_B1e456a76959553d361688e52cc72d11e.jpg?clientCacheKey=3xpyf5ypvu6xpta.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/07/31/23/BMjAyMDA3MzEyMzQ0MzBfMTE2Mzg3ODUzXzFfaGQ3MjRfNDM5_s.jpg">
|
||||
<p>这就是你们逗猫猫的乐趣吗?#母女闺蜜照</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div principalId="Hello_mm1" photoId="3xbdkgas28hpyww" workType="video" class="abbreviation_f">
|
||||
<div style="background: url(https://tx2.a.yximgs.com/upic/2020/09/13/14/BMjAyMDA5MTMxNDEwNDZfNjcxNDg4MTg0XzM1OTc0MjI3NDk0XzFfMw==_B532d396a16a4ad904dbfc40ba6e660f1.jpg?clientCacheKey=3xbdkgas28hpyww.jpg&di=7543a846&bp=14214);background-position: center center;" class="zz"></div><img src="https://tx2.a.yximgs.com/upic/2020/09/13/14/BMjAyMDA5MTMxNDEwNDZfNjcxNDg4MTg0XzM1OTc0MjI3NDk0XzFfMw==_B532d396a16a4ad904dbfc40ba6e660f1.jpg?clientCacheKey=3xbdkgas28hpyww.jpg&di=7543a846&bp=14214" class="thumbnailUrl">
|
||||
<div class="tips red">视频
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/07/14/18/BMjAyMDA3MTQxODExNTBfNjcxNDg4MTg0XzJfaGQzMzdfMjc3_s.jpg">
|
||||
<p>宝宝们喜欢看哪种风格呀,马上给上。
|
||||
@梅美baby🍀直播号(O1033261492)</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../assets/js/page/Home.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
1
dist/application/page/PlayVideo/.pydio
vendored
Normal file
1
dist/application/page/PlayVideo/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
62bf4e8c-ba12-4f93-9a9e-12489cbf3c5c
|
||||
158
dist/application/page/PlayVideo/PlayVideo.html
vendored
Normal file
158
dist/application/page/PlayVideo/PlayVideo.html
vendored
Normal file
@@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp">
|
||||
<link rel="stylesheet" href="../../assets/css/header.css">
|
||||
<link rel="stylesheet" href="../../assets/css/nav.css">
|
||||
<script src="../../assets/js/lib/http.js"></script>
|
||||
<!-- - 从 Index.config.ts 中渲染公共 css 和 js-->
|
||||
<link rel="stylesheet" href="http://mdui-aliyun.cdn.w3cbus.com/source/dist/css/mdui.min.css">
|
||||
<link rel="stylesheet" href="http://at.alicdn.com/t/font_1934749_hhc110df87a.css">
|
||||
<script src="http://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
|
||||
<script src="http://mdui-aliyun.cdn.w3cbus.com/source/dist/js/mdui.min.js"></script>
|
||||
<script>
|
||||
if (typeof module === 'object') {
|
||||
window.jQuery = window.$ = module.exports;
|
||||
};
|
||||
|
||||
</script>
|
||||
<title>播放页面</title>
|
||||
<link rel="stylesheet" href="../../assets/css/clear.css">
|
||||
<link rel="stylesheet" href="../../assets/css/PlayVideo.css">
|
||||
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/Swiper/5.4.5/css/swiper.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="PlayVideo">
|
||||
<div class="title"><span>@快手粉条(O40300047) #主播中心 #快手创作者服务中心 #作品推广 #智能推广</span><i class="iconfont down_video icon-changyongicon-"></i><i class="iconfont down_comment icon-comment"></i></div>
|
||||
<div class="comment_list">
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/15/11/BMjAyMDEwMTUxMTQyMzVfMzI0MzgzMTE2XzFfaGQ3NjlfNjU3_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">浪里个浪利郎</div>
|
||||
<div class="item_content">真的清纯的话就不会在快手拍这些东西了[笑哭]</div><i class="iconfont icon-like"><span class="numbe">1</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2019/12/15/18/BMjAxOTEyMTUxODA5MzNfNTY5NjE2NjU3XzJfaGQxNTRfMTQw_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">核桃✔☞</div>
|
||||
<div class="item_content">[赞]</div><i class="iconfont icon-like"><span class="numbe">0</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/06/14/20/BMjAyMDA2MTQyMDU5NDJfMTExNDQ5MzkxNV8yX2hkODUxXzYxMQ==_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">知音5125</div>
|
||||
<div class="item_content">后面宽厂好使</div><i class="iconfont icon-like"><span class="numbe">0</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/06/26/20/BMjAyMDA2MjYyMDMwNTZfMTAzMDQ5Mjg5OV8yX2hkNzMxXzY5NA==_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">平安符🐒🐒李今🌅</div>
|
||||
<div class="item_content">大宝真美[玫瑰][色]</div><i class="iconfont icon-like"><span class="numbe">0</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2018/02/19/10/BMjAxODAyMTkxMDQ0NTlfNTQ2NDk4ODk1XzFfaGQ4MTBfNzcy_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">尖叫的师太</div>
|
||||
<div class="item_content">美确实美,纯不纯在不知道</div><i class="iconfont icon-like"><span class="numbe">1</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2018/08/17/09/BMjAxODA4MTcwOTUwMDhfNTM0NjI4OTgwXzJfaGQ1NjNfNzg2_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">空山灵雨559</div>
|
||||
<div class="item_content">[赞]</div><i class="iconfont icon-like"><span class="numbe">0</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/08/24/13/BMjAyMDA4MjQxMzQxMjJfMjA2NTQ3ODEyM18xX2hkMzU4XzM0NA==_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">我哦让我</div>
|
||||
<div class="item_content">这个第一胎就是儿子</div><i class="iconfont icon-like"><span class="numbe">1</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/10/13/23/BMjAyMDEwMTMyMzM0MDNfMTM2Mjc2NzUzN18yX2hkMzgxXzc2_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">黑白🔥年代🌴</div>
|
||||
<div class="item_content">毕美[奸笑]</div><i class="iconfont icon-like"><span class="numbe">2</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2019/05/24/16/BMjAxOTA1MjQxNjMxMjdfNjY1NTYyMjk2XzJfaGQ0OF83Mjk=_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">霸★✔军</div>
|
||||
<div class="item_content">漂亮</div><i class="iconfont icon-like"><span class="numbe">1</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2019/06/02/09/BMjAxOTA2MDIwOTQ1MDVfMjk2NTc1MTNfMV9oZDY2Xzg1OA==_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">刘占友(快乐的小二 b)</div>
|
||||
<div class="item_content">[笑哭]</div><i class="iconfont icon-like"><span class="numbe">1</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2019/07/13/12/BMjAxOTA3MTMxMjMyNDJfMzMxNzY3NDM3XzJfaGQzMDhfNDg5_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">THY•̀෴•</div>
|
||||
<div class="item_content">@'Pride .(O562979729) 清纯</div><i class="iconfont icon-like"><span class="numbe">1</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/05/07/13/BMjAyMDA1MDcxMzU1NTZfMTkxMzcwNTU3M18yX2hkMTYzXzQ0Ng==_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">天浪</div>
|
||||
<div class="item_content">香香</div><i class="iconfont icon-like"><span class="numbe">1</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/09/08/11/BMjAyMDA5MDgxMTIyMjZfNDMzMTg4MjUxXzJfaGQyMTBfOTU4_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">☆逍遥公子☆。</div>
|
||||
<div class="item_content">[大哥]</div><i class="iconfont icon-like"><span class="numbe">0</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2017/09/24/18/BMjAxNzA5MjQxODIzNTVfNjY0MTM3NzAxXzFfaGQ5NzJfMjky_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">Pires.</div>
|
||||
<div class="item_content">清香肥美</div><i class="iconfont icon-like"><span class="numbe">2</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_comment"><img src="https://tx2.a.yximgs.com/uhead/AB/2020/09/24/22/BMjAyMDA5MjQyMjMyMDZfNTY5MDM5Mzk1XzJfaGQyNTJfODUx_s.jpg">
|
||||
<div class="list_item">
|
||||
<div class="item_title">不良@帅😎️</div>
|
||||
<div class="item_content">得夺[笑哭]</div><i class="iconfont icon-like"><span class="numbe">0</span><span class="view_other"></span>
|
||||
<div class="showComment">
|
||||
</div></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<video id="my-video" controlsList="nodownload" loop controls autoplay poster="https://tx2.a.yximgs.com/upic/2020/08/15/12/BMjAyMDA4MTUxMjMwNDlfMTk2NTkxOTYyNl8zNDM2NDg1MDIxNl8yXzM=_Bf28873daa8efa88221b9a4e5605b7e1c.jpg?clientCacheKey=3xukhx96tvyva5c.jpg&di=7543a846&bp=13804" src="https://txmov2.a.yximgs.com/bs2/newWatermark/MzQzNjQ4NTAyMTY_zh_4.mp4"></video>
|
||||
</div>
|
||||
<script src="https://cdn.bootcdn.net/ajax/libs/Swiper/5.4.5/js/swiper.min.js"></script>
|
||||
<script src="../../assets/js/page/PlayVideo.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
1
dist/application/page/Setting/.pydio
vendored
Normal file
1
dist/application/page/Setting/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
2b2e8b0b-d3f7-4f9a-a0a2-5f249281bf31
|
||||
36
dist/application/page/Setting/Setting.html
vendored
Normal file
36
dist/application/page/Setting/Setting.html
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp">
|
||||
<link rel="stylesheet" href="../../assets/css/header.css">
|
||||
<link rel="stylesheet" href="../../assets/css/nav.css">
|
||||
<!-- - 从 Index.config.ts 中渲染公共 css 和 js-->
|
||||
<link rel="stylesheet" href="http://mdui-aliyun.cdn.w3cbus.com/source/dist/css/mdui.min.css">
|
||||
<link rel="stylesheet" href="http://at.alicdn.com/t/font_1934749_sryayjjvf6.css">
|
||||
<script src="http://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
|
||||
<script src="http://mdui-aliyun.cdn.w3cbus.com/source/dist/js/mdui.min.js"></script>
|
||||
<script>
|
||||
if (typeof module === 'object') {
|
||||
window.jQuery = window.$ = module.exports;
|
||||
};
|
||||
|
||||
</script>
|
||||
<title>设置页面</title>
|
||||
<link rel="stylesheet" href="./assets/less/setting.less">
|
||||
<link rel="stylesheet" href="./assets/js/lib/animate/animate.min.less">
|
||||
<link rel="stylesheet" href="./assets/js/lib/syalert/syalert.min.less">
|
||||
<script src="./assets/js/lib/syalert/syalert.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<div class="setting">
|
||||
<h2>播放地址:https://txmov2.a.yximgs.com/bs2/newWatermark/MzIwNzQ2MTQ5MTI_zh_3.mp4</h2>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../assets/js/page/Home.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
1
dist/application/page/Test/.pydio
vendored
Normal file
1
dist/application/page/Test/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
ab664193-f231-4f34-b241-7f37b883fd06
|
||||
1
dist/core/.pydio
vendored
Normal file
1
dist/core/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
ee122929-9866-4e3d-b2cb-9866f2479dd9
|
||||
1
dist/core/annotation/.pydio
vendored
Normal file
1
dist/core/annotation/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
39248b24-b5d5-42f2-bf62-d312254ad586
|
||||
68
dist/core/annotation/AutoController.js
vendored
Normal file
68
dist/core/annotation/AutoController.js
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CreateApplicationIpc = exports.CreateTray = exports.CreateTouchbar = exports.CreateApplicationMenu = exports.AutoController = void 0;
|
||||
const tslib_1 = require("tslib");
|
||||
const index_utils_1 = tslib_1.__importDefault(require("@utils/index.utils"));
|
||||
const ApplicationMenu_interactive_1 = require("@interactive/ApplicationMenu.interactive");
|
||||
const Touchbar_interactive_1 = require("@interactive/Touchbar.interactive");
|
||||
const Tray_interactive_1 = require("@interactive/Tray.interactive");
|
||||
const application_ipc_1 = require("@ipc/application.ipc");
|
||||
function AutoController() {
|
||||
return (_constructor) => {
|
||||
return class extends _constructor {
|
||||
constructor() {
|
||||
new (index_utils_1.default.GetController());
|
||||
super();
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
exports.AutoController = AutoController;
|
||||
function CreateApplicationMenu() {
|
||||
return (_constructor) => {
|
||||
return class extends _constructor {
|
||||
constructor() {
|
||||
// 创建顶部菜单
|
||||
new ApplicationMenu_interactive_1.ApplicationMenu();
|
||||
super();
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
exports.CreateApplicationMenu = CreateApplicationMenu;
|
||||
function CreateTouchbar() {
|
||||
return (_constructor) => {
|
||||
return class extends _constructor {
|
||||
constructor() {
|
||||
// 创建Touchbar
|
||||
new Touchbar_interactive_1.Touchbar();
|
||||
super();
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
exports.CreateTouchbar = CreateTouchbar;
|
||||
function CreateTray() {
|
||||
return (_constructor) => {
|
||||
return class extends _constructor {
|
||||
constructor() {
|
||||
// 创建Mac系统顶部图标
|
||||
new Tray_interactive_1.TrayInteractive();
|
||||
super();
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
exports.CreateTray = CreateTray;
|
||||
function CreateApplicationIpc() {
|
||||
return (_constructor) => {
|
||||
return class extends _constructor {
|
||||
constructor() {
|
||||
// 开启应用级ipc监听
|
||||
new application_ipc_1.ApplicationIpc();
|
||||
super();
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
exports.CreateApplicationIpc = CreateApplicationIpc;
|
||||
69
dist/core/annotation/Creted.annotation.js
vendored
Normal file
69
dist/core/annotation/Creted.annotation.js
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Render = exports.CreateApplicationIpc = exports.Ipc = void 0;
|
||||
var Index_config_1 = __importDefault(require("@config/Index.config"));
|
||||
var Index_utils_1 = __importDefault(require("@utils/Index.utils"));
|
||||
/**
|
||||
* @Ipc()
|
||||
* 实现居中IPC的注册,用在controller方法上
|
||||
* @param IpcParams 传入需要被注册的ipc类
|
||||
* @constructor
|
||||
*/
|
||||
function Ipc(IpcParams) {
|
||||
return function (target, propertyKey, descriptor) {
|
||||
/**
|
||||
* 因为TS没有提供像java那种可以直接提取某个类中所有方法的系统方法
|
||||
* 这边原本使用 Object.getOwnPropertyNames 能够正常提取类中方法,但是如果类中有被 @Inject() 依赖注入的属性
|
||||
* 那么这个属性也会被 (new IpcParams())[val](),这样是肯定报错的,所以做下面约定!
|
||||
* 在IPC 类中,如果在类的属性上使用 @Inject() 注入。那么请在类的属性名前加上 _,例如:
|
||||
* @Inject()
|
||||
* private readonly _Net!: Http;
|
||||
*/
|
||||
IpcParams.forEach(function (val) {
|
||||
Object.getOwnPropertyNames(val.prototype).splice(1)
|
||||
.filter(function (f) { return !f.includes("_"); })
|
||||
.forEach(function (v) { return (new val())[v](); });
|
||||
});
|
||||
};
|
||||
}
|
||||
exports.Ipc = Ipc;
|
||||
/**
|
||||
* @CreateApplicationIpc()
|
||||
* 实现全局IPC的注册
|
||||
* 能够自动实例化传入的类数组中的所有类,并自动调用类中的所有的方法
|
||||
* @param IpcParams 类数组,实例:[ classIpc1, classIpc2, classIpc3 ]
|
||||
* @constructor
|
||||
*/
|
||||
function CreateApplicationIpc(IpcParams) {
|
||||
return function (_constructor) {
|
||||
IpcParams.forEach(function (val) {
|
||||
Object.getOwnPropertyNames(val.prototype).splice(1)
|
||||
.filter(function (f) { return !f.includes("_"); })
|
||||
.forEach(function (v) { return (new val())[v](); });
|
||||
});
|
||||
};
|
||||
}
|
||||
exports.CreateApplicationIpc = CreateApplicationIpc;
|
||||
/**
|
||||
* @Render()
|
||||
* 创建窗口
|
||||
* @param templateName 要渲染的模板名称
|
||||
* @constructor
|
||||
*/
|
||||
function Render(templateName) {
|
||||
return function (target, propertyKey, descriptor) {
|
||||
/**
|
||||
* 如果被打上注解的类中某个方法是配置文件中的默认启动窗口,那么调用这个方法来创建窗体
|
||||
* 其他的方法一律不管!由js前端渲染进程触发ipc创建
|
||||
*/
|
||||
if (propertyKey.includes((Index_config_1.default.StartPage.split("/"))[1])) {
|
||||
// 如果没有传参数,那么采用方法名来创建窗体!
|
||||
templateName == undefined ? Index_utils_1.default.startWindows(target, propertyKey) : Index_utils_1.default.startWindows(target, templateName);
|
||||
}
|
||||
};
|
||||
}
|
||||
exports.Render = Render;
|
||||
//# sourceMappingURL=Creted.annotation.js.map
|
||||
1
dist/core/annotation/Creted.annotation.js.map
vendored
Normal file
1
dist/core/annotation/Creted.annotation.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Creted.annotation.js","sourceRoot":"","sources":["../../../src/core/annotation/Creted.annotation.ts"],"names":[],"mappings":";;;;;;AAAA,sEAA0C;AAC1C,mEAAuC;AAGvC;;;;;GAKG;AACH,SAAgB,GAAG,CAAC,SAA0C;IAC1D,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E;;;;;;;WAOG;QACH,SAAS,CAAC,OAAO,CAAC,UAAC,GAAqB;YACpC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC9C,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC;iBAC7B,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAhB,CAAgB,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;AACL,CAAC;AAhBD,kBAgBC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,SAA0C;IAC3E,OAAQ,UAAC,YAA2C;QAChD,SAAS,CAAC,OAAO,CAAC,UAAC,GAAqB;YACpC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC9C,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC;iBAC7B,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAhB,CAAgB,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;AACL,CAAC;AARD,oDAQC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,YAAqB;IACxC,OAAO,UAAC,MAAW,EAAE,WAAmB,EAAE,UAA8B;QACpE;;;WAGG;QACH,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,sBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACxD,wBAAwB;YACxB,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,qBAAK,CAAC,YAAY,CAAC,MAAM,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAK,CAAC,YAAY,CAAC,MAAM,EAAC,YAAY,CAAC,CAAA;SAC/G;IACL,CAAC,CAAA;AACL,CAAC;AAXD,wBAWC"}
|
||||
25
dist/core/annotation/Creted.js
vendored
Normal file
25
dist/core/annotation/Creted.js
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Creted = void 0;
|
||||
const tslib_1 = require("tslib");
|
||||
const Windows_model_1 = tslib_1.__importDefault(require("@model/Windows.model"));
|
||||
const electron_1 = require("electron");
|
||||
const index_config_1 = tslib_1.__importDefault(require("@config/index.config"));
|
||||
function Creted() {
|
||||
return (_constructor) => {
|
||||
let ControllerName = _constructor.name.split("Controller")[0];
|
||||
let ConfigName = `${ControllerName}Config`;
|
||||
let PathName = `${ControllerName}Path`;
|
||||
try {
|
||||
// @ts-ignore
|
||||
Windows_model_1.default.CurrentBrowserWindow = new electron_1.BrowserWindow(index_config_1.default.PageSize[ConfigName]);
|
||||
// @ts-ignore
|
||||
Windows_model_1.default.CurrentBrowserWindow.loadFile(index_config_1.default.PagePath[PathName]).then(r => { });
|
||||
}
|
||||
catch (e) {
|
||||
console.log("controller不存在,请检查命名,示例:AboutController。");
|
||||
}
|
||||
Windows_model_1.default.CurrentBrowserWindow.show();
|
||||
};
|
||||
}
|
||||
exports.Creted = Creted;
|
||||
93
dist/core/annotation/Http.annotation.js
vendored
Normal file
93
dist/core/annotation/Http.annotation.js
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.GET = void 0;
|
||||
var Index_config_1 = __importDefault(require("@config/Index.config"));
|
||||
var Http_net_1 = require("@net/Http.net");
|
||||
/**
|
||||
* @GET()
|
||||
* 用在service类的方法上。
|
||||
* 如果不传参数将自动根据方法名获取接口请求的地址
|
||||
* 如果传参了,那么使用用户传入的地址去发送网络请求
|
||||
*
|
||||
* 如果 useHandle 为 true 那么方法将获得ajax请求的数据
|
||||
* 否则 不会将数据给方法
|
||||
* @param RequestParams
|
||||
* @constructor
|
||||
*/
|
||||
function GET(RequestParams) {
|
||||
return function (target, propertyKey, descriptor) {
|
||||
var _this = this;
|
||||
var url = Index_config_1.default.ApiUrl.ApiList[propertyKey], handle = false, header = {};
|
||||
(RequestParams && RequestParams.url)
|
||||
? url = RequestParams.url
|
||||
: (RequestParams && RequestParams.useHandle)
|
||||
? handle = RequestParams.useHandle
|
||||
: (RequestParams && RequestParams.header)
|
||||
? header = RequestParams.header
|
||||
: '';
|
||||
var OldMethods = descriptor.value;
|
||||
if (handle) {
|
||||
descriptor.value = function (data) { return __awaiter(_this, void 0, void 0, function () { var _a, _b, _c; return __generator(this, function (_d) {
|
||||
switch (_d.label) {
|
||||
case 0:
|
||||
_b = (_a = OldMethods).apply;
|
||||
_c = [target];
|
||||
return [4 /*yield*/, (new Http_net_1.Http).GET({ url: url, data: data, header: header })];
|
||||
case 1: return [4 /*yield*/, _b.apply(_a, _c.concat([[_d.sent()]]))];
|
||||
case 2: return [2 /*return*/, _d.sent()];
|
||||
}
|
||||
}); }); };
|
||||
return descriptor;
|
||||
}
|
||||
else {
|
||||
descriptor.value = function (data) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, (new Http_net_1.Http).GET({ url: url, data: data, header: header })];
|
||||
case 1: return [2 /*return*/, _a.sent()];
|
||||
}
|
||||
}); }); };
|
||||
return descriptor;
|
||||
}
|
||||
};
|
||||
}
|
||||
exports.GET = GET;
|
||||
//# sourceMappingURL=Http.annotation.js.map
|
||||
1
dist/core/annotation/Http.annotation.js.map
vendored
Normal file
1
dist/core/annotation/Http.annotation.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Http.annotation.js","sourceRoot":"","sources":["../../../src/core/annotation/Http.annotation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAA0C;AAC1C,0CAAmC;AAEnC;;;;;;;;;;GAUG;AACH,SAAgB,GAAG,CAAE,aAAwF;IACzG,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAA1E,iBAuBN;QAtBG,IAAI,GAAG,GAAW,sBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAChD,MAAM,GAAY,KAAK,EACvB,MAAM,GAAW,EAAE,CAAC;QAExB,CAAC,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC;YAChC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG;YACzB,CAAC,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,SAAS,CAAC;gBACxC,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,SAAS;gBAClC,CAAC,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC;oBACrC,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM;oBAC/B,CAAC,CAAC,EAAE,CAAC;QAEjB,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;QAClC,IAAI,MAAM,EAAE;YACR,UAAU,CAAC,KAAK,GAAG,UAAO,IAA2B;;;wBAC3C,KAAA,CAAA,KAAA,UAAU,CAAA,CAAC,KAAK,CAAA;8BAAC,MAAM;wBAAI,qBAAM,CAAC,IAAI,eAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAA;4BAA/F,qBAAM,yBAA2B,SAA8D,IAAG,EAAA;4BAAlG,sBAAA,SAAkG,EAAA;;qBAAA,CAAA;YACtG,OAAO,UAAU,CAAA;SACpB;aAAM;YACH,UAAU,CAAC,KAAK,GAAG,UAAO,IAA2B;;4BACjD,qBAAM,CAAC,IAAI,eAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAA;4BAA9D,sBAAA,SAA8D,EAAA;;qBAAA,CAAA;YAClE,OAAO,UAAU,CAAA;SACpB;IACL,CAAC,CAAA;AACL,CAAC;AAzBD,kBAyBC"}
|
||||
49
dist/core/annotation/Ioc.annotation.js
vendored
Normal file
49
dist/core/annotation/Ioc.annotation.js
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Inject = exports.Injectable = void 0;
|
||||
require("reflect-metadata");
|
||||
var Ioc_model_1 = __importDefault(require("@model/Ioc.model"));
|
||||
/**
|
||||
* 收集类依赖
|
||||
* @constructor
|
||||
*/
|
||||
function Injectable() {
|
||||
return function (_constructor) {
|
||||
if (Ioc_model_1.default.classPool.indexOf(_constructor) !== -1) {
|
||||
throw new Error('无需重复收集类');
|
||||
}
|
||||
else {
|
||||
//注册
|
||||
Ioc_model_1.default.classPool = [_constructor];
|
||||
}
|
||||
};
|
||||
}
|
||||
exports.Injectable = Injectable;
|
||||
/**
|
||||
* 将类依赖实例化然后注入到被装饰的属性中
|
||||
* @constructor
|
||||
*/
|
||||
function Inject() {
|
||||
return function (target, propertyName) {
|
||||
console.log("target: ", target);
|
||||
console.log("propertyName: ", propertyName);
|
||||
/**
|
||||
* 使用 reflect-metadata 提供的内置 类型元数据键 design:type 通过反射拿到被装饰属性的类型
|
||||
* 也就是 类属性要实例化 的 service 类
|
||||
*/
|
||||
var propertyType = Reflect.getMetadata('design:type', target, propertyName);
|
||||
console.log("类属性要实例化 propertyType: ", propertyType);
|
||||
if (Ioc_model_1.default.classPool.indexOf(propertyType) == -1) {
|
||||
throw new Error('被装饰的属性所属的变量类型类,没有被装饰器@Injectable()注入,请检查!');
|
||||
}
|
||||
else {
|
||||
// 从存取器的数组中通过下标取出被装饰属性对应的service类,然后实例化这个类,在放入被装饰的属性中
|
||||
target[propertyName] = new (Ioc_model_1.default.classPool[Ioc_model_1.default.classPool.indexOf(propertyType)])();
|
||||
}
|
||||
};
|
||||
}
|
||||
exports.Inject = Inject;
|
||||
//# sourceMappingURL=Ioc.annotation.js.map
|
||||
1
dist/core/annotation/Ioc.annotation.js.map
vendored
Normal file
1
dist/core/annotation/Ioc.annotation.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Ioc.annotation.js","sourceRoot":"","sources":["../../../src/core/annotation/Ioc.annotation.ts"],"names":[],"mappings":";;;;;;AAAA,4BAA0B;AAC1B,+DAAwC;AAExC;;;GAGG;AACH,SAAgB,UAAU;IACtB,OAAO,UAAC,YAA4C;QAChD,IAAG,mBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B;aAAM;YACH,IAAI;YACJ,mBAAQ,CAAC,SAAS,GAAG,CAAC,YAAY,CAAC,CAAA;SACtC;IACL,CAAC,CAAA;AACL,CAAC;AATD,gCASC;AAED;;;GAGG;AACH,SAAgB,MAAM;IAClB,OAAO,UAAU,MAAW,EAAE,YAAoB;QAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAC/B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;QAC3C;;;WAGG;QACH,IAAM,YAAY,GAAQ,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAA;QAEnD,IAAI,mBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAChE;aAAM;YACH,qDAAqD;YACrD,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,mBAAQ,CAAC,SAAS,CAAC,mBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;SAC9F;IACL,CAAC,CAAA;AACL,CAAC;AAlBD,wBAkBC"}
|
||||
8
dist/core/annotation/Open.js
vendored
Normal file
8
dist/core/annotation/Open.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
function Open() {
|
||||
// @ts-ignore
|
||||
return (target, propertyKey, descriptor) => {
|
||||
};
|
||||
}
|
||||
exports.default = Open;
|
||||
1
dist/core/annotation/Run.annotation.js.map
vendored
Normal file
1
dist/core/annotation/Run.annotation.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Run.annotation.js","sourceRoot":"","sources":["../../../src/core/annotation/Run.annotation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,mEAAuC;AACvC,wFAAyE;AACzE,0EAA2D;AAC3D,kEAA8D;AAG9D,SAAgB,cAAc;IAC1B,OAAQ,UAAC,YAAqC;QAC1C;YAAqB,2BAAY;YAC7B;gBAAA,iBAIC;gBAHG,oCAAoC;gBACpC,qBAAK,CAAC,aAAa,EAAE,CAAA;gBACrB,QAAA,iBAAO,SAAC;;YACZ,CAAC;YACL,cAAC;QAAD,CAAC,AANM,CAAc,YAAY,GAMhC;IACL,CAAC,CAAA;AACL,CAAC;AAVD,wCAUC;AAED,SAAgB,qBAAqB;IACjC,OAAQ,UAAC,YAAqC;QAC1C;YAAqB,2BAAY;YAC7B;gBAAA,iBAIC;gBAHG,SAAS;gBACT,IAAI,6CAAe,EAAE,CAAA;gBACrB,QAAA,iBAAO,SAAC;;YACZ,CAAC;YACL,cAAC;QAAD,CAAC,AANM,CAAc,YAAY,GAMhC;IACL,CAAC,CAAA;AACL,CAAC;AAVD,sDAUC;AAED,SAAgB,cAAc;IAC1B,OAAQ,UAAC,YAAqC;QAC1C;YAAqB,2BAAY;YAC7B;gBAAA,iBAmBC;gBAlBG;;;;;;;;;;;;;;;mBAeG;gBACH,UAAU,CAAC,cAAK,OAAA,IAAI,+BAAQ,EAAE,EAAd,CAAc,EAAC,IAAI,CAAC,CAAA;gBACpC,QAAA,iBAAO,SAAC;;YACZ,CAAC;YACL,cAAC;QAAD,CAAC,AArBM,CAAc,YAAY,GAqBhC;IACL,CAAC,CAAA;AACL,CAAC;AAzBD,wCAyBC;AAED,SAAgB,UAAU;IACtB,OAAQ,UAAC,YAAqC;QAC1C;YAAsB,2BAAY;YAC9B;gBAAA,iBAIC;gBAHG,cAAc;gBACd,IAAI,kCAAe,EAAE,CAAA;gBACrB,QAAA,iBAAO,SAAC;;YACZ,CAAC;YACL,cAAC;QAAD,CAAC,AANM,CAAe,YAAY,GAMjC;IACL,CAAC,CAAA;AACL,CAAC;AAVD,gCAUC;AAED,gDAAgD;AAChD,2DAA2D;AAC3D,8CAA8C;AAC9C,8BAA8B;AAC9B,gCAAgC;AAChC,oCAAoC;AACpC,2BAA2B;AAC3B,gBAAgB;AAChB,YAAY;AACZ,QAAQ;AACR,IAAI"}
|
||||
114
dist/core/annotation/run.annotation.js
vendored
Normal file
114
dist/core/annotation/run.annotation.js
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
"use strict";
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CreateTray = exports.CreateTouchbar = exports.CreateApplicationMenu = exports.AutoLoadWindow = void 0;
|
||||
var Index_utils_1 = __importDefault(require("@utils/Index.utils"));
|
||||
var ApplicationMenu_interactive_1 = require("@interactive/ApplicationMenu.interactive");
|
||||
var Touchbar_interactive_1 = require("@interactive/Touchbar.interactive");
|
||||
var Tray_interactive_1 = require("@interactive/Tray.interactive");
|
||||
function AutoLoadWindow() {
|
||||
return function (_constructor) {
|
||||
return /** @class */ (function (_super) {
|
||||
__extends(class_1, _super);
|
||||
function class_1() {
|
||||
var _this = this;
|
||||
// 这里只要动态 require 导入类即可,然后类上的装饰器就会运行
|
||||
Index_utils_1.default.GetController();
|
||||
_this = _super.call(this) || this;
|
||||
return _this;
|
||||
}
|
||||
return class_1;
|
||||
}(_constructor));
|
||||
};
|
||||
}
|
||||
exports.AutoLoadWindow = AutoLoadWindow;
|
||||
function CreateApplicationMenu() {
|
||||
return function (_constructor) {
|
||||
return /** @class */ (function (_super) {
|
||||
__extends(class_2, _super);
|
||||
function class_2() {
|
||||
var _this = this;
|
||||
// 创建顶部菜单
|
||||
new ApplicationMenu_interactive_1.ApplicationMenu();
|
||||
_this = _super.call(this) || this;
|
||||
return _this;
|
||||
}
|
||||
return class_2;
|
||||
}(_constructor));
|
||||
};
|
||||
}
|
||||
exports.CreateApplicationMenu = CreateApplicationMenu;
|
||||
function CreateTouchbar() {
|
||||
return function (_constructor) {
|
||||
return /** @class */ (function (_super) {
|
||||
__extends(class_3, _super);
|
||||
function class_3() {
|
||||
var _this = this;
|
||||
/**
|
||||
* 创建Touchbar
|
||||
* 这边做延时300毫秒的原因解释起来有点复杂
|
||||
* 1:因为我设计了 @Inject() 和 @Injectable() 注解,而在 controller 中
|
||||
* 被注解的属性 VideoImplService 存放的是 请求中间层,而请求中间层是调用的Http请求方法GET,而这个方法
|
||||
* 为了拿到返回值,所以设计成async异步的,这就导致使用请求中间层的controller方法也是async。
|
||||
* 2:而使用的方法如果是 async 那么就会导致 注解 @Render() 内部 也就是 startWindows 方法内,在自动调用方法
|
||||
* 获取传递给模板的方法返回数值的时候必须 await,也就变成了:await target[name]()。
|
||||
* 而这个注解 @CreateTouchbar() 运行时间 和 注解 @AutoLoadWindow() 基本同时间跑,
|
||||
* 所以会导致 @CreateTouchbar() 运行的时候太快了,尼玛币 await target[name]() 还没跑完,所以导致
|
||||
* 存取器里面:Windows.CurrentBrowserWindow 没有数值,所以 @CreateTouchbar() 所依赖的 Windows.CurrentBrowserWindow
|
||||
* 为空,所以touchbar菜单无法 setTouchBar 上。
|
||||
* 3:这里等300毫秒,是等 await target[name]() 完成,窗口也创建完成,然后 Windows.CurrentBrowserWindow
|
||||
* 再去创建 touchbar菜单。
|
||||
* 好了,说完了....同学不要睡了!
|
||||
*/
|
||||
setTimeout(function () { return new Touchbar_interactive_1.Touchbar(); }, 3000);
|
||||
_this = _super.call(this) || this;
|
||||
return _this;
|
||||
}
|
||||
return class_3;
|
||||
}(_constructor));
|
||||
};
|
||||
}
|
||||
exports.CreateTouchbar = CreateTouchbar;
|
||||
function CreateTray() {
|
||||
return function (_constructor) {
|
||||
return /** @class */ (function (_super) {
|
||||
__extends(class_4, _super);
|
||||
function class_4() {
|
||||
var _this = this;
|
||||
// 创建Mac系统顶部图标
|
||||
new Tray_interactive_1.TrayInteractive();
|
||||
_this = _super.call(this) || this;
|
||||
return _this;
|
||||
}
|
||||
return class_4;
|
||||
}(_constructor));
|
||||
};
|
||||
}
|
||||
exports.CreateTray = CreateTray;
|
||||
// export function CreateApplicationIpc(): any {
|
||||
// return (_constructor: {new(...args:any[]):{}}) => {
|
||||
// return class extends _constructor {
|
||||
// constructor() {
|
||||
// // 开启应用级ipc监听
|
||||
// new Application()
|
||||
// super();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//# sourceMappingURL=Run.annotation.js.map
|
||||
1
dist/core/config/.pydio
vendored
Normal file
1
dist/core/config/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
69b8c07b-090c-4e32-88e5-bbee314a181b
|
||||
1
dist/core/config/Index.config.js.map
vendored
Normal file
1
dist/core/config/Index.config.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Index.config.js","sourceRoot":"","sources":["../../../src/core/config/Index.config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,qCAAwH;AACxH,6EAAiD;AACzC,IAAA,aAAa,GAAoC,mBAAQ,cAA5C,EAAE,cAAc,GAAoB,mBAAQ,eAA5B,EAAC,cAAc,GAAK,mBAAQ,eAAb,CAAc;AAClE,6BAA4B;AAG5B;IAAA;IAwNA,CAAC;IAvNG;;;;OAIG;IACW,gBAAS,GAAW,sBAAsB,CAAC;IAEzD,QAAQ;IACM,wBAAiB,GAAW,OAAO,CAAC;IAElD,WAAW;IACG,YAAK,GAAY,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAE/C,eAAQ,GAAW,gBAAgB,CAAC;IAElD,YAAY;IACE,aAAM,GAAiB;QACjC,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,cAAc;SAC/B;KACJ,CAAC;IAEF,2BAA2B;IACb,yBAAkB,GAAgB;QAC5C,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE;YACL,GAAG,EAAE;gBACD,gEAAgE;gBAChE,qDAAqD;aACxD;YACD,EAAE,EAAE;gBACA,yDAAyD;gBACzD,8DAA8D;aACjE;SACJ;KACJ,CAAC;IAEF,wBAAwB;IACV,eAAQ,GAAa;QAC/B,IAAI,EAAE,WAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC;QAC9D,SAAS,EAAE,WAAI,CAAC,SAAS,EAAE,iDAAiD,CAAC;KAChF,CAAC;IAEF,WAAW;IACG,eAAQ,GAAa;QAC/B,IAAI,EAAE;YACF,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,KAAK;YACZ,eAAe,EAAE,MAAM;YACvB,aAAa,EAAE,aAAa;YAC5B,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE;gBACZ,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,IAAI;aACnB;SACJ;QACD,SAAS,EAAE;YACP,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,KAAK;YACZ,eAAe,EAAE,MAAM;YACvB,aAAa,EAAE,QAAQ;YACvB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE;gBACZ,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,IAAI;aACnB;SACJ;KACJ,CAAC;IAEF,mBAAmB;IACL,iBAAU,GAAe;QACnC,iBAAiB,EAAE,WAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC;QAC1E,oBAAoB,EAAC;YACjB;gBACI,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACH,uBAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;gBACxC,CAAC;aACJ;YACD;gBACI,IAAI,EAAE,WAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC;gBAC7D,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,UAAC,QAAa,EAAE,aAAkB;oBACrC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACxC,CAAC;aACJ;YACD;gBACI,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE;oBACL;wBACI,KAAK,EAAE,MAAM;qBAChB;oBACD;wBACI,KAAK,EAAE,MAAM;qBAChB;iBACJ;aACJ;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;aACd;SACJ;QACD,gBAAgB,EAAE,MAAM;KAC3B,CAAC;IAEF,sBAAsB;IACR,mBAAY,GAAoD;QAC1E;YACI,KAAK,EAAE,cAAG,CAAC,IAAI;YACf,OAAO,EAAE;gBACL,EAAE,KAAK,EAAE,kBAAM,cAAG,CAAC,IAAM,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACjC,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,KAAK,EAAE,kBAAM,cAAG,CAAC,IAAM,EAAE,IAAI,EAAE,MAAM,EAAE;gBACzC,EAAE,IAAI,EAAE,YAAY,EAAE;gBACtB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,KAAK,EAAE,iBAAK,cAAG,CAAC,IAAM,EAAE,IAAI,EAAE,MAAM,EAAE;aAC3C;SACJ;QACD;YACI,KAAK,EAAE,IAAI;SACd;QACD;YACI,KAAK,EAAE,IAAI;YACX,OAAO,EAAE;gBACL,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC7B,EAAC,IAAI,EAAE,WAAW,EAAE;gBACpB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC9B,EAAC,IAAI,EAAE,WAAW,EAAE;gBACpB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE;gBAC/C,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;gBAClC,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB;oBACI,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE;wBACL,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;wBACxC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;qBAC1C;iBACJ;aACJ;SACJ;QACD;YACI,KAAK,EAAE,IAAI;YACX,OAAO,EAAE;gBACL,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;gBAClC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;gBACzC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE;aAChD;SACJ;QACD;YACI,KAAK,EAAE,IAAI;YACX,OAAO,EAAE;gBACL,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;gBAClC,EAAE,KAAK,EAAE,KAAK,EAAC,IAAI,EAAE,MAAM,EAAE;gBAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aACjC;SACJ;QACD;YACI,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACL;oBACI,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE;;;wCACH,qBAAM,gBAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAA;;oCAAlD,SAAkD,CAAA;;;;yBACrD;iBACJ;gBACD;oBACI,KAAK,EAAE,UAAU;oBACjB,KAAK,EAAE;;;;yBACN;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,kBAAkB;IACJ,qBAAc,GAA+B;QACvD,KAAK,EAAE;YACH,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACrC,IAAI,cAAc,CAAC;gBACf,KAAK,EAAE,KAAK;gBACZ,eAAe,EAAE,SAAS;gBAC1B,KAAK,EAAE,cAAO,CAAC;aAClB,CAAC;YACF,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACrC,IAAI,cAAc,CAAC;gBACf,KAAK,EAAE,KAAK;gBACZ,eAAe,EAAE,SAAS;gBAC1B,KAAK,EAAE,cAAO,CAAC;aAClB,CAAC;SACL;KACJ,CAAC;IACN,aAAC;CAAA,AAxND,IAwNC;kBAxNoB,MAAM"}
|
||||
6
dist/core/config/api.config.js
vendored
Normal file
6
dist/core/config/api.config.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ApiConfig = void 0;
|
||||
class ApiConfig {
|
||||
}
|
||||
exports.ApiConfig = ApiConfig;
|
||||
267
dist/core/config/index.config.js
vendored
Normal file
267
dist/core/config/index.config.js
vendored
Normal file
@@ -0,0 +1,267 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var electron_1 = require("electron");
|
||||
var Windows_model_1 = __importDefault(require("@/core/model/Windows.model"));
|
||||
var TouchBarLabel = electron_1.TouchBar.TouchBarLabel, TouchBarButton = electron_1.TouchBar.TouchBarButton, TouchBarSpacer = electron_1.TouchBar.TouchBarSpacer;
|
||||
var path_1 = require("path");
|
||||
var Config = /** @class */ (function () {
|
||||
function Config() {
|
||||
}
|
||||
/**
|
||||
* 启动页面默认为 Home.controller/Home
|
||||
* 程序内部根据这个配置自动载入Home.controller.ts文件,并自动调用类里面的Home()方法实现窗口创建
|
||||
* 可以改成其他,例如 PlayVideo.controller/Theme
|
||||
*/
|
||||
Config.StartPage = 'Home.controller/Home';
|
||||
// 应用版本号
|
||||
Config.CurrentAppVersion = '0.0.1';
|
||||
// 是否为Mac系统
|
||||
Config.isMac = process.platform === 'darwin';
|
||||
Config.LogsPath = "../../../logs/";
|
||||
// ajax 请求地址
|
||||
Config.ApiUrl = {
|
||||
BaseUrl: 'http://www.bmycode.com:3000/api',
|
||||
ApiList: {
|
||||
PlayList: '/list',
|
||||
PalyVideo: '/play',
|
||||
VideoComment: '/CommentList',
|
||||
}
|
||||
};
|
||||
// jade 模板引擎配置,更多参数自行阅读声明文件
|
||||
Config.jadeCompile0ptions = {
|
||||
pretty: true,
|
||||
globals: {
|
||||
css: [
|
||||
'http://mdui-aliyun.cdn.w3cbus.com/source/dist/css/mdui.min.css',
|
||||
'http://at.alicdn.com/t/font_1934749_hhc110df87a.css',
|
||||
],
|
||||
js: [
|
||||
'http://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js',
|
||||
'http://mdui-aliyun.cdn.w3cbus.com/source/dist/js/mdui.min.js'
|
||||
]
|
||||
}
|
||||
};
|
||||
// 应用程序的页面地址,地址为打包后的相对路径
|
||||
Config.PagePath = {
|
||||
Home: path_1.join(__dirname, '../../application/page/Home/Home.html'),
|
||||
PlayVideo: path_1.join(__dirname, '../../application/page/PlayVideo/PlayVideo.html'),
|
||||
};
|
||||
// 所有页面窗体配置
|
||||
Config.PageSize = {
|
||||
Home: {
|
||||
width: 1200,
|
||||
height: 760,
|
||||
frame: false,
|
||||
backgroundColor: '#fff',
|
||||
titleBarStyle: 'hiddenInset',
|
||||
transparent: true,
|
||||
webPreferences: {
|
||||
webSecurity: false,
|
||||
nodeIntegration: true,
|
||||
webviewTag: true,
|
||||
}
|
||||
},
|
||||
PlayVideo: {
|
||||
width: 1084,
|
||||
height: 610,
|
||||
frame: false,
|
||||
backgroundColor: '#000',
|
||||
titleBarStyle: 'hidden',
|
||||
modal: true,
|
||||
show: false,
|
||||
resizable: true,
|
||||
transparent: true,
|
||||
webPreferences: {
|
||||
webSecurity: false,
|
||||
nodeIntegration: true,
|
||||
webviewTag: true
|
||||
}
|
||||
}
|
||||
};
|
||||
// Mac系统顶部全局菜单 右边图标
|
||||
Config.TrayConfig = {
|
||||
TopMenuRightImage: path_1.join(__dirname, '../../application/assets/img/pug.png'),
|
||||
TopMenuRightDropdown: [
|
||||
{
|
||||
label: '显示主窗口',
|
||||
click: function () {
|
||||
Windows_model_1.default.CurrentBrowserWindow.show();
|
||||
}
|
||||
},
|
||||
{
|
||||
icon: path_1.join(__dirname, '../../application/assets/img/pug.png'),
|
||||
label: '下拉菜单测试',
|
||||
type: 'checkbox',
|
||||
checked: true,
|
||||
click: function (menuItem, browserWindow) {
|
||||
console.log("menuItem: ", menuItem);
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '菜单',
|
||||
submenu: [
|
||||
{
|
||||
label: '子菜单1'
|
||||
},
|
||||
{
|
||||
label: '子菜单2'
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
role: 'quit',
|
||||
label: '退出'
|
||||
},
|
||||
],
|
||||
TopMenuRightTips: '测试提醒'
|
||||
};
|
||||
// Mac or win 系统顶部全局菜单
|
||||
Config.TemplateMenu = [
|
||||
{
|
||||
label: electron_1.app.name,
|
||||
submenu: [
|
||||
{ label: "\u5173\u4E8E " + electron_1.app.name, role: 'about' },
|
||||
{ type: 'separator' },
|
||||
{ label: '服务', role: 'services' },
|
||||
{ type: 'separator' },
|
||||
{ label: "\u9690\u85CF " + electron_1.app.name, role: 'hide' },
|
||||
{ role: 'hideOthers' },
|
||||
{ label: '隐藏其他', role: 'unhide' },
|
||||
{ type: 'separator' },
|
||||
{ label: "\u9000\u51FA" + electron_1.app.name, role: 'quit' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '文件',
|
||||
},
|
||||
{
|
||||
label: '编辑',
|
||||
submenu: [
|
||||
{ label: '撤销', role: 'undo' },
|
||||
{ label: '恢复', role: 'redo' },
|
||||
{ type: 'separator' },
|
||||
{ label: '剪切', role: 'cut' },
|
||||
{ label: '复制', role: 'copy' },
|
||||
{ label: '粘贴', role: 'paste' },
|
||||
{ type: 'separator' },
|
||||
{ label: '粘贴保留样式', role: 'pasteAndMatchStyle' },
|
||||
{ label: '删除', role: 'delete' },
|
||||
{ label: '全选', role: 'selectAll' },
|
||||
{ type: 'separator' },
|
||||
{
|
||||
label: '听写',
|
||||
submenu: [
|
||||
{ label: '开始听写', role: 'startSpeaking' },
|
||||
{ label: '停止听写', role: 'stopSpeaking' }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '视图',
|
||||
submenu: [
|
||||
{ label: '刷新', role: 'reload' },
|
||||
{ label: '重置', role: 'resetZoom' },
|
||||
{ label: '放大', role: 'zoomIn' },
|
||||
{ label: '缩小', role: 'zoomOut' },
|
||||
{ type: 'separator' },
|
||||
{ label: '全屏', role: 'togglefullscreen' },
|
||||
{ label: '切换开发人员工具', role: 'toggleDevTools' },
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '窗口',
|
||||
submenu: [
|
||||
{ label: '最小化', role: 'minimize' },
|
||||
{ label: '最大化', role: 'zoom' },
|
||||
{ label: '关闭', role: 'close' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '帮助',
|
||||
role: 'help',
|
||||
submenu: [
|
||||
{
|
||||
label: '了解更多',
|
||||
click: function () { return __awaiter(void 0, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, electron_1.shell.openExternal('https://electronjs.org')];
|
||||
case 1:
|
||||
_a.sent();
|
||||
return [2 /*return*/];
|
||||
}
|
||||
});
|
||||
}); }
|
||||
},
|
||||
{
|
||||
label: 'GitHub主页',
|
||||
click: function () { return __awaiter(void 0, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
return [2 /*return*/];
|
||||
});
|
||||
}); }
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
// Mac touchbar 菜单
|
||||
Config.TouchBarConfig = {
|
||||
items: [
|
||||
new TouchBarSpacer({ size: 'small' }),
|
||||
new TouchBarButton({
|
||||
label: '测试1',
|
||||
backgroundColor: '#3a3a3c',
|
||||
click: function () { }
|
||||
}),
|
||||
new TouchBarSpacer({ size: 'small' }),
|
||||
new TouchBarButton({
|
||||
label: '测试2',
|
||||
backgroundColor: '#3a3a3c',
|
||||
click: function () { }
|
||||
}),
|
||||
]
|
||||
};
|
||||
return Config;
|
||||
}());
|
||||
exports.default = Config;
|
||||
//# sourceMappingURL=Index.config.js.map
|
||||
1
dist/core/controller/.pydio
vendored
Normal file
1
dist/core/controller/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
47fe2a26-58f5-4ae7-8eac-a0538df067dd
|
||||
125
dist/core/controller/Home.controller.js
vendored
Normal file
125
dist/core/controller/Home.controller.js
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.HomeController = void 0;
|
||||
var Creted_annotation_1 = require("@annotation/Creted.annotation");
|
||||
var Video_impl_service_1 = require("@service/impl/Video.impl.service");
|
||||
var Ioc_annotation_1 = require("@annotation/Ioc.annotation");
|
||||
var File_ipc_1 = require("@ipc/module/File.ipc");
|
||||
var HomeController = /** @class */ (function () {
|
||||
function HomeController() {
|
||||
}
|
||||
HomeController.prototype.Home = function (test) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
var res;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, this.VideoImplService.PlayList({})];
|
||||
case 1:
|
||||
res = _a.sent();
|
||||
return [2 /*return*/, {
|
||||
header: true,
|
||||
nav: true,
|
||||
title: '首页页面窗口-测试传给模板的数据',
|
||||
desc: '点我发送ipc,打开窗口,代码实现分别在:src/application/assets/js/page/Home.js 和 src/core/ipc/Application.ipc.ts 和 @CreateApplicationIpc 装饰器中!!!',
|
||||
list: res.data
|
||||
}];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
HomeController.prototype.PlayVideo = function (params) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
var _a;
|
||||
return __generator(this, function (_b) {
|
||||
switch (_b.label) {
|
||||
case 0:
|
||||
console.log("参数:", params);
|
||||
if (!params.hasOwnProperty("list")) return [3 /*break*/, 1];
|
||||
return [2 /*return*/, {
|
||||
header: false,
|
||||
nav: false,
|
||||
img: true,
|
||||
video: params
|
||||
}];
|
||||
case 1:
|
||||
_a = {
|
||||
header: false,
|
||||
nav: false,
|
||||
img: false
|
||||
};
|
||||
return [4 /*yield*/, this.VideoImplService.PalyVideo(params)];
|
||||
case 2:
|
||||
_a.video = _b.sent();
|
||||
return [4 /*yield*/, this.VideoImplService.VideoComment({ photoId: params.photoId })];
|
||||
case 3: return [2 /*return*/, (_a.Comment = _b.sent(),
|
||||
_a)];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
__decorate([
|
||||
Ioc_annotation_1.Inject(),
|
||||
__metadata("design:type", Video_impl_service_1.VideoImplService)
|
||||
], HomeController.prototype, "VideoImplService", void 0);
|
||||
__decorate([
|
||||
Creted_annotation_1.Render(),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [String]),
|
||||
__metadata("design:returntype", Promise)
|
||||
], HomeController.prototype, "Home", null);
|
||||
__decorate([
|
||||
Creted_annotation_1.Render(),
|
||||
Creted_annotation_1.Ipc([File_ipc_1.FileIpc]),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [Object]),
|
||||
__metadata("design:returntype", Promise)
|
||||
], HomeController.prototype, "PlayVideo", null);
|
||||
return HomeController;
|
||||
}());
|
||||
exports.HomeController = HomeController;
|
||||
//# sourceMappingURL=Home.controller.js.map
|
||||
1
dist/core/controller/Home.controller.js.map
vendored
Normal file
1
dist/core/controller/Home.controller.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Home.controller.js","sourceRoot":"","sources":["../../../src/core/controller/Home.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAA4D;AAC5D,uEAAoE;AACpE,6DAAoD;AACpD,iDAA+C;AAE/C;IAAA;IAwCA,CAAC;IAlCgB,6BAAI,GAAjB,UAAkB,IAAY;;;;;4BAChB,qBAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;wBAA9C,GAAG,GAAG,SAAwC;wBAClD,sBAAO;gCACH,MAAM,EAAE,IAAI;gCACZ,GAAG,EAAE,IAAI;gCACT,KAAK,EAAE,kBAAkB;gCACzB,IAAI,EAAE,+HAA+H;gCACrI,IAAI,EAAE,GAAG,CAAC,IAAI;6BACjB,EAAC;;;;KACL;IAMY,kCAAS,GAAtB,UAAuB,MAA6B;;;;;;wBAChD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;6BACrB,MAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAzC,wBAAyC;wBACzC,sBAAO;gCACH,MAAM,EAAE,KAAK;gCACb,GAAG,EAAE,KAAK;gCACV,GAAG,EAAE,IAAI;gCACT,KAAK,EAAE,MAAM;6BAChB,EAAA;;;4BAGG,MAAM,EAAE,KAAK;4BACb,GAAG,EAAE,KAAK;4BACV,GAAG,EAAE,KAAK;;wBACH,qBAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAA;;wBAApD,QAAK,GAAE,SAA6C;wBAC3C,qBAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAG,MAAc,CAAC,OAAO,EAAE,CAAC,EAAA;4BAL3F,uBAKI,UAAO,GAAE,SAA8E;iCAC1F;;;;KAER;IApCD;QADC,uBAAM,EAAE;kCAC0B,qCAAgB;4DAAC;IAGpD;QADC,0BAAM,EAAE;;;;8CAUR;IAMD;QAJC,0BAAM,EAAE;QACR,uBAAG,CAAC,CAAE,kBAAO,CAAE,CAAC;;;;mDAqBhB;IACL,qBAAC;CAAA,AAxCD,IAwCC;AAxCY,wCAAc"}
|
||||
46
dist/core/controller/Setting.controller.js
vendored
Normal file
46
dist/core/controller/Setting.controller.js
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.SettingController = void 0;
|
||||
var Creted_annotation_1 = require("@annotation/Creted.annotation");
|
||||
/**
|
||||
* 首页窗体
|
||||
* @Render() 注解:
|
||||
* 用在类的方法上,注意方法名 和 页面模板名称一致。
|
||||
* 作用:表示使用该方法创建页面窗口,方法返回的数据需要是个对象,返回的数据会传给模板
|
||||
* 用法:
|
||||
* 1:@Render(),不传参数,会根据方法名自动载入对应的jade页面文件来创建窗口
|
||||
* 2:@Render('PlayVideo'),传入参数,会根据传入的参数去寻找对应的jade页面来创建窗口
|
||||
* 注意:传入参数后不仅会使用自定义页面,还会抛弃配置文件中的 StartPage 主窗窗口配置
|
||||
*
|
||||
* @Ipc() 注解:
|
||||
* 用在类的方法上,接受一个未实例化的类作为参数
|
||||
* 作用:Ipc注解会自动运行这个类里面的所有方法,请在方法中放置 ipcMain.on 代码!
|
||||
*/
|
||||
var SettingController = /** @class */ (function () {
|
||||
function SettingController() {
|
||||
}
|
||||
SettingController.prototype.Setting = function () {
|
||||
return {
|
||||
title: '设置页面窗口-测试传给模板的数据',
|
||||
desc: '介绍'
|
||||
};
|
||||
};
|
||||
__decorate([
|
||||
Creted_annotation_1.Render(),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", []),
|
||||
__metadata("design:returntype", void 0)
|
||||
], SettingController.prototype, "Setting", null);
|
||||
return SettingController;
|
||||
}());
|
||||
exports.SettingController = SettingController;
|
||||
//# sourceMappingURL=Setting.controller.js.map
|
||||
1
dist/core/controller/Setting.controller.js.map
vendored
Normal file
1
dist/core/controller/Setting.controller.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Setting.controller.js","sourceRoot":"","sources":["../../../src/core/controller/Setting.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mEAA4D;AAG5D;;;;;;;;;;;;;GAaG;AACH;IAAA;IAQA,CAAC;IANU,mCAAO,GAAd;QACI,OAAO;YACH,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,IAAI;SACb,CAAC;IACN,CAAC;IALD;QADC,0BAAM,EAAE;;;;oDAMR;IACL,wBAAC;CAAA,AARD,IAQC;AARY,8CAAiB"}
|
||||
1
dist/core/interactive/.pydio
vendored
Normal file
1
dist/core/interactive/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
bfe99bde-0c9c-4cd0-af53-b0657c72ceb0
|
||||
20
dist/core/interactive/ApplicationMenu.interactive.js
vendored
Normal file
20
dist/core/interactive/ApplicationMenu.interactive.js
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ApplicationMenu = void 0;
|
||||
var electron_1 = require("electron");
|
||||
var Index_config_1 = __importDefault(require("@config/Index.config"));
|
||||
var ApplicationMenu = /** @class */ (function () {
|
||||
function ApplicationMenu() {
|
||||
this.buildFromTemplate();
|
||||
}
|
||||
ApplicationMenu.prototype.buildFromTemplate = function () {
|
||||
this.AppMenu = electron_1.Menu.buildFromTemplate(Index_config_1.default.TemplateMenu);
|
||||
electron_1.Menu.setApplicationMenu(this.AppMenu);
|
||||
};
|
||||
return ApplicationMenu;
|
||||
}());
|
||||
exports.ApplicationMenu = ApplicationMenu;
|
||||
//# sourceMappingURL=ApplicationMenu.interactive.js.map
|
||||
1
dist/core/interactive/ApplicationMenu.interactive.js.map
vendored
Normal file
1
dist/core/interactive/ApplicationMenu.interactive.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ApplicationMenu.interactive.js","sourceRoot":"","sources":["../../../src/core/interactive/ApplicationMenu.interactive.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAgF;AAChF,sEAA0C;AAE1C;IAEI;QACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,2CAAiB,GAAjB;QACI,IAAI,CAAC,OAAO,GAAG,eAAI,CAAC,iBAAiB,CAAC,sBAAM,CAAC,YAAY,CAAC,CAAC;QAC3D,eAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IACL,sBAAC;AAAD,CAAC,AAVD,IAUC;AAVY,0CAAe"}
|
||||
96
dist/core/interactive/Dialog.interactive.js
vendored
Normal file
96
dist/core/interactive/Dialog.interactive.js
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Dialog = void 0;
|
||||
var electron_1 = require("electron");
|
||||
var Windows_model_1 = __importDefault(require("@model/Windows.model"));
|
||||
var Dialog = /** @class */ (function () {
|
||||
function Dialog() {
|
||||
}
|
||||
/**
|
||||
* 错误弹窗
|
||||
* @param title
|
||||
* @param content
|
||||
* @constructor
|
||||
*/
|
||||
Dialog.ErrorBox = function (title, content) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, electron_1.dialog.showErrorBox(title, content)];
|
||||
case 1:
|
||||
_a.sent();
|
||||
return [2 /*return*/];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
Dialog.showSaveDialog = function (title, message) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
var SaveFile;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, electron_1.dialog.showOpenDialog(Windows_model_1.default.CurrentBrowserWindow, {
|
||||
title: title,
|
||||
message: message,
|
||||
buttonLabel: '亲,点我确认选择!',
|
||||
filters: [
|
||||
{ name: 'All', extensions: ['*'] },
|
||||
],
|
||||
properties: [
|
||||
'openDirectory',
|
||||
'createDirectory'
|
||||
]
|
||||
})];
|
||||
case 1:
|
||||
SaveFile = _a.sent();
|
||||
if (!SaveFile.canceled) {
|
||||
return [2 /*return*/, SaveFile.filePaths];
|
||||
}
|
||||
return [2 /*return*/];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
return Dialog;
|
||||
}());
|
||||
exports.Dialog = Dialog;
|
||||
//# sourceMappingURL=Dialog.interactive.js.map
|
||||
1
dist/core/interactive/Dialog.interactive.js.map
vendored
Normal file
1
dist/core/interactive/Dialog.interactive.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Dialog.interactive.js","sourceRoot":"","sources":["../../../src/core/interactive/Dialog.interactive.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAgD;AAChD,uEAA0C;AAC1C;IAAA;IA8BA,CAAC;IA5BG;;;;;OAKG;IACiB,eAAQ,GAA5B,UAA6B,KAAa,EAAE,OAAe;;;;4BACvD,qBAAM,iBAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAAA;;wBAAzC,SAAyC,CAAA;;;;;KAC5C;IAEmB,qBAAc,GAAlC,UAAmC,KAAa,EAAE,OAAe;;;;;4BAC9C,qBAAM,iBAAM,CAAC,cAAc,CAAC,uBAAO,CAAC,oBAAoB,EAAE;4BACrE,KAAK,EAAE,KAAK;4BACZ,OAAO,EAAE,OAAO;4BAChB,WAAW,EAAE,WAAW;4BACxB,OAAO,EAAE;gCACL,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE;6BACrC;4BACD,UAAU,EAAE;gCACR,eAAe;gCACf,iBAAiB;6BACpB;yBACJ,CAAC,EAAA;;wBAXE,QAAQ,GAAG,SAWb;wBAEF,IAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE;4BACnB,sBAAO,QAAQ,CAAC,SAAS,EAAA;yBAC5B;;;;;KACJ;IACL,aAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,wBAAM"}
|
||||
6
dist/core/interactive/Notification.interactive.js
vendored
Normal file
6
dist/core/interactive/Notification.interactive.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Notification = void 0;
|
||||
class Notification {
|
||||
}
|
||||
exports.Notification = Notification;
|
||||
2
dist/core/interactive/ProgressBar.interactive.js
vendored
Normal file
2
dist/core/interactive/ProgressBar.interactive.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
//# sourceMappingURL=ProgressBar.interactive.js.map
|
||||
1
dist/core/interactive/ProgressBar.interactive.js.map
vendored
Normal file
1
dist/core/interactive/ProgressBar.interactive.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ProgressBar.interactive.js","sourceRoot":"","sources":["../../../src/core/interactive/ProgressBar.interactive.ts"],"names":[],"mappings":""}
|
||||
18
dist/core/interactive/Touchbar.interactive.js
vendored
Normal file
18
dist/core/interactive/Touchbar.interactive.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Touchbar = void 0;
|
||||
var electron_1 = require("electron");
|
||||
var Windows_model_1 = __importDefault(require("@/core/model/Windows.model"));
|
||||
var Index_config_1 = __importDefault(require("@config/Index.config"));
|
||||
var TouchBarLabel = electron_1.TouchBar.TouchBarLabel, TouchBarButton = electron_1.TouchBar.TouchBarButton, TouchBarSpacer = electron_1.TouchBar.TouchBarSpacer;
|
||||
var Touchbar = /** @class */ (function () {
|
||||
function Touchbar() {
|
||||
Windows_model_1.default.CurrentBrowserWindow.setTouchBar(new electron_1.TouchBar(Index_config_1.default.TouchBarConfig));
|
||||
}
|
||||
return Touchbar;
|
||||
}());
|
||||
exports.Touchbar = Touchbar;
|
||||
//# sourceMappingURL=Touchbar.interactive.js.map
|
||||
1
dist/core/interactive/Touchbar.interactive.js.map
vendored
Normal file
1
dist/core/interactive/Touchbar.interactive.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Touchbar.interactive.js","sourceRoot":"","sources":["../../../src/core/interactive/Touchbar.interactive.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAuE;AACvE,6EAAiD;AACjD,sEAA0C;AAClC,IAAA,aAAa,GAAoC,mBAAQ,cAA5C,EAAE,cAAc,GAAoB,mBAAQ,eAA5B,EAAC,cAAc,GAAK,mBAAQ,eAAb,CAAc;AAElE;IACI;QACI,uBAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,mBAAQ,CAAC,sBAAM,CAAC,cAAc,CAAC,CAAC,CAAA;IACjF,CAAC;IACL,eAAC;AAAD,CAAC,AAJD,IAIC;AAJY,4BAAQ"}
|
||||
40
dist/core/interactive/Tray.interactive.js
vendored
Normal file
40
dist/core/interactive/Tray.interactive.js
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TrayInteractive = void 0;
|
||||
var electron_1 = require("electron");
|
||||
var Index_config_1 = __importDefault(require("@config/Index.config"));
|
||||
var TrayInteractive = /** @class */ (function () {
|
||||
function TrayInteractive() {
|
||||
this.tray = new electron_1.Tray(this.setTemplateImage());
|
||||
this.buildTrayMenu();
|
||||
this.TrayItemClick();
|
||||
}
|
||||
/**
|
||||
* 全局菜单图标被点击时触发事件
|
||||
* @constructor
|
||||
*/
|
||||
TrayInteractive.prototype.TrayItemClick = function () {
|
||||
this.tray.on('click', function () {
|
||||
console.log("按钮被点击");
|
||||
});
|
||||
};
|
||||
TrayInteractive.prototype.buildTrayMenu = function () {
|
||||
var contextMenu = electron_1.Menu.buildFromTemplate(Index_config_1.default.TrayConfig.TopMenuRightDropdown);
|
||||
this.tray.setToolTip(Index_config_1.default.TrayConfig.TopMenuRightTips);
|
||||
this.tray.setContextMenu(contextMenu);
|
||||
};
|
||||
/**
|
||||
* 创建 NativeImage 图片,图片会随着Mac系统主题的切换而自定变纯黑或纯白
|
||||
*/
|
||||
TrayInteractive.prototype.setTemplateImage = function () {
|
||||
var image = electron_1.nativeImage.createFromPath(Index_config_1.default.TrayConfig.TopMenuRightImage);
|
||||
image.setTemplateImage(true);
|
||||
return image;
|
||||
};
|
||||
return TrayInteractive;
|
||||
}());
|
||||
exports.TrayInteractive = TrayInteractive;
|
||||
//# sourceMappingURL=Tray.interactive.js.map
|
||||
1
dist/core/interactive/Tray.interactive.js.map
vendored
Normal file
1
dist/core/interactive/Tray.interactive.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Tray.interactive.js","sourceRoot":"","sources":["../../../src/core/interactive/Tray.interactive.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAgE;AAChE,sEAA0C;AAE1C;IAII;QACI,IAAI,CAAC,IAAI,GAAG,IAAI,eAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,aAAa,EAAE,CAAA;IACxB,CAAC;IAED;;;OAGG;IACK,uCAAa,GAArB;QACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,uCAAa,GAArB;QACI,IAAI,WAAW,GAAS,eAAI,CAAC,iBAAiB,CAAC,sBAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAED;;OAEG;IACK,0CAAgB,GAAxB;QACI,IAAI,KAAK,GAAgB,sBAAW,CAAC,cAAc,CAAC,sBAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACzF,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC5B,OAAO,KAAK,CAAA;IAChB,CAAC;IACL,sBAAC;AAAD,CAAC,AAlCD,IAkCC;AAlCY,0CAAe"}
|
||||
2
dist/core/interactive/dock.interactive.js
vendored
Normal file
2
dist/core/interactive/dock.interactive.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
//# sourceMappingURL=dock.interactive.js.map
|
||||
1
dist/core/interactive/dock.interactive.js.map
vendored
Normal file
1
dist/core/interactive/dock.interactive.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"dock.interactive.js","sourceRoot":"","sources":["../../../src/core/interactive/dock.interactive.ts"],"names":[],"mappings":""}
|
||||
1
dist/core/ipc/.pydio
vendored
Normal file
1
dist/core/ipc/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
91ca88f0-fda6-4103-956e-6247b54fda70
|
||||
1
dist/core/ipc/Application.ipc.js.map
vendored
Normal file
1
dist/core/ipc/Application.ipc.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Application.ipc.js","sourceRoot":"","sources":["../../../src/core/ipc/Application.ipc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAwC;AACxC,mEAAuC;AACvC,uEAA2C;AAC3C,sEAA0C;AAG1C;IAAA;IA6CA,CAAC;IA5CG;;;;;;;OAOG;IACH,mCAAa,GAAb;QAAA,iBA0BC;QAzBG,kBAAO,CAAC,EAAE,CAAC,YAAY,EAAE,UAAO,KAAK,EAAE,GAAQ;;;gBACvC,cAAc,GAAW,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACjD,WAAW,GAAW,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC9C,IAAI,GAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;gBAElC,uBAAuB;gBACvB,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;oBAC1C,CAAC,GAAG,OAAO,CAAC,mBAAiB,cAAc,QAAK,CAAC,CAAC;oBACtD,qBAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,qBAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;oBACjF,sBAAO,KAAK,EAAA;iBACf;gBAED,4BAA4B;gBAC5B,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE;oBAC5C,6CAA6C;oBAC7C,MAAM,CAAC,MAAM,CAAC,sBAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,uBAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;oBAElF,CAAC,GAAG,OAAO,CAAC,mBAAiB,cAAc,QAAK,CAAC,CAAC;oBACtD,qBAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,qBAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;oBACjF,sBAAO,KAAK;wBAChB,mBAAmB;sBADH;oBAChB,mBAAmB;iBAClB;qBAAM;oBACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;iBAClC;;;aACJ,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,kCAAY,GAAZ;QAAA,iBAIC;QAHG,kBAAO,CAAC,EAAE,CAAC,cAAc,EAAE,UAAO,KAAK,EAAE,GAAO;;;4BAC5C,qBAAM,gBAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAA;;wBAAjC,SAAiC,CAAA;;;;aACpC,CAAC,CAAC;IACP,CAAC;IACL,kBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,kCAAW"}
|
||||
1
dist/core/ipc/Components.ipc.js.map
vendored
Normal file
1
dist/core/ipc/Components.ipc.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Components.ipc.js","sourceRoot":"","sources":["../../../src/core/ipc/Components.ipc.ts"],"names":[],"mappings":""}
|
||||
16
dist/core/ipc/Test.ipc.js
vendored
Normal file
16
dist/core/ipc/Test.ipc.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TestIpc = void 0;
|
||||
/**
|
||||
* 仅供测试,可以删除!!
|
||||
*/
|
||||
class TestIpc {
|
||||
demos() {
|
||||
return 'demos';
|
||||
}
|
||||
demo2() {
|
||||
return 'demos2';
|
||||
}
|
||||
}
|
||||
exports.TestIpc = TestIpc;
|
||||
//# sourceMappingURL=Test.ipc.js.map
|
||||
1
dist/core/ipc/Test.ipc.js.map
vendored
Normal file
1
dist/core/ipc/Test.ipc.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Test.ipc.js","sourceRoot":"","sources":["../../../src/core/ipc/Test.ipc.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,OAAO;IAChB,KAAK;QACD,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,KAAK;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ;AARD,0BAQC"}
|
||||
107
dist/core/ipc/application.ipc.js
vendored
Normal file
107
dist/core/ipc/application.ipc.js
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Application = void 0;
|
||||
var electron_1 = require("electron");
|
||||
var Index_utils_1 = __importDefault(require("@utils/Index.utils"));
|
||||
var Windows_model_1 = __importDefault(require("@model/Windows.model"));
|
||||
var Index_config_1 = __importDefault(require("@config/Index.config"));
|
||||
var Application = /** @class */ (function () {
|
||||
function Application() {
|
||||
}
|
||||
/**
|
||||
* 创建非主窗体之外的窗体,
|
||||
* 在js渲染进程中触发事件
|
||||
* 1:独立窗体
|
||||
* 2:依附在主窗体上的子窗体
|
||||
* 3:依附在独立窗体上的子窗体
|
||||
* @constructor
|
||||
*/
|
||||
Application.prototype.CreatedWindow = function () {
|
||||
var _this = this;
|
||||
electron_1.ipcMain.on('openWindow', function (event, arg) { return __awaiter(_this, void 0, void 0, function () {
|
||||
var ControllerName, MethodsName, data, a, a;
|
||||
return __generator(this, function (_a) {
|
||||
ControllerName = arg.action.split("/")[0], MethodsName = arg.action.split("/")[1], data = arg.data || {};
|
||||
// parent false 创建单独的窗体
|
||||
if (!arg.parent || !arg.hasOwnProperty("parent")) {
|
||||
a = require("../controller/" + ControllerName + ".js");
|
||||
Index_utils_1.default.startWindows(new a[Index_utils_1.default.toUpperCase(ControllerName)](), MethodsName, data);
|
||||
return [2 /*return*/, false];
|
||||
}
|
||||
// parent true 创建默认依附主窗口的子窗口
|
||||
if (arg.hasOwnProperty("parent") || arg.parent) {
|
||||
// @ts-ignore 合并配置参数,注入 parent: 当前默认启动的父类窗口实例
|
||||
Object.assign(Index_config_1.default.PageSize[MethodsName], { parent: Windows_model_1.default.CurrentBrowserWindow });
|
||||
a = require("../controller/" + ControllerName + ".js");
|
||||
Index_utils_1.default.startWindows(new a[Index_utils_1.default.toUpperCase(ControllerName)](), MethodsName, data);
|
||||
return [2 /*return*/, false
|
||||
// 创建默认依附在自定义窗口的子窗口
|
||||
];
|
||||
// 创建默认依附在自定义窗口的子窗口
|
||||
}
|
||||
else {
|
||||
console.log("创建默认依附在自定义窗口的子窗口");
|
||||
}
|
||||
return [2 /*return*/];
|
||||
});
|
||||
}); });
|
||||
};
|
||||
/**
|
||||
* 打开浏览器窗口
|
||||
*/
|
||||
Application.prototype.shellWindows = function () {
|
||||
var _this = this;
|
||||
electron_1.ipcMain.on("openExternal", function (event, arg) { return __awaiter(_this, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, electron_1.shell.openExternal(arg.url)];
|
||||
case 1:
|
||||
_a.sent();
|
||||
return [2 /*return*/];
|
||||
}
|
||||
});
|
||||
}); });
|
||||
};
|
||||
return Application;
|
||||
}());
|
||||
exports.Application = Application;
|
||||
//# sourceMappingURL=Application.ipc.js.map
|
||||
2
dist/core/ipc/components.ipc.js
vendored
Normal file
2
dist/core/ipc/components.ipc.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
//# sourceMappingURL=Components.ipc.js.map
|
||||
1
dist/core/ipc/module/.pydio
vendored
Normal file
1
dist/core/ipc/module/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
b6ff0c3a-03a6-4946-bc2f-6f4f75577ecc
|
||||
84
dist/core/ipc/module/File.ipc.js
vendored
Normal file
84
dist/core/ipc/module/File.ipc.js
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.FileIpc = void 0;
|
||||
var electron_1 = require("electron");
|
||||
var Dialog_interactive_1 = require("@interactive/Dialog.interactive");
|
||||
var Ioc_annotation_1 = require("@annotation/Ioc.annotation");
|
||||
var Http_net_1 = require("@net/Http.net");
|
||||
var Index_utils_1 = __importDefault(require("@utils/Index.utils"));
|
||||
var FileIpc = /** @class */ (function () {
|
||||
function FileIpc() {
|
||||
}
|
||||
FileIpc.prototype.openFile = function () {
|
||||
var _this = this;
|
||||
electron_1.ipcMain.on('SaveFile', function (event, arg) { return __awaiter(_this, void 0, void 0, function () {
|
||||
var SaveFilePath;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, Dialog_interactive_1.Dialog.showSaveDialog("选择路径", "选择下载路径")];
|
||||
case 1:
|
||||
SaveFilePath = _a.sent();
|
||||
if (SaveFilePath != undefined) {
|
||||
Index_utils_1.default.DownFile(arg.url, SaveFilePath);
|
||||
}
|
||||
return [2 /*return*/];
|
||||
}
|
||||
});
|
||||
}); });
|
||||
};
|
||||
__decorate([
|
||||
Ioc_annotation_1.Inject(),
|
||||
__metadata("design:type", Http_net_1.Http)
|
||||
], FileIpc.prototype, "_Net", void 0);
|
||||
return FileIpc;
|
||||
}());
|
||||
exports.FileIpc = FileIpc;
|
||||
//# sourceMappingURL=File.ipc.js.map
|
||||
1
dist/core/ipc/module/File.ipc.js.map
vendored
Normal file
1
dist/core/ipc/module/File.ipc.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"File.ipc.js","sourceRoot":"","sources":["../../../../src/core/ipc/module/File.ipc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAmC;AACnC,sEAAyD;AACzD,6DAA+D;AAC/D,0CAAqC;AACrC,mEAAuC;AAEvC;IAAA;IAaA,CAAC;IARG,0BAAQ,GAAR;QAAA,iBAOC;QANG,kBAAO,CAAC,EAAE,CAAC,UAAU,EAAE,UAAO,KAAK,EAAE,GAAG;;;;4BACjB,qBAAM,2BAAM,CAAC,cAAc,CAAC,MAAM,EAAC,QAAQ,CAAC,EAAA;;wBAA3D,YAAY,GAAG,SAA4C;wBAC/D,IAAI,YAAY,IAAI,SAAS,EAAE;4BAC3B,qBAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAC,YAAY,CAAC,CAAA;yBACvC;;;;aACJ,CAAC,CAAA;IACN,CAAC;IATD;QADC,uBAAM,EAAE;kCACe,eAAI;yCAAC;IAUjC,cAAC;CAAA,AAbD,IAaC;AAbY,0BAAO"}
|
||||
18
dist/core/ipc/module/Home.ipc.js
vendored
Normal file
18
dist/core/ipc/module/Home.ipc.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.HomeIpc = void 0;
|
||||
const electron_1 = require("electron");
|
||||
class HomeIpc {
|
||||
openFile() {
|
||||
electron_1.ipcMain.on('openFile', async (event, arg) => {
|
||||
console.log("测试openFile");
|
||||
});
|
||||
}
|
||||
TestIpc() {
|
||||
electron_1.ipcMain.on('openFile', async (event, arg) => {
|
||||
console.log("TestIpc");
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.HomeIpc = HomeIpc;
|
||||
//# sourceMappingURL=Home.ipc.js.map
|
||||
1
dist/core/ipc/module/Home.ipc.js.map
vendored
Normal file
1
dist/core/ipc/module/Home.ipc.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Home.ipc.js","sourceRoot":"","sources":["../../../../src/core/ipc/module/Home.ipc.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC,MAAa,OAAO;IAChB,QAAQ;QACJ,kBAAO,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO;QACH,kBAAO,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAZD,0BAYC"}
|
||||
13
dist/core/ipc/module/openBrowser.ipc.js
vendored
Normal file
13
dist/core/ipc/module/openBrowser.ipc.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.openBrowserIpc = void 0;
|
||||
const electron_1 = require("electron");
|
||||
class openBrowserIpc {
|
||||
openDefaultBrowser() {
|
||||
electron_1.ipcMain.on('openBrowser', async (event, arg) => {
|
||||
electron_1.shell.openExternal(arg.url);
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.openBrowserIpc = openBrowserIpc;
|
||||
//# sourceMappingURL=openBrowser.ipc.js.map
|
||||
1
dist/core/ipc/module/openBrowser.ipc.js.map
vendored
Normal file
1
dist/core/ipc/module/openBrowser.ipc.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"openBrowser.ipc.js","sourceRoot":"","sources":["../../../../src/core/ipc/module/openBrowser.ipc.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAE1C,MAAa,cAAc;IACvB,kBAAkB;QACd,kBAAO,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3C,gBAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAND,wCAMC"}
|
||||
2
dist/core/ipc/module/openBrowser.js
vendored
Normal file
2
dist/core/ipc/module/openBrowser.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
//# sourceMappingURL=openBrowser.js.map
|
||||
1
dist/core/ipc/module/openBrowser.js.map
vendored
Normal file
1
dist/core/ipc/module/openBrowser.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"openBrowser.js","sourceRoot":"","sources":["../../../../src/core/ipc/module/openBrowser.ts"],"names":[],"mappings":""}
|
||||
1
dist/core/model/.pydio
vendored
Normal file
1
dist/core/model/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
94e8d3d3-68ff-41a3-93a5-e54339a2878a
|
||||
27
dist/core/model/Ioc.model.js
vendored
Normal file
27
dist/core/model/Ioc.model.js
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
||||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
||||
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
||||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
||||
r[k] = a[j];
|
||||
return r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var IocModel = /** @class */ (function () {
|
||||
function IocModel() {
|
||||
this._classPool = [];
|
||||
}
|
||||
Object.defineProperty(IocModel.prototype, "classPool", {
|
||||
get: function () {
|
||||
return this._classPool;
|
||||
},
|
||||
set: function (value) {
|
||||
this._classPool = __spreadArrays(value, this._classPool);
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
return IocModel;
|
||||
}());
|
||||
exports.default = new IocModel();
|
||||
//# sourceMappingURL=Ioc.model.js.map
|
||||
1
dist/core/model/Ioc.model.js.map
vendored
Normal file
1
dist/core/model/Ioc.model.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Ioc.model.js","sourceRoot":"","sources":["../../../src/core/model/Ioc.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA;IAAA;QACY,eAAU,GAAyC,EAAE,CAAC;IASlE,CAAC;IAPG,sBAAI,+BAAS;aAAb;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;aAED,UAAc,KAAyC;YACnD,IAAI,CAAC,UAAU,kBAAO,KAAK,EAAK,IAAI,CAAC,UAAU,CAAC,CAAA;QACpD,CAAC;;;OAJA;IAKL,eAAC;AAAD,CAAC,AAVD,IAUC;AAED,kBAAe,IAAI,QAAQ,EAAE,CAAC"}
|
||||
1
dist/core/model/Ipc.js
vendored
Normal file
1
dist/core/model/Ipc.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";
|
||||
14
dist/core/model/Ipc.model.js
vendored
Normal file
14
dist/core/model/Ipc.model.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
class IpcModel {
|
||||
constructor() {
|
||||
this._saveIpcFunction = {};
|
||||
}
|
||||
get saveIpcFunction() {
|
||||
return this._saveIpcFunction;
|
||||
}
|
||||
set saveIpcFunction(value) {
|
||||
this._saveIpcFunction = value;
|
||||
}
|
||||
}
|
||||
exports.default = new IpcModel();
|
||||
71
dist/core/model/Windows.model.js
vendored
Normal file
71
dist/core/model/Windows.model.js
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var Windows = /** @class */ (function () {
|
||||
function Windows() {
|
||||
}
|
||||
Object.defineProperty(Windows.prototype, "CurrentWindowNew", {
|
||||
get: function () {
|
||||
return this._CurrentWindowNew;
|
||||
},
|
||||
set: function (value) {
|
||||
this._CurrentWindowNew = value;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(Windows.prototype, "CurrentBrowserWindow", {
|
||||
get: function () {
|
||||
return this._CurrentBrowserWindow;
|
||||
},
|
||||
set: function (value) {
|
||||
this._CurrentBrowserWindow = value;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(Windows.prototype, "HomeBrowserWindow", {
|
||||
get: function () {
|
||||
return this._HomeBrowserWindow;
|
||||
},
|
||||
set: function (value) {
|
||||
this.CurrentBrowserWindow = value;
|
||||
this._HomeBrowserWindow = value;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(Windows.prototype, "SettingBrowserWindow", {
|
||||
get: function () {
|
||||
return this._SettingBrowserWindow;
|
||||
},
|
||||
set: function (value) {
|
||||
this.CurrentBrowserWindow = value;
|
||||
this._SettingBrowserWindow = value;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(Windows.prototype, "HomeBrowserWindowWebContents", {
|
||||
get: function () {
|
||||
return this._HomeBrowserWindowWebContents;
|
||||
},
|
||||
set: function (value) {
|
||||
this._HomeBrowserWindowWebContents = value;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(Windows.prototype, "SettingBrowserWindowWebContents", {
|
||||
get: function () {
|
||||
return this._SettingBrowserWindowWebContents;
|
||||
},
|
||||
set: function (value) {
|
||||
this._SettingBrowserWindowWebContents = value;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
return Windows;
|
||||
}());
|
||||
exports.default = new Windows();
|
||||
//# sourceMappingURL=Windows.model.js.map
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user