Skip to content

Commit

Permalink
docs: v3.4.3 同步更新
Browse files Browse the repository at this point in the history
  • Loading branch information
elecV2 committed Jul 26, 2021
1 parent 5535322 commit 6150a12
Show file tree
Hide file tree
Showing 6 changed files with 148 additions and 4 deletions.
47 changes: 44 additions & 3 deletions docs/04-JS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
```
最近更新: 2021-07-04
适用版本: 3.4.2
最近更新: 2021-07-24
适用版本: 3.4.3
文档地址: https://github.com/elecV2/elecV2P-dei/blob/master/docs/04-JS.md
```

Expand Down Expand Up @@ -31,6 +31,8 @@
- $evui // 在前端网页生成 UI 界面
- $message // 发送网页消息
- $done // 提前返回脚本执行结果(后面代码会继续执行)
- $cache // 临时数据存储(v3.4.3 添加)
```

#### 附加变量 (以两个短下划线开头)
Expand All @@ -40,7 +42,8 @@
- __version // 当前 elecV2P 版本
- __home // 主页地址。 可在 webUI->SETTING 界面设置
- __efss // efss 目录。 可在 webUI/efss 页面设置
- __name // 脚本名称。 v3.3.0 添加
- __name // 脚本名称。 v3.3.0 添加 (如果是多级目录脚本,会包含目录)
- __filename // 完全等同于上面的 __name。 (v3.4.3 添加)
// 测试 JS: console.log('dirname:', __dirname, 'version:', __version, 'homepage:', __home, '当前 efss 目录:', __efss, '当前脚本名称:', __name)
```
Expand Down Expand Up @@ -208,6 +211,44 @@ $store.put('a string 字符', 'objstr', {
})
```

### $cache - 临时数据存储 (v3.4.3)

用于存储脚本运行时的一些临时数据,在 elecV2P 重启后会自动舍弃。

共有五个方法: get(key), put(value, key), delete(key), keys(), clear()

``` JS
$cache.v = 'hello elecV2P' // 添加临时变量 v
// 等同于
$cache.put('hello elecV2P', 'v')

let val = $cache.get('v') // 获取临时变量 v 中的内容
// 等同于 let val = $cache.v

$cache.delete('v') // 删除临时变量 v
console.log($cache.v) // 如果临时变量不存在,将会返回 undefined

$cache.obj = { // 临时变量存储对象可以是任意值。包括 object 和 函数等
num: 1234,
s(){
console.log('$cache function', this.num++)
}
}
$cache.obj.s()
console.log($cache.obj.num)

let keys = $cache.keys() // 以数据的形式返回当前所有临时变量。
// [ 'obj' ]

$cache.clear() // 清空存储的临时变量
console.log(keys, $cache.keys())
```

**$cache****$store** 的区别:
- $cache 数据保存在内存中,$store 数据保存在硬盘上。(因此,$cache 存取速度更快,但会占用一部分内存空间,不建议保存大量数据。)
- $store 只能通过 get/put 方法来存取数据,而 $cache 可以直接通过点引用来存取。(比如: $cache.haha = '哈哈哈哈哈哈哈')
- $cache 是临时存储,在 elecV2P 重启后所有数据会丢失。$store 是常量存储,重启后已保存数据依然存在。

### $feed - 通知模块

发送一条通知
Expand Down
2 changes: 1 addition & 1 deletion docs/Advanced.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
```
最近更新: 2021-07-02
适用版本: 3.4.2
文档地址: https://github.com/elecV2/elecV2P-dei/tree/master/docs/Advanced.md
文档地址: https://github.com/elecV2/elecV2P-dei/blob/master/docs/Advanced.md
```

## elecV2P 进阶使用篇
Expand Down
7 changes: 7 additions & 0 deletions docs/dev/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
elecV2P 开发笔记/草稿。

有时候想到一个功能,得先捋清一下思路,才能开始码代码。有些功能可能比较复杂,所以用笔记的形式记录一下。

当时的笔记可能不是最终实现的样子,仅供参考(其实也没有什么参考意义,如果感兴趣的话,可以稍微看看

总之,这就是在开发过程中,为了捋清楚某些开发步骤而作的一些笔记。
16 changes: 16 additions & 0 deletions docs/dev/webhook token 权限设计.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
### 目的

限制某个 token 可访问的目录/时间/次数等。

### 实现

- 可设置多个 token

每个 token 对应的权限:
- 可访问目录。比如 限制某个 token 除 logs 外其他接口都不可访问
- 可访问时间。2021-07-20 至 2021-07-21 可精确到秒
- 可访问次数。访问几次后,该 token 自动失效
- 其他可能添加
- 限制 IP

以上权限取并集。
61 changes: 61 additions & 0 deletions docs/dev/websocket 通信协议设计.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
### websocket 通信协议设计

基础: json-RPC
参考: telegram api

### 内部函数管理/初始化

函数和数据分离

服务器端
- 处理客户端发送过来的数据,对应 method
- 更新 method
- 添加 临时 method / 传输函数

``` JS
const wsSer = {
methods: { // 现有方法集
add(){ // 添加新的方法

}
}
}
```

### 基础数据传输结构:

客户端发送: client.send
- 发送者 sender
- 发送模块(单元) unit
- 数据类型(调用函数)
- 函数参数
- 需要返回 ?

服务器接收: server.recv
- methods
- reply_to all/sender/unit

服务器发送: server.send
- 指定接收者 (sender/unit)
- 数据类型(调用函数)
- 函数参数
- 需要返回 ?

客户端接收: client.recv
- 接收函数 methods
- reply ?


``` 接收
{
methods: 'newmthod',
param
}
```

## 需要实现的功能

- 生成 send 函数。用于向前端网页的某一个单元发送消息
- 生成 recv 函数。用于接收消息并处理

-
19 changes: 19 additions & 0 deletions docs/dev/右键菜单.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
### contextmenu.vue

``` XML
<contextmenu :menus='menu.list' :x='menu.x' :y='menu.y' />
```

- x <number> : x 坐标
- y <number> : y 坐标
- menus <array> : 菜单内容
- 菜单选项 <object> (建议始终设置 label,其他项视情况添加)
- label <string> : 菜单显示文字
- click <function> : 点击文字后执行函数
- rclick <function> : 右键菜单后执行函数
- dclick <function> : 双击菜单后执行函数
- color <string> : 菜单选项颜色
- bkcolor <string> : 菜单选项背景颜色
- fontsize <string> : 菜单选项文字大小
- 菜单选项 <object> 同上
- ...

0 comments on commit 6150a12

Please sign in to comment.