Skip to content

Commit df0787f

Browse files
author
Colin Yang
committed
Both - Special tags can now be disabled
Closes #9
1 parent 49d723a commit df0787f

File tree

2 files changed

+81
-21
lines changed

2 files changed

+81
-21
lines changed

backend/class/api/Getvalue.class.php

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,18 @@ static function checkAllowBrowser() {
1717
private function handleSpecialTags($key) {
1818
$settings = json_decode(DbProvider::getDb()->get(DbBase::$KEY_MANAGE_SETTINGS), true);
1919
$special_tags = isset($settings['special_tags']) ? json_decode($settings['special_tags'], true) : [];
20-
$tag_count = isset($special_tags['count']) && !empty($special_tags['count']) ? $special_tags['count'] : 'special_count';
21-
$tag_getall = isset($special_tags['getall']) && !empty($special_tags['getall']) ? $special_tags['getall'] : 'special_getall';
22-
$tag_listget = isset($special_tags['listget']) && !empty($special_tags['listget']) ? $special_tags['listget'] : 'special_listget';
23-
$tag_search = isset($special_tags['search']) && !empty($special_tags['search']) ? $special_tags['search'] : 'special_search';
20+
$tag_count = !isset($special_tags['count'])
21+
? 'disabled'
22+
: (empty($special_tags['count']) ? 'special_count' : $special_tags['count']);
23+
$tag_getall = !isset($special_tags['getall'])
24+
? 'disabled'
25+
: (empty($special_tags['getall']) ? 'special_getall' : $special_tags['getall']);
26+
$tag_listget = !isset($special_tags['listget'])
27+
? 'disabled'
28+
: (empty($special_tags['listget']) ? 'special_listget' : $special_tags['listget']);
29+
$tag_search = !isset($special_tags['search'])
30+
? 'disabled'
31+
: (empty($special_tags['search']) ? 'special_search' : $special_tags['search']);
2432
$tag = explode('#', $key, 2);
2533
while (count($tag) < 2) {
2634
$tag[] = '';
@@ -29,10 +37,16 @@ private function handleSpecialTags($key) {
2937
$tag = $tag[0];
3038
switch ($tag) {
3139
case $tag_count: {
40+
if ($tag_count === 'disabled') {
41+
break;
42+
}
3243
$count = DbProvider::getDb()->count($params[0]);
3344
die(json_encode([ 'VALUE', $key, (string) $count ]));
3445
}
3546
case $tag_getall: {
47+
if ($tag_getall === 'disabled') {
48+
break;
49+
}
3650
$offset = count($params) >= 2 ? (int) $params[1] : 0;
3751
$limit = count($params) >= 3 ? (int) $params[2] : 0;
3852
$result = [];
@@ -53,13 +67,19 @@ private function handleSpecialTags($key) {
5367
die(json_encode([ 'VALUE', $key, json_encode($result) ]));
5468
}
5569
case $tag_listget: {
70+
if ($tag_listget === 'disabled') {
71+
break;
72+
}
5673
$result = [];
5774
foreach ($params as $index => $key) {
5875
$result[] = [ 'key' => $key, 'value' => DbProvider::getDb()->get($key) ];
5976
}
6077
die(json_encode([ 'VALUE', $key, json_encode($result) ]));
6178
}
6279
case $tag_search: {
80+
if ($tag_search === 'disabled') {
81+
break;
82+
}
6383
$result = DbProvider::getDb()->search($params[0], 1, false, ['key']);
6484
die(json_encode([ 'VALUE', $key, json_encode($result) ]));
6585
}

frontend/tinywebdb-php-vue/src/components/manage/Setting.vue

Lines changed: 57 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,19 @@
4949

5050
<div class="setting-header">特殊标签</div>
5151
<b-form @submit.prevent="$refs.special_tags_button.onClick()">
52-
<b-form-group label="返回总标签数量" :state="special_count_state" invalid-feedback="不能包含#,空格">
53-
<b-input v-model="special_tags.value.count" placeholder="special_count" :state="special_count_state" />
54-
<template slot="description">
52+
<b-form-group :state="special_count_state" invalid-feedback="不能包含#,空格">
53+
<b-input
54+
v-model="special_tags.value.count"
55+
placeholder="special_count"
56+
:state="special_count_state"
57+
:disabled="special_tags.value.count === 'disabled'" />
58+
<template slot="label">
59+
返回总标签数量
60+
<b-link
61+
v-text="special_tags.value.count === 'disabled' ? '启用' : '禁用'"
62+
@click="special_tags.value.count === 'disabled' ? (special_tags.value.count = '') : (special_tags.value.count = 'disabled')" />
63+
</template>
64+
<template slot="description" v-if="special_tags.value.count !== 'disabled'">
5565
使用方法:请求获取标签“<span v-text="special_count" />[#计数前缀]”。如果不包含前缀,默认为空<br />
5666
返回:一个文本形式的数字<br />
5767
例子:
@@ -61,9 +71,19 @@
6171
</ul>
6272
</template>
6373
</b-form-group>
64-
<b-form-group label="获取指定前缀的所有标签和值" :state="special_getall_state" invalid-feedback="不能包含,空格,空格">
65-
<b-input v-model="special_tags.value.getall" placeholder="special_getall" :state="special_getall_state" />
66-
<template slot="description">
74+
<b-form-group :state="special_getall_state" invalid-feedback="不能包含,空格,空格">
75+
<b-input
76+
v-model="special_tags.value.getall"
77+
placeholder="special_getall"
78+
:state="special_getall_state"
79+
:disabled="special_tags.value.getall === 'disabled'" />
80+
<template slot="label">
81+
获取指定前缀的所有标签和值
82+
<b-link
83+
v-text="special_tags.value.getall === 'disabled' ? '启用' : '禁用'"
84+
@click="special_tags.value.getall === 'disabled' ? (special_tags.value.getall = '') : (special_tags.value.getall = 'disabled')" />
85+
</template>
86+
<template slot="description" v-if="special_tags.value.getall !== 'disabled'">
6787
使用方法:请求获取标签“<span v-text="special_getall" />#获取前缀[#起始偏移][#数量限制]”。
6888
<b>***如数据库内的数据数量较大,请慎重使用***</b><br />
6989
<ul>
@@ -81,17 +101,37 @@
81101
</ul>
82102
</template>
83103
</b-form-group>
84-
<b-form-group label="一次性获取多个标签的值" :state="special_listget_state" invalid-feedback="不能包含,空格">
85-
<b-input v-model="special_tags.value.listget" placeholder="special_listget" :state="special_listget_state" />
86-
<template slot="description">
104+
<b-form-group :state="special_listget_state" invalid-feedback="不能包含,空格">
105+
<b-input
106+
v-model="special_tags.value.listget"
107+
placeholder="special_listget"
108+
:state="special_listget_state"
109+
:disabled="special_tags.value.listget === 'disabled'" />
110+
<template slot="label">
111+
一次性获取多个标签的值
112+
<b-link
113+
v-text="special_tags.value.listget === 'disabled' ? '启用' : '禁用'"
114+
@click="special_tags.value.listget === 'disabled' ? (special_tags.value.listget = '') : (special_tags.value.listget = 'disabled')" />
115+
</template>
116+
<template slot="description" v-if="special_tags.value.listget !== 'disabled'">
87117
使用方法:请求获取标签“<span v-text="special_listget" />[#标签1][#标签2][……]”<br />
88118
返回:一个json编码的文本,格式如<code>[ 结果列表 ]</code>,每个列表项为<code>{ key: '标签', value: '值' }</code><br />
89119
例子:获取"id_2455_pwd"和"id_2455_money":“<span v-text="special_listget" />#id_2455_pwd#id_2455_money”
90120
</template>
91121
</b-form-group>
92-
<b-form-group label="搜索数据库的标签和值" :state="special_search_state" invalid-feedback="不能包含,空格">
93-
<b-input v-model="special_tags.value.search" placeholder="special_search" :state="special_search_state" />
94-
<template slot="description">
122+
<b-form-group :state="special_search_state" invalid-feedback="不能包含,空格">
123+
<b-input
124+
v-model="special_tags.value.search"
125+
placeholder="special_search"
126+
:state="special_search_state"
127+
:disabled="special_tags.value.search === 'disabled'" />
128+
<template slot="label">
129+
搜索数据库的标签和值
130+
<b-link
131+
v-text="special_tags.value.search === 'disabled' ? '启用' : '禁用'"
132+
@click="special_tags.value.search === 'disabled' ? (special_tags.value.search = '') : (special_tags.value.search = 'disabled')" />
133+
</template>
134+
<template slot="description" v-if="special_tags.value.search !== 'disabled'">
95135
使用方法:请求获取标签“<span v-text="special_search" />#搜索关键词”<br />
96136
返回:一个json编码的文本,格式如<code>{ "count": 总共多少项, "result": [ 搜索结果列表 ] }</code>,其中每个列表项为<code>{ key: '标签', value: '值' }</code><br />
97137
例子:搜索"john":“<span v-text="special_search" />#john”
@@ -146,7 +186,7 @@ export default {
146186
all_category: { value: '', variant: undefined, text: undefined },
147187
allow_browser: { value: true, variant: undefined, text: undefined },
148188
special_tags: {
149-
value: { count: '', getall: '', listget: '', search: '' },
189+
value: { count: 'disabled', getall: 'disabled', listget: 'disabled', search: 'disabled' },
150190
variant: undefined,
151191
text: undefined
152192
}
@@ -185,10 +225,10 @@ export default {
185225
this.allow_browser.value = result.allow_browser !== 'false'
186226
if (result.special_tags) {
187227
result.special_tags = JSON.parse(result.special_tags)
188-
this.special_tags.value.count = typeof result.special_tags.count === 'string' ? result.special_tags.count : ''
189-
this.special_tags.value.getall = typeof result.special_tags.getall === 'string' ? result.special_tags.getall : ''
190-
this.special_tags.value.listget = typeof result.special_tags.listget === 'string' ? result.special_tags.listget : ''
191-
this.special_tags.value.search = typeof result.special_tags.search === 'string' ? result.special_tags.search : ''
228+
this.special_tags.value.count = typeof result.special_tags.count === 'string' ? result.special_tags.count : 'disabled'
229+
this.special_tags.value.getall = typeof result.special_tags.getall === 'string' ? result.special_tags.getall : 'disabled'
230+
this.special_tags.value.listget = typeof result.special_tags.listget === 'string' ? result.special_tags.listget : 'disabled'
231+
this.special_tags.value.search = typeof result.special_tags.search === 'string' ? result.special_tags.search : 'disabled'
192232
}
193233
this.loaded = true
194234
break

0 commit comments

Comments
 (0)