Skip to content

Commit c016c9e

Browse files
authored
Merge branch 'dev' into dependabot/npm_and_yarn/client/babel/traverse-7.23.2
2 parents 4cf05b0 + 4f5f228 commit c016c9e

File tree

149 files changed

+8736
-333
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+8736
-333
lines changed

.DS_Store

6 KB
Binary file not shown.

client/README.md

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66

77
#### Use prebuilt docker image
88

9-
Simply run below command to start a backend server.
9+
Simply run the below command to start a backend server.
1010

1111
```bash
1212
docker run -d --name lowcoder -p 3000:3000 -v "$PWD/stacks:/lowcoder-stacks" lowcoderorg/lowcoder-ce
1313
```
1414

15-
For more information, view our [docs](../docs/self-hosting)
15+
For more information, view our [docs](https://docs.lowcoder.cloud/lowcoder-documentation/setup-and-run/self-hosting)
1616

1717
#### Build Docker image from source
1818

19-
1. Check out source code and change to source dir.
20-
2. Use the command below to build Docker image :
19+
1. Check out the source code and change to source dir.
20+
2. Use the command below to build a Docker image :
2121

2222
```bash
2323
docker build -f ./deploy/docker/Dockerfile -t lowcoder-dev .
@@ -31,11 +31,21 @@ docker run -d --name lowcoder-dev -p 3000:3000 -v "$PWD/stacks:/lowcoder-stacks"
3131

3232
### Start develop
3333

34-
1. Check out source code.
34+
1. Check out the source code.
3535
2. Change to client dir in the repository root via cd client.
36-
3. Run yarn to install dependencies: .
37-
4. Start dev server: `LOWCODER_API_SERVICE_URL=http://localhost:3000 yarn start`.
38-
5. After dev server starts successfully, it will be automatically opened in the default browser.
36+
37+
```bash
38+
cd client
39+
```
40+
41+
4. Run yarn to install dependencies: .
42+
43+
```bash
44+
yarn install
45+
```
46+
47+
5. Start dev server: `LOWCODER_API_SERVICE_URL=http://localhost:3000 yarn start`.
48+
6. After the dev server starts successfully, it will be automatically opened in the default browser.
3949

4050
### Before submitting a pull request
4151

client/packages/lowcoder-cli/client.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ declare var LOWCODER_NODE_SERVICE_URL: string;
3434
declare var LOWCODER_SHOW_BRAND: string;
3535
declare var LOWCODER_CUSTOM_LOGO: string;
3636
declare var LOWCODER_CUSTOM_LOGO_SQUARE: string;
37+
declare var LOWCODER_CUSTOM_AUTH_WELCOME_TEXT: string;
3738
declare var REACT_APP_ENV: string;
3839
declare var REACT_APP_BUILD_ID: string;
3940
declare var REACT_APP_LOG_LEVEL: string;

client/packages/lowcoder-design/src/icons/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ export { ReactComponent as AudioCompIcon } from "./icon-insert-audio.svg";
168168
export { ReactComponent as VideoCompIcon } from "./icon-insert-video.svg";
169169
export { ReactComponent as videoPlayTriangle } from "./icon-video-play-triangle.svg";
170170
export { ReactComponent as DrawerCompIcon } from "./icon-drawer.svg";
171+
export { ReactComponent as LeftMeetingIcon } from "./icon-left-comp-video.svg";
171172
export { ReactComponent as PlusIcon } from "./icon-plus.svg";
172173
export { ReactComponent as HomeIcon } from "./icon-application-home.svg";
173174
export { ReactComponent as HomeModuleIcon } from "./icon-application-module.svg";
@@ -236,6 +237,7 @@ export { ReactComponent as LeftContainer } from "./icon-left-comp-container.svg"
236237
export { ReactComponent as LeftDate } from "./icon-left-comp-date.svg";
237238
export { ReactComponent as LeftDivider } from "./icon-left-comp-divider.svg";
238239
export { ReactComponent as LeftDrawer } from "./icon-left-comp-drawer.svg";
240+
export { ReactComponent as LeftMeeting } from "./icon-left-comp-video.svg";
239241
export { ReactComponent as LeftFile } from "./icon-left-comp-file.svg";
240242
export { ReactComponent as LeftFileViewer } from "./icon-left-comp-fileViewer.svg";
241243
export { ReactComponent as LeftForm } from "./icon-left-comp-form.svg";

client/packages/lowcoder-dev-utils/buildVars.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ export const buildVars = [
3535
name: "LOWCODER_NODE_SERVICE_URL",
3636
defaultValue: "",
3737
},
38+
{
39+
name: "LOWCODER_CUSTOM_AUTH_WELCOME_TEXT",
40+
defaultValue: "",
41+
},
3842
{
3943
name: "REACT_APP_ENV",
4044
defaultValue: "production",
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
version: '3'
2+
3+
services:
4+
mysql:
5+
image: mysql:8.0.22
6+
command: --default-authentication-plugin=mysql_native_password
7+
volumes:
8+
- mysqlvol:/var/lib/mysql
9+
- ./backup:/var/backup
10+
environment:
11+
MYSQL_ROOT_PASSWORD: defaultpassword
12+
ports:
13+
- "3306:3306"
14+
15+
redis:
16+
image: redis
17+
volumes:
18+
- redisvol:/data
19+
20+
taxi-rider-api:
21+
image: ridyio/ridy-rider-api
22+
restart: always
23+
depends_on:
24+
- "mysql"
25+
- "redis"
26+
- "taxi-admin-api"
27+
volumes:
28+
- ./img:/app/uploads
29+
- ./config-new:/app/config
30+
environment:
31+
- MYSQL_HOST=mysql
32+
- GATEWAY_SERVER_URL=http://x.x.x.x:3333
33+
- RIDER_SERVER_URL=http://x.x.x.x:4000
34+
- ENCRYPTION_KEY=lPw3ethAy4WqnWa3b4TAbCUJr89RifEs
35+
- REDIS_HOST=redis
36+
ports:
37+
- "4000:3000"
38+
39+
taxi-driver-api:
40+
image: ridyio/ridy-driver-api
41+
restart: always
42+
depends_on:
43+
- "mysql"
44+
- "redis"
45+
- "taxi-admin-api"
46+
volumes:
47+
- ./img:/app/uploads
48+
- ./config-new:/app/config
49+
environment:
50+
- MYSQL_HOST=mysql
51+
- GATEWAY_SERVER_URL=http://x.x.x.x:3333
52+
- DRIVER_SERVER_URL=http://x.x.x.x:4002
53+
- REDIS_HOST=redis
54+
- ENCRYPTION_KEY=lPw3ethAy4WqnWa3b4TAbCUJr89RifEs
55+
ports:
56+
- "4002:3000"
57+
58+
taxi-admin-api:
59+
image: ridyio/ridy-admin-api
60+
restart: always
61+
depends_on:
62+
- "mysql"
63+
- "redis"
64+
links:
65+
- mysql
66+
volumes:
67+
- ./img:/app/uploads
68+
- ./config-new:/app/config
69+
environment:
70+
- MYSQL_HOST=mysql
71+
- REDIS_HOST=redis
72+
ports:
73+
- "4001:3000"
74+
75+
taxi-admin-panel:
76+
image: ridyio/ridy-admin-panel
77+
restart: always
78+
volumes:
79+
- taxiassets:/usr/share/nginx/html/assets
80+
ports:
81+
- "4003:80"
82+
83+
payment-gateways:
84+
image: ridyio/delivery-gateway-box
85+
depends_on:
86+
- "taxi-rider-api"
87+
ports:
88+
- "3333:3333"
89+
environment:
90+
- MYSQL_HOST=mysql
91+
- TEST_MODE=true
92+
- MYSQL_DB=ridy
93+
- GATEWAY_SERVER_URL=http://x.x.x.x:3333
94+
- ENCRYPTION_KEY=lPw3ethAy4WqnWa3b4TAbCUJr89RifEs
95+
96+
volumes:
97+
redisvol:
98+
mysqlvol:
99+
taxiassets:

client/packages/lowcoder/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
"@types/react-signature-canvas": "^1.0.2",
3737
"@types/react-test-renderer": "^18.0.0",
3838
"@types/react-virtualized": "^9.21.21",
39+
"agora-access-token": "^2.0.4",
40+
"agora-rtc-sdk-ng": "^4.19.0",
41+
"agora-rtm-sdk": "^1.5.1",
3942
"ali-oss": "^6.17.1",
4043
"antd": "5.7.2",
4144
"antd-img-crop": "^4.12.2",

client/packages/lowcoder/src/api/configApi.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@ export interface ConfigResponse extends ApiResponse {
88
}
99

1010
class ConfigApi extends Api {
11-
static configURL = "/v1/configs";
11+
static configURL = "/configs";
1212

13-
static fetchConfig(): AxiosPromise<ConfigResponse> {
14-
return Api.get(ConfigApi.configURL);
13+
static fetchConfig(orgId?: string): AxiosPromise<ConfigResponse> {
14+
let authConfigURL = ConfigApi.configURL;
15+
if(orgId?.length) {
16+
authConfigURL += `?orgId?=${orgId}`;
17+
}
18+
return Api.get(authConfigURL);
1519
}
1620
}
1721

client/packages/lowcoder/src/api/inviteApi.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ export type InviteInfo = {
1414
inviteCode: string;
1515
createUserName: string;
1616
invitedOrganizationName: string;
17+
invitedOrganizationId: string;
1718
};
1819

1920
class InviteApi extends Api {
20-
static getInviteURL = "/v1/invitation";
21+
static getInviteURL = "/invitation";
2122
static acceptInviteURL = (invitationId: string) => `/v1/invitation/${invitationId}/invite`;
2223

2324
// generate invitation

client/packages/lowcoder/src/api/userApi.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export interface CommonLoginParam {
99
invitationId?: string;
1010
authId?: string;
1111
source?: string;
12+
orgId?: string;
1213
}
1314

1415
export interface CommonBindParam {
@@ -17,8 +18,8 @@ export interface CommonBindParam {
1718
source?: string;
1819
}
1920

20-
interface ThirdPartyAuthRequest {
21-
state: string;
21+
export interface ThirdPartyAuthRequest {
22+
state?: string;
2223
code: string;
2324
redirectUrl: string;
2425
}

client/packages/lowcoder/src/app-env.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ declare var LOWCODER_NODE_SERVICE_URL: string;
3737
declare var LOWCODER_SHOW_BRAND: string;
3838
declare var LOWCODER_CUSTOM_LOGO: string;
3939
declare var LOWCODER_CUSTOM_LOGO_SQUARE: string;
40+
declare var LOWCODER_CUSTOM_AUTH_WELCOME_TEXT: string;
4041
declare var REACT_APP_ENV: string;
4142
declare var REACT_APP_BUILD_ID: string;
4243
declare var REACT_APP_LOG_LEVEL: string;

client/packages/lowcoder/src/app.tsx

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import {
1313
IMPORT_APP_FROM_TEMPLATE_URL,
1414
INVITE_LANDING_URL,
1515
isAuthUnRequired,
16+
ORG_AUTH_LOGIN_URL,
17+
ORG_AUTH_REGISTER_URL,
1618
QUERY_LIBRARY_URL,
1719
SETTING,
1820
TRASH_URL,
@@ -70,10 +72,11 @@ const Wrapper = (props: { children: React.ReactNode }) => (
7072
type AppIndexProps = {
7173
isFetchUserFinished: boolean;
7274
isFetchHomeFinished: boolean;
73-
isFetchingConfig: boolean;
75+
// isFetchingConfig: boolean;
76+
currentOrgId?: string;
7477
orgDev: boolean;
7578
defaultHomePage: string | null | undefined;
76-
fetchConfig: () => void;
79+
fetchConfig: (orgId?: string) => void;
7780
getCurrentUser: () => void;
7881
fetchHome: () => void;
7982
favicon: string;
@@ -83,16 +86,22 @@ type AppIndexProps = {
8386
class AppIndex extends React.Component<AppIndexProps, any> {
8487
componentDidMount() {
8588
this.props.getCurrentUser();
86-
this.props.fetchConfig();
87-
if (history.location.pathname === BASE_URL) {
89+
const { pathname } = history.location;
90+
91+
this.props.fetchConfig(this.props.currentOrgId);
92+
93+
if (pathname === BASE_URL) {
8894
this.props.fetchHome();
8995
}
9096
}
9197

92-
componentDidUpdate() {
98+
componentDidUpdate(prevProps: AppIndexProps) {
9399
if (history.location.pathname === BASE_URL) {
94100
this.props.fetchHome();
95101
}
102+
if(prevProps.currentOrgId !== this.props.currentOrgId) {
103+
this.props.fetchConfig(this.props.currentOrgId);
104+
}
96105
}
97106

98107
render() {
@@ -101,7 +110,7 @@ class AppIndex extends React.Component<AppIndexProps, any> {
101110
// make sure all users in this app have checked login info
102111
if (
103112
!this.props.isFetchUserFinished ||
104-
this.props.isFetchingConfig ||
113+
// this.props.isFetchingConfig ||
105114
(pathname === BASE_URL && !this.props.isFetchHomeFinished)
106115
) {
107116
const hideLoadingHeader = isTemplate || isAuthUnRequired(pathname);
@@ -151,6 +160,8 @@ class AppIndex extends React.Component<AppIndexProps, any> {
151160
component={ApplicationHome}
152161
/>
153162
<LazyRoute path={USER_AUTH_URL} component={LazyUserAuthComp} />
163+
<LazyRoute path={ORG_AUTH_LOGIN_URL} component={LazyUserAuthComp} />
164+
<LazyRoute path={ORG_AUTH_REGISTER_URL} component={LazyUserAuthComp} />
154165
<LazyRoute path={INVITE_LANDING_URL} component={LazyInviteLanding} />
155166
<LazyRoute path={`${COMPONENT_DOC_URL}/:name`} component={LazyComponentDoc} />
156167
<LazyRoute path={`/playground/:name/:dsl`} component={LazyComponentPlayground} />
@@ -174,8 +185,9 @@ class AppIndex extends React.Component<AppIndexProps, any> {
174185

175186
const mapStateToProps = (state: AppState) => ({
176187
isFetchUserFinished: isFetchUserFinished(state),
177-
isFetchingConfig: getSystemConfigFetching(state),
188+
// isFetchingConfig: getSystemConfigFetching(state),
178189
orgDev: state.ui.users.user.orgDev,
190+
currentOrgId: state.ui.users.user.currentOrgId,
179191
defaultHomePage: state.ui.application.homeOrg?.commonSettings.defaultHomePage,
180192
isFetchHomeFinished: state.ui.application.loadingStatus.fetchHomeDataFinished,
181193
favicon: getBrandingConfig(state)?.favicon
@@ -188,7 +200,7 @@ const mapDispatchToProps = (dispatch: any) => ({
188200
getCurrentUser: () => {
189201
dispatch(fetchUserAction());
190202
},
191-
fetchConfig: () => dispatch(fetchConfigAction()),
203+
fetchConfig: (orgId?: string) => dispatch(fetchConfigAction(orgId)),
192204
fetchHome: () => dispatch(fetchHomeData({})),
193205
});
194206

client/packages/lowcoder/src/comps/comps/containerBase/utils.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ export function oldContainerParamsToNew(params: any): any {
9595
container: { layout: params.value.layout, items: params.value.items },
9696
};
9797
const newParams = { ...params, value: newValue };
98+
// console.log("tempParams", newParams);
9899
// log.debug("params: ", params, "newParams: ", newParams);
99100
return newParams;
100101
}

0 commit comments

Comments
 (0)