w-web-api 1.0.23 → 1.0.25
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/.eslintrc.js +1 -0
- package/.vscode/launch.json +21 -0
- package/README.md +21 -4
- package/dist/css/{chunk-vendors.1474a727.css → chunk-vendors.ca61ed63.css} +1 -1
- package/dist/img/connecting.26511805.svg +10 -0
- package/dist/img/deny.e7b81b94.png +0 -0
- package/dist/index.tmp +1 -1
- package/dist/js/app-legacy.9ae046af.js +2 -0
- package/dist/js/app-legacy.9ae046af.js.map +1 -0
- package/dist/js/app.e95d00d5.js +2 -0
- package/dist/js/app.e95d00d5.js.map +1 -0
- package/dist/js/chunk-vendors-legacy.0023ac2c.js +14 -0
- package/dist/js/chunk-vendors-legacy.0023ac2c.js.map +1 -0
- package/dist/js/chunk-vendors.0023ac2c.js +14 -0
- package/dist/js/chunk-vendors.0023ac2c.js.map +1 -0
- package/dist/w-web-api.umd.js +2 -2
- package/dist/w-web-api.umd.js.map +1 -1
- package/docs/WWebApi.html +85 -13
- package/docs/WWebApi.mjs.html +149 -30
- package/docs/index.html +1 -1
- package/package.json +5 -4
- package/server/WWebApi.mjs +148 -29
- package/src/App.vue +43 -7
- package/src/components/LayoutState.vue +87 -0
- package/src/main.js +5 -2
- package/src/plugins/mUI.mjs +12 -0
- package/src/store/mutations.mjs +13 -6
- package/srv.mjs +21 -2
- package/tableTags-web-api.json +1 -1
- package/dist/js/app-legacy.c9a65a85.js +0 -2
- package/dist/js/app-legacy.c9a65a85.js.map +0 -1
- package/dist/js/app.c9a65a85.js +0 -2
- package/dist/js/app.c9a65a85.js.map +0 -1
- package/dist/js/chunk-vendors-legacy.bf09c4e2.js +0 -14
- package/dist/js/chunk-vendors-legacy.bf09c4e2.js.map +0 -1
- package/dist/js/chunk-vendors.bf09c4e2.js +0 -14
- package/dist/js/chunk-vendors.bf09c4e2.js.map +0 -1
package/docs/WWebApi.html
CHANGED
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
<h4 class="name" id="WWebApi"><span class="type-signature"></span>new WWebApi<span class="signature">(WOrm, url, db, opt<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Object}</span></h4>
|
|
67
|
+
<h4 class="name" id="WWebApi"><span class="type-signature"></span>new WWebApi<span class="signature">(WOrm, url, db, getUserByToken, verifyUser, opt<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Object}</span></h4>
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
|
|
81
81
|
<dt class="tag-source">Source:</dt>
|
|
82
82
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
83
|
-
<a href="WWebApi.mjs.html">WWebApi.mjs</a>, <a href="WWebApi.mjs.html#
|
|
83
|
+
<a href="WWebApi.mjs.html">WWebApi.mjs</a>, <a href="WWebApi.mjs.html#line82">line 82</a>
|
|
84
84
|
</li></ul></dd>
|
|
85
85
|
|
|
86
86
|
|
|
@@ -267,6 +267,78 @@
|
|
|
267
267
|
|
|
268
268
|
|
|
269
269
|
|
|
270
|
+
<tr>
|
|
271
|
+
|
|
272
|
+
<td class="name"><code>getUserByToken</code></td>
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
<td class="type">
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
<span class="param-type">function</span>
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
</td>
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
<td class="attributes">
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
</td>
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
<td class="default">
|
|
297
|
+
|
|
298
|
+
</td>
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
<td class="description last"><p>輸入處理函數,函數會傳入使用者token,通過此函數處理後並回傳使用者資訊物件,並至少須提供'id'、'email'、'name'、'isAdmin'欄位,且'isAdmin'限輸入'y'或'n',且輸入'y'時會複寫權限系統該使用者之'isAdmin'欄位值</p></td>
|
|
302
|
+
</tr>
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
<tr>
|
|
307
|
+
|
|
308
|
+
<td class="name"><code>verifyUser</code></td>
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
<td class="type">
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
<span class="param-type">function</span>
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
</td>
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
<td class="attributes">
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
</td>
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
<td class="default">
|
|
333
|
+
|
|
334
|
+
</td>
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
<td class="description last"><p>輸入處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false</p></td>
|
|
338
|
+
</tr>
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
270
342
|
<tr>
|
|
271
343
|
|
|
272
344
|
<td class="name"><code>opt</code></td>
|
|
@@ -372,13 +444,13 @@
|
|
|
372
444
|
|
|
373
445
|
<tr>
|
|
374
446
|
|
|
375
|
-
<td class="name"><code>
|
|
447
|
+
<td class="name"><code>bCheckUser</code></td>
|
|
376
448
|
|
|
377
449
|
|
|
378
450
|
<td class="type">
|
|
379
451
|
|
|
380
452
|
|
|
381
|
-
<span class="param-type">
|
|
453
|
+
<span class="param-type">Boolean</span>
|
|
382
454
|
|
|
383
455
|
|
|
384
456
|
|
|
@@ -400,25 +472,25 @@
|
|
|
400
472
|
|
|
401
473
|
<td class="default">
|
|
402
474
|
|
|
403
|
-
<code>
|
|
475
|
+
<code>false</code>
|
|
404
476
|
|
|
405
477
|
</td>
|
|
406
478
|
|
|
407
479
|
|
|
408
|
-
<td class="description last"><p
|
|
480
|
+
<td class="description last"><p>輸入是否檢查使用者資訊布林值,預設false</p></td>
|
|
409
481
|
</tr>
|
|
410
482
|
|
|
411
483
|
|
|
412
484
|
|
|
413
485
|
<tr>
|
|
414
486
|
|
|
415
|
-
<td class="name"><code>
|
|
487
|
+
<td class="name"><code>getUserById</code></td>
|
|
416
488
|
|
|
417
489
|
|
|
418
490
|
<td class="type">
|
|
419
491
|
|
|
420
492
|
|
|
421
|
-
<span class="param-type">
|
|
493
|
+
<span class="param-type">function</span>
|
|
422
494
|
|
|
423
495
|
|
|
424
496
|
|
|
@@ -440,12 +512,12 @@
|
|
|
440
512
|
|
|
441
513
|
<td class="default">
|
|
442
514
|
|
|
443
|
-
<code>
|
|
515
|
+
<code>null</code>
|
|
444
516
|
|
|
445
517
|
</td>
|
|
446
518
|
|
|
447
519
|
|
|
448
|
-
<td class="description last"><p
|
|
520
|
+
<td class="description last"><p>輸入當bCheckUser=true時依照使用者ID取得使用者資訊物件函數,預設null</p></td>
|
|
449
521
|
</tr>
|
|
450
522
|
|
|
451
523
|
|
|
@@ -480,12 +552,12 @@
|
|
|
480
552
|
|
|
481
553
|
<td class="default">
|
|
482
554
|
|
|
483
|
-
<code>
|
|
555
|
+
<code>false</code>
|
|
484
556
|
|
|
485
557
|
</td>
|
|
486
558
|
|
|
487
559
|
|
|
488
|
-
<td class="description last"><p>輸入使用ORM的select方法時是否自動刪除數據內isActive欄位之布林值,預設
|
|
560
|
+
<td class="description last"><p>輸入使用ORM的select方法時是否自動刪除數據內isActive欄位之布林值,預設false</p></td>
|
|
489
561
|
</tr>
|
|
490
562
|
|
|
491
563
|
|
|
@@ -737,7 +809,7 @@
|
|
|
737
809
|
<br class="clear">
|
|
738
810
|
|
|
739
811
|
<footer>
|
|
740
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sun
|
|
812
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sun Jun 18 2023 21:26:11 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
741
813
|
</footer>
|
|
742
814
|
|
|
743
815
|
<script>prettyPrint();</script>
|
package/docs/WWebApi.mjs.html
CHANGED
|
@@ -57,17 +57,19 @@ import iseobj from 'wsemi/src/iseobj.mjs'
|
|
|
57
57
|
import isestr from 'wsemi/src/isestr.mjs'
|
|
58
58
|
import ispint from 'wsemi/src/ispint.mjs'
|
|
59
59
|
import isfun from 'wsemi/src/isfun.mjs'
|
|
60
|
+
import ispm from 'wsemi/src/ispm.mjs'
|
|
60
61
|
import cint from 'wsemi/src/cint.mjs'
|
|
61
62
|
import strleft from 'wsemi/src/strleft.mjs'
|
|
62
63
|
import strdelleft from 'wsemi/src/strdelleft.mjs'
|
|
63
64
|
import strright from 'wsemi/src/strright.mjs'
|
|
64
65
|
import strdelright from 'wsemi/src/strdelright.mjs'
|
|
66
|
+
import pm2resolve from 'wsemi/src/pm2resolve.mjs'
|
|
65
67
|
import b642str from 'wsemi/src/b642str.mjs'
|
|
66
68
|
import fsIsFolder from 'wsemi/src/fsIsFolder.mjs'
|
|
67
69
|
import replace from 'wsemi/src/replace.mjs'
|
|
68
70
|
import WServHapiServer from 'w-serv-hapi/src/WServHapiServer.mjs'
|
|
69
|
-
import ds from '../src/schema/index.mjs'
|
|
70
71
|
import WServOrm from 'w-serv-orm/src/WServOrm.mjs'
|
|
72
|
+
import ds from '../src/schema/index.mjs'
|
|
71
73
|
|
|
72
74
|
|
|
73
75
|
/**
|
|
@@ -77,11 +79,13 @@ import WServOrm from 'w-serv-orm/src/WServOrm.mjs'
|
|
|
77
79
|
* @param {Function} WOrm 輸入資料庫ORM函數
|
|
78
80
|
* @param {String} url 輸入資料庫連線字串,例如'mongodb://sername:password@$127.0.0.1:27017'
|
|
79
81
|
* @param {String} db 輸入資料庫名稱字串
|
|
82
|
+
* @param {Function} getUserByToken 輸入處理函數,函數會傳入使用者token,通過此函數處理後並回傳使用者資訊物件,並至少須提供'id'、'email'、'name'、'isAdmin'欄位,且'isAdmin'限輸入'y'或'n',且輸入'y'時會複寫權限系統該使用者之'isAdmin'欄位值
|
|
83
|
+
* @param {Function} verifyUser 輸入處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
|
|
80
84
|
* @param {Object} [opt={}] 輸入設定物件,預設{}
|
|
81
85
|
* @param {Integer} [opt.serverPort=11005] 輸入伺服器通訊port,預設11005
|
|
86
|
+
* @param {Boolean} [opt.bCheckUser=false] 輸入是否檢查使用者資訊布林值,預設false
|
|
82
87
|
* @param {Function} [opt.getUserById=null] 輸入當bCheckUser=true時依照使用者ID取得使用者資訊物件函數,預設null
|
|
83
|
-
* @param {Boolean} [opt.
|
|
84
|
-
* @param {Boolean} [opt.bExcludeWhenNotAdmin=true] 輸入使用ORM的select方法時是否自動刪除數據內isActive欄位之布林值,預設true
|
|
88
|
+
* @param {Boolean} [opt.bExcludeWhenNotAdmin=false] 輸入使用ORM的select方法時是否自動刪除數據內isActive欄位之布林值,預設false
|
|
85
89
|
* @param {Object} [opt.webName={}] 輸入站台名稱物件,至少包含語系eng與cht鍵的名稱,預設{}
|
|
86
90
|
* @param {Object} [opt.webDescription={}] 輸入站台描述物件,至少包含語系eng與cht鍵的名稱,預設{}
|
|
87
91
|
* @param {String} [opt.webLogo=''] 輸入站台logo字串,採base64格式,預設''
|
|
@@ -122,7 +126,7 @@ import WServOrm from 'w-serv-orm/src/WServOrm.mjs'
|
|
|
122
126
|
* })
|
|
123
127
|
*
|
|
124
128
|
*/
|
|
125
|
-
function WWebApi(WOrm, url, db, opt = {}) {
|
|
129
|
+
function WWebApi(WOrm, url, db, getUserByToken, verifyUser, opt = {}) {
|
|
126
130
|
let instWServHapiServer = null
|
|
127
131
|
|
|
128
132
|
|
|
@@ -147,6 +151,20 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
147
151
|
}
|
|
148
152
|
|
|
149
153
|
|
|
154
|
+
//check getUserByToken
|
|
155
|
+
if (!isfun(getUserByToken)) {
|
|
156
|
+
console.log('invalid getUserByToken', getUserByToken)
|
|
157
|
+
throw new Error('invalid getUserByToken')
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
//check verifyUser
|
|
162
|
+
if (!isfun(verifyUser)) {
|
|
163
|
+
console.log('invalid verifyUser', verifyUser)
|
|
164
|
+
throw new Error('invalid verifyUser')
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
|
|
150
168
|
//serverPort
|
|
151
169
|
let serverPort = get(opt, 'serverPort')
|
|
152
170
|
if (!ispint(serverPort)) {
|
|
@@ -217,9 +235,35 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
217
235
|
}
|
|
218
236
|
|
|
219
237
|
|
|
238
|
+
//verifyUserByToken
|
|
239
|
+
let verifyUserByToken = async (token) => {
|
|
240
|
+
|
|
241
|
+
//getUserByToken
|
|
242
|
+
let user = getUserByToken(token)
|
|
243
|
+
if (ispm(user)) {
|
|
244
|
+
user = await user
|
|
245
|
+
}
|
|
246
|
+
if (!iseobj(user)) {
|
|
247
|
+
return Promise.reject(`token does not have permission`)
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
//verifyUser
|
|
251
|
+
let b = verifyUser(user)
|
|
252
|
+
if (ispm(b)) {
|
|
253
|
+
b = await b
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
//check
|
|
257
|
+
if (!b) {
|
|
258
|
+
return Promise.reject(`user does not have permission`)
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return user
|
|
262
|
+
}
|
|
263
|
+
|
|
220
264
|
//getAPIsList
|
|
221
|
-
let getAPIsList = async (
|
|
222
|
-
let rs = await woItems.apis.select()
|
|
265
|
+
let getAPIsList = async (query = {}) => {
|
|
266
|
+
let rs = await woItems.apis.select(query)
|
|
223
267
|
return rs
|
|
224
268
|
}
|
|
225
269
|
|
|
@@ -269,7 +313,7 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
269
313
|
|
|
270
314
|
|
|
271
315
|
//updateAPIs
|
|
272
|
-
let updateAPIs = async (
|
|
316
|
+
let updateAPIs = async (params = {}) => {
|
|
273
317
|
|
|
274
318
|
//spread params
|
|
275
319
|
let { apis: rsApis } = params
|
|
@@ -284,7 +328,7 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
284
328
|
|
|
285
329
|
|
|
286
330
|
//replaceAPIsByLevels
|
|
287
|
-
let replaceAPIsByLevels = async (
|
|
331
|
+
let replaceAPIsByLevels = async (params = {}) => {
|
|
288
332
|
|
|
289
333
|
//spread params
|
|
290
334
|
let { group, apis: rsApis } = params
|
|
@@ -313,11 +357,17 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
313
357
|
//subfolder
|
|
314
358
|
let fnEntryIn = 'index.tmp'
|
|
315
359
|
let fnEntryOut = 'index.html'
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
360
|
+
try {
|
|
361
|
+
let fpEntryIn = path.resolve(pathStaticFiles, fnEntryIn)
|
|
362
|
+
let fpEntryOut = path.resolve(pathStaticFiles, fnEntryOut)
|
|
363
|
+
let c = fs.readFileSync(fpEntryIn, 'utf8')
|
|
364
|
+
c = replace(c, '{sfd}', subfolder)
|
|
365
|
+
fs.writeFileSync(fpEntryOut, c, 'utf8')
|
|
366
|
+
}
|
|
367
|
+
catch (err) {
|
|
368
|
+
console.log(err)
|
|
369
|
+
console.log(`can not generate ${fnEntryOut}`)
|
|
370
|
+
}
|
|
321
371
|
|
|
322
372
|
|
|
323
373
|
//apis
|
|
@@ -340,16 +390,53 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
340
390
|
return getWebInfor()
|
|
341
391
|
},
|
|
342
392
|
},
|
|
393
|
+
{
|
|
394
|
+
method: 'GET',
|
|
395
|
+
path: '/api/getUserByToken', //未登入界面需先檢測token是否為系統管理員, 確認後回傳為系統管理員資訊物件, getUserByToken為w-ui-loginout預設值, 若要更改兩邊須同時修改
|
|
396
|
+
handler: async function (req, res) {
|
|
397
|
+
// console.log('getUserByToken', req)
|
|
398
|
+
|
|
399
|
+
async function core() {
|
|
400
|
+
|
|
401
|
+
//token
|
|
402
|
+
let token = get(req, 'query.token', '')
|
|
403
|
+
|
|
404
|
+
//verifyUserByToken
|
|
405
|
+
let user = await verifyUserByToken(token)
|
|
406
|
+
|
|
407
|
+
return user
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
//pm2resolve core
|
|
411
|
+
let r = await pm2resolve(core)() //w-ui-loginout接收已預設格式用pm2resolve轉過, 會提取state進行判斷
|
|
412
|
+
// console.log('getUserByToken', r)
|
|
413
|
+
|
|
414
|
+
return r
|
|
415
|
+
},
|
|
416
|
+
},
|
|
343
417
|
{
|
|
344
418
|
method: 'GET',
|
|
345
419
|
path: '/getAPIsList',
|
|
346
420
|
handler: async function (req, res) {
|
|
421
|
+
// console.log('getAPIsList', req)
|
|
422
|
+
|
|
423
|
+
async function core() {
|
|
424
|
+
|
|
425
|
+
//token
|
|
426
|
+
let token = get(req, 'query.token', '')
|
|
427
|
+
|
|
428
|
+
//verifyUserByToken
|
|
429
|
+
await verifyUserByToken(token)
|
|
347
430
|
|
|
348
|
-
|
|
349
|
-
|
|
431
|
+
//getAPIsList
|
|
432
|
+
let r = await getAPIsList({ isActive: 'y' })
|
|
350
433
|
|
|
351
|
-
|
|
352
|
-
|
|
434
|
+
return r
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
//pm2resolve core
|
|
438
|
+
let r = await pm2resolve(core)()
|
|
439
|
+
// console.log('verifyIdentity', r)
|
|
353
440
|
|
|
354
441
|
return r
|
|
355
442
|
},
|
|
@@ -358,14 +445,29 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
358
445
|
method: 'POST',
|
|
359
446
|
path: '/updateAPIs',
|
|
360
447
|
handler: async function (req, res) {
|
|
361
|
-
// console.log(
|
|
448
|
+
// console.log('updateAPIs', req)
|
|
362
449
|
// console.log('payload', req.payload)
|
|
363
450
|
|
|
364
|
-
|
|
365
|
-
|
|
451
|
+
async function core() {
|
|
452
|
+
|
|
453
|
+
//token
|
|
454
|
+
let token = get(req, 'query.token', '')
|
|
455
|
+
|
|
456
|
+
//verifyUserByToken
|
|
457
|
+
await verifyUserByToken(token)
|
|
458
|
+
|
|
459
|
+
//parsePayload
|
|
460
|
+
let inp = parsePayload(req)
|
|
461
|
+
|
|
462
|
+
//updateAPIs
|
|
463
|
+
let r = await updateAPIs(inp)
|
|
464
|
+
|
|
465
|
+
return r
|
|
466
|
+
}
|
|
366
467
|
|
|
367
|
-
//
|
|
368
|
-
let r = await
|
|
468
|
+
//pm2resolve core
|
|
469
|
+
let r = await pm2resolve(core)()
|
|
470
|
+
// console.log('verifyIdentity', r)
|
|
369
471
|
|
|
370
472
|
return r
|
|
371
473
|
},
|
|
@@ -374,14 +476,29 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
374
476
|
method: 'POST',
|
|
375
477
|
path: '/replaceAPIsByLevels',
|
|
376
478
|
handler: async function (req, res) {
|
|
377
|
-
// console.log(
|
|
479
|
+
// console.log('replaceAPIsByLevels', req)
|
|
378
480
|
// console.log('payload', req.payload)
|
|
379
481
|
|
|
380
|
-
|
|
381
|
-
let inp = parsePayload(req)
|
|
482
|
+
async function core() {
|
|
382
483
|
|
|
383
|
-
|
|
384
|
-
|
|
484
|
+
//token
|
|
485
|
+
let token = get(req, 'query.token', '')
|
|
486
|
+
|
|
487
|
+
//verifyUserByToken
|
|
488
|
+
await verifyUserByToken(token)
|
|
489
|
+
|
|
490
|
+
//parsePayload
|
|
491
|
+
let inp = parsePayload(req)
|
|
492
|
+
|
|
493
|
+
//replaceAPIsByLevels
|
|
494
|
+
let r = await replaceAPIsByLevels(inp)
|
|
495
|
+
|
|
496
|
+
return r
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
//pm2resolve core
|
|
500
|
+
let r = await pm2resolve(core)()
|
|
501
|
+
// console.log('verifyIdentity', r)
|
|
385
502
|
|
|
386
503
|
return r
|
|
387
504
|
},
|
|
@@ -403,7 +520,7 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
403
520
|
pathStaticFiles,
|
|
404
521
|
apis,
|
|
405
522
|
getUserIDFromToken: async (token) => { //可使用async或sync函數
|
|
406
|
-
return '
|
|
523
|
+
return ''
|
|
407
524
|
},
|
|
408
525
|
useDbORM: true,
|
|
409
526
|
dbORMs: woItems,
|
|
@@ -413,7 +530,9 @@ function WWebApi(WOrm, url, db, opt = {}) {
|
|
|
413
530
|
tableNamesSync,
|
|
414
531
|
extFuncs: { //接收參數第1個為userId, 之後才是前端給予參數
|
|
415
532
|
getWebInfor,
|
|
416
|
-
getAPIsList,
|
|
533
|
+
getAPIsList: (userId, query = {}) => {
|
|
534
|
+
return getAPIsList(query)
|
|
535
|
+
},
|
|
417
536
|
//...
|
|
418
537
|
},
|
|
419
538
|
hookBefores: null,
|
|
@@ -441,7 +560,7 @@ export default WWebApi
|
|
|
441
560
|
<br class="clear">
|
|
442
561
|
|
|
443
562
|
<footer>
|
|
444
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sun
|
|
563
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sun Jun 18 2023 21:26:11 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
445
564
|
</footer>
|
|
446
565
|
|
|
447
566
|
<script>prettyPrint();</script>
|
package/docs/index.html
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<br class="clear">
|
|
72
72
|
|
|
73
73
|
<footer>
|
|
74
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sun
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Sun Jun 18 2023 21:26:11 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
75
75
|
</footer>
|
|
76
76
|
|
|
77
77
|
<script>prettyPrint();</script>
|
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "w-web-api",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.25",
|
|
4
4
|
"main": "dist/w-web-api.umd.js",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@mdi/js": "^7.2.96",
|
|
7
7
|
"axios": "^1.3.4",
|
|
8
8
|
"lodash": "^4.17.21",
|
|
9
9
|
"showdown": "^2.1.0",
|
|
10
|
-
"w-component-vue": "^2.
|
|
10
|
+
"w-component-vue": "^2.3.0",
|
|
11
11
|
"w-data-collector": "^1.0.19",
|
|
12
12
|
"w-serv-hapi": "^1.0.11",
|
|
13
|
-
"w-serv-orm": "^1.0.
|
|
14
|
-
"
|
|
13
|
+
"w-serv-orm": "^1.0.7",
|
|
14
|
+
"w-ui-loginout": "^1.0.2",
|
|
15
|
+
"wsemi": "^1.7.12"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
18
|
"@vue/cli-plugin-babel": "^5.0.8",
|