This is an automated email from the ASF dual-hosted git repository.

huxing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-js.git


The following commit(s) were added to refs/heads/master by this push:
     new f45fa88  add: 1. add one FAQ ; 2. add enum transfer example;
     new 07f496b  Merge pull request #114 from creasy2010/master
f45fa88 is described below

commit f45fa88fc44bce3ff7b9d161702713db12152033
Author: yangxiaodong <[email protected]>
AuthorDate: Fri May 24 15:47:30 2019 +0800

    add:
    1. add one FAQ ;
    2. add enum transfer example;
---
 examples/hello-egg/app/controller/home.ts          | 17 +++++++++++
 .../dubbo/providers/com/alibaba/dubbo/demo/Sex.ts  |  5 ++++
 .../com/alibaba/dubbo/demo/UserRequest.ts          |  5 ++++
 examples/hello-egg/app/router.ts                   |  1 +
 .../hello-egg/typings/app/controller/index.d.ts    |  8 +++---
 examples/hello-egg/typings/app/index.d.ts          |  6 ++++
 examples/hello-egg/typings/app/service/index.d.ts  |  8 +++---
 examples/hello-egg/typings/config/index.d.ts       | 12 +++-----
 examples/hello-egg/typings/config/plugin.d.ts      | 33 ++++++++++++++++++++++
 .../src/main/java/com/alibaba/dubbo/demo/Sex.java  |  5 ++++
 .../java/com/alibaba/dubbo/demo/UserRequest.java   | 11 ++++++++
 packages/interpret-cli/README.md                   |  9 ++++++
 12 files changed, 104 insertions(+), 16 deletions(-)

diff --git a/examples/hello-egg/app/controller/home.ts 
b/examples/hello-egg/app/controller/home.ts
index ac6c457..46afc5d 100644
--- a/examples/hello-egg/app/controller/home.ts
+++ b/examples/hello-egg/app/controller/home.ts
@@ -1,6 +1,8 @@
 import {java} from 'dubbo2.js';
 import {Controller} from 'egg';
 import {TypeRequest} from 
