w-web-api 1.0.41 → 1.0.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/wapis/apis/data.mdb +0 -0
- package/db/wapis/apis/lock.mdb +0 -0
- package/dist/w-web-api.umd.js +2 -2
- package/dist/w-web-api.umd.js.map +1 -1
- package/docs/WWebApi.html +2 -2
- package/docs/WWebApi.mjs.html +268 -171
- package/docs/index.html +1 -1
- package/g.provideApis.mjs +51 -0
- package/package.json +1 -1
- package/server/WWebApi.mjs +267 -170
- package/server/provideTabs.mjs +89 -0
- package/tableTags.json +1 -1
- package/server/provideApis.mjs +0 -74
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import axios from 'axios'
|
|
2
|
+
import get from 'lodash-es/get.js'
|
|
3
|
+
import genPm from 'wsemi/src/genPm.mjs'
|
|
4
|
+
import haskey from 'wsemi/src/haskey.mjs'
|
|
5
|
+
import ltdtpick from 'wsemi/src/ltdtpick.mjs'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
//kpKs
|
|
9
|
+
let ks_apis = [
|
|
10
|
+
'id', //'id-for-apis-pets-guineapigs-1'
|
|
11
|
+
'order', //0
|
|
12
|
+
'name', //'取得天竺鼠清單資訊'
|
|
13
|
+
'description', //'取得天竺鼠清單資訊'
|
|
14
|
+
'url', //指api網址, 例如 http://localhost:11005/getDogsList
|
|
15
|
+
'method', //'get'
|
|
16
|
+
'version', //'v1'
|
|
17
|
+
'group', //'寵物'
|
|
18
|
+
'levels', //'寵物.天竺鼠'
|
|
19
|
+
'keywords', //'pets;guineapigs'
|
|
20
|
+
'state', //'ok'
|
|
21
|
+
'creator', //'pets-system'
|
|
22
|
+
'dataSource', //'pets-data'
|
|
23
|
+
'mdInputParams', //輸入方式說明, markdown格式
|
|
24
|
+
'inputExample', //輸入範例數據
|
|
25
|
+
'mdOutputParams', //輸出方式說明, markdown格式
|
|
26
|
+
'outputExample', //輸出範例數據, json格式
|
|
27
|
+
]
|
|
28
|
+
let kpKs = {
|
|
29
|
+
ks_apis,
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
async function provideTabs(url, keyTable, group, rows) {
|
|
34
|
+
//url: 伺服器提供的接入網址, 例如 http://localhost:11005/syncAndReplaceTabs?token={token}&keyTable={keyTable}
|
|
35
|
+
//keyTable: 資料表名
|
|
36
|
+
//group: 指陣列數據所屬群組
|
|
37
|
+
//rows: 陣列數據
|
|
38
|
+
|
|
39
|
+
//pm
|
|
40
|
+
let pm = genPm()
|
|
41
|
+
|
|
42
|
+
//ks
|
|
43
|
+
if (!haskey(kpKs, `ks_${keyTable}`)) {
|
|
44
|
+
return Promise.reject(`invalid keyTable[${keyTable}]`)
|
|
45
|
+
}
|
|
46
|
+
let ks = kpKs[`ks_${keyTable}`]
|
|
47
|
+
// console.log('ks', ks)
|
|
48
|
+
|
|
49
|
+
//ltdtpick
|
|
50
|
+
rows = ltdtpick(rows, ks)
|
|
51
|
+
// console.log('rows', rows)
|
|
52
|
+
|
|
53
|
+
//rin
|
|
54
|
+
let rin = {
|
|
55
|
+
group,
|
|
56
|
+
rows,
|
|
57
|
+
}
|
|
58
|
+
// console.log('rin', rin)
|
|
59
|
+
|
|
60
|
+
//axios
|
|
61
|
+
await axios({
|
|
62
|
+
method: 'post',
|
|
63
|
+
url,
|
|
64
|
+
headers: { 'Content-Type': 'application/json; charset=utf-8' },
|
|
65
|
+
data: rin,
|
|
66
|
+
})
|
|
67
|
+
.then((res) => {
|
|
68
|
+
// console.log('then', res)
|
|
69
|
+
let data = get(res, 'data')
|
|
70
|
+
let state = get(data, 'state')
|
|
71
|
+
let msg = get(data, 'msg', '')
|
|
72
|
+
if (state === 'success') {
|
|
73
|
+
pm.resolve(msg)
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
pm.reject(msg)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
})
|
|
80
|
+
.catch((err) => {
|
|
81
|
+
// console.log('catch', err)
|
|
82
|
+
pm.reject(err)
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
return pm
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
export default provideTabs
|
package/tableTags.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"apis":"2025-07-
|
|
1
|
+
{"apis":"2025-07-20T22:07:21+08:00|DSiCoa"}
|
package/server/provideApis.mjs
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import axios from 'axios'
|
|
2
|
-
import get from 'lodash-es/get.js'
|
|
3
|
-
import ltdtpick from 'wsemi/src/ltdtpick.mjs'
|
|
4
|
-
import genPm from 'wsemi/src/genPm.mjs'
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
async function provideApis(url, group, apis) {
|
|
8
|
-
//url: 指API伺服器提供的接入網址, 例如 http://localhost:11005/syncAndReplaceApis
|
|
9
|
-
//group: 指API所屬群組
|
|
10
|
-
|
|
11
|
-
//pm
|
|
12
|
-
let pm = genPm()
|
|
13
|
-
|
|
14
|
-
//ks
|
|
15
|
-
let ks = [
|
|
16
|
-
'id', //'id-for-apis-pets-guineapigs-1'
|
|
17
|
-
'name', //'取得天竺鼠清單資訊'
|
|
18
|
-
'description', //'取得天竺鼠清單資訊'
|
|
19
|
-
'url', //指api網址, 例如 http://localhost:11005/getDogsList
|
|
20
|
-
'method', //'get'
|
|
21
|
-
'version', //'v1'
|
|
22
|
-
'group', //'寵物'
|
|
23
|
-
'levels', //'寵物.天竺鼠'
|
|
24
|
-
'keywords', //'pets;guineapigs'
|
|
25
|
-
'state', //'ok'
|
|
26
|
-
'creator', //'pets-system'
|
|
27
|
-
'dataSource', //'pets-data'
|
|
28
|
-
'mdInputParams', //輸入方式說明, markdown格式
|
|
29
|
-
'inputExample', //輸入範例數據
|
|
30
|
-
'mdOutputParams', //輸出方式說明, markdown格式
|
|
31
|
-
'outputExample', //輸出範例數據, json格式
|
|
32
|
-
]
|
|
33
|
-
|
|
34
|
-
//ltdtpick
|
|
35
|
-
apis = ltdtpick(apis, ks)
|
|
36
|
-
// console.log('apis', apis)
|
|
37
|
-
|
|
38
|
-
//rin
|
|
39
|
-
let rin = {
|
|
40
|
-
group,
|
|
41
|
-
apis,
|
|
42
|
-
}
|
|
43
|
-
// console.log('rin', rin)
|
|
44
|
-
|
|
45
|
-
//axios
|
|
46
|
-
await axios({
|
|
47
|
-
method: 'post',
|
|
48
|
-
url,
|
|
49
|
-
headers: { 'Content-Type': 'application/json; charset=utf-8' },
|
|
50
|
-
data: rin,
|
|
51
|
-
})
|
|
52
|
-
.then((res) => {
|
|
53
|
-
// console.log('then', res)
|
|
54
|
-
let data = get(res, 'data')
|
|
55
|
-
let state = get(data, 'state')
|
|
56
|
-
let msg = get(data, 'msg', '')
|
|
57
|
-
if (state === 'success') {
|
|
58
|
-
pm.resolve(msg)
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
pm.reject(msg)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
})
|
|
65
|
-
.catch((err) => {
|
|
66
|
-
// console.log('catch', err)
|
|
67
|
-
pm.reject(err)
|
|
68
|
-
})
|
|
69
|
-
|
|
70
|
-
return pm
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
export default provideApis
|