[remove] unused code

This commit is contained in:
Max 2023-03-25 22:11:19 +08:00
parent 3fb186f5e0
commit d43da2ff5c
158 changed files with 36 additions and 7478 deletions

View file

@ -9,7 +9,7 @@ COMMIT := $(shell git log | head -n 1 | awk '{print substr($$2, 0, 12)}')
NOW := $(shell date +"%FT%T%z") NOW := $(shell date +"%FT%T%z")
# ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) # ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
TESTFOLDER := $(shell $(GO) list ./... | grep -E 'api|model|flow|script|fs|i18n|connector|query|plugin|cert|crypto|task|schedule|runtime|helper|utils|widget|importer|store' | grep -vE 'examples|tests*|config|widgets') TESTFOLDER := $(shell $(GO) list ./... | grep -E 'api|model|flow|script|fs|i18n|connector|query|plugin|cert|crypto|task|schedule|runtime|helper|utils|widget|importer|store|widgets' | grep -vE 'examples|tests*|config')
TESTTAGS ?= "" TESTTAGS ?= ""
# TESTWIDGETS := $(shell $(GO) list ./widgets/...) # TESTWIDGETS := $(shell $(GO) list ./widgets/...)

View file

@ -9,12 +9,12 @@ import (
"github.com/google/uuid" "github.com/google/uuid"
"github.com/yaoapp/gou/application" "github.com/yaoapp/gou/application"
"github.com/yaoapp/gou/fs"
"github.com/yaoapp/gou/process" "github.com/yaoapp/gou/process"
"github.com/yaoapp/kun/any" "github.com/yaoapp/kun/any"
"github.com/yaoapp/kun/exception" "github.com/yaoapp/kun/exception"
"github.com/yaoapp/kun/log" "github.com/yaoapp/kun/log"
"github.com/yaoapp/yao/config" "github.com/yaoapp/yao/config"
"github.com/yaoapp/yao/fs"
"github.com/yaoapp/yao/importer/from" "github.com/yaoapp/yao/importer/from"
"github.com/yaoapp/yao/importer/xlsx" "github.com/yaoapp/yao/importer/xlsx"
"github.com/yaoapp/yao/share" "github.com/yaoapp/yao/share"
@ -29,11 +29,12 @@ var DataRoot string = ""
// Load 加载导入器 // Load 加载导入器
func Load(cfg config.Config) error { func Load(cfg config.Config) error {
root, err := fs.Root(cfg) fs, err := fs.Get("system")
if err != nil { if err != nil {
return err return err
} }
DataRoot = root
DataRoot = fs.Root()
exts := []string{"*.imp.yao", "*.imp.json", "*.imp.jsonc"} exts := []string{"*.imp.yao", "*.imp.json", "*.imp.jsonc"}
return application.App.Walk("imports", func(root, file string, isdir bool) error { return application.App.Walk("imports", func(root, file string, isdir bool) error {

View file

@ -1,12 +1,13 @@
package importer package importer
import ( import (
"fmt"
"path/filepath" "path/filepath"
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/yaoapp/gou/fs"
"github.com/yaoapp/yao/config" "github.com/yaoapp/yao/config"
"github.com/yaoapp/yao/fs"
"github.com/yaoapp/yao/importer/xlsx" "github.com/yaoapp/yao/importer/xlsx"
"github.com/yaoapp/yao/script" "github.com/yaoapp/yao/script"
"github.com/yaoapp/yao/test" "github.com/yaoapp/yao/test"
@ -208,7 +209,10 @@ func prepare(t *testing.T, cfg config.Config) string {
t.Fatal(err) t.Fatal(err)
} }
dataRoot, err := fs.Root(cfg) fs := fs.MustGet("system")
dataRoot := fs.Root()
fmt.Println("prepare", dataRoot)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View file

@ -3,6 +3,7 @@ package test
import ( import (
"fmt" "fmt"
"os" "os"
"path/filepath"
"strings" "strings"
"testing" "testing"
"time" "time"
@ -48,6 +49,10 @@ func Prepare(t *testing.T, cfg config.Config) {
} }
application.Load(app) application.Load(app)
if cfg.DataRoot == "" {
cfg.DataRoot = filepath.Join(root, "data")
}
dbconnect(t, cfg) dbconnect(t, cfg)
load(t, cfg) load(t, cfg)
startRuntime(t, cfg) startRuntime(t, cfg)

View file

@ -1 +0,0 @@
# 测试用应用

View file

@ -1,42 +0,0 @@
{
"name": "用户接口",
"version": "1.0.0",
"description": "用户API",
"group": "benchmark",
"guard": "bearer-jwt",
"paths": [
{
"path": "/ping",
"method": "GET",
"guard": "-",
"process": "xiang.helper.Return",
"in": [":query"],
"out": {
"status": 200,
"type": "application/json"
}
},
{
"path": "/flows/pure",
"method": "GET",
"guard": "-",
"process": "flows.benchmark.pure",
"in": [],
"out": {
"status": 200,
"type": "application/json"
}
},
{
"path": "/flows/script",
"method": "GET",
"guard": "-",
"process": "flows.benchmark.script",
"in": [],
"out": {
"status": 200,
"type": "application/json"
}
}
]
}

View file

@ -1,11 +0,0 @@
{
"name": "A Chat WebSocket server",
"description": "A Chat WebSocket serverr",
"version": "0.9.2",
"protocols": ["yao-chat-01"],
"guard": "bearer-jwt",
"buffer": { "read": 1024, "write": 1024 },
"limit": { "read-wait": 10, "pong-wait": 20, "max-message": 1024 },
"timeout": 5,
"process": "flows.websocket.chat"
}

View file

@ -1,39 +0,0 @@
{
"name": "Demo",
"version": "1.0.0",
"description": "demo",
"group": "demo",
"guard": "-",
"paths": [
{
"path": "/user",
"method": "GET",
"process": "flows.demo.user",
"in": ["$query.id"],
"out": {
"status": 200,
"type": "application/json"
}
},
{
"path": "/admin",
"method": "GET",
"process": "flows.demo.admin",
"in": ["$query.id"],
"out": {
"status": 200,
"type": "application/json"
}
},
{
"path": "/token",
"method": "GET",
"process": "flows.demo.token",
"in": ["$query.id"],
"out": {
"status": 200,
"type": "application/json"
}
}
]
}

View file

@ -1,8 +0,0 @@
{
"name": "厂商接口",
"version": "1.0.0",
"description": "厂商API",
"group": "manu",
"guard": "bearer-jwt",
"paths": []
}

View file

@ -1,8 +0,0 @@
{
"name": "厂商接口",
"version": "1.0.0",
"description": "厂商API",
"group": "manu",
"guard": "bearer-jwt",
"paths": []
}

View file

@ -1,63 +0,0 @@
{
"name": "用户接口",
"version": "1.0.0",
"description": "用户API",
"group": "user",
"guard": "bearer-jwt",
"paths": [
{
"path": "/login",
"method": "POST",
"guard": "-",
"process": "plugins.user.Login",
"in": ["$payload.mobile", "$payload.password", "$payload.captcha"],
"out": {
"status": 200,
"type": "application/json"
}
},
{
"path": "/ping",
"method": "GET",
"guard": "-",
"process": "plugins.user.Login",
"in": ["$payload.mobile", "$payload.password", "$payload.captcha"],
"out": {
"status": 200,
"type": "application/json"
}
},
{
"path": "/find/:id",
"method": "GET",
"guard": "-",
"process": "models.user.Find",
"in": ["$param.id", ":params"],
"out": {
"status": 200,
"type": "application/json"
}
},
{
"path": "/search",
"method": "GET",
"guard": "-",
"process": "models.user.Paginate",
"in": [":params", "$query.page", "$query.pagesize"],
"out": {
"status": 200,
"type": "application/json"
}
},
{
"path": "/info/:id",
"method": "GET",
"process": "models.user.Find",
"in": ["$param.id", ":params"],
"out": {
"status": 200,
"type": "application/json"
}
}
]
}

View file

@ -1,22 +0,0 @@
{
"name": "象传应用",
"short": "象传",
"description": "象传应用后台",
"lang": "en-US",
"option": {
"index": "/table/service"
},
"storage": {
"default": "oss",
"oss": {
"comment": "https://www.alibabacloud.com/help/zh/doc-detail/100624.htm",
"endpoint": "oss-cn-hangzhou.aliyuncs.com",
"id": "LTAI5tHXfWAMpcsobfqfeXsm",
"secret": "4NeGNw97nFrfmgBWZTlFE0XtYQdMQO",
"roleArn": "acs:ram::31524094:role/ramosstest",
"sessionName": "SessionTest"
},
"cos": {},
"s3": {}
}
}

View file

@ -1,9 +0,0 @@
## ERROR
select `service`.`id` as `service_id`, `service`.`short_name` as `service_short_name`, `service`.`name` as `service_name`, `service`.`city` as `service_city`, `service`.`kind_id` as `service_kind_id`, `service`.`manu_id` as `service_manu_id`, `service`.`registed_at` as `service_registed_at`, `service`.`link` as `service_link`, `service`.`contact_name` as `service_contact_name`, `service`.`contact_mobile` as `service_contact_mobile`, `service`.`fields` as `service_fields`, `service`.`price_options` as `service_price_options`, `service`.`industries` as `service_industries`, `service`.`rank` as `service_rank`, `service`.`status` as `service_status`, `service`.`deleted_at` as `service_deleted_at`, `service`.`created_at` as `service_created_at`, `service`.`updated_at` as `service_updated_at` from `service` as `service` where `service`.`deleted_at` is null order by `service`.`created_at` limit 1 offset 907
select `service`.`id` as `service_id`, `service`.`short_name` as `service_short_name`, `service`.`name` as `service_name`, `service`.`city` as `service_city`, `service`.`kind_id` as `service_kind_id`, `service`.`manu_id` as `service_manu_id`, `service`.`registed_at` as `service_registed_at`, `service`.`link` as `service_link`, `service`.`contact_name` as `service_contact_name`, `service`.`contact_mobile` as `service_contact_mobile`, `service`.`fields` as `service_fields`, `service`.`price_options` as `service_price_options`, `service`.`industries` as `service_industries`, `service`.`rank` as `service_rank`, `service`.`status` as `service_status`, `service`.`deleted_at` as `service_deleted_at`, `service`.`created_at` as `service_created_at`, `service`.`updated_at` as `service_updated_at` from `service` as `service` where `service`.`deleted_at` is null order by `service`.`created_at` limit 1 offset 1740
## CORRECT
select `service`.`id` as `service_id`, `service`.`short_name` as `service_short_name`, `service`.`name` as `service_name`, `service`.`city` as `service_city`, `service`.`kind_id` as `service_kind_id`, `service`.`manu_id` as `service_manu_id`, `service`.`registed_at` as `service_registed_at`, `service`.`link` as `service_link`, `service`.`contact_name` as `service_contact_name`, `service`.`contact_mobile` as `service_contact_mobile`, `service`.`fields` as `service_fields`, `service`.`price_options` as `service_price_options`, `service`.`industries` as `service_industries`, `service`.`rank` as `service_rank`, `service`.`status` as `service_status`, `service`.`deleted_at` as `service_deleted_at`, `service`.`created_at` as `service_created_at`, `service`.`updated_at` as `service_updated_at` from `service` as `service` where `service`.`deleted_at` is null order by `service`.`created_at`, `service`.`id` limit 1 offset 907
select `service`.`id` as `service_id`, `service`.`short_name` as `service_short_name`, `service`.`name` as `service_name`, `service`.`city` as `service_city`, `service`.`kind_id` as `service_kind_id`, `service`.`manu_id` as `service_manu_id`, `service`.`registed_at` as `service_registed_at`, `service`.`link` as `service_link`, `service`.`contact_name` as `service_contact_name`, `service`.`contact_mobile` as `service_contact_mobile`, `service`.`fields` as `service_fields`, `service`.`price_options` as `service_price_options`, `service`.`industries` as `service_industries`, `service`.`rank` as `service_rank`, `service`.`status` as `service_status`, `service`.`deleted_at` as `service_deleted_at`, `service`.`created_at` as `service_created_at`, `service`.`updated_at` as `service_updated_at` from `service` as `service` where `service`.`deleted_at` is null order by `service`.`created_at`, `service`.`id` limit 1 offset 1740

View file

@ -1,19 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDCjCCAfICCQDIMbr1hVnv2TANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQGEwJD
TjEQMA4GA1UECAwHQmVpamluZzEQMA4GA1UEBwwHSGFpZGlhbjEUMBIGA1UECgwL
WWFvQXBwcy5jb20wHhcNMjIwNzE2MDY0ODI5WhcNMzIwNzEzMDY0ODI5WjBHMQsw
CQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpamluZzEQMA4GA1UEBwwHSGFpZGlhbjEU
MBIGA1UECgwLWWFvQXBwcy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQCqLwF385x1w0umsYpUb6LfSl/jUtny2T4hrVAAfzKcPDYyKT/gwJKJAm5v
PPLhsqjJLD27eRVNfzqCYOOJPIK5D+YAJigEb7/n+s96P7m0bzLZla3w/2GZRqZb
8m48xOQIHm/jVDC45Q3q/zdFUwgBtrOJxBBSs75eLRhj04CCPjdqoZcr0RdoyzSG
KvGiNGMNjfWEsdTnGYOcGNUa0UOsIpk+gS+QXD6EMlilM8GWQA+cDw6Owk5ydD0b
mPAiDD+mQn4wqCqruRuDziFe/cqWlY7etETT5Ox1D8eiLTTGRnj8p0TEro/eZ4Pc
JsVhH/t9yOvLgze3pgaPbbY6enTTAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAAp9
7QuYnZF6YKp4zZp4VQkikAyYMvNnvQC9Fgah0RaX/ZY8hG7QQqiLDjcMPVaR13jT
oVumWJ225xO3HCi38AGHsJW8Uu7ZR4LZzI59MHenv10EIiTpc3HYAv+bH5bVtmgX
R7CEUMhNiJBKr6TwxiKBWkfjvO7sJrX4ZxKe6SKcOoKUeIMRyZCqstlSMlfu1xwr
DX83fyOyOaDJkUPIJNhVIbwqQxV0X47Bxdj9IdGF26ut4Dh0YNVxtArVr5va1VQo
Rsa9r63lhmnqbjeFcbY8TlO1Pm+hWgOmgcrjGNdP8DYi3KFMFiwY+VSUtwPnSZQS
OANAV1mlEv6+7UMZHRs=
-----END CERTIFICATE-----

View file

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqLwF385x1w0um
sYpUb6LfSl/jUtny2T4hrVAAfzKcPDYyKT/gwJKJAm5vPPLhsqjJLD27eRVNfzqC
YOOJPIK5D+YAJigEb7/n+s96P7m0bzLZla3w/2GZRqZb8m48xOQIHm/jVDC45Q3q
/zdFUwgBtrOJxBBSs75eLRhj04CCPjdqoZcr0RdoyzSGKvGiNGMNjfWEsdTnGYOc
GNUa0UOsIpk+gS+QXD6EMlilM8GWQA+cDw6Owk5ydD0bmPAiDD+mQn4wqCqruRuD
ziFe/cqWlY7etETT5Ox1D8eiLTTGRnj8p0TEro/eZ4PcJsVhH/t9yOvLgze3pgaP
bbY6enTTAgMBAAECggEAGgj65ojkRLfN2QCMMwKpHhPYu4QvR5Goiapj9M+AxJoJ
iH77AL01LbSrhGUEmzajz7Lu9sE9Ww+9ubhs1s/lB77A5wDvWk5mQ20BVKhvFoV0
eAkIBThsi/Bc/vAFoVJVuFA/ub1lfsO771l/8SEUtn5m1QqjnKNW2j133725iTMP
iwRlcEOEfFGa5bVQ/eEnQ5Fbk0OmIwfoSiFBTIsi2ZO7qTXaN5O1QzJKtSq0Jqbi
7cB0Z2cUi0QJ11jP4OcoawdVmx9InVwLkBfgR/AydmzClfnV7F8lk+m9UZmDV6/M
Wf+nAkijvYHvtmbb38qsHigE34agkvcy2YWoIstdcQKBgQDYi6fUsNu8RF2JC2NH
YWSnDS4JhYVP6pRugaH/RMe8+uX64JK1h85EXqf+rIWfmdkEN43p95lUxjObpEHE
pt2irrei8ARYqb7W0VkDfcEJnWoHMPlY/j7wunoIUFP1l8WWsrDyF3l+XnFLfRSj
rJ8/q/pPqJT2caYyOfF4EGltBQKBgQDJMOOVuoNAsZNttK9JwbORME+aK9OTXriT
VzHbqbMiyWBvqtnpRbwr6gHm+1nJgL4Fz1pT7vUxyXKzDIrRjx92qWp2sIFoYmAs
y0pdKChREbPAZUFIG5VJHqSgpStJq74Cq7Rrpmyg/rgKTNNCx7CwJ7Lap4OSr1tY
u5tZ/ARB9wKBgQCrXhn7X9sFKrU69yAiJRkaenusXVYa4HGG4l/pO+01yPiniYGQ
12CNCru395/npkDv7WcJeUCGrjO5QEwr7EIJtGrvLzLBV9QG/LWM5cAWc9SszD0I
CGyW5XwdiDRpbyqXD+KoM5uaPfM64kmrHbkJEniNAcShI1968BAADDziYQKBgHIG
UkXu0iqdOdgoWlwr+vBjeAoBosTYHzXqaih7sjoZ9Zz0MNKDolUlJ/TYKZgJbiju
ztvZB4AzEt2lUxvXyNZAyEUCXiVh8+4PPVM0yjzAEqcM/AW5FE+/nUAqvDDhtCvh
UrzcMp7AHmBAEE+9y0bbCQPhgrFkzxmoIjDKo0MbAoGAK58GTcH85twPkxdcskmv
wGzaUNXK4ggUvvXHbHDv0oVgx9aZR5dNclBkYcED0bQQL/c8aUk8hQkDj7TEvU6I
VDZ9iuJl2HRiVxRgl+cREqRhVhIoGbHCpZveymCIUjVWQqZtsWrtyI6R5gt+8LbW
eNJGBYZxsCZuBtBdhiFIlfI=
-----END PRIVATE KEY-----

View file

@ -1,9 +0,0 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqi8Bd/OcdcNLprGKVG+i
30pf41LZ8tk+Ia1QAH8ynDw2Mik/4MCSiQJubzzy4bKoySw9u3kVTX86gmDjiTyC
uQ/mACYoBG+/5/rPej+5tG8y2ZWt8P9hmUamW/JuPMTkCB5v41QwuOUN6v83RVMI
AbazicQQUrO+Xi0YY9OAgj43aqGXK9EXaMs0hirxojRjDY31hLHU5xmDnBjVGtFD
rCKZPoEvkFw+hDJYpTPBlkAPnA8OjsJOcnQ9G5jwIgw/pkJ+MKgqq7kbg84hXv3K
lpWO3rRE0+TsdQ/Hoi00xkZ4/KdExK6P3meD3CbFYR/7fcjry4M3t6YGj222Onp0
0wIDAQAB
-----END PUBLIC KEY-----

View file

@ -1,100 +0,0 @@
{
"label": "::Demo",
"version": "1.0.0",
"description": "::Demo",
"nodes": [
{
"name": "行业",
"engine": "xiang",
"query": {
"select": [
"city",
":COUNT(id) as 数量",
"industries[*](string 50) as industry"
],
"from": "$service",
"wheres": [
{ "field": "created_at", ">": "?:$from.0" },
{ "field": "created_at", "<": "?:$to" }
],
"orders": "数量 desc",
"limit": 100
}
},
{
"name": "计费",
"engine": "xiang",
"query": {
"select": ["city", ":COUNT(id) as 数量", "price_options[*] as option"],
"from": "$service",
"wheres": [
{ "field": "created_at", ">": "?:$from.0" },
{ "field": "created_at", "<": "?:$to" }
],
"orders": "数量 desc",
"limit": 100
}
},
{
"name": "合并结果",
"process": "xiang.helper.ArrayPluck",
"args": [
["城市", "行业", "计费"],
{
"行业": { "key": "city", "value": "数量", "items": "{{$res.行业}}" },
"计费": { "key": "city", "value": "数量", "items": "{{$res.计费}}" }
}
]
}
],
"output": {
"::Merge": "{{$res.合并结果}}",
"::Billing": "{{$res.计费}}",
"::Industry": "{{$res.行业}}",
"::Parameter": "{{$in}}"
},
"apis": {
"data": {
"disable": false,
"guard": "-",
"default": [{ "from": "1980-01-02", "to": "2050-12-31" }]
},
"setting": { "disable": false, "guard": "-" }
},
"filters": {
"::Start": {
"label": "::Start",
"bind": "from",
"input": {
"type": "date",
"props": {
"placeholder": "::Please select a start time"
}
}
},
"::End": {
"label": "::End",
"bind": "to",
"input": {
"type": "date",
"props": {
"placeholder": "::Please select an end time"
}
}
}
},
"page": {
"primary": "::City",
"layout": {
"filters": [
{ "name": "::Start", "width": 6 },
{ "name": "::End", "width": 6 }
],
"charts": [
{ "type": "line", "props": {} },
{ "type": "bar", "props": {} }
]
},
"actions": {}
}
}

View file

@ -1,104 +0,0 @@
{
"label": "指标对比",
"version": "1.0.0",
"description": "指标对比用于测试",
"nodes": [
{
"name": "行业",
"engine": "xiang",
"query": {
"debug": false,
"select": [
"city",
":COUNT(id) as 数量",
"industries[*](string 50) as industry"
],
"from": "$service",
"wheres": [
{ "field": "created_at", ">": "?:$from.0" },
{ "field": "created_at", "<": "?:$to" }
],
"orders": "数量 desc",
"limit": 100
}
},
{
"name": "计费",
"engine": "xiang",
"query": {
"select": ["city", ":COUNT(id) as 数量", "price_options[*] as option"],
"from": "$service",
"wheres": [
{ "field": "created_at", ">": "?:$from.0" },
{ "field": "created_at", "<": "?:$to" }
],
"orders": "数量 desc",
"limit": 100
}
},
{
"name": "合并结果",
"process": "xiang.helper.ArrayPluck",
"args": [
["城市", "行业", "计费"],
{
"行业": { "key": "city", "value": "数量", "items": "{{$res.行业}}" },
"计费": { "key": "city", "value": "数量", "items": "{{$res.计费}}" }
}
]
}
],
"output": {
"合并": "{{$res.合并结果}}",
"计费": "{{$res.计费}}",
"行业": "{{$res.行业}}",
"参数": "{{$in}}"
},
"apis": {
"data": {
"disable": false,
"guard": "-",
"default": [{ "from": "1980-01-02", "to": "2050-12-31" }]
},
"setting": {
"disable": false,
"guard": "-"
}
},
"filters": {
"开始时间": {
"label": "开始时间",
"bind": "from",
"input": {
"type": "date",
"props": {
"placeholder": "请选择开始时间"
}
}
},
"结束时间": {
"label": "结束时间",
"bind": "to",
"input": {
"type": "date",
"props": {
"placeholder": "请选择结束时间"
}
}
}
},
"page": {
"primary": "城市",
"layout": {
"filters": [
{ "name": "开始时间", "width": 6 },
{ "name": "结束时间", "width": 6 }
],
"charts": [
{ "type": "line", "props": {} },
{ "type": "bar", "props": {} }
]
},
"actions": {}
}
}

View file

@ -1,4 +0,0 @@
function main(args, out, res) {
console.log(args, out, res);
return out;
}

View file

@ -1,8 +0,0 @@
SELECT * FROM service as service
JOIN JSON_TABLE(service.price_options, '$[*]' columns (price varchar(50) path '$') ) as t group by price
/**
[mysqld]
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
*/

View file

@ -1,56 +0,0 @@
{
"label": "指标对比",
"version": "1.0.0",
"description": "指标对比用于测试",
"nodes": [{ "name": "ID", "process": "session.Get", "args": ["id"] }],
"output": {
"ID": "{{$res.ID}}"
},
"apis": {
"data": {
"disable": false,
"guard": "-",
"default": [{ "from": "1980-01-02", "to": "2050-12-31" }]
},
"setting": {
"disable": false,
"guard": "-"
}
},
"filters": {
"开始时间": {
"label": "开始时间",
"bind": "from",
"input": {
"type": "date",
"props": {
"placeholder": "请选择开始时间"
}
}
},
"结束时间": {
"label": "结束时间",
"bind": "to",
"input": {
"type": "date",
"props": {
"placeholder": "请选择结束时间"
}
}
}
},
"page": {
"primary": "城市",
"layout": {
"filters": [
{ "name": "开始时间", "width": 6 },
{ "name": "结束时间", "width": 6 }
],
"charts": [
{ "type": "line", "props": {} },
{ "type": "bar", "props": {} }
]
},
"actions": {}
}
}

View file

@ -1,18 +0,0 @@
{
"LANG": "1.0.0",
"VERSION": "1.0.0",
"label": "Mongo TEST",
"type": "mongo",
"options": {
"db": "test",
"hosts": [
{
"host": "$ENV.MONGO_TEST_HOST",
"port": "$ENV.MONGO_TEST_PORT",
"user": "$ENV.MONGO_TEST_USER",
"pass": "$ENV.MONGO_TEST_PASS"
}
],
"params": { "maxPoolSize": 20, "w": "majority" }
}
}

View file

@ -1,27 +0,0 @@
{
"LANG": "1.0.0",
"VERSION": "1.0.0",
"label": "MySQL 8.0 TEST",
"type": "mysql",
"version": "8.0.26",
"options": {
"db": "test",
"charset": "utf8mb4",
"parseTime": true,
"hosts": [
{
"host": "$ENV.MYSQL_TEST_HOST",
"port": "$ENV.MYSQL_TEST_PORT",
"user": "$ENV.MYSQL_TEST_USER",
"pass": "$ENV.MYSQL_TEST_PASS",
"primary": true
},
{
"host": "$ENV.MYSQL_TEST_HOST",
"port": "$ENV.MYSQL_TEST_PORT",
"user": "$ENV.MYSQL_TEST_USER",
"pass": "$ENV.MYSQL_TEST_PASS"
}
]
}
}

View file

@ -1,13 +0,0 @@
{
"LANG": "1.0.0",
"VERSION": "1.0.0",
"label": "Redis TEST",
"type": "redis",
"options": {
"host": "$ENV.REDIS_TEST_HOST",
"port": "$ENV.REDIS_TEST_PORT",
"user": "$ENV.REDIS_TEST_USER",
"pass": "$ENV.REDIS_TEST_PASS",
"db": "1"
}
}

View file

@ -1,9 +0,0 @@
{
"LANG": "1.0.0",
"VERSION": "1.0.0",
"label": "SQLite TEST",
"type": "sqlite3",
"options": {
"file": "$ENV.SQLITE_DB"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 679 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 667 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 667 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View file

@ -1 +0,0 @@
文件上传

Binary file not shown.

View file

@ -1,5 +0,0 @@
订单号,姓名,手机,性别,年龄,商品名称,数量,单价,总价,备注
SN202101120018,张三,13211000011,,26,彩绘湖北地图,3,65.5,196.5,
,李四,13211000011,,42,景祐遁甲符应经,1,34.8,34.8,
SN202101120019,王二麻子,13410001998,,51,太极先天后天三图说,1,24.35,72.85,孔夫子二手交易
SN202101120019,王二麻子,13410001998,,51,五要奇书,1,48.5,72.85,孔夫子二手交易
1 订单号 姓名 手机 性别 年龄 商品名称 数量 单价 总价 备注
2 SN202101120018 张三 13211000011 26 彩绘湖北地图 3 65.5 196.5
3 李四 13211000011 42 景祐遁甲符应经 1 34.8 34.8
4 SN202101120019 王二麻子 13410001998 51 太极先天后天三图说 1 24.35 72.85 孔夫子二手交易
5 SN202101120019 王二麻子 13410001998 51 五要奇书 1 48.5 72.85 孔夫子二手交易

Binary file not shown.

View file

@ -1,58 +0,0 @@
{
"guard": "bearer-jwt",
"title": "应用表单",
"sn": "AP1024",
"orign": "手机应用",
"columns": [
{
"name": "门店",
"field": "store_id",
"searchable": true,
"props": {
"value": ":store_id",
"type": "SelectStore",
"title": "门店",
"placeholder": "请选择门店",
"validation": [
{ "type": "Required" },
{ "type": "StoreStatus", "args": [":store_id"] }
]
}
},
{
"name": "订单数量",
"field": "orders_amount",
"searchable": true,
"props": {
"value": ":orders_amount",
"type": "Number",
"title": "订单数量",
"placeholder": "今日订单数量",
"computed": "OrderAmount",
"validation": [
{ "type": "Required" },
{ "type": "IsNumber", "args": [":orders_amount"] }
]
}
},
{
"name": "账单地址",
"field": "address",
"props": {
"value": ":address",
"type": "Text",
"title": "账单地址",
"placeholder": "填写账单地址",
"validation": [
{ "type": "Required" },
{ "type": "MaxLength", "args": [":address", 200] }
]
}
}
],
"filters": [],
"list-layout": {
"columns": [{ "name": "store_id" }, { "name": "orders_amount" }],
"filters": [{ "name": "订单数量" }]
}
}

View file

@ -1,77 +0,0 @@
{
"guard": "bearer-jwt",
"title": "官网表单",
"sn": "AP2048",
"orign": "官方网站",
"columns": [
{
"name": "门店",
"field": "store_id",
"searchable": true,
"props": {
"value": ":store_id",
"type": "SelectStore",
"title": "门店",
"placeholder": "请选择门店",
"validation": [
{ "type": "Required" },
{ "type": "StoreStatus", "args": [":store_id"] }
]
}
},
{
"name": "订单数量",
"field": "orders_amount",
"searchable": true,
"props": {
"value": ":orders_amount",
"type": "Number",
"title": "订单数量",
"placeholder": "今日订单数量",
"computed": "OrderAmount",
"validation": [
{ "type": "Required" },
{ "type": "IsNumber", "args": [":orders_amount"] }
]
}
},
{
"name": "账单地址",
"field": "address",
"props": {
"value": ":address",
"type": "Text",
"title": "账单地址",
"placeholder": "填写账单地址",
"validation": [
{ "type": "Required" },
{ "type": "MaxLength", "args": [":address", 200] }
]
}
}
],
"filters": [
{
"订单数量": {
"label": "订单数量超过",
"bind": "where.orders_amount.ge",
"type": "Select",
"props": {
"placeholder": "订单数量",
"options": [
{ "label": "大于100", "value": 100 },
{ "label": "大于50", "value": 50 }
]
}
}
}
],
"list-layout": {
"columns": [
{ "name": "store_id" },
{ "name": "orders_amount" },
{ "name": "address" }
],
"filters": [{ "name": "订单数量" }]
}
}

View file

@ -1,43 +0,0 @@
{
"label": "审批驳回并重置状态",
"version": "1.0.0",
"description": "审批驳回并重置状态",
"nodes": [
{
"name": "当前用户",
"process": "session.Get",
"args": ["user"]
},
{
"name": "工作流",
"process": "xiang.workflow.Save",
"args": [
"{{$res.当前用户.id}}",
"{{$name}}",
"{{$node}}",
"{{$id}}",
"{{$input}}"
]
},
{
"name": "审批驳回",
"process": "xiang.workflow.Next",
"args": [
"{{$res.当前用户.id}}",
"{{$res.工作流.id}}",
{ "审批状态": "驳回", "驳回原因": "{{$input.reason}}" }
]
},
{
"name": "重置工作流",
"process": "xiang.workflow.Goto",
"args": [
"{{$res.当前用户.id}}",
"{{$res.工作流.id}}",
"选择商务负责人",
{}
]
}
],
"output": "{{$res.重置工作流}}"
}

View file

@ -1,38 +0,0 @@
{
"label": "审批驳回并关闭流程",
"version": "1.0.0",
"description": "审批驳回并关闭流程",
"nodes": [
{
"name": "当前用户",
"process": "session.Get",
"args": ["user"]
},
{
"name": "工作流",
"process": "xiang.workflow.Save",
"args": [
"{{$res.当前用户.id}}",
"{{$name}}",
"{{$node}}",
"{{$id}}",
"{{$input}}"
]
},
{
"name": "审批驳回",
"process": "xiang.workflow.Next",
"args": [
"{{$res.当前用户.id}}",
"{{$res.工作流.id}}",
{ "审批状态": "驳回", "驳回原因": "{{$input.reason}}" }
]
},
{
"name": "关闭流程",
"process": "xiang.workflow.Status",
"args": ["{{$res.工作流.id}}", "已关闭"]
}
],
"output": "{{$res.关闭流程}}"
}

View file

@ -1,33 +0,0 @@
{
"label": "指派信息审批通过",
"version": "1.0.0",
"description": "指派信息审批通过",
"nodes": [
{
"name": "当前用户",
"process": "session.Get",
"args": ["user"]
},
{
"name": "工作流",
"process": "xiang.workflow.Save",
"args": [
"{{$res.当前用户.id}}",
"{{$name}}",
"{{$node}}",
"{{$id}}",
"{{$input}}"
]
},
{
"name": "审批通过",
"process": "xiang.workflow.Next",
"args": [
"{{$res.当前用户.id}}",
"{{$res.工作流.id}}",
{ "审批状态": "通过" }
]
}
],
"output": "{{$res.审批通过}}"
}

View file

@ -1,24 +0,0 @@
{
"label": "保存指派信息",
"version": "1.0.0",
"description": "保存指派信息",
"nodes": [
{
"name": "当前用户",
"process": "session.Get",
"args": ["user"]
},
{
"name": "工作流",
"process": "xiang.workflow.Save",
"args": [
"{{$res.当前用户.id}}",
"{{$name}}",
"{{$node}}",
"{{$id}}",
"{{$input}}"
]
}
],
"output": "{{$res.工作流}}"
}

View file

@ -1,29 +0,0 @@
{
"label": "提交指派信息",
"version": "1.0.0",
"description": "提交指派信息",
"nodes": [
{
"name": "当前用户",
"process": "session.Get",
"args": ["user"]
},
{
"name": "工作流",
"process": "xiang.workflow.Save",
"args": [
"{{$res.当前用户.id}}",
"{{$name}}",
"{{$node}}",
"{{$id}}",
"{{$input}}"
]
},
{
"name": "提交审批",
"process": "xiang.workflow.Next",
"args": ["{{$res.当前用户.id}}", "{{$res.工作流.id}}"]
}
],
"output": "{{$res.关闭流程}}"
}

View file

@ -1,29 +0,0 @@
{
"label": "关闭流程",
"version": "1.0.0",
"description": "关闭流程",
"nodes": [
{
"name": "当前用户",
"process": "session.Get",
"args": ["user"]
},
{
"name": "工作流",
"process": "xiang.workflow.Save",
"args": [
"{{$res.当前用户.id}}",
"{{$name}}",
"{{$node}}",
"{{$id}}",
"{{$input}}"
]
},
{
"name": "关闭流程",
"process": "xiang.workflow.Status",
"args": ["{{$res.当前用户.id}}", "{{$res.工作流.id}}", "已关闭"]
}
],
"output": "{{$res.关闭流程}}"
}

View file

@ -1,13 +0,0 @@
{
"label": "性能测试",
"version": "1.0.0",
"description": "性能测试",
"nodes": [
{
"name": "性能测试",
"process": "xiang.helper.Return",
"args": [1, 2, 3]
}
],
"output": "{{$res.性能测试}}"
}

View file

@ -1,13 +0,0 @@
{
"label": "性能测试",
"version": "1.0.0",
"description": "性能测试",
"nodes": [
{
"name": "性能测试",
"process": "scripts.time.now",
"args": [1, 2, 3]
}
],
"output": "{{$res.性能测试}}"
}

View file

@ -1,18 +0,0 @@
{
"label": "当前用户",
"version": "1.0.0",
"description": "读取当前用户",
"nodes": [
{
"name": "用户",
"process": "session.Get",
"args": ["user"]
},
{
"name": "ID",
"process": "xiang.helper.MapGet",
"args": ["{{$res.用户}}", "ID"]
}
],
"output": 1
}

View file

@ -1,61 +0,0 @@
{
"label": "Auto Login",
"version": "1.0.0",
"description": "Auto Login for demo",
"nodes": [
{
"name": "User",
"process": "models.xiang.user.Get",
"args": [
{
"select": ["id", "email", "name", "type"],
"wheres": [{ "column": "id", "value": 1 }],
"limit": 1
}
]
},
{
"name": "Menu",
"process": "flows.xiang.menu",
"args": ["{{$res.User.0.id}}"]
},
{
"name": "SID",
"process": "session.start"
},
{
"name": "JWT",
"process": "xiang.helper.JWTMake",
"args": [
"{{$res.User.0.id}}",
{},
{
"timeout": 3600,
"sid": "{{$res.SID}}"
}
]
},
{
"name": "Set User",
"process": "session.set",
"args": ["user", "{{$res.User.0}}"]
},
{
"name": "Set issuer",
"process": "session.set",
"args": ["issuer", "xiang"]
},
{
"name": "Set User ID",
"process": "session.set",
"args": ["user_id", "{{$res.User.0.id}}"]
}
],
"output": {
"sid": "{{$res.SID}}",
"user": "{{$res.User.0}}",
"menus": "{{$res.Menu}}",
"token": "{{$res.JWT.token}}",
"expires_at": "{{$res.JWT.expires_at}}"
}
}

View file

@ -1,13 +0,0 @@
{
"label": "Auto Login",
"version": "1.0.0",
"description": "Auto Login for demo",
"nodes": [
{
"name": "User",
"process": "flows.demo.admin",
"args": []
}
],
"output": "{{$res.User.token}}"
}

View file

@ -1,19 +0,0 @@
{
"label": "最新信息",
"version": "1.0.0",
"description": "最新信息",
"nodes": [
{
"name": "user",
"engine": "xiang",
"query": {
"select": ["id", "name"],
"from": "$user",
"first": true
}
}
],
"output": {
"params": "{{$in}}"
}
}

View file

@ -1,13 +0,0 @@
{
"label": "HexToString",
"version": "1.0.0",
"description": "HexToString",
"nodes": [
{
"name": "Value",
"process": "xiang.helper.HexToString",
"args": ["ab"]
}
],
"output": "{{$res.Value}}"
}

View file

@ -1,13 +0,0 @@
{
"label": "After:Find",
"version": "1.0.0",
"description": "After:Find",
"nodes": [
{
"name": "结果",
"process": "xiang.helper.MapSet",
"args": ["{{$in.0}}", "after", 100]
}
],
"output": "{{$res.结果}}"
}

View file

@ -1,7 +0,0 @@
{
"label": "After:Save",
"version": "1.0.0",
"description": "After:Save",
"nodes": [],
"output": { "id": "{{$in.0}}", "after": 100 }
}

View file

@ -1,13 +0,0 @@
{
"label": "After:Search",
"version": "1.0.0",
"description": "After:Search",
"nodes": [
{
"name": "结果",
"process": "xiang.helper.MapSet",
"args": ["{{$in.0}}", "after", 100]
}
],
"output": "{{$res.结果}}"
}

View file

@ -1,13 +0,0 @@
{
"label": "After:Select",
"version": "1.0.0",
"description": "After:Select",
"nodes": [
{
"name": "结果",
"process": "xiang.helper.ArrayMapSet",
"args": ["{{$in.0}}", "after", 100]
}
],
"output": "{{$res.结果}}"
}

View file

@ -1,7 +0,0 @@
{
"label": "Before:Find",
"version": "1.0.0",
"description": "Before:Find",
"nodes": [],
"output": [1, {}]
}

View file

@ -1,15 +0,0 @@
{
"label": "Before:Save",
"version": "1.0.0",
"description": "Before:Save",
"nodes": [],
"output": [
{
"name": "腾讯黑岩云主机",
"short_name": "高性能云主机",
"kind_id": 3,
"manu_id": 1,
"price_options": "按月订阅"
}
]
}

View file

@ -1,7 +0,0 @@
{
"label": "Before:Search",
"version": "1.0.0",
"description": "Before:Search",
"nodes": [],
"output": [{ "wheres": [{ "column": "status", "value": "enabled" }] }, 1, 2]
}

View file

@ -1,7 +0,0 @@
{
"label": "Before:Select",
"version": "1.0.0",
"description": "Before:Select",
"nodes": [],
"output": ["腾讯", "name", "id"]
}

View file

@ -1,17 +0,0 @@
{
"label": "会话测试",
"version": "1.0.0",
"description": "Before:Select",
"nodes": [
{
"name": "会话数据",
"process": "session.Dump"
},
{
"name": "打印数据",
"process": "xiang.helper.Print",
"args": ["会话数据:", "{{$res.会话数据}}"]
}
],
"output": "{{$in}}"
}

View file

@ -1,6 +0,0 @@
function main(args, out, res) {
return {
args: args,
plugin: res.github.name,
};
}

View file

@ -1,73 +0,0 @@
{
"label": "最新信息",
"version": "1.0.0",
"description": "最新信息",
"nodes": [
{
"name": "manus",
"process": "models.manu.get",
"args": [
{
"select": ["id", "name", "short_name"],
"limit": 20,
"orders": [{ "column": "created_at", "option": "desc" }],
"wheres": [
{ "column": "status", "value": "enabled" },
{ "column": "name", "value": "{{$in.0}}", "op": "like" }
]
}
],
"script": "rank",
"outs": ["{{$out.manus}}", "{{$out.manu_ids}}"]
},
{
"name": "users",
"process": "models.user.paginate",
"args": [
{
"select": ["id", "name", "extra", "resume"],
"withs": {
"manu": { "query": { "select": ["name", "short_name"] } },
"addresses": {
"query": { "select": ["province", "city", "location"] }
}
},
"orders": [{ "column": "created_at", "option": "desc" }],
"wheres": [
{ "column": "status", "value": "enabled" },
{ "column": "manu_id", "value": "{{$res.manus.1}}", "op": "in" }
]
},
1,
20
],
"outs": ["{{$out.data}}"]
},
{
"name": "github",
"process": "plugins.user.github",
"args": [
"{{$res.users.0}}",
"{{$res.manus}}",
"{{$in.0}}",
"{{$in.1}}",
"{{$in.2}}",
"{{pluck(:$res.users, 'id', 0.618, 10)}}",
"foo",
1
]
},
{
"name": "count",
"script": "count"
}
],
"output": {
"params": "{{$in}}",
"data": {
"manus": "{{$res.manus.0}}",
"users": "{{$res.users.0}}",
"count": "{{$res.count}}"
}
}
}

View file

@ -1,18 +0,0 @@
// 结果集处理脚本
function main(args, manus, data) {
// 解析厂商ID
var manu_ids = [];
for (var i in manus) {
var id = manus[i].id;
if (id) {
manu_ids.push(id);
}
}
// 处理返回结果
var res = {
manus: manus,
manu_ids: manu_ids,
};
return res;
}

View file

@ -1,7 +0,0 @@
{
"label": "读取RFID标签",
"version": "1.0.0",
"description": "读取RFID标签",
"nodes": [{ "script": "print" }],
"output": null
}

View file

@ -1,11 +0,0 @@
function main(args, out, res) {
// 100000012021128798321101 15 2d 02 f2 96 72 1e 52 b9 cd
var idstr = args[0] || "";
var len = idstr.length;
if (len != 36) {
return;
}
id = BigInt("0x" + idstr.substring(8, len - 8).toUpperCase()).toString(10);
console.log(id);
}

View file

@ -1,19 +0,0 @@
{
"label": "选择管理者",
"version": "1.0.0",
"description": "选择管理者",
"nodes": [
{
"name": "负责人",
"engine": "xiang",
"query": {
"select": ["id"],
"from": "$xiang.user",
"wheres": [{ ":type": "类型", "=": "staff" }],
"first": true
},
"orders": [":RAND()"]
}
],
"output": "{{$in.0}}"
}

View file

@ -1,7 +0,0 @@
{
"label": "a chat Websocket process",
"version": "1.0.0",
"description": "a chat Websocket process",
"nodes": [],
"output": "{{$in.0}}"
}

File diff suppressed because it is too large Load diff

View file

@ -1,10 +0,0 @@
{
"mapping": {
"name": "name",
"short_name": "smalltitle",
"rank": "priority"
},
"option": {
"strict": true
}
}

View file

@ -1,83 +0,0 @@
{
"title": "导入订单数据",
"process": "scripts.rules.ImportData",
"columns": [
{
"label": "订单号",
"name": "order_sn",
"match": ["订单号", "订单", "order_sn", "id"],
"rules": ["scripts.rules.order_sn"],
"primary": true
},
{
"label": "用户",
"name": "user.name",
"match": ["用户名称", "姓名", "user_id"],
"rules": ["scripts.rules.FmtUser"],
"nullable": true
},
{
"label": "性别",
"name": "user.sex",
"match": ["性别", "gender", "sex"],
"rules": [],
"nullable": true
},
{
"label": "年龄",
"name": "user.age",
"match": ["年龄", "age"],
"rules": [],
"nullable": true
},
{
"label": "手机号",
"name": "mobile",
"match": ["手机号", "手机", "mobile"],
"rules": ["scripts.rules.mobile"]
},
{
"label": "商品",
"name": "skus[*].name",
"match": ["商品", "商品名称", "goods", "skus", "sku_id", "goods_id"],
"rules": ["scripts.rules.FmtGoods"]
},
{
"label": "数量",
"name": "skus[*].amount",
"match": ["数量", "amount"],
"rules": ["scripts.rules.FmtGoods"]
},
{
"label": "单价",
"name": "skus[*].price",
"match": ["单价", "price", "价格"],
"rules": ["scripts.rules.FmtGoods"]
},
{
"label": "总价",
"name": "total",
"match": ["总价", "total", "total_price"],
"rules": ["scripts.rules.FmtGoods"]
},
{
"label": "备注",
"name": "remark",
"match": []
}
],
"option": {
"autoMatching": true,
"chunkSize": 3,
"logging": "error",
"mappingPreview": "auto",
"dataPreview": "auto",
"templateLink": "/somelinke/download/xxx"
},
"rules": {
"scripts.rules.order_sn": "订单号验证",
"scripts.rules.mobile": "手机号验证",
"scripts.rules.FmtUser": "用户数据匹配验证",
"scripts.rules.FmtGoods": "商品数据匹配验证"
}
}

View file

@ -1 +0,0 @@
Latest: 最新信息

View file

@ -1,7 +0,0 @@
Demo: 演示
Phone: 电话号码
ZipCode: 邮政编码
Uptime: 更新时间
Action: 动作
Yao: YAO
Xiang: 象传

View file

@ -1 +0,0 @@
SN: 编码

View file

@ -1,10 +0,0 @@
ID: 序号
SN: 编码
Name: 姓名
Kind: 类型
Cat:
Dog:
Description: 介绍
Keywords: 关键词
Please input the SN: 请输入编码
type the keywords...: 关键词...

View file

@ -1,10 +0,0 @@
Start: 開始時間
End: 結束時間
City: 城市
Please select a start time: 請選擇開始時間
Please select an end time: 請選擇結束時間
Industry: 行業
Billing: 計費
Merge Reulst: 合併結果
Parameter: 參數
Merge: 合併

View file

@ -1 +0,0 @@
Latest: 最新信息

View file

@ -1,7 +0,0 @@
Demo: 演示
Phone: 電話號碼
ZipCode: 郵政編碼
Uptime: 更新時間
Action: 動作
Yao: YAO
Xiang: 像傳

View file

@ -1 +0,0 @@
SN: 編碼

View file

@ -1,10 +0,0 @@
Start: 開始時間
End: 結束時間
City: 城市
Please select a start time: 請選擇開始時間
Please select an end time: 請選擇結束時間
Industry: 行業
Billing: 計費
Merge Reulst: 合併結果
Parameter: 參數
Merge: 合併

View file

@ -1,10 +0,0 @@
ID: 序號
SN: 編碼
Name: 姓名
Kind: 類型
Description: 介绍
Keywords: 關鍵詞
Cat:
Dog:
Please input the SN: 請輸入編碼
type the keywords...: 關鍵詞...

View file

@ -1,14 +0,0 @@
{
"保存": {
"type": "button",
"props": {
"label": "保存"
}
},
"删除": {
"type": "button",
"props": {
"label": "保存"
}
}
}

View file

@ -1,5 +0,0 @@
{
"Search": {
"default": [null, null, "{{$in.0}}"]
}
}

View file

@ -1,51 +0,0 @@
{
"保存": {
"type": "button",
"props": {
"label": "保存",
"api": "/api/xiang/workflow/assign/save"
}
},
"提交": {
"type": "button",
"props": {
"label": "提交",
"api": "/api/xiang/workflow/assign/submit"
}
},
"同意": {
"type": "button",
"props": {
"label": "同意",
"api": "/api/xiang/workflow/assign/resolve"
}
},
"驳回并重填": {
"type": "button",
"props": {
"label": "驳回并重填",
"api": "/api/xiang/workflow/assign/reject/reset"
}
},
"驳回并关闭": {
"type": "button",
"props": {
"label": "驳回并关闭",
"api": "/api/xiang/workflow/assign/reject/reset"
}
},
"审批同意": {
"type": "button",
"props": {
"label": "审批同意",
"api": "/api/xiang/workflow/assign/terminal"
}
},
"关闭": {
"type": "button",
"props": {
"label": "关闭",
"api": "/api/xiang/workflow/terminal"
}
}
}

View file

@ -1,67 +0,0 @@
{
"Label": {
"__comment": "column.Lable('ID',':id')",
"label": "{{$in.0}}",
"view": {
"props": {
"value": "{{$in.1}}"
}
}
},
"Image": {
"__comment": "column.Image('图标',':icon', 40)",
"label": "{{$in.0}}",
"view": {
"type": "image",
"props": {
"value": "{{$in.1}}",
"width": "{{$in.2}}",
"height": "{{$in.2}}"
}
},
"edit": {
"type": "upload",
"props": {
"value": "{{$in.1}}",
"filetype": "image",
"multiple": false,
"maxCount": 1
}
}
},
"创建时间": {
"__comment": "column.创建时间",
"label": "创建时间",
"view": {
"name": "label",
"props": {
"value": ":created_at",
"format": "YYYY年MM月DD日 @hh:mm:ss"
}
}
},
"商务负责人": {
"label": "商务负责人",
"view": {
"name": "label",
"props": {
"value": ":kind.name"
}
},
"edit": {
"type": "select",
"props": {
"value": ":kind.id",
"tree": true,
"searchable": true,
"remote": {
"api": "/api/kind/tree",
"query": {
"select": ["id", "name"],
"keyword": "where_name_like"
}
}
}
}
}
}

View file

@ -1,47 +0,0 @@
{
"关键词": {
"__comment": "filter.关键词('where.name.match')",
"label": "关键词",
"bind": "{{$in.0}}",
"input": {
"type": "input",
"props": {
"placeholder": "请输入关键词"
}
}
},
"排序": {
"__comment": "filter.排序()",
"label": "排序方式",
"bind": "order",
"input": {
"type": "select",
"props": {
"placeholder": "排序方式",
"options": [
{ "label": "手动顺序", "value": "rank" },
{ "label": "最近更新", "value": "updated_at.desc" },
{ "label": "最近创建", "value": "created_at.desc" }
]
}
}
},
"客户状态": {
"__comment": "filter.客户状态()",
"label": "状态",
"bind": "where.status.in",
"input": {
"type": "select",
"props": {
"placeholder": "选择厂商状态",
"mode": "multiple",
"options": [
{ "value": "已注册" },
{ "value": "待收录" },
{ "value": "待审核" },
{ "value": "已禁用" }
]
}
}
}
}

View file

@ -1,16 +0,0 @@
{
"Page": {
"primary": "{{$in.0}}",
"layout": {
"filters": [
{ "name": "开始时间", "width": 6 },
{ "name": "结束时间", "width": 6 }
],
"charts": [
{ "type": "line", "props": {} },
{ "type": "bar", "props": {} }
]
},
"actions": {}
}
}

View file

@ -1,10 +0,0 @@
{
"Image": {
"type": "image",
"props": {
"value": "{{$in.0}}",
"width": "{{$in.1}}",
"height": "{{$in.2}}"
}
}
}

View file

@ -1,79 +0,0 @@
{
"name": "地址",
"table": {
"name": "address",
"comment": "地址表",
"engine": "InnoDB"
},
"columns": [
{ "name": "id", "type": "ID" },
{
"label": "用户",
"name": "user_id",
"type": "bigInteger",
"comment": "所属用户",
"index": true
},
{
"label": "省份",
"name": "province",
"type": "string",
"length": 200,
"comment": "省份",
"index": true
},
{
"label": "城市",
"name": "city",
"type": "string",
"length": 200,
"comment": "城市",
"index": true
},
{
"label": "地址",
"name": "location",
"type": "string",
"length": 400,
"comment": "详细地址",
"index": true
},
{
"label": "状态",
"name": "status",
"type": "enum",
"default": "enabled",
"option": ["enabled", "disabled"],
"comment": "状态 enabled 开启, disabled 关闭",
"index": true
}
],
"relations": {},
"option": { "timestamps": true, "soft_deletes": true },
"values": [
{
"user_id": 1,
"province": "北京市",
"city": "丰台区",
"location": "银海星月9号楼9单元9层1024室"
},
{
"user_id": 1,
"province": "北京市",
"city": "丰台区",
"location": "北京国家数字出版基地A103"
},
{
"user_id": 2,
"province": "北京市",
"city": "海淀区",
"location": "华严北里7号楼7单元7层2048室"
},
{
"user_id": 3,
"province": "山东省",
"city": "威海市",
"location": "威海市6号楼6单元6层1056室"
}
]
}

View file

@ -1,230 +0,0 @@
{
"name": "客户",
"table": {
"name": "customer",
"comment": "客户表",
"engine": "InnoDB"
},
"columns": [
{
"label": "ID",
"name": "id",
"type": "ID",
"comment": "ID"
},
{
"label": "来源",
"name": "channel_id",
"type": "bigInteger",
"comment": "客户来源"
},
{
"label": "公司名称",
"name": "name",
"type": "string",
"length": 200,
"comment": "公司全称",
"unique": true
},
{
"label": "公司简称",
"name": "short_name",
"type": "string",
"length": 200,
"comment": "简称",
"nullable": true,
"index": true
},
{
"name": "credit_no",
"type": "string",
"length": 200,
"comment": "统一社会信用代码",
"nullable": true,
"unique": true
},
{
"name": "oper_name",
"type": "string",
"length": 50,
"comment": "法人代表",
"nullable": true,
"index": true
},
{
"label": "注册资本(万元)",
"name": "reg_capi",
"type": "integer",
"comment": "注册资本(万元)",
"nullable": true,
"index": true
},
{
"label": "注册时间",
"name": "opened_at",
"type": "date",
"comment": "注册时间",
"nullable": true,
"index": true
},
{
"label": "省份",
"name": "province",
"type": "string",
"length": 50,
"comment": "总部所在省份",
"nullable": true,
"index": true
},
{
"label": "城市",
"name": "city",
"type": "string",
"length": 100,
"comment": "总部所在城市",
"nullable": true,
"index": true
},
{
"label": "地址",
"name": "address",
"type": "string",
"length": 255,
"comment": "总部地址",
"nullable": true,
"index": true
},
{
"label": "经度",
"name": "lng",
"type": "unsignedDecimal",
"precision": 12,
"scale": 6,
"comment": "经度",
"nullable": true,
"index": true
},
{
"label": "纬度",
"name": "lat",
"type": "unsignedDecimal",
"comment": "纬度",
"precision": 12,
"scale": 6,
"nullable": true,
"index": true
},
{
"label": "经营状态",
"name": "company_status",
"type": "string",
"length": 255,
"comment": "经营状态",
"nullable": true,
"index": true
},
{
"label": "LOGO",
"name": "logo",
"type": "json",
"comment": "LOGO",
"nullable": true
},
{
"label": "简介",
"name": "summary",
"type": "string",
"length": 600,
"comment": "简介",
"nullable": true,
"index": true
},
{
"label": "官网",
"name": "link",
"type": "string",
"length": 200,
"comment": "官网地址",
"nullable": true
},
{
"label": "联系人",
"name": "contact_name",
"type": "string",
"length": 200,
"comment": "联系人姓名",
"nullable": true,
"index": true
},
{
"label": "联系人职务",
"name": "contact_title",
"type": "string",
"length": 200,
"comment": "联系人职务",
"nullable": true,
"index": true
},
{
"label": "联系电话",
"name": "contact_mobile",
"type": "string",
"comment": "联系电话",
"nullable": true,
"index": true
},
{
"label": "联系微信",
"name": "contact_wechat",
"type": "string",
"comment": "联系微信",
"nullable": true,
"index": true
},
{
"label": "介绍",
"name": "desc",
"type": "text",
"comment": "介绍",
"nullable": true
},
{
"label": "领域",
"name": "fields",
"type": "json",
"comment": "服务领域(多选)",
"nullable": true,
"index": true
},
{
"label": "行业",
"name": "industries",
"type": "json",
"comment": "行业覆盖(多选)",
"nullable": true,
"index": true
},
{
"label": "标签",
"name": "tags",
"type": "json",
"comment": "标签(多选)",
"nullable": true,
"index": true
},
{
"label": "关系",
"name": "relation",
"type": "enum",
"default": "正在接洽",
"option": ["已有合作", "正在接洽", "潜在客户"],
"comment": "合作关系: 已有合作, 正在接洽, 潜在客户",
"index": true
}
],
"relations": {},
"option": {
"timestamps": true,
"soft_deletes": true
}
}

View file

@ -1,35 +0,0 @@
{
"name": "::Demo",
"connector": "trace",
"table": { "name": "user_trace", "comment": "::Demo" },
"columns": [
{ "label": "ID", "name": "id", "type": "ID" },
{
"label": "::SN",
"name": "user_sn",
"type": "string",
"length": 42,
"index": true
},
{
"label": "::Uptime",
"name": "uptime",
"type": "datetime",
"index": true
},
{
"label": "::Action",
"name": "action",
"type": "enum",
"option": ["进入", "离开"],
"index": true
}
],
"indexes": [
{
"name": "user_sn_action_unique",
"type": "unique",
"columns": ["user_sn", "action"]
}
]
}

View file

@ -1,43 +0,0 @@
{
"name": "用户角色",
"table": {
"name": "foo_bar",
"comment": "用户角色关系表",
"engine": "InnoDB"
},
"columns": [
{ "name": "id", "type": "ID" },
{
"label": "用户ID",
"name": "user_id",
"type": "bigInteger",
"comment": "所属用户",
"index": true
},
{
"label": "角色ID",
"name": "role_id",
"type": "bigInteger",
"comment": "角色ID",
"index": true
},
{
"label": "状态",
"name": "status",
"type": "enum",
"default": "enabled",
"option": ["enabled", "disabled"],
"comment": "状态 enabled 开启, disabled 关闭",
"index": true
}
],
"relations": {},
"option": { "timestamps": true, "soft_deletes": true },
"values": [
{ "user_id": 1, "role_id": 1 },
{ "user_id": 1, "role_id": 2 },
{ "user_id": 2, "role_id": 3 },
{ "user_id": 2, "role_id": 4 },
{ "user_id": 3, "role_id": 1 }
]
}

View file

@ -1,62 +0,0 @@
{
"name": "好友",
"table": {
"name": "friends",
"comment": "好友关系表",
"engine": "InnoDB"
},
"columns": [
{ "name": "id", "type": "ID" },
{
"label": "用户ID",
"name": "user_id",
"type": "bigInteger",
"comment": "所属用户",
"index": true
},
{
"label": "好友用户ID",
"name": "friend_id",
"type": "bigInteger",
"comment": "好友用户ID",
"index": true
},
{
"label": "类型",
"name": "type",
"type": "enum",
"default": "monther",
"option": ["monther", "father", "friend"],
"comment": "类型 monther 母亲, father 父亲, friend 朋友",
"index": true
},
{
"label": "状态",
"name": "status",
"type": "enum",
"default": "enabled",
"option": ["enabled", "disabled"],
"comment": "状态 enabled 开启, disabled 关闭",
"index": true
}
],
"relations": {},
"option": { "timestamps": true, "soft_deletes": true },
"values": [
{
"user_id": 1,
"friend_id": 2,
"type": "monther"
},
{
"user_id": 1,
"friend_id": 3,
"type": "father"
},
{
"user_id": 2,
"friend_id": 3,
"type": "friend"
}
]
}

View file

@ -1,589 +0,0 @@
{
"name": "服务类型",
"table": {
"name": "kind",
"comment": "服务类型",
"engine": "InnoDB"
},
"columns": [
{ "name": "id", "type": "ID" },
{
"name": "category_id",
"type": "integer",
"length": 128,
"comment": "gw_category ID(废弃)",
"nullable": true,
"index": true
},
{
"name": "type_id",
"type": "integer",
"length": 128,
"comment": "gw_type ID(废弃)",
"nullable": true,
"index": true
},
{
"name": "name",
"type": "string",
"comment": "名称",
"index": true
},
{
"name": "parent",
"type": "bigInteger",
"length": 128,
"comment": "父类型ID",
"nullable": false,
"default": 0,
"index": true
},
{
"name": "status",
"type": "enum",
"option": ["enabled", "disabled"],
"comment": "状态 enabled 开启, disabled 关闭",
"default": "enabled",
"index": true
},
{
"name": "rank",
"type": "bigInteger",
"length": 128,
"comment": "排序",
"nullable": false,
"default": 9999,
"index": true
}
],
"relations": {
"parent": {
"type": "hasOne",
"key": "parent",
"model": "Kind",
"foreign": "id"
},
"children": {
"type": "hasMany",
"key": "id",
"model": "Kind",
"foreign": "parent"
},
"nodes": {
"type": "treeNodes",
"key": "id",
"model": "Kind",
"parent": "parent",
"max_level": 256
}
},
"option": { "timestamps": true, "soft_deletes": true },
"values": [
{
"id": 1,
"name": "云服务",
"category_id": null,
"type_id": null,
"rank": 1,
"parent": 0
},
{
"id": 2,
"name": "基础服务",
"category_id": null,
"type_id": null,
"rank": 1,
"parent": 1
},
{
"id": 3,
"name": "云主机",
"category_id": null,
"type_id": 4,
"rank": 1,
"parent": 2
},
{
"id": 4,
"name": "对象存储",
"category_id": null,
"type_id": 5,
"rank": 2,
"parent": 2
},
{
"id": 5,
"name": "云数据库",
"category_id": null,
"type_id": 6,
"rank": 3,
"parent": 2
},
{
"id": 6,
"name": "块存储",
"category_id": null,
"type_id": 7,
"rank": 4,
"parent": 2
},
{
"id": 7,
"name": "应用托管容器",
"category_id": null,
"type_id": 8,
"rank": 5,
"parent": 2
},
{
"id": 8,
"name": "云缓存",
"category_id": null,
"type_id": 9,
"rank": 6,
"parent": 2
},
{
"id": 9,
"name": "本地负载均衡",
"category_id": null,
"type_id": 10,
"rank": 7,
"parent": 2
},
{
"id": 10,
"name": "全局负载均衡",
"category_id": null,
"type_id": 13,
"rank": 8,
"parent": 2
},
{
"id": 11,
"name": "云分发",
"category_id": null,
"type_id": 11,
"rank": 9,
"parent": 2
},
{
"id": 12,
"name": "企业级SaaS",
"category_id": null,
"type_id": 12,
"rank": 10,
"parent": 2
},
{
"id": 13,
"name": "云桌面",
"category_id": null,
"type_id": 14,
"rank": 11,
"parent": 2
},
{
"id": 14,
"name": "云备份",
"category_id": null,
"type_id": 17,
"rank": 12,
"parent": 2
},
{
"id": 15,
"name": "GPU云主机",
"category_id": null,
"type_id": 18,
"rank": 13,
"parent": 2
},
{
"id": 16,
"name": "物理云主机",
"category_id": null,
"type_id": 20,
"rank": 14,
"parent": 2
},
{
"id": 17,
"name": "智能云",
"category_id": 41,
"type_id": null,
"rank": 2,
"parent": 2
},
{
"id": 18,
"name": "软件和开发",
"category_id": null,
"type_id": null,
"rank": 2,
"parent": 0
},
{
"id": 19,
"name": "虚拟化及管理",
"category_id": 59,
"type_id": null,
"rank": 1,
"parent": 18
},
{
"id": 20,
"name": "容器解决方案",
"category_id": 65,
"type_id": null,
"rank": 2,
"parent": 18
},
{
"id": 21,
"name": "微服务解决方案",
"category_id": 76,
"type_id": null,
"rank": 3,
"parent": 18
},
{
"id": 22,
"name": "serverless解决方案",
"category_id": 82,
"type_id": null,
"rank": 4,
"parent": 18
},
{
"id": 23,
"name": "云管理和云运营",
"category_id": null,
"type_id": null,
"rank": 3,
"parent": 0
},
{
"id": 24,
"name": "混合云",
"category_id": null,
"type_id": null,
"rank": 1,
"parent": 23
},
{
"id": 25,
"name": "混合云解决方案",
"category_id": 88,
"type_id": null,
"rank": 1,
"parent": 24
},
{
"id": 26,
"name": "混合云安全",
"category_id": 671,
"type_id": null,
"rank": 2,
"parent": 24
},
{
"id": 27,
"name": "多云管理",
"category_id": 94,
"type_id": null,
"rank": 2,
"parent": 23
},
{
"id": 28,
"name": "金牌运维",
"category_id": 120,
"type_id": null,
"rank": 3,
"parent": 23
},
{
"id": 29,
"name": "研发运营一体化",
"category_id": 443,
"type_id": null,
"rank": 4,
"parent": 23
},
{
"id": 30,
"name": "MSP",
"category_id": 112,
"type_id": null,
"rank": 5,
"parent": 23
},
{
"id": 31,
"name": "安全与保险",
"category_id": null,
"type_id": null,
"rank": 4,
"parent": 0
},
{
"id": 32,
"name": "风险管理",
"category_id": 141,
"type_id": null,
"rank": 1,
"parent": 31
},
{
"id": 33,
"name": "云服务用户数据保护",
"category_id": 152,
"type_id": null,
"rank": 2,
"parent": 31
},
{
"id": 34,
"name": "业务风控",
"category_id": null,
"type_id": null,
"rank": 3,
"parent": 31
},
{
"id": 35,
"name": "内容安全",
"category_id": 159,
"type_id": null,
"rank": 1,
"parent": 34
},
{
"id": 36,
"name": "反交易欺诈",
"category_id": 164,
"type_id": null,
"rank": 2,
"parent": 34
},
{
"id": 37,
"name": "反信贷欺诈",
"category_id": 165,
"type_id": null,
"rank": 3,
"parent": 34
},
{
"id": 38,
"name": "反营销欺诈",
"category_id": 166,
"type_id": null,
"rank": 4,
"parent": 34
},
{
"id": 39,
"name": "反钓鱼欺诈",
"category_id": 167,
"type_id": null,
"rank": 5,
"parent": 34
},
{
"id": 40,
"name": "云主机安全",
"category_id": 184,
"type_id": null,
"rank": 4,
"parent": 31
},
{
"id": 41,
"name": "态势感知",
"category_id": 190,
"type_id": null,
"rank": 5,
"parent": 31
},
{
"id": 42,
"name": "云保险",
"category_id": 272,
"type_id": null,
"rank": 6,
"parent": 31
},
{
"id": 43,
"name": "云网&云边",
"category_id": null,
"type_id": null,
"rank": 5,
"parent": 0
},
{
"id": 44,
"name": "云平台网络能力",
"category_id": 102,
"type_id": null,
"rank": 1,
"parent": 43
},
{
"id": 45,
"name": "SD-WAN",
"category_id": 106,
"type_id": null,
"rank": 2,
"parent": 43
},
{
"id": 46,
"name": "物联网",
"category_id": 234,
"type_id": null,
"rank": 3,
"parent": 43
},
{
"id": 47,
"name": "行业云",
"category_id": null,
"type_id": null,
"rank": 6,
"parent": 0
},
{
"id": 48,
"name": "政务",
"category_id": null,
"type_id": null,
"rank": 1,
"parent": 47
},
{
"id": 49,
"name": "政务云综合水平评估",
"category_id": 215,
"type_id": null,
"rank": 1,
"parent": 48
},
{
"id": 50,
"name": "可信政务云评估",
"category_id": 216,
"type_id": null,
"rank": 2,
"parent": 48
},
{
"id": 51,
"name": "金融",
"category_id": 225,
"type_id": null,
"rank": 2,
"parent": 47
},
{
"id": 52,
"name": "开源治理",
"category_id": null,
"type_id": null,
"rank": 7,
"parent": 0
},
{
"id": 53,
"name": "面向开源用户企业",
"category_id": 196,
"type_id": null,
"rank": 1,
"parent": 52
},
{
"id": 54,
"name": "面向自发开源企业",
"category_id": 202,
"type_id": null,
"rank": 2,
"parent": 52
},
{
"id": 55,
"name": "开源项目评估",
"category_id": 711,
"type_id": null,
"rank": 3,
"parent": 52
},
{
"id": 56,
"name": "开源工具评估",
"category_id": 720,
"type_id": null,
"rank": 4,
"parent": 52
},
{
"id": 57,
"name": "检测平台",
"category_id": null,
"type_id": null,
"rank": 8,
"parent": 0
},
{
"id": 58,
"name": "云主机分级",
"category_id": 371,
"type_id": null,
"rank": 1,
"parent": 57
},
{
"id": 59,
"name": "监管支撑",
"category_id": null,
"type_id": null,
"rank": 9,
"parent": 0
},
{
"id": 60,
"name": "企业上云效果成熟度",
"category_id": 250,
"type_id": null,
"rank": 1,
"parent": 59
},
{
"id": 61,
"name": "综合信用评估",
"category_id": null,
"type_id": null,
"rank": 2,
"parent": 59
},
{
"id": 62,
"name": "云服务企业",
"category_id": 261,
"type_id": null,
"rank": 1,
"parent": 61
},
{
"id": 63,
"name": "CDN服务企业",
"category_id": 271,
"type_id": null,
"rank": 2,
"parent": 61
}
]
}

View file

@ -1,125 +0,0 @@
{
"name": "厂商",
"table": {
"name": "manu",
"comment": "厂商表",
"engine": "InnoDB"
},
"columns": [
{ "name": "id", "type": "ID" },
{
"label": "名称",
"name": "name",
"type": "string",
"length": 200,
"comment": "全称",
"unique": true
},
{
"label": "简称",
"name": "short_name",
"type": "string",
"length": 200,
"comment": "简称",
"index": true
},
{
"label": "类型",
"name": "type",
"type": "enum",
"option": ["服务商", "采购商", "其他"],
"comment": "厂商类型 服务商, 采购商, 其他",
"default": "服务商",
"index": true
},
{
"label": "LOGO",
"name": "logo",
"type": "string",
"length": 200,
"comment": "LOGO",
"nullable": true
},
{
"label": "简介",
"name": "summary",
"type": "string",
"length": 600,
"comment": "简介",
"nullable": true,
"index": true
},
{
"label": "官网",
"name": "link",
"type": "string",
"length": 200,
"comment": "官网地址",
"nullable": true
},
{
"label": "联系人",
"name": "contact_name",
"type": "string",
"length": 200,
"comment": "联系人",
"nullable": true,
"index": true
},
{
"label": "联系电话",
"name": "contact_mobile",
"type": "string",
"comment": "联系电话",
"nullable": true,
"index": true
},
{
"label": "详情",
"name": "desc",
"type": "text",
"comment": "介绍",
"nullable": true
},
{
"label": "排序",
"name": "rank",
"type": "integer",
"default": 9999999,
"comment": "查询排序"
},
{
"label": "状态",
"name": "status",
"type": "enum",
"default": "enabled",
"option": ["enabled", "disabled"],
"comment": "状态 enabled 开启, disabled 关闭",
"index": true
}
],
"relations": {},
"option": { "timestamps": true, "soft_deletes": true },
"values": [
{ "id": 1, "name": "北京云道天成科技有限公司", "short_name": "云道天成" },
{
"id": 2,
"name": "象传高新(北京)数字科技有限公司",
"short_name": "象传高新"
},
{
"id": 3,
"name": "象传智数(北京)软件科技有限公司",
"short_name": "象传智数"
},
{
"id": 4,
"name": "象传智慧(北京)软件科技有限公司",
"short_name": "象传智慧"
},
{ "id": 5, "name": "象传数据服务引擎", "short_name": "服务引擎" },
{ "id": 6, "name": "象传数据应用开发平台", "short_name": "应用开发平台" },
{ "id": 7, "name": "象传数据解决方案", "short_name": "解决方案" },
{ "id": 8, "name": "象传数据企业服务", "short_name": "企业服务" }
]
}

View file

@ -1,70 +0,0 @@
{
"name": "角色",
"table": {
"name": "role",
"comment": "角色表",
"engine": "InnoDB"
},
"columns": [
{ "name": "id", "type": "ID" },
{
"label": "名称",
"name": "name",
"type": "string",
"length": 200,
"comment": "名称",
"index": true
},
{
"label": "标签",
"name": "label",
"type": "string",
"length": 200,
"comment": "标签",
"index": true
},
{
"label": "权限",
"name": "permission",
"type": "JSON",
"comment": "权限"
},
{
"label": "状态",
"name": "status",
"type": "enum",
"default": "enabled",
"option": ["enabled", "disabled"],
"comment": "状态 enabled 开启, disabled 关闭",
"index": true
}
],
"relations": {},
"option": { "timestamps": true, "soft_deletes": true },
"values": [
{
"label": "超级管理员",
"name": "admin",
"status": "enabled",
"permission": { "read": ["t1", "t2", "t3"] }
},
{
"label": "编辑",
"name": "editor",
"status": "enabled",
"permission": { "read": ["t1", "t2", "t3"] }
},
{
"label": "用户",
"name": "user",
"status": "enabled",
"permission": { "read": ["t1", "t2", "t3"] }
},
{
"label": "访客",
"name": "any",
"status": "disabled",
"permission": { "read": ["t1", "t2", "t3"] }
}
]
}

View file

@ -1,169 +0,0 @@
{
"name": "云服务库",
"table": {
"name": "service",
"comment": "云服务表",
"engine": "InnoDB"
},
"columns": [
{ "name": "id", "type": "ID" },
{
"name": "short_name",
"type": "string",
"length": 200,
"comment": "简称",
"nullable": true,
"index": true
},
{
"name": "name",
"type": "string",
"length": 200,
"comment": "服务名称",
"index": true
},
{
"name": "city",
"type": "string",
"length": 50,
"comment": "城市",
"nullable": true,
"index": true
},
{
"name": "kind_id",
"type": "bigInteger",
"length": 200,
"comment": "服务类型",
"index": true
},
{
"name": "manu_id",
"type": "bigInteger",
"length": 200,
"comment": "所属厂商",
"index": true
},
{
"name": "registed_at",
"type": "string",
"length": 200,
"comment": "注册地",
"nullable": true,
"index": true
},
{
"name": "link",
"type": "string",
"length": 200,
"comment": "官网地址",
"nullable": true
},
{
"name": "contact_name",
"type": "string",
"length": 200,
"comment": "联系人",
"nullable": true,
"index": true
},
{
"name": "contact_mobile",
"type": "string",
"comment": "联系电话",
"nullable": true,
"index": true
},
{
"name": "fields",
"type": "json",
"comment": "JSON|服务领域(多选)",
"nullable": true,
"index": true
},
{
"name": "price_options",
"type": "json",
"length": 500,
"nullable": true,
"comment": "订阅方式(多选)",
"index": true
},
{
"name": "industries",
"type": "json",
"comment": "JSON|行业覆盖(多选)",
"nullable": true,
"index": true
},
{
"name": "rank",
"type": "integer",
"default": 9999999,
"comment": "查询排序"
},
{
"name": "status",
"type": "enum",
"default": "enabled",
"option": ["enabled", "disabled"],
"comment": "状态 enabled 开启, disabled 关闭",
"index": true
}
],
"relations": {
"manu": {
"type": "hasOne",
"model": "manu",
"key": "id",
"foreign": "manu_id",
"query": { "select": ["id", "name", "short_name", "status"] }
},
"kind": {
"type": "hasOne",
"model": "kind",
"key": "id",
"foreign": "kind_id",
"query": { "select": ["id", "name"] }
}
},
"option": { "timestamps": true, "soft_deletes": true },
"values": [
{
"name": "腾讯云主机CVM",
"city": "北京",
"short_name": "云主机",
"kind_id": 3,
"manu_id": 1,
"industries": ["教育", "能源"],
"price_options": ["按月订阅"]
},
{
"name": "腾讯云磁盘",
"city": "广州",
"short_name": "云磁盘",
"kind_id": 6,
"manu_id": 1,
"industries": ["政府", "能源"],
"price_options": ["按月订阅"]
},
{
"name": "阿里主机",
"city": "上海",
"short_name": "云主机",
"kind_id": 3,
"manu_id": 2,
"industries": ["教育", "医疗"],
"price_options": ["按月订阅"]
},
{
"name": "UCloud云主机",
"short_name": "云主机",
"city": "上海",
"kind_id": 3,
"manu_id": 3,
"industries": ["软件", "医疗"],
"price_options": ["按月订阅"]
}
]
}

Some files were not shown because too many files have changed in this diff Show more