'../dubbo/providers/com/alibaba/dubbo/demo/TypeRequest';
+import {UserRequest} from 
"../dubbo/providers/com/alibaba/dubbo/demo/UserRequest";
+import {Sex} from "../dubbo/providers/com/alibaba/dubbo/demo/Sex";
 
 export default class HomeController extends Controller {
   async index() {
@@ -8,6 +10,21 @@ export default class HomeController extends Controller {
     ctx.body = await ctx.service.test.sayHi('egg');
   }
 
+  async userInfo() {
+
+    const {res, err} = await 
this.ctx.app.dubbo.service.DemoProvider.getUserInfo(
+      new UserRequest({
+        sex:Sex.female,
+        email:"[email protected]",
+        name:'yangxiaodong',
+        id:1001
+      })
+    );
+
+    this.ctx.body = err ? err.message : res;
+  }
+
+
   async sayHello() {
     const {res, err} = await this.ctx.app.dubbo.service.DemoProvider.sayHello(
       java.String('hello from node world'),
diff --git 
a/examples/hello-egg/app/dubbo/providers/com/alibaba/dubbo/demo/Sex.ts 
b/examples/hello-egg/app/dubbo/providers/com/alibaba/dubbo/demo/Sex.ts
new file mode 100644
index 0000000..013d38a
--- /dev/null
+++ b/examples/hello-egg/app/dubbo/providers/com/alibaba/dubbo/demo/Sex.ts
@@ -0,0 +1,5 @@
+export enum Sex {
+  female = 'female',
+  male = 'male',
+}
+//generate by interpret-cli dubbo2.js
diff --git 
a/examples/hello-egg/app/dubbo/providers/com/alibaba/dubbo/demo/UserRequest.ts 
b/examples/hello-egg/app/dubbo/providers/com/alibaba/dubbo/demo/UserRequest.ts
index 99515c9..6d17fee 100644
--- 
a/examples/hello-egg/app/dubbo/providers/com/alibaba/dubbo/demo/UserRequest.ts
+++ 
b/examples/hello-egg/app/dubbo/providers/com/alibaba/dubbo/demo/UserRequest.ts
@@ -1,6 +1,8 @@
+import {Sex} from './Sex';
 import java from 'js-to-java';
 
 export interface IUserRequest {
+  sex?: Sex;
   name?: string;
   id?: number;
   email?: string;
@@ -8,11 +10,13 @@ export interface IUserRequest {
 
 export class UserRequest {
   constructor(params: IUserRequest) {
+    this.sex = params.sex;
     this.name = params.name;
     this.id = params.id;
     this.email = params.email;
   }
 
+  sex?: Sex;
   name?: string;
   id?: number;
   email?: string;
@@ -21,6 +25,7 @@ export class UserRequest {
     return {
       $class: 'com.alibaba.dubbo.demo.UserRequest',
       $: {
+        sex: java['enum']('com.alibaba.dubbo.demo.Sex', Sex[this.sex]),
         name: java.String(this.name),
         id: java.Integer(this.id),
         email: java.String(this.email),
diff --git a/examples/hello-egg/app/router.ts b/examples/hello-egg/app/router.ts
index f95f01f..b2226ba 100644
--- a/examples/hello-egg/app/router.ts
+++ b/examples/hello-egg/app/router.ts
@@ -5,6 +5,7 @@ export default (app: Application) => {
 
   router.get('/', controller.home.index);
   router.get('/hello', controller.home.sayHello);
+  router.get('/userInfo', controller.home.userInfo);
   router.get('/echo', controller.home.echo);
   router.get('/basicType', controller.home.basicType);
 };
diff --git a/examples/hello-egg/typings/app/controller/index.d.ts 
b/examples/hello-egg/typings/app/controller/index.d.ts
index 0447380..6895321 100644
--- a/examples/hello-egg/typings/app/controller/index.d.ts
+++ b/examples/hello-egg/typings/app/controller/index.d.ts
@@ -1,11 +1,11 @@
-// This file was auto created by egg-ts-helper
+// This file is created by [email protected]
 // Do not modify this file!!!!!!!!!
 
-import 'egg'; // Make sure ts to import egg declaration at first
-import Home from '../../../app/controller/home';
+import 'egg';
+import ExportHome from '../../../app/controller/home';
 
 declare module 'egg' {
   interface IController {
-    home: Home;
+    home: ExportHome;
   }
 }
diff --git a/examples/hello-egg/typings/app/index.d.ts 
b/examples/hello-egg/typings/app/index.d.ts
new file mode 100644
index 0000000..124ab9b
--- /dev/null
+++ b/examples/hello-egg/typings/app/index.d.ts
@@ -0,0 +1,6 @@
+// This file is created by [email protected]
+// Do not modify this file!!!!!!!!!
+
+import 'egg';
+export * from 'egg';
+export as namespace Egg;
diff --git a/examples/hello-egg/typings/app/service/index.d.ts 
b/examples/hello-egg/typings/app/service/index.d.ts
index 070363e..3ccb21e 100644
--- a/examples/hello-egg/typings/app/service/index.d.ts
+++ b/examples/hello-egg/typings/app/service/index.d.ts
@@ -1,11 +1,11 @@
-// This file was auto created by egg-ts-helper
+// This file is created by [email protected]
 // Do not modify this file!!!!!!!!!
 
-import 'egg'; // Make sure ts to import egg declaration at first
-import Test from '../../../app/service/Test';
+import 'egg';
+import ExportTest from '../../../app/service/Test';
 
 declare module 'egg' {
   interface IService {
-    test: Test;
+    test: ExportTest;
   }
 }
diff --git a/examples/hello-egg/typings/config/index.d.ts 
b/examples/hello-egg/typings/config/index.d.ts
index c8ad026..8ef165d 100644
--- a/examples/hello-egg/typings/config/index.d.ts
+++ b/examples/hello-egg/typings/config/index.d.ts
@@ -1,15 +1,11 @@
-// This file was auto created by egg-ts-helper
+// This file is created by [email protected]
 // Do not modify this file!!!!!!!!!
 
-import 'egg'; // Make sure ts to import egg declaration at first
+import 'egg';
 import { EggAppConfig } from 'egg';
 import ExportConfigDefault from '../../config/config.default';
-import ExportConfigLocal from '../../config/config.local';
-import ExportConfigProd from '../../config/config.prod';
 type ConfigDefault = ReturnType<typeof ExportConfigDefault>;
-type ConfigLocal = ReturnType<typeof ExportConfigLocal>;
-type ConfigProd = ReturnType<typeof ExportConfigProd>;
 declare module 'egg' {
-  type NewEggAppConfig = ConfigDefault & ConfigLocal & ConfigProd;
-  interface EggAppConfig extends NewEggAppConfig { };
+  type NewEggAppConfig = ConfigDefault;
+  interface EggAppConfig extends NewEggAppConfig { }
 }
\ No newline at end of file
diff --git a/examples/hello-egg/typings/config/plugin.d.ts 
b/examples/hello-egg/typings/config/plugin.d.ts
new file mode 100644
index 0000000..589aaab
--- /dev/null
+++ b/examples/hello-egg/typings/config/plugin.d.ts
@@ -0,0 +1,33 @@
+// This file is created by [email protected]
+// Do not modify this file!!!!!!!!!
+
+import 'egg';
+import 'egg-onerror';
+import 'egg-session';
+import 'egg-i18n';
+import 'egg-watcher';
+import 'egg-multipart';
+import 'egg-security';
+import 'egg-development';
+import 'egg-logrotator';
+import 'egg-schedule';
+import 'egg-static';
+import 'egg-jsonp';
+import 'egg-view';
+import { EggPluginItem } from 'egg';
+declare module 'egg' {
+  interface EggPlugin {
+    onerror?: EggPluginItem;
+    session?: EggPluginItem;
+    i18n?: EggPluginItem;
+    watcher?: EggPluginItem;
+    multipart?: EggPluginItem;
+    security?: EggPluginItem;
+    development?: EggPluginItem;
+    logrotator?: EggPluginItem;
+    schedule?: EggPluginItem;
+    static?: EggPluginItem;
+    jsonp?: EggPluginItem;
+    view?: EggPluginItem;
+  }
+}
\ No newline at end of file
diff --git 
a/java/dubbo-demo/dubbo-demo-api/src/main/java/com/alibaba/dubbo/demo/Sex.java 
b/java/dubbo-demo/dubbo-demo-api/src/main/java/com/alibaba/dubbo/demo/Sex.java
new file mode 100644
index 0000000..b34b2b3
--- /dev/null
+++ 
b/java/dubbo-demo/dubbo-demo-api/src/main/java/com/alibaba/dubbo/demo/Sex.java
@@ -0,0 +1,5 @@
+package com.alibaba.dubbo.demo;
+
+public enum Sex {
+    male,female
+}
diff --git 
a/java/dubbo-demo/dubbo-demo-api/src/main/java/com/alibaba/dubbo/demo/UserRequest.java
 
b/java/dubbo-demo/dubbo-demo-api/src/main/java/com/alibaba/dubbo/demo/UserRequest.java
index 8e88373..06f31d1 100644
--- 
a/java/dubbo-demo/dubbo-demo-api/src/main/java/com/alibaba/dubbo/demo/UserRequest.java
+++ 
b/java/dubbo-demo/dubbo-demo-api/src/main/java/com/alibaba/dubbo/demo/UserRequest.java
@@ -9,6 +9,7 @@ public class UserRequest implements Serializable {
     private Integer id;
     private String name;
     private String email;
+    private Sex sex;
 
 
     public Integer getId() {
@@ -35,12 +36,22 @@ public class UserRequest implements Serializable {
         this.email = email;
     }
 
+    public Sex getSex() {
+        return sex;
+    }
+
+    public void setSex(Sex sex) {
+        this.sex = sex;
+    }
+
     @Override
     public String toString() {
         return "UserRequest{" +
                 "id=" + id +
                 ", name='" + name + '\'' +
+                ", sex='" + sex + '\'' +
                 ", email='" + email + '\'' +
                 '}';
     }
+
 }
diff --git a/packages/interpret-cli/README.md b/packages/interpret-cli/README.md
index 2c924eb..c3cbd23 100644
--- a/packages/interpret-cli/README.md
+++ b/packages/interpret-cli/README.md
@@ -618,6 +618,15 @@ function minusRedundancy(itemParam: any) {
 ## FAQ:
 
 ### q1:How to integrate with the project?
+There are two ways to use it.
+
+1. Embedding projects directly;
+
+2. Publish NPM packages;
+
+The first approach is very suitable for a small number of Dubbo interfaces, 
single projects; see [hello-egg](../../examples/hello-egg/)
+
+The second approach is suitable for large-scale projects, especially 
multi-project shared interfaces; see [Automatic Translation Service] 
(https://github.com/creasy2010/auto-translator)
 
 **_Tip_** 生成的代码可以发 npm 包供其他业务线使用或直接在项目中引用
 

Reply via email to