MCPcopy Create free account
hub / github.com/chavyleung/scripts / getAppDatas

Function getAppDatas

chavy.box.js:660–699  ·  view source on GitHub ↗

* =================================== * 接口类函数 * ===================================

(app)

Source from the content-addressed store, hash-verified

658 */
659
660function getAppDatas(app) {
661 const datas = {}
662 const nulls = [null, undefined, 'null', 'undefined']
663 if (app.keys && Array.isArray(app.keys)) {
664 app.keys.forEach((key) => {
665 const val = $.getdata(key)
666 datas[key] = nulls.includes(val) ? null : val
667 })
668 }
669 if (app.settings && Array.isArray(app.settings)) {
670 app.settings.forEach((setting) => {
671 const key = setting.id
672 const dataval = $.getdata(key)
673 datas[key] = nulls.includes(dataval) ? null : dataval
674
675 if (setting.type === 'boolean') {
676 setting.val = nulls.includes(dataval)
677 ? setting.val
678 : dataval === 'true' || dataval === true
679 } else if (setting.type === 'int') {
680 setting.val = dataval * 1 || setting.val
681 } else if (setting.type === 'checkboxes') {
682 if (!nulls.includes(dataval) && typeof dataval === 'string') {
683 setting.val = dataval ? dataval.split(',') : []
684 } else {
685 setting.val = Array.isArray(setting.val)
686 ? setting.val
687 : setting.val.split(',')
688 }
689 } else {
690 setting.val = dataval || setting.val
691 }
692
693 if (setting.type === 'modalSelects') {
694 setting.items = datas?.[setting.items] || []
695 }
696 })
697 }
698 return datas
699}
700
701function dealKey(str) {
702 const [rootKey, delIndex] = str.split('.')

Callers 1

getBoxDataFunction · 0.70

Calls 1

getdataMethod · 0.45

Tested by

no test coverage detected