li.shaoyi 2 anos atrás
pai
commit
23d43ec738
39 arquivos alterados com 7882 adições e 132 exclusões
  1. 0 0
      android/fxgl.key
  2. 0 0
      android/fxgl.txt
  3. 1 0
      ios/password.txt
  4. BIN
      ios/thjzsx_Aoc_Profile.mobileprovision
  5. BIN
      ios/证书.p12
  6. 1 1
      public/language/en.json
  7. 1 1
      public/language/zh-cn.json
  8. 10 12
      public/manifest.json
  9. 2 0
      public/proto/thj.proto
  10. 1 1
      src/business/auth/index.ts
  11. 6 3
      src/packages/mobile/components/base/html-panel/index.less
  12. 2 16
      src/packages/mobile/components/base/html-panel/index.vue
  13. 2 0
      src/packages/mobile/components/layouts/page/index.less
  14. 1 1
      src/packages/mobile/index.html
  15. 1 1
      src/packages/mobile/views/home/index.vue
  16. 1 1
      src/packages/mobile/views/rules/buyrule/index.vue
  17. 15 0
      src/packages/mobile/views/rules/ccwl/index.less
  18. 8 3
      src/packages/mobile/views/rules/ccwl/index.vue
  19. 5 12
      src/packages/mobile/views/rules/cght/index.vue
  20. 1 1
      src/packages/mobile/views/rules/fpsm/index.vue
  21. 1 1
      src/packages/mobile/views/rules/fwrx/index.vue
  22. 1 1
      src/packages/mobile/views/rules/fxgzs/index.vue
  23. 1 1
      src/packages/mobile/views/rules/gywm/index.vue
  24. 1 1
      src/packages/mobile/views/rules/jfgz/index.vue
  25. 1 1
      src/packages/mobile/views/rules/myrz/index.vue
  26. 1 1
      src/packages/mobile/views/rules/ptgz/index.vue
  27. 7 18
      src/packages/mobile/views/rules/xhht/index.vue
  28. 15 0
      src/packages/mobile/views/rules/yszc/index.less
  29. 14 9
      src/packages/mobile/views/rules/yszc/index.vue
  30. 1 1
      src/packages/mobile/views/rules/zcxy/index.vue
  31. 5 12
      src/packages/mobile/views/rules/zrht/index.vue
  32. 3 3
      src/packages/pc/main.ts
  33. 1 1
      src/services/api/common/index.ts
  34. 1 1
      src/services/http/index.ts
  35. 8 14
      src/services/index.ts
  36. 13 11
      src/services/socket/trade/protobuf/index.ts
  37. 7711 0
      src/services/socket/trade/protobuf/thj.js
  38. 3 3
      src/stores/index.ts
  39. 36 0
      src/utils/h5plus/index.ts

+ 0 - 0
fxgl.key → android/fxgl.key


+ 0 - 0
fxgl.txt → android/fxgl.txt


+ 1 - 0
ios/password.txt

@@ -0,0 +1 @@
+123456

BIN
ios/thjzsx_Aoc_Profile.mobileprovision


BIN
ios/证书.p12


+ 1 - 1
public/language/en.json

@@ -1,5 +1,5 @@
 {
     "app": {
-        "name": "GuangZhou Diamond Exchange"
+        "name": "THJ"
     }
 }

+ 1 - 1
public/language/zh-cn.json

@@ -1,5 +1,5 @@
 {
     "app": {
-        "name": "广州钻石交易中心"
+        "name": "铁合金掌上行"
     }
 }

+ 10 - 12
public/manifest.json

@@ -23,12 +23,6 @@
         /*开发者邮箱地址*/
         "url" : "" /*开发者个人主页地址*/
     },
-    "app-plus" : {
-        "modules" : {
-            "Barcode" : {},
-            "Camera" : {}
-        }
-    },
     "permissions" : {
         "Accelerometer" : {
             "description" : "访问加速度感应器"
@@ -98,10 +92,13 @@
         },
         "NativeObj" : {
             "description" : "原生对象"
-        },
-        "UIWebview" : {}
+        }
     },
     "plus" : {
+        "modules" : {
+            "Barcode" : {},
+            "Camera" : {}
+        },
         "statusbar" : {
             "immersed" : true /*沉浸式状态栏。*/
         },
@@ -265,18 +262,19 @@
                     /*普通屏启动图片,分辨率:240x282*/
                     "ldpi" : "",
                     /*大屏启动图片,分辨率:320x442*/
-                    "hdpi" : "D:/Repo/THJ/THJ_Mobile/src/packages/mobile/assets/images/boot-480p.png",
+                    "hdpi" : "../src/packages/mobile/assets/images/boot-480p.png",
                     /*高分屏启动图片,分辨率:480x762*/
-                    "xhdpi" : "D:/Repo/THJ/THJ_Mobile/src/packages/mobile/assets/images/boot-720p.png",
+                    "xhdpi" : "../src/packages/mobile/assets/images/boot-720p.png",
                     /*720P高分屏启动图片,分辨率:720x1242*/
-                    "xxhdpi" : "D:/Repo/THJ/THJ_Mobile/src/packages/mobile/assets/images/boot-1080p.png" /*1080P高分屏启动图片,分辨率:1080x1882*/
+                    "xxhdpi" : "../src/packages/mobile/assets/images/boot-1080p.png" /*1080P高分屏启动图片,分辨率:1080x1882*/
                 },
                 "androidStyle" : "default",
                 "iosStyle" : "common",
                 "useOriginalMsgbox" : true
             },
             "plugins" : {
-                "ad" : {}
+                "ad" : {},
+                "geolocation" : {}
             },
             "ios" : {
                 "dSYMs" : false

+ 2 - 0
public/proto/thj.proto

@@ -1,3 +1,5 @@
+syntax = "proto3";
+
 // 消息头
 message MessageHead {
 	optional uint32 FunCode = 1; // 功能号

+ 1 - 1
src/business/auth/index.ts

@@ -74,7 +74,7 @@ function useAutoLogin() {
 }
 
 export function useAuth(autoLogin = false) {
-    const { enumStore, errorInfoStore, loginStore, userStore, futuresStore, menuStore, accountStore } = useStore()
+    const { enumStore, errorInfoStore, loginStore, userStore, futuresStore,  accountStore } = useStore()
     const { getAutoLoginData, setAutoLoginData } = useAutoLogin()
     const loading = ref(false)
     const user = ref<Proto.LoginReq>(getAutoLoginData(autoLogin))

+ 6 - 3
src/packages/mobile/components/base/html-panel/index.less

@@ -1,9 +1,12 @@
 .app-html {
+    display: flex;
+    flex-direction: column;
+    height: 100%;
     padding: .2rem;
 
-    p {
-        padding: .32rem;
-        overflow-x: auto;
+    iframe {
+        flex: 1;
         background-color: #fff;
+        border: 0;
     }
 }

+ 2 - 16
src/packages/mobile/components/base/html-panel/index.vue

@@ -1,30 +1,16 @@
 <template>
     <div class="app-html">
-        <p v-html="html"></p>
+        <iframe :src="url" />
     </div>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef } from 'vue'
-import axios, { AxiosRequestConfig } from 'axios'
-
-const props = defineProps({
+defineProps({
     url: {
         type: String,
         required: true
     },
 })
-
-const html = shallowRef()
-const config: AxiosRequestConfig = {
-    url: props.url,
-    method: 'get',
-    responseEncoding: 'utf-8'
-}
-
-axios(config).then((res) => {
-    html.value = res.data
-})
 </script>
 
 <style lang="less" scoped>

+ 2 - 0
src/packages/mobile/components/layouts/page/index.less

@@ -78,4 +78,6 @@
     height: 100%;
     overflow-y: auto;
     background-color: #f6f6f6;
+    padding-bottom: constant(safe-area-inset-bottom); /* 兼容 iOS<11.2 */
+    padding-bottom: env(safe-area-inset-bottom); /* 兼容iOS>= 11.2 */
 }

+ 1 - 1
src/packages/mobile/index.html

@@ -5,7 +5,7 @@
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport"
-    content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
+    content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,viewport-fit=cover">
   <link rel="icon" href="<%= BASE_URL %>favicon.ico">
   <title>
     <%= htmlWebpackPlugin.options.title %>

+ 1 - 1
src/packages/mobile/views/home/index.vue

@@ -3,7 +3,7 @@
     <keep-alive>
       <component class="g-flex__body" :is="components[componentId]"></component>
     </keep-alive>
-    <app-tabbar class="home-tabbar" v-model:dataIndex="tabIndex" :data-list="tabList" @change="onChange" fixed />
+    <app-tabbar class="home-tabbar" v-model:dataIndex="tabIndex" :data-list="tabList" @change="onChange" />
   </div>
 </template>
 

+ 1 - 1
src/packages/mobile/views/rules/buyrule/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <app-view class="app-html">
+  <app-view>
     <template #header>
       <app-navbar title="买方规则" />
     </template>

+ 15 - 0
src/packages/mobile/views/rules/ccwl/index.less

@@ -0,0 +1,15 @@
+.rules{
+    .van-tabs{
+        display: flex;
+        flex-direction: column;
+        height: 100%;
+
+        &__content{
+            flex: 1;
+        }
+
+        .van-tab__panel{
+            height: 100%;
+        }
+    }
+}

+ 8 - 3
src/packages/mobile/views/rules/ccwl/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <app-view class="app-html">
+    <app-view class="rules">
         <template #header>
             <app-navbar title="仓储物流" />
         </template>
@@ -22,10 +22,15 @@
 <script lang="ts" setup>
 import { Tab, Tabs, Button } from 'vant'
 import { defineAsyncComponent } from 'vue'
+import plus from '@/utils/h5plus'
 
 const asyncComponent = defineAsyncComponent(() => import('@mobile/components/base/html-panel/index.vue'))
 
 const download = () => {
-    window.open('./html/yswtmb.docx')
+  plus.downloadFile('./html/yswtmb.docx')
 }
-</script>
+</script>
+
+<style lang="less">
+@import './index.less';
+</style>

+ 5 - 12
src/packages/mobile/views/rules/cght/index.vue

@@ -1,13 +1,5 @@
-<!--
- * @Author: deng.yinping deng.yinping@muchinfo.cn
- * @Date: 2022-12-10 11:04:12
- * @LastEditors: deng.yinping deng.yinping@muchinfo.cn
- * @LastEditTime: 2022-12-10 11:12:47
- * @FilePath: \THJ_Mobile\src\packages\mobile\views\rules\cght\index.vue
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--->
 <template>
-  <app-view class="app-html">
+  <app-view>
     <template #header>
       <app-navbar title="采购合同" />
     </template>
@@ -21,9 +13,10 @@
 </template>
 
 <script lang="ts" setup>
-import { Button } from "vant";
+import { Button } from 'vant'
+import plus from '@/utils/h5plus'
 
 const download = () => {
-  window.open("./html/ht_cg.docx");
-};
+  plus.downloadFile('./html/ht_cg.docx')
+}
 </script>

+ 1 - 1
src/packages/mobile/views/rules/fpsm/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <app-view class="app-html">
+    <app-view>
         <template #header>
             <app-navbar title="发票说明" />
         </template>

+ 1 - 1
src/packages/mobile/views/rules/fwrx/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <app-view class="app-html">
+    <app-view>
         <template #header>
             <app-navbar title="服务热线" />
         </template>

+ 1 - 1
src/packages/mobile/views/rules/fxgzs/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <app-view class="app-html">
+    <app-view>
         <template #header>
             <app-navbar title="用户开户风险告知书" />
         </template>

+ 1 - 1
src/packages/mobile/views/rules/gywm/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <app-view class="app-html">
+    <app-view>
         <template #header>
             <app-navbar title="关于我们" />
         </template>

+ 1 - 1
src/packages/mobile/views/rules/jfgz/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <app-view class="app-html">
+  <app-view>
     <template #header>
       <app-navbar title="积分规则" />
     </template>

+ 1 - 1
src/packages/mobile/views/rules/myrz/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <app-view class="app-html">
+    <app-view>
         <template #header>
             <app-navbar title="贸易融资" />
         </template>

+ 1 - 1
src/packages/mobile/views/rules/ptgz/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <app-view class="app-html">
+  <app-view>
     <template #header>
       <app-navbar title="平台规则" />
     </template>

+ 7 - 18
src/packages/mobile/views/rules/xhht/index.vue

@@ -1,11 +1,3 @@
-<!--
- * @Author: deng.yinping deng.yinping@muchinfo.cn
- * @Date: 2022-12-10 11:06:24
- * @LastEditors: deng.yinping deng.yinping@muchinfo.cn
- * @LastEditTime: 2022-12-10 11:09:57
- * @FilePath: \THJ_Mobile\src\packages\mobile\views\rules\zrht\index.vue
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--->
 <template>
   <app-view class="app-html">
     <template #header>
@@ -14,24 +6,21 @@
     <div style="padding: .2rem;">
       <div style="text-align: center;background-color: #fff;padding: 1rem 0;margin-bottom: .2rem;">
         <h4 style="margin-bottom: .32rem;">现货贸易合同(买方).docx</h4>
-        <Button type="primary" style="width: 50%;" round @click="downloadbuy">下载文档</Button>
+        <Button type="primary" style="width: 50%;" round @click="download('./html/ht_xh_b.docx')">下载文档</Button>
       </div>
       <div style="text-align: center;background-color: #fff;padding: 1rem 0;">
         <h4 style="margin-bottom: .32rem;">现货贸易合同(卖方).docx</h4>
-        <Button type="primary" style="width: 50%;" round @click="downloadsell">下载文档</Button>
+        <Button type="primary" style="width: 50%;" round @click="download('./html/ht_xh_s.docx')">下载文档</Button>
       </div>
     </div>
   </app-view>
 </template>
 
 <script lang="ts" setup>
-import { Button } from "vant";
+import { Button } from 'vant'
+import plus from '@/utils/h5plus'
 
-const downloadbuy = () => {
-  window.open("./html/ht_xh_b.docx");
-};
-
-const downloadsell = () => {
-  window.open("./html/ht_xh_s.docx");
-};
+const download = (filePath:string) => {
+  plus.downloadFile(filePath)
+}
 </script>

+ 15 - 0
src/packages/mobile/views/rules/yszc/index.less

@@ -0,0 +1,15 @@
+.rules{
+    .van-tabs{
+        display: flex;
+        flex-direction: column;
+        height: 100%;
+
+        &__content{
+            flex: 1;
+        }
+
+        .van-tab__panel{
+            height: 100%;
+        }
+    }
+}

+ 14 - 9
src/packages/mobile/views/rules/yszc/index.vue

@@ -1,21 +1,26 @@
 <template>
-    <app-view class="app-html">
+    <app-view class="rules">
         <template #header>
             <app-navbar title="隐私政策" />
         </template>
-        <Tabs class="mine-generalize__tabs" v-model:active="active">
-            <Tab title="隐私政策" />
-            <Tab title="物流隐私条款" />
+        <Tabs>
+            <Tab title="隐私政策">
+                <component :is="asyncComponent" url="./html/yszc.htm" />
+            </Tab>
+            <Tab title="物流隐私条款">
+                <component :is="asyncComponent" url="./html/wlystk.htm" />
+            </Tab>
         </Tabs>
-        <component :is="asyncComponent" url="./html/yszc.htm" v-show="active === 0" />
-        <component :is="asyncComponent" url="./html/wlystk.htm" v-show="active === 1" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, defineAsyncComponent } from 'vue'
+import {  defineAsyncComponent } from 'vue'
 import { Tab, Tabs } from 'vant'
 
 const asyncComponent = defineAsyncComponent(() => import('@mobile/components/base/html-panel/index.vue'))
-const active = shallowRef(0)
-</script>
+</script>
+
+<style lang="less">
+@import './index.less';
+</style>

+ 1 - 1
src/packages/mobile/views/rules/zcxy/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <app-view class="app-html">
+    <app-view>
         <template #header>
             <app-navbar title="用户注册协议" />
         </template>

+ 5 - 12
src/packages/mobile/views/rules/zrht/index.vue

@@ -1,13 +1,5 @@
-<!--
- * @Author: deng.yinping deng.yinping@muchinfo.cn
- * @Date: 2022-12-10 11:06:24
- * @LastEditors: deng.yinping deng.yinping@muchinfo.cn
- * @LastEditTime: 2022-12-10 11:06:57
- * @FilePath: \THJ_Mobile\src\packages\mobile\views\rules\zrht\index.vue
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--->
 <template>
-  <app-view class="app-html">
+  <app-view>
     <template #header>
       <app-navbar title="合同转让" />
     </template>
@@ -21,9 +13,10 @@
 </template>
 
 <script lang="ts" setup>
-import { Button } from "vant";
+import { Button } from 'vant'
+import plus from '@/utils/h5plus'
 
 const download = () => {
-  window.open("./html/ht_zr.docx");
-};
+  plus.downloadFile('./html/ht_zr.docx')
+}
 </script>

+ 3 - 3
src/packages/pc/main.ts

@@ -5,7 +5,7 @@ import directives from '@/directives' // 自定义指令集
 import '@/services/subscribe' // 全局订阅通知
 import '@/mock' // 模拟数据
 import client from '@/utils/client' // 适配客户端
-import { useLanguageStore } from '@/stores' // 国际化语言
+//import { useLanguageStore } from '@/stores' // 国际化语言
 import layouts from "./components/layouts" // 布局组件
 import ElementPlus from 'element-plus'
 import * as ElementIcons from '@element-plus/icons-vue'
@@ -13,14 +13,14 @@ import 'element-plus/dist/index.css'
 import './assets/themes/style.less' // 主题样式
 import { timerInterceptor } from '@/utils/timer'
 
-const { i18n } = useLanguageStore()
+//const { i18n } = useLanguageStore()
 
 const app = createApp(App)
 app.use(router)
 app.use(directives)
 app.use(ElementPlus)
 app.use(layouts)
-app.use(i18n)
+//app.use(i18n)
 app.mount('#app')
 
 // 等待 html 加载完成

+ 1 - 1
src/services/api/common/index.ts

@@ -9,7 +9,7 @@ import { CommonParams, HttpParams } from '@/services/http/interface'
 // }
 
 /**
- * 获取应用更新信息
+ * 获取应用更新信息(ios存在跨域问题)
  */
 export function GetAppUpdateInfo(params: CommonParams<{ rsp: string }>) {
     return commonRequest(getServiceUrl('androidUpdateUrl'), 'get', params);

+ 1 - 1
src/services/http/index.ts

@@ -55,7 +55,7 @@ const httpService = new (class {
                     return res
                 },
                 (err) => {
-                    const { msg, message } = err.response.data
+                    const { msg, message } = err.response?.data ?? {}
                     if (!axios.isCancel(err)) {
                         console.error(err)
                     }

+ 8 - 14
src/services/index.ts

@@ -2,7 +2,7 @@ import axios from 'axios'
 
 export default new (class {
     /** 应用配置信息 */
-    private appConfig = axios('./config/appconfig.json')
+    //private appConfig = axios('./config/appconfig.json')
 
     /** 服务配置信息 */
     config = {
@@ -48,21 +48,15 @@ export default new (class {
     private init(): Promise<typeof this.config> {
         this.isPending = true
         return new Promise((resolve, reject) => {
-            this.appConfig.then((res) => {
-                const { apiUrl } = res.data
-                // 获取服务接口地址
-                axios(apiUrl).then((res) => {
-                    this.config = res.data.data
-                    this.isReady = true
-                    resolve(this.config)
-                }).catch(() => {
-                    reject('获取服务配置地址失败')
-                }).finally(() => {
-                    this.isPending = false
-                })
+            // 获取服务接口地址
+            axios('http://218.17.158.45:16021/cfg?key=test_thj').then((res) => {
+                this.config = res.data.data
+                this.isReady = true
+                resolve(this.config)
             }).catch(() => {
+                reject('获取服务配置地址失败')
+            }).finally(() => {
                 this.isPending = false
-                reject('获取配置信息失败')
             })
         })
     }

+ 13 - 11
src/services/socket/trade/protobuf/index.ts

@@ -1,4 +1,6 @@
-import Protobuf from 'protobufjs'
+//import Protobuf from 'protobufjs'
+
+const $protoRoot = require('./thj.js')
 
 export default new (class {
     private readonly protoRoot: Promise<unknown>;
@@ -7,14 +9,14 @@ export default new (class {
      * 加载proto文件
      */
     constructor() {
-        this.protoRoot = new Promise((resolve, reject) => {
-            Protobuf.load('./proto/thj.proto', (err: Error, root: unknown) => {
-                if (err) {
-                    reject(err)
-                } else {
-                    resolve(root)
-                }
-            })
+        this.protoRoot = new Promise(() => {
+            // Protobuf.load('./proto/thj.proto', (err: Error, root: unknown) => {
+            //     if (err) {
+            //         reject(err)
+            //     } else {
+            //         resolve(root)
+            //     }
+            // })
         })
     }
 
@@ -42,7 +44,7 @@ export default new (class {
      * @returns 
      */
     async requestEncode<T>(protoName: string, payload: T): Promise<Uint8Array> {
-        const build = await this.build(protoName);
+        const build = await $protoRoot.lookup(protoName);
         return build.encode(payload).finish();
     }
 
@@ -53,7 +55,7 @@ export default new (class {
      * @returns 
      */
     async responseDecode<T>(protoName: string, content?: Uint8Array): Promise<T> {
-        const build = await this.build(protoName);
+        const build = await $protoRoot.lookup(protoName);
         return build.decode(content);
     }
 })

+ 7711 - 0
src/services/socket/trade/protobuf/thj.js

@@ -0,0 +1,7711 @@
+/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
+"use strict";
+
+var $protobuf = require("protobufjs/light");
+
+var $root = ($protobuf.roots["default"] || ($protobuf.roots["default"] = new $protobuf.Root()))
+.addJSON({
+  MessageHead: {
+    oneofs: {
+      _FunCode: {
+        oneof: [
+          "FunCode"
+        ]
+      },
+      _RequestID: {
+        oneof: [
+          "RequestID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _AccessID: {
+        oneof: [
+          "AccessID"
+        ]
+      },
+      _ClientTime: {
+        oneof: [
+          "ClientTime"
+        ]
+      },
+      _GoodsID: {
+        oneof: [
+          "GoodsID"
+        ]
+      },
+      _UUID: {
+        oneof: [
+          "UUID"
+        ]
+      },
+      _MarketID: {
+        oneof: [
+          "MarketID"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _ResponseTopic: {
+        oneof: [
+          "ResponseTopic"
+        ]
+      },
+      _AccountID2: {
+        oneof: [
+          "AccountID2"
+        ]
+      }
+    },
+    fields: {
+      FunCode: {
+        type: "uint32",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RequestID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccessID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientTime: {
+        type: "int64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      GoodsID: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UUID: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MarketID: {
+        type: "uint32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ResponseTopic: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID2: {
+        type: "uint64",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  LoginReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _LoginID: {
+        oneof: [
+          "LoginID"
+        ]
+      },
+      _LoginPWD: {
+        oneof: [
+          "LoginPWD"
+        ]
+      },
+      _LoginType: {
+        oneof: [
+          "LoginType"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _Version: {
+        oneof: [
+          "Version"
+        ]
+      },
+      _MobilePhone: {
+        oneof: [
+          "MobilePhone"
+        ]
+      },
+      _GUID: {
+        oneof: [
+          "GUID"
+        ]
+      },
+      _LoginIp: {
+        oneof: [
+          "LoginIp"
+        ]
+      },
+      _LoginPort: {
+        oneof: [
+          "LoginPort"
+        ]
+      },
+      _DeviceID: {
+        oneof: [
+          "DeviceID"
+        ]
+      },
+      _EnvironmentInfo: {
+        oneof: [
+          "EnvironmentInfo"
+        ]
+      },
+      _LoginCode: {
+        oneof: [
+          "LoginCode"
+        ]
+      },
+      _ClientSystemInfo: {
+        oneof: [
+          "ClientSystemInfo"
+        ]
+      },
+      _ClientAppID: {
+        oneof: [
+          "ClientAppID"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginPWD: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginType: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Version: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MobilePhone: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      GUID: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginIp: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginPort: {
+        type: "uint32",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DeviceID: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      EnvironmentInfo: {
+        type: "string",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginCode: {
+        type: "string",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSystemInfo: {
+        type: "bytes",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientAppID: {
+        type: "string",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  LoginRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _LoginID: {
+        oneof: [
+          "LoginID"
+        ]
+      },
+      _LoginUserType: {
+        oneof: [
+          "LoginUserType"
+        ]
+      },
+      _AccountStatus: {
+        oneof: [
+          "AccountStatus"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _MemberUserID: {
+        oneof: [
+          "MemberUserID"
+        ]
+      },
+      _Token: {
+        oneof: [
+          "Token"
+        ]
+      },
+      _SystemTime: {
+        oneof: [
+          "SystemTime"
+        ]
+      },
+      _HasUpdatedPwd: {
+        oneof: [
+          "HasUpdatedPwd"
+        ]
+      },
+      _PwdWrongCnt: {
+        oneof: [
+          "PwdWrongCnt"
+        ]
+      },
+      _PwdWrongLockCnt: {
+        oneof: [
+          "PwdWrongLockCnt"
+        ]
+      },
+      _LoginLockHourNum: {
+        oneof: [
+          "LoginLockHourNum"
+        ]
+      },
+      _LoginCode: {
+        oneof: [
+          "LoginCode"
+        ]
+      },
+      _ClientSystemInfo: {
+        oneof: [
+          "ClientSystemInfo"
+        ]
+      },
+      _ClientID: {
+        oneof: [
+          "ClientID"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginUserType: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountStatus: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MemberUserID: {
+        type: "uint32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountIDs: {
+        rule: "repeated",
+        type: "uint64",
+        id: 9
+      },
+      Token: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      SystemTime: {
+        type: "uint64",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      HasUpdatedPwd: {
+        type: "uint32",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PwdWrongCnt: {
+        type: "uint32",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PwdWrongLockCnt: {
+        type: "uint32",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginLockHourNum: {
+        type: "uint32",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginCode: {
+        type: "string",
+        id: 16,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSystemInfo: {
+        type: "bytes",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientID: {
+        type: "uint64",
+        id: 18,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  LogoutReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _LoginID: {
+        oneof: [
+          "LoginID"
+        ]
+      },
+      _Token: {
+        oneof: [
+          "Token"
+        ]
+      },
+      _LoginIp: {
+        oneof: [
+          "LoginIp"
+        ]
+      },
+      _LoginPort: {
+        oneof: [
+          "LoginPort"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Token: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginIp: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginPort: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  LogoutRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  TokenCheckReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _LoginID: {
+        oneof: [
+          "LoginID"
+        ]
+      },
+      _Token: {
+        oneof: [
+          "Token"
+        ]
+      },
+      _SystemTime: {
+        oneof: [
+          "SystemTime"
+        ]
+      },
+      _CheckType: {
+        oneof: [
+          "CheckType"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Token: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      SystemTime: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CheckType: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  TokenCheckRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _LoginID: {
+        oneof: [
+          "LoginID"
+        ]
+      },
+      _TokenStatus: {
+        oneof: [
+          "TokenStatus"
+        ]
+      },
+      _LoginUserType: {
+        oneof: [
+          "LoginUserType"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _MemberUserID: {
+        oneof: [
+          "MemberUserID"
+        ]
+      },
+      _SystemTime: {
+        oneof: [
+          "SystemTime"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TokenStatus: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginUserType: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MemberUserID: {
+        type: "uint32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountIDs: {
+        rule: "repeated",
+        type: "uint64",
+        id: 9
+      },
+      SystemTime: {
+        type: "uint64",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  ModifyPwdReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ModifyPwdType: {
+        oneof: [
+          "ModifyPwdType"
+        ]
+      },
+      _ModifyPwdID: {
+        oneof: [
+          "ModifyPwdID"
+        ]
+      },
+      _OldPwd: {
+        oneof: [
+          "OldPwd"
+        ]
+      },
+      _NewPwd: {
+        oneof: [
+          "NewPwd"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ModifyPwdType: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ModifyPwdID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OldPwd: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      NewPwd: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  ModifyPwdRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  InvestorDelReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _ImageUrl: {
+        oneof: [
+          "ImageUrl"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ImageUrl: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  InvestorDelRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  LoginQueryReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _LoginID: {
+        oneof: [
+          "LoginID"
+        ]
+      },
+      _QueryItem: {
+        oneof: [
+          "QueryItem"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LoginID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      QueryItem: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  LoginQueryRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _AccountInfo: {
+        oneof: [
+          "AccountInfo"
+        ]
+      },
+      _ServerLastNoticeId: {
+        oneof: [
+          "ServerLastNoticeId"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountInfo: {
+        type: "AccountInfo",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TAAccountList: {
+        rule: "repeated",
+        type: "TAAccountAll",
+        id: 5
+      },
+      GoodsRuleAndFeeList: {
+        rule: "repeated",
+        type: "GoodsRuleAndFee",
+        id: 6
+      },
+      ParamValues: {
+        rule: "repeated",
+        type: "ParamValue",
+        id: 7
+      },
+      ServerLastNoticeId: {
+        type: "uint32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  GoodsRuleAndFee: {
+    oneofs: {
+      _GoodsID: {
+        oneof: [
+          "GoodsID"
+        ]
+      },
+      _CustomerTypeID: {
+        oneof: [
+          "CustomerTypeID"
+        ]
+      }
+    },
+    fields: {
+      GoodsID: {
+        type: "int32",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CustomerTypeID: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      GoodsRuleList: {
+        rule: "repeated",
+        type: "GoodsRule",
+        id: 3
+      }
+    }
+  },
+  ParamValue: {
+    oneofs: {
+      _Key: {
+        oneof: [
+          "Key"
+        ]
+      },
+      _Value: {
+        oneof: [
+          "Value"
+        ]
+      }
+    },
+    fields: {
+      Key: {
+        type: "string",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Value: {
+        type: "string",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  GoodsRule: {
+    oneofs: {
+      _Ruleid: {
+        oneof: [
+          "Ruleid"
+        ]
+      },
+      _GoodsID: {
+        oneof: [
+          "GoodsID"
+        ]
+      },
+      _RuleName: {
+        oneof: [
+          "RuleName"
+        ]
+      },
+      _ParamValue: {
+        oneof: [
+          "ParamValue"
+        ]
+      }
+    },
+    fields: {
+      Ruleid: {
+        type: "int32",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      GoodsID: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RuleName: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ParamValue: {
+        type: "double",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  AccountInfo: {
+    oneofs: {
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _UserType: {
+        oneof: [
+          "UserType"
+        ]
+      },
+      _ParentUserID: {
+        oneof: [
+          "ParentUserID"
+        ]
+      },
+      _AccountName: {
+        oneof: [
+          "AccountName"
+        ]
+      },
+      _CustomerName: {
+        oneof: [
+          "CustomerName"
+        ]
+      },
+      _UserInfoType: {
+        oneof: [
+          "UserInfoType"
+        ]
+      },
+      _CardTypeID: {
+        oneof: [
+          "CardTypeID"
+        ]
+      },
+      _CardNum: {
+        oneof: [
+          "CardNum"
+        ]
+      },
+      _Mobile: {
+        oneof: [
+          "Mobile"
+        ]
+      },
+      _HasAuth: {
+        oneof: [
+          "HasAuth"
+        ]
+      },
+      _MemberUserid: {
+        oneof: [
+          "MemberUserid"
+        ]
+      },
+      _IsAnonymous: {
+        oneof: [
+          "IsAnonymous"
+        ]
+      },
+      _taaccountrighttype: {
+        oneof: [
+          "taaccountrighttype"
+        ]
+      }
+    },
+    fields: {
+      UserID: {
+        type: "uint32",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserType: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ParentUserID: {
+        type: "uint32",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountName: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CustomerName: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserInfoType: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CardTypeID: {
+        type: "uint32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CardNum: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Mobile: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      HasAuth: {
+        type: "uint32",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MemberUserid: {
+        type: "uint64",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      IsAnonymous: {
+        type: "uint32",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      taaccountrighttype: {
+        type: "uint32",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  TAAccountAll: {
+    oneofs: {
+      _TaAccountInfo: {
+        oneof: [
+          "TaAccountInfo"
+        ]
+      }
+    },
+    fields: {
+      TaAccountInfo: {
+        type: "TaAccountInfo",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradePositionList: {
+        rule: "repeated",
+        type: "TradePosition",
+        id: 2
+      },
+      MarketsIdList: {
+        rule: "repeated",
+        type: "uint32",
+        id: 3
+      }
+    }
+  },
+  TradePosition: {
+    oneofs: {
+      _GoodsId: {
+        oneof: [
+          "GoodsId"
+        ]
+      },
+      _BuyFrozenQty: {
+        oneof: [
+          "BuyFrozenQty"
+        ]
+      },
+      _BuyOtherFrozenQty: {
+        oneof: [
+          "BuyOtherFrozenQty"
+        ]
+      },
+      _BuyCurPositionQty: {
+        oneof: [
+          "BuyCurPositionQty"
+        ]
+      },
+      _BuyCurHolderAmount: {
+        oneof: [
+          "BuyCurHolderAmount"
+        ]
+      },
+      _SellFrozenQty: {
+        oneof: [
+          "SellFrozenQty"
+        ]
+      },
+      _SellOtherFrozenQty: {
+        oneof: [
+          "SellOtherFrozenQty"
+        ]
+      },
+      _SellCurPositionQty: {
+        oneof: [
+          "SellCurPositionQty"
+        ]
+      },
+      _SellCurHolderAmount: {
+        oneof: [
+          "SellCurHolderAmount"
+        ]
+      }
+    },
+    fields: {
+      GoodsId: {
+        type: "uint32",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BuyFrozenQty: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BuyOtherFrozenQty: {
+        type: "uint32",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BuyCurPositionQty: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BuyCurHolderAmount: {
+        type: "double",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      SellFrozenQty: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      SellOtherFrozenQty: {
+        type: "uint32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      SellCurPositionQty: {
+        type: "uint32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      SellCurHolderAmount: {
+        type: "double",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  TaAccountInfo: {
+    oneofs: {
+      _AccountId: {
+        oneof: [
+          "AccountId"
+        ]
+      },
+      _TradeStatus: {
+        oneof: [
+          "TradeStatus"
+        ]
+      },
+      _Currency: {
+        oneof: [
+          "Currency"
+        ]
+      },
+      _IsMain: {
+        oneof: [
+          "IsMain"
+        ]
+      },
+      _ParentAccountID: {
+        oneof: [
+          "ParentAccountID"
+        ]
+      },
+      _TAAccountType: {
+        oneof: [
+          "TAAccountType"
+        ]
+      },
+      _RelatedMainAccountID: {
+        oneof: [
+          "RelatedMainAccountID"
+        ]
+      },
+      _Balance: {
+        oneof: [
+          "Balance"
+        ]
+      },
+      _CurrentBalance: {
+        oneof: [
+          "CurrentBalance"
+        ]
+      },
+      _UsedMargin: {
+        oneof: [
+          "UsedMargin"
+        ]
+      },
+      _FreezeMargin: {
+        oneof: [
+          "FreezeMargin"
+        ]
+      },
+      _OtherFreezeMargin: {
+        oneof: [
+          "OtherFreezeMargin"
+        ]
+      },
+      _FreezeCharge: {
+        oneof: [
+          "FreezeCharge"
+        ]
+      },
+      _MortgageCredit: {
+        oneof: [
+          "MortgageCredit"
+        ]
+      },
+      _OtherCredit: {
+        oneof: [
+          "OtherCredit"
+        ]
+      },
+      _OutAmountFreeze: {
+        oneof: [
+          "OutAmountFreeze"
+        ]
+      },
+      _InAmount: {
+        oneof: [
+          "InAmount"
+        ]
+      },
+      _OutAmount: {
+        oneof: [
+          "OutAmount"
+        ]
+      },
+      _PayCharge: {
+        oneof: [
+          "PayCharge"
+        ]
+      },
+      _ClosePL: {
+        oneof: [
+          "ClosePL"
+        ]
+      },
+      _CreditIncrease: {
+        oneof: [
+          "CreditIncrease"
+        ]
+      },
+      _CreditDecrease: {
+        oneof: [
+          "CreditDecrease"
+        ]
+      },
+      _OtherCreditIncrease: {
+        oneof: [
+          "OtherCreditIncrease"
+        ]
+      },
+      _OtherCreditDecrease: {
+        oneof: [
+          "OtherCreditDecrease"
+        ]
+      },
+      _TransferAmount: {
+        oneof: [
+          "TransferAmount"
+        ]
+      },
+      _OtherPay: {
+        oneof: [
+          "OtherPay"
+        ]
+      },
+      _OtherIncome: {
+        oneof: [
+          "OtherIncome"
+        ]
+      },
+      _OutThreshold: {
+        oneof: [
+          "OutThreshold"
+        ]
+      },
+      _IsMarketAccount: {
+        oneof: [
+          "IsMarketAccount"
+        ]
+      },
+      _Currencyid: {
+        oneof: [
+          "Currencyid"
+        ]
+      }
+    },
+    fields: {
+      AccountId: {
+        type: "uint64",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeStatus: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Currency: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      IsMain: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ParentAccountID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TAAccountType: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RelatedMainAccountID: {
+        type: "uint64",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Balance: {
+        type: "double",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CurrentBalance: {
+        type: "double",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UsedMargin: {
+        type: "double",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      FreezeMargin: {
+        type: "double",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OtherFreezeMargin: {
+        type: "double",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      FreezeCharge: {
+        type: "double",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MortgageCredit: {
+        type: "double",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OtherCredit: {
+        type: "double",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OutAmountFreeze: {
+        type: "double",
+        id: 16,
+        options: {
+          proto3_optional: true
+        }
+      },
+      InAmount: {
+        type: "double",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OutAmount: {
+        type: "double",
+        id: 18,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PayCharge: {
+        type: "double",
+        id: 19,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClosePL: {
+        type: "double",
+        id: 20,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CreditIncrease: {
+        type: "double",
+        id: 21,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CreditDecrease: {
+        type: "double",
+        id: 22,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OtherCreditIncrease: {
+        type: "double",
+        id: 23,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OtherCreditDecrease: {
+        type: "double",
+        id: 24,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TransferAmount: {
+        type: "double",
+        id: 25,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OtherPay: {
+        type: "double",
+        id: 26,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OtherIncome: {
+        type: "double",
+        id: 27,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OutThreshold: {
+        type: "double",
+        id: 28,
+        options: {
+          proto3_optional: true
+        }
+      },
+      IsMarketAccount: {
+        type: "uint32",
+        id: 29,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Currencyid: {
+        type: "uint32",
+        id: 30,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  MoneyChangedNtf: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _NtfHeader: {
+        oneof: [
+          "NtfHeader"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      NtfHeader: {
+        type: "NotifyHead",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  NotifyHead: {
+    oneofs: {
+      _NtfMode: {
+        oneof: [
+          "NtfMode"
+        ]
+      }
+    },
+    fields: {
+      NtfMode: {
+        type: "int32",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExcludeAcctIDs: {
+        rule: "repeated",
+        type: "uint32",
+        id: 2
+      },
+      ExchIDs: {
+        rule: "repeated",
+        type: "uint32",
+        id: 3
+      },
+      MemberIDs: {
+        rule: "repeated",
+        type: "uint32",
+        id: 4
+      },
+      AccountIDs: {
+        rule: "repeated",
+        type: "uint64",
+        id: 5
+      }
+    }
+  },
+  UserReceiveInfoReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ClientSerialID: {
+        oneof: [
+          "ClientSerialID"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _ReceiverName: {
+        oneof: [
+          "ReceiverName"
+        ]
+      },
+      _CardTypeID: {
+        oneof: [
+          "CardTypeID"
+        ]
+      },
+      _CardNum: {
+        oneof: [
+          "CardNum"
+        ]
+      },
+      _PhoneNum: {
+        oneof: [
+          "PhoneNum"
+        ]
+      },
+      _CountryID: {
+        oneof: [
+          "CountryID"
+        ]
+      },
+      _ProvinceID: {
+        oneof: [
+          "ProvinceID"
+        ]
+      },
+      _CityID: {
+        oneof: [
+          "CityID"
+        ]
+      },
+      _DistrictID: {
+        oneof: [
+          "DistrictID"
+        ]
+      },
+      _Address: {
+        oneof: [
+          "Address"
+        ]
+      },
+      _TakeRemark: {
+        oneof: [
+          "TakeRemark"
+        ]
+      },
+      _ReceiveInfoId: {
+        oneof: [
+          "ReceiveInfoId"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiverName: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CardTypeID: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CardNum: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PhoneNum: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CountryID: {
+        type: "uint32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ProvinceID: {
+        type: "uint32",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CityID: {
+        type: "uint32",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DistrictID: {
+        type: "uint32",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Address: {
+        type: "string",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TakeRemark: {
+        type: "string",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiveInfoId: {
+        type: "uint64",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  UserReceiveInfoRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _ReceiveInfoId: {
+        oneof: [
+          "ReceiveInfoId"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiveInfoId: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  DelUserReceiveInfoReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ReceiveInfoId: {
+        oneof: [
+          "ReceiveInfoId"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiveInfoId: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  DelUserReceiveInfoRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  UserReceiveIsDefaultReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _AutoId: {
+        oneof: [
+          "AutoId"
+        ]
+      },
+      _UserId: {
+        oneof: [
+          "UserId"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AutoId: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserId: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  UserReceiveIsDefaultRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _AutoId: {
+        oneof: [
+          "AutoId"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AutoId: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  UserReceiptInfoReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ClientSerialID: {
+        oneof: [
+          "ClientSerialID"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _UserName: {
+        oneof: [
+          "UserName"
+        ]
+      },
+      _ReceiptType: {
+        oneof: [
+          "ReceiptType"
+        ]
+      },
+      _TaxpayerID: {
+        oneof: [
+          "TaxpayerID"
+        ]
+      },
+      _ContactInfo: {
+        oneof: [
+          "ContactInfo"
+        ]
+      },
+      _ReceiptInfoId: {
+        oneof: [
+          "ReceiptInfoId"
+        ]
+      },
+      _ReceiptBank: {
+        oneof: [
+          "ReceiptBank"
+        ]
+      },
+      _ReceiptAccount: {
+        oneof: [
+          "ReceiptAccount"
+        ]
+      },
+      _Address: {
+        oneof: [
+          "Address"
+        ]
+      },
+      _IDNum: {
+        oneof: [
+          "IDNum"
+        ]
+      },
+      _Email: {
+        oneof: [
+          "Email"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserName: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiptType: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TaxpayerID: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ContactInfo: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiptInfoId: {
+        type: "uint64",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiptBank: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiptAccount: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Address: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      IDNum: {
+        type: "string",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Email: {
+        type: "string",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  UserReceiptInfoRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _ReceiptInfoId: {
+        oneof: [
+          "ReceiptInfoId"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiptInfoId: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  DelUserReceiptInfoReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ReceiptInfoId: {
+        oneof: [
+          "ReceiptInfoId"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiptInfoId: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  DelUserReceiptInfoRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  t2bBankSignReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ExchId: {
+        oneof: [
+          "ExchId"
+        ]
+      },
+      _TradeDate: {
+        oneof: [
+          "TradeDate"
+        ]
+      },
+      _ExchTicket: {
+        oneof: [
+          "ExchTicket"
+        ]
+      },
+      _Currency: {
+        oneof: [
+          "Currency"
+        ]
+      },
+      _AccountType: {
+        oneof: [
+          "AccountType"
+        ]
+      },
+      _ForceSignBankAccountNo: {
+        oneof: [
+          "ForceSignBankAccountNo"
+        ]
+      },
+      _ForceSignBankAccountName: {
+        oneof: [
+          "ForceSignBankAccountName"
+        ]
+      },
+      _BankAccountName: {
+        oneof: [
+          "BankAccountName"
+        ]
+      },
+      _OpenBankNo: {
+        oneof: [
+          "OpenBankNo"
+        ]
+      },
+      _OpenBankName: {
+        oneof: [
+          "OpenBankName"
+        ]
+      },
+      _BankAccountPWD: {
+        oneof: [
+          "BankAccountPWD"
+        ]
+      },
+      _AgentName: {
+        oneof: [
+          "AgentName"
+        ]
+      },
+      _AgentCertType: {
+        oneof: [
+          "AgentCertType"
+        ]
+      },
+      _AgentCertID: {
+        oneof: [
+          "AgentCertID"
+        ]
+      },
+      _BankAccountType: {
+        oneof: [
+          "BankAccountType"
+        ]
+      },
+      _BankProvince: {
+        oneof: [
+          "BankProvince"
+        ]
+      },
+      _BankCity: {
+        oneof: [
+          "BankCity"
+        ]
+      },
+      _BankCardType: {
+        oneof: [
+          "BankCardType"
+        ]
+      },
+      _MobilePhone: {
+        oneof: [
+          "MobilePhone"
+        ]
+      },
+      _IdentifyCode: {
+        oneof: [
+          "IdentifyCode"
+        ]
+      },
+      _email: {
+        oneof: [
+          "email"
+        ]
+      },
+      _Extend_Info: {
+        oneof: [
+          "Extend_Info"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExtOperatorID: {
+        rule: "required",
+        type: "uint64",
+        id: 2
+      },
+      ExchId: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchTicket: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountCode: {
+        rule: "required",
+        type: "string",
+        id: 6
+      },
+      AccountName: {
+        rule: "required",
+        type: "string",
+        id: 7
+      },
+      CusBankID: {
+        rule: "required",
+        type: "string",
+        id: 8
+      },
+      OperateType: {
+        rule: "required",
+        type: "int32",
+        id: 9
+      },
+      IsForce: {
+        rule: "required",
+        type: "int32",
+        id: 10
+      },
+      Currency: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountType: {
+        type: "int32",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OpenBankAccId: {
+        rule: "required",
+        type: "string",
+        id: 13
+      },
+      ForceSignBankAccountNo: {
+        type: "string",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ForceSignBankAccountName: {
+        type: "string",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankAccountNo: {
+        rule: "required",
+        type: "string",
+        id: 16
+      },
+      BankAccountName: {
+        type: "string",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExBankName: {
+        rule: "required",
+        type: "string",
+        id: 18
+      },
+      OpenBankNo: {
+        type: "string",
+        id: 19,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OpenBankName: {
+        type: "string",
+        id: 20,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CertType: {
+        rule: "required",
+        type: "string",
+        id: 21
+      },
+      CertID: {
+        rule: "required",
+        type: "string",
+        id: 22
+      },
+      BankAccountPWD: {
+        type: "string",
+        id: 23,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AgentName: {
+        type: "string",
+        id: 24,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AgentCertType: {
+        type: "int32",
+        id: 25,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AgentCertID: {
+        type: "string",
+        id: 26,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankAccountType: {
+        type: "int32",
+        id: 27,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankProvince: {
+        type: "string",
+        id: 28,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankCity: {
+        type: "string",
+        id: 29,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankCardType: {
+        type: "int32",
+        id: 30,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MobilePhone: {
+        type: "string",
+        id: 31,
+        options: {
+          proto3_optional: true
+        }
+      },
+      IdentifyCode: {
+        type: "string",
+        id: 32,
+        options: {
+          proto3_optional: true
+        }
+      },
+      email: {
+        type: "string",
+        id: 33,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Extend_Info: {
+        type: "string",
+        id: 34,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  t2bBankSignRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _ExtOperatorID: {
+        oneof: [
+          "ExtOperatorID"
+        ]
+      },
+      _AccountCode: {
+        oneof: [
+          "AccountCode"
+        ]
+      },
+      _NetAddr: {
+        oneof: [
+          "NetAddr"
+        ]
+      },
+      _Status: {
+        oneof: [
+          "Status"
+        ]
+      },
+      _ExchId: {
+        oneof: [
+          "ExchId"
+        ]
+      },
+      _TradeDate: {
+        oneof: [
+          "TradeDate"
+        ]
+      },
+      _CenterTicket: {
+        oneof: [
+          "CenterTicket"
+        ]
+      },
+      _CenterErrCode: {
+        oneof: [
+          "CenterErrCode"
+        ]
+      },
+      _CenterErrMsg: {
+        oneof: [
+          "CenterErrMsg"
+        ]
+      },
+      _bankChildAcc: {
+        oneof: [
+          "bankChildAcc"
+        ]
+      },
+      _bankChildAccName: {
+        oneof: [
+          "bankChildAccName"
+        ]
+      },
+      _BankId: {
+        oneof: [
+          "BankId"
+        ]
+      },
+      _BankAccNum: {
+        oneof: [
+          "BankAccNum"
+        ]
+      },
+      _BankAccName: {
+        oneof: [
+          "BankAccName"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExtOperatorID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountCode: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      NetAddr: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Status: {
+        type: "int32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchTicket: {
+        rule: "required",
+        type: "string",
+        id: 8
+      },
+      ExchId: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterTicket: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterErrCode: {
+        type: "string",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterErrMsg: {
+        type: "string",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      },
+      bankChildAcc: {
+        type: "string",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      bankChildAccName: {
+        type: "string",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankId: {
+        type: "string",
+        id: 16,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankAccNum: {
+        type: "string",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankAccName: {
+        type: "string",
+        id: 18,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  t2bBankCancelSignReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ExchId: {
+        oneof: [
+          "ExchId"
+        ]
+      },
+      _Currency: {
+        oneof: [
+          "Currency"
+        ]
+      },
+      _TradeDate: {
+        oneof: [
+          "TradeDate"
+        ]
+      },
+      _ExchTicket: {
+        oneof: [
+          "ExchTicket"
+        ]
+      },
+      _BankChildAcc: {
+        oneof: [
+          "BankChildAcc"
+        ]
+      },
+      _BankChildAccName: {
+        oneof: [
+          "BankChildAccName"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExtOperatorID: {
+        rule: "required",
+        type: "uint64",
+        id: 2
+      },
+      ExchId: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountCode: {
+        rule: "required",
+        type: "string",
+        id: 4
+      },
+      CusBankID: {
+        rule: "required",
+        type: "string",
+        id: 5
+      },
+      IsForce: {
+        rule: "required",
+        type: "int32",
+        id: 6
+      },
+      Currency: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchTicket: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankChildAcc: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankChildAccName: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  t2bBankCancelSignRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _ExtOperatorID: {
+        oneof: [
+          "ExtOperatorID"
+        ]
+      },
+      _AccountCode: {
+        oneof: [
+          "AccountCode"
+        ]
+      },
+      _NetAddr: {
+        oneof: [
+          "NetAddr"
+        ]
+      },
+      _Status: {
+        oneof: [
+          "Status"
+        ]
+      },
+      _ExchId: {
+        oneof: [
+          "ExchId"
+        ]
+      },
+      _TradeDate: {
+        oneof: [
+          "TradeDate"
+        ]
+      },
+      _CenterTicket: {
+        oneof: [
+          "CenterTicket"
+        ]
+      },
+      _CenterErrCode: {
+        oneof: [
+          "CenterErrCode"
+        ]
+      },
+      _CenterErrMsg: {
+        oneof: [
+          "CenterErrMsg"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExtOperatorID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountCode: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      NetAddr: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Status: {
+        type: "int32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchTicket: {
+        rule: "required",
+        type: "string",
+        id: 8
+      },
+      ExchId: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterTicket: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterErrCode: {
+        type: "string",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterErrMsg: {
+        type: "string",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  t2bBankWithdrawReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ExchId: {
+        oneof: [
+          "ExchId"
+        ]
+      },
+      _AccountType: {
+        oneof: [
+          "AccountType"
+        ]
+      },
+      _BankChildAccount: {
+        oneof: [
+          "BankChildAccount"
+        ]
+      },
+      _BankChildAccountName: {
+        oneof: [
+          "BankChildAccountName"
+        ]
+      },
+      _OpenCardBankId: {
+        oneof: [
+          "OpenCardBankId"
+        ]
+      },
+      _BankAccoutNum: {
+        oneof: [
+          "BankAccoutNum"
+        ]
+      },
+      _BankAccoutName: {
+        oneof: [
+          "BankAccoutName"
+        ]
+      },
+      _AppDateTime: {
+        oneof: [
+          "AppDateTime"
+        ]
+      },
+      _OldTaPWD: {
+        oneof: [
+          "OldTaPWD"
+        ]
+      },
+      _Desc: {
+        oneof: [
+          "Desc"
+        ]
+      },
+      _IdentifyCode: {
+        oneof: [
+          "IdentifyCode"
+        ]
+      },
+      _BranchBankName: {
+        oneof: [
+          "BranchBankName"
+        ]
+      },
+      _Extend_Info: {
+        oneof: [
+          "Extend_Info"
+        ]
+      },
+      _Remark: {
+        oneof: [
+          "Remark"
+        ]
+      },
+      _ExchTicket: {
+        oneof: [
+          "ExchTicket"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExtOperatorID: {
+        rule: "required",
+        type: "uint64",
+        id: 2
+      },
+      ExchId: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountCode: {
+        rule: "required",
+        type: "string",
+        id: 4
+      },
+      CusBankID: {
+        rule: "required",
+        type: "string",
+        id: 5
+      },
+      Currency: {
+        rule: "required",
+        type: "string",
+        id: 6
+      },
+      AccountType: {
+        type: "int32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankChildAccount: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankChildAccountName: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OpenCardBankId: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankAccoutNum: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankAccoutName: {
+        type: "string",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Amount: {
+        rule: "required",
+        type: "double",
+        id: 13
+      },
+      AppDateTime: {
+        type: "string",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OldTaPWD: {
+        type: "string",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Desc: {
+        type: "string",
+        id: 16,
+        options: {
+          proto3_optional: true
+        }
+      },
+      IdentifyCode: {
+        type: "string",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BranchBankName: {
+        type: "string",
+        id: 18,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Extend_Info: {
+        type: "string",
+        id: 19,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Remark: {
+        type: "string",
+        id: 20,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchTicket: {
+        type: "string",
+        id: 21,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  t2bBankWithdrawRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _ExtOperatorID: {
+        oneof: [
+          "ExtOperatorID"
+        ]
+      },
+      _Status: {
+        oneof: [
+          "Status"
+        ]
+      },
+      _ExchId: {
+        oneof: [
+          "ExchId"
+        ]
+      },
+      _TradeDate: {
+        oneof: [
+          "TradeDate"
+        ]
+      },
+      _CenterTicket: {
+        oneof: [
+          "CenterTicket"
+        ]
+      },
+      _CenterErrCode: {
+        oneof: [
+          "CenterErrCode"
+        ]
+      },
+      _CenterErrMsg: {
+        oneof: [
+          "CenterErrMsg"
+        ]
+      },
+      _CerterCheckDate: {
+        oneof: [
+          "CerterCheckDate"
+        ]
+      },
+      _NetAddr: {
+        oneof: [
+          "NetAddr"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExtOperatorID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Status: {
+        type: "int32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchTicket: {
+        rule: "required",
+        type: "string",
+        id: 6
+      },
+      ExchId: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterTicket: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterErrCode: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterErrMsg: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CerterCheckDate: {
+        type: "string",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      NetAddr: {
+        type: "string",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  t2bBankDepositReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ExchId: {
+        oneof: [
+          "ExchId"
+        ]
+      },
+      _TradeDate: {
+        oneof: [
+          "TradeDate"
+        ]
+      },
+      _ExchTicket: {
+        oneof: [
+          "ExchTicket"
+        ]
+      },
+      _BusinessNo: {
+        oneof: [
+          "BusinessNo"
+        ]
+      },
+      _BankChildAccount: {
+        oneof: [
+          "BankChildAccount"
+        ]
+      },
+      _BankChildAccountName: {
+        oneof: [
+          "BankChildAccountName"
+        ]
+      },
+      _OldTaPWD: {
+        oneof: [
+          "OldTaPWD"
+        ]
+      },
+      _Remark: {
+        oneof: [
+          "Remark"
+        ]
+      },
+      _OpenCardBankId: {
+        oneof: [
+          "OpenCardBankId"
+        ]
+      },
+      _BankAccoutNum: {
+        oneof: [
+          "BankAccoutNum"
+        ]
+      },
+      _BankAccoutName: {
+        oneof: [
+          "BankAccoutName"
+        ]
+      },
+      _Extend_Info: {
+        oneof: [
+          "Extend_Info"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExtOperatorID: {
+        rule: "required",
+        type: "uint64",
+        id: 2
+      },
+      CusBankID: {
+        rule: "required",
+        type: "string",
+        id: 3
+      },
+      ExchId: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchTicket: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountCode: {
+        rule: "required",
+        type: "string",
+        id: 7
+      },
+      BusinessNo: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankChildAccount: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankChildAccountName: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OldTaPWD: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Amount: {
+        rule: "required",
+        type: "double",
+        id: 12
+      },
+      Currency: {
+        rule: "required",
+        type: "string",
+        id: 13
+      },
+      Remark: {
+        type: "string",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OpenCardBankId: {
+        type: "string",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankAccoutNum: {
+        type: "string",
+        id: 16,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BankAccoutName: {
+        type: "string",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Extend_Info: {
+        type: "string",
+        id: 18,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  t2bBankDepositRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _ExtOperatorID: {
+        oneof: [
+          "ExtOperatorID"
+        ]
+      },
+      _Status: {
+        oneof: [
+          "Status"
+        ]
+      },
+      _ExchId: {
+        oneof: [
+          "ExchId"
+        ]
+      },
+      _TradeDate: {
+        oneof: [
+          "TradeDate"
+        ]
+      },
+      _CenterTicket: {
+        oneof: [
+          "CenterTicket"
+        ]
+      },
+      _CenterErrCode: {
+        oneof: [
+          "CenterErrCode"
+        ]
+      },
+      _CenterErrMsg: {
+        oneof: [
+          "CenterErrMsg"
+        ]
+      },
+      _CerterCheckDate: {
+        oneof: [
+          "CerterCheckDate"
+        ]
+      },
+      _NetAddr: {
+        oneof: [
+          "NetAddr"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExtOperatorID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Status: {
+        type: "int32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchTicket: {
+        rule: "required",
+        type: "string",
+        id: 6
+      },
+      ExchId: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterTicket: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterErrCode: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CenterErrMsg: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CerterCheckDate: {
+        type: "string",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      NetAddr: {
+        type: "string",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleDestingOrderReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _PresaleApplyID: {
+        oneof: [
+          "PresaleApplyID"
+        ]
+      },
+      _Qty: {
+        oneof: [
+          "Qty"
+        ]
+      },
+      _DepositID: {
+        oneof: [
+          "DepositID"
+        ]
+      },
+      _THJDeliveryMode: {
+        oneof: [
+          "THJDeliveryMode"
+        ]
+      },
+      _ContactName: {
+        oneof: [
+          "ContactName"
+        ]
+      },
+      _ContactInfo: {
+        oneof: [
+          "ContactInfo"
+        ]
+      },
+      _DesAddress: {
+        oneof: [
+          "DesAddress"
+        ]
+      },
+      _ReceiptInfo: {
+        oneof: [
+          "ReceiptInfo"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PresaleApplyID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Qty: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DepositID: {
+        type: "uint64",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      THJDeliveryMode: {
+        type: "uint32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ContactName: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ContactInfo: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DesAddress: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ReceiptInfo: {
+        type: "string",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleDestingOrderRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _PresaleApplyID: {
+        oneof: [
+          "PresaleApplyID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PresaleApplyID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleDeliveryConfirmReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _Remark: {
+        oneof: [
+          "Remark"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Remark: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleDeliveryConfirmRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleBreachOfContractConfirmReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _BuyAmount: {
+        oneof: [
+          "BuyAmount"
+        ]
+      },
+      _ExchangeAmount: {
+        oneof: [
+          "ExchangeAmount"
+        ]
+      },
+      _HandleRemark: {
+        oneof: [
+          "HandleRemark"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BuyAmount: {
+        type: "double",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ExchangeAmount: {
+        type: "double",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      HandleRemark: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleBreachOfContractConfirmRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleBreachOfContractApplyReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleBreachOfContractApplyRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresalePlaymentReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresalePlaymentRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  THJRedPacketLotteryReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  THJRedPacketLotteryRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _RedPacketAmount: {
+        oneof: [
+          "RedPacketAmount"
+        ]
+      },
+      _GearLevel: {
+        oneof: [
+          "GearLevel"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RedPacketAmount: {
+        type: "double",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      GearLevel: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  AccountFundInfoReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _OrderId: {
+        oneof: [
+          "OrderId"
+        ]
+      },
+      _AccountId: {
+        oneof: [
+          "AccountId"
+        ]
+      },
+      _QueryBitMask: {
+        oneof: [
+          "QueryBitMask"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderId: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountId: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      QueryBitMask: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  AccountFundInfoRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _OrderId: {
+        oneof: [
+          "OrderId"
+        ]
+      },
+      _AccountId: {
+        oneof: [
+          "AccountId"
+        ]
+      },
+      _AvailableMargin: {
+        oneof: [
+          "AvailableMargin"
+        ]
+      },
+      _AvailableOutMoney: {
+        oneof: [
+          "AvailableOutMoney"
+        ]
+      },
+      _IsCleanAccount: {
+        oneof: [
+          "IsCleanAccount"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderId: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountId: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AvailableMargin: {
+        type: "double",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AvailableOutMoney: {
+        type: "double",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      IsCleanAccount: {
+        type: "int32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  WRListingCancelOrderReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _OldWRTradeOrderID: {
+        oneof: [
+          "OldWRTradeOrderID"
+        ]
+      },
+      _OrderSrc: {
+        oneof: [
+          "OrderSrc"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      },
+      _ClientOrderTime: {
+        oneof: [
+          "ClientOrderTime"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _OperatorID: {
+        oneof: [
+          "OperatorID"
+        ]
+      },
+      _BuyOrSell: {
+        oneof: [
+          "BuyOrSell"
+        ]
+      },
+      _WRID: {
+        oneof: [
+          "WRID"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OldWRTradeOrderID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderSrc: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientOrderTime: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OperatorID: {
+        type: "uint64",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BuyOrSell: {
+        type: "uint32",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRID: {
+        type: "uint64",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  WRListingCancelOrderRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _WRTradeCancelID: {
+        oneof: [
+          "WRTradeCancelID"
+        ]
+      },
+      _OldWRTradeOrderID: {
+        oneof: [
+          "OldWRTradeOrderID"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _CancelQty: {
+        oneof: [
+          "CancelQty"
+        ]
+      },
+      _OrderTime: {
+        oneof: [
+          "OrderTime"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeCancelID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OldWRTradeOrderID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CancelQty: {
+        type: "uint64",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderTime: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  WROutInDetail: {
+    oneofs: {
+      _LadingBillID: {
+        oneof: [
+          "LadingBillID"
+        ]
+      },
+      _SubNum: {
+        oneof: [
+          "SubNum"
+        ]
+      },
+      _Qty: {
+        oneof: [
+          "Qty"
+        ]
+      },
+      _OutQty: {
+        oneof: [
+          "OutQty"
+        ]
+      }
+    },
+    fields: {
+      LadingBillID: {
+        type: "string",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      SubNum: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Qty: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OutQty: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  WROutApplyReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _ClientSerialID: {
+        oneof: [
+          "ClientSerialID"
+        ]
+      },
+      _WRStandardID: {
+        oneof: [
+          "WRStandardID"
+        ]
+      },
+      _WarehouseID: {
+        oneof: [
+          "WarehouseID"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _Mobile: {
+        oneof: [
+          "Mobile"
+        ]
+      },
+      _AppointmentDate: {
+        oneof: [
+          "AppointmentDate"
+        ]
+      },
+      _AppointmentModel: {
+        oneof: [
+          "AppointmentModel"
+        ]
+      },
+      _CountryID: {
+        oneof: [
+          "CountryID"
+        ]
+      },
+      _ProvinceID: {
+        oneof: [
+          "ProvinceID"
+        ]
+      },
+      _DistrictID: {
+        oneof: [
+          "DistrictID"
+        ]
+      },
+      _CityID: {
+        oneof: [
+          "CityID"
+        ]
+      },
+      _Address: {
+        oneof: [
+          "Address"
+        ]
+      },
+      _ContactName: {
+        oneof: [
+          "ContactName"
+        ]
+      },
+      _ContactNum: {
+        oneof: [
+          "ContactNum"
+        ]
+      },
+      _AppointmentRemark: {
+        oneof: [
+          "AppointmentRemark"
+        ]
+      },
+      _CreatorID: {
+        oneof: [
+          "CreatorID"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRStandardID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WarehouseID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Mobile: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AppointmentDate: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AppointmentModel: {
+        type: "uint32",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CountryID: {
+        type: "uint64",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ProvinceID: {
+        type: "uint64",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DistrictID: {
+        type: "uint64",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CityID: {
+        type: "uint64",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Address: {
+        type: "string",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ContactName: {
+        type: "string",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ContactNum: {
+        type: "string",
+        id: 16,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AppointmentRemark: {
+        type: "string",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CreatorID: {
+        type: "uint64",
+        id: 18,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WROutInDetails: {
+        rule: "repeated",
+        type: "WROutInDetail",
+        id: 19
+      }
+    }
+  },
+  WROutApplyRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _ClientSerialID: {
+        oneof: [
+          "ClientSerialID"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  DGFactoryItems: {
+    oneofs: {
+      _DGFactoryItemTypeID: {
+        oneof: [
+          "DGFactoryItemTypeID"
+        ]
+      },
+      _DGFactoryItemID: {
+        oneof: [
+          "DGFactoryItemID"
+        ]
+      },
+      _ItemTypeMode: {
+        oneof: [
+          "ItemTypeMode"
+        ]
+      }
+    },
+    fields: {
+      DGFactoryItemTypeID: {
+        type: "uint64",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DGFactoryItemID: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ItemTypeMode: {
+        type: "uint32",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  WRGoodsInfo: {
+    oneofs: {
+      _GoodsID: {
+        oneof: [
+          "GoodsID"
+        ]
+      },
+      _GoodsCode: {
+        oneof: [
+          "GoodsCode"
+        ]
+      },
+      _PriceFactor: {
+        oneof: [
+          "PriceFactor"
+        ]
+      },
+      _PriceMove: {
+        oneof: [
+          "PriceMove"
+        ]
+      },
+      _WeightRatio: {
+        oneof: [
+          "WeightRatio"
+        ]
+      }
+    },
+    fields: {
+      GoodsID: {
+        type: "uint32",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      GoodsCode: {
+        type: "string",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PriceFactor: {
+        type: "double",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PriceMove: {
+        type: "double",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WeightRatio: {
+        type: "double",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  HdWROrderReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _LadingBillId: {
+        oneof: [
+          "LadingBillId"
+        ]
+      },
+      _SubNum: {
+        oneof: [
+          "SubNum"
+        ]
+      },
+      _WRFactorTypeId: {
+        oneof: [
+          "WRFactorTypeId"
+        ]
+      },
+      _IsSpecified: {
+        oneof: [
+          "IsSpecified"
+        ]
+      },
+      _WRPriceType: {
+        oneof: [
+          "WRPriceType"
+        ]
+      },
+      _FixedPrice: {
+        oneof: [
+          "FixedPrice"
+        ]
+      },
+      _PriceFactor: {
+        oneof: [
+          "PriceFactor"
+        ]
+      },
+      _PriceMove: {
+        oneof: [
+          "PriceMove"
+        ]
+      },
+      _TimevalidType: {
+        oneof: [
+          "TimevalidType"
+        ]
+      },
+      _ValidTime: {
+        oneof: [
+          "ValidTime"
+        ]
+      },
+      _FirstRatio: {
+        oneof: [
+          "FirstRatio"
+        ]
+      },
+      _PerformanceTemplateID: {
+        oneof: [
+          "PerformanceTemplateID"
+        ]
+      },
+      _OrderSrc: {
+        oneof: [
+          "OrderSrc"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      },
+      _ClientOrderTime: {
+        oneof: [
+          "ClientOrderTime"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _OperatorID: {
+        oneof: [
+          "OperatorID"
+        ]
+      },
+      _BuyOrSell: {
+        oneof: [
+          "BuyOrSell"
+        ]
+      },
+      _PriceDisplayMode: {
+        oneof: [
+          "PriceDisplayMode"
+        ]
+      },
+      _CanBargain: {
+        oneof: [
+          "CanBargain"
+        ]
+      },
+      _Attachment1: {
+        oneof: [
+          "Attachment1"
+        ]
+      },
+      _Attachment2: {
+        oneof: [
+          "Attachment2"
+        ]
+      },
+      _Remark: {
+        oneof: [
+          "Remark"
+        ]
+      },
+      _ApplyID: {
+        oneof: [
+          "ApplyID"
+        ]
+      },
+      _CanPart: {
+        oneof: [
+          "CanPart"
+        ]
+      },
+      _DeliveryMonth: {
+        oneof: [
+          "DeliveryMonth"
+        ]
+      },
+      _HasWr: {
+        oneof: [
+          "HasWr"
+        ]
+      },
+      _WRStandardID: {
+        oneof: [
+          "WRStandardID"
+        ]
+      },
+      _DelistMinQty: {
+        oneof: [
+          "DelistMinQty"
+        ]
+      },
+      _MarginFlag: {
+        oneof: [
+          "MarginFlag"
+        ]
+      },
+      _MarginAlgorithm: {
+        oneof: [
+          "MarginAlgorithm"
+        ]
+      },
+      _MarginValue: {
+        oneof: [
+          "MarginValue"
+        ]
+      },
+      _AllFriendsFlag: {
+        oneof: [
+          "AllFriendsFlag"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LadingBillId: {
+        type: "uint64",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        rule: "required",
+        type: "string",
+        id: 3
+      },
+      SubNum: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRFactorTypeId: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        rule: "required",
+        type: "uint32",
+        id: 6
+      },
+      AccountID: {
+        rule: "required",
+        type: "uint64",
+        id: 7
+      },
+      IsSpecified: {
+        type: "uint32",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MatchAccIDs: {
+        rule: "repeated",
+        type: "uint64",
+        id: 9
+      },
+      OrderQty: {
+        rule: "required",
+        type: "uint64",
+        id: 10
+      },
+      DeliveryGoodsID: {
+        rule: "required",
+        type: "uint32",
+        id: 11
+      },
+      WRPriceType: {
+        type: "uint32",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      FixedPrice: {
+        type: "double",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeGoods: {
+        rule: "repeated",
+        type: "WRGoodsInfo",
+        id: 14
+      },
+      PriceFactor: {
+        type: "double",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PriceMove: {
+        type: "double",
+        id: 16,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TimevalidType: {
+        type: "uint32",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ValidTime: {
+        type: "string",
+        id: 18,
+        options: {
+          proto3_optional: true
+        }
+      },
+      FirstRatio: {
+        type: "double",
+        id: 19,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PerformanceTemplateID: {
+        type: "int64",
+        id: 20,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderSrc: {
+        type: "uint32",
+        id: 21,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 22,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientOrderTime: {
+        type: "string",
+        id: 23,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 24,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OperatorID: {
+        type: "uint64",
+        id: 25,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BuyOrSell: {
+        type: "uint32",
+        id: 26,
+        options: {
+          proto3_optional: true
+        }
+      },
+      PriceDisplayMode: {
+        type: "uint32",
+        id: 27,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CanBargain: {
+        type: "uint32",
+        id: 28,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Attachment1: {
+        type: "string",
+        id: 29,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Attachment2: {
+        type: "string",
+        id: 30,
+        options: {
+          proto3_optional: true
+        }
+      },
+      Remark: {
+        type: "string",
+        id: 31,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ApplyID: {
+        type: "uint64",
+        id: 32,
+        options: {
+          proto3_optional: true
+        }
+      },
+      CanPart: {
+        type: "uint32",
+        id: 33,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MatchAccIDsString: {
+        rule: "repeated",
+        type: "string",
+        id: 34
+      },
+      DeliveryMonth: {
+        type: "string",
+        id: 35,
+        options: {
+          proto3_optional: true
+        }
+      },
+      HasWr: {
+        type: "uint32",
+        id: 36,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRStandardID: {
+        type: "uint32",
+        id: 37,
+        options: {
+          proto3_optional: true
+        }
+      },
+      FactoryItems: {
+        rule: "repeated",
+        type: "DGFactoryItems",
+        id: 38
+      },
+      DelistMinQty: {
+        type: "uint64",
+        id: 39,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MarginFlag: {
+        type: "uint32",
+        id: 40,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MarginAlgorithm: {
+        type: "uint32",
+        id: 41,
+        options: {
+          proto3_optional: true
+        }
+      },
+      MarginValue: {
+        type: "double",
+        id: 42,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AllFriendsFlag: {
+        type: "uint32",
+        id: 43,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  HdWROrderRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _WRTradeOrderID: {
+        oneof: [
+          "WRTradeOrderID"
+        ]
+      },
+      _FreezeQty: {
+        oneof: [
+          "FreezeQty"
+        ]
+      },
+      _OrderTime: {
+        oneof: [
+          "OrderTime"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeOrderID: {
+        type: "uint64",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      FreezeQty: {
+        type: "uint64",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderTime: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  HdWRDealOrderReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _RelatedWRTradeOrderID: {
+        oneof: [
+          "RelatedWRTradeOrderID"
+        ]
+      },
+      _WRTransferUserID: {
+        oneof: [
+          "WRTransferUserID"
+        ]
+      },
+      _OrderQty: {
+        oneof: [
+          "OrderQty"
+        ]
+      },
+      _OrderSrc: {
+        oneof: [
+          "OrderSrc"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      },
+      _ClientOrderTime: {
+        oneof: [
+          "ClientOrderTime"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _OperatorID: {
+        oneof: [
+          "OperatorID"
+        ]
+      },
+      _BuyOrSell: {
+        oneof: [
+          "BuyOrSell"
+        ]
+      },
+      _ApplyID: {
+        oneof: [
+          "ApplyID"
+        ]
+      },
+      _LadingBillId: {
+        oneof: [
+          "LadingBillId"
+        ]
+      },
+      _SubNum: {
+        oneof: [
+          "SubNum"
+        ]
+      },
+      _WRFactorTypeId: {
+        oneof: [
+          "WRFactorTypeId"
+        ]
+      },
+      _TradeDate: {
+        oneof: [
+          "TradeDate"
+        ]
+      },
+      _DeliveryMonth: {
+        oneof: [
+          "DeliveryMonth"
+        ]
+      },
+      _HasWr: {
+        oneof: [
+          "HasWr"
+        ]
+      },
+      _IsFinancing: {
+        oneof: [
+          "IsFinancing"
+        ]
+      },
+      _ProductDetailID: {
+        oneof: [
+          "ProductDetailID"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RelatedWRTradeOrderID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTransferUserID: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderQty: {
+        type: "uint64",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderSrc: {
+        type: "uint32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientOrderTime: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OperatorID: {
+        type: "uint64",
+        id: 11,
+        options: {
+          proto3_optional: true
+        }
+      },
+      BuyOrSell: {
+        type: "uint32",
+        id: 12,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ApplyID: {
+        type: "uint64",
+        id: 13,
+        options: {
+          proto3_optional: true
+        }
+      },
+      LadingBillId: {
+        type: "uint64",
+        id: 14,
+        options: {
+          proto3_optional: true
+        }
+      },
+      SubNum: {
+        type: "uint64",
+        id: 15,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRFactorTypeId: {
+        type: "uint64",
+        id: 16,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TradeDate: {
+        type: "string",
+        id: 17,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DeliveryMonth: {
+        type: "string",
+        id: 18,
+        options: {
+          proto3_optional: true
+        }
+      },
+      HasWr: {
+        type: "uint32",
+        id: 19,
+        options: {
+          proto3_optional: true
+        }
+      },
+      IsFinancing: {
+        type: "uint32",
+        id: 20,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ProductDetailID: {
+        type: "uint64",
+        id: 21,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  HdWRDealOrderRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _WRTradeOrderID: {
+        oneof: [
+          "WRTradeOrderID"
+        ]
+      },
+      _RelatedWRTradeOrderID: {
+        oneof: [
+          "RelatedWRTradeOrderID"
+        ]
+      },
+      _FreezeAmount: {
+        oneof: [
+          "FreezeAmount"
+        ]
+      },
+      _OrderTime: {
+        oneof: [
+          "OrderTime"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeOrderID: {
+        type: "uint64",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RelatedWRTradeOrderID: {
+        type: "uint64",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      FreezeAmount: {
+        type: "double",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      },
+      OrderTime: {
+        type: "string",
+        id: 9,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 10,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleTransferListingReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _TransferPrice: {
+        oneof: [
+          "TransferPrice"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TransferPrice: {
+        type: "double",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleTransferListingRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _TransferID: {
+        oneof: [
+          "TransferID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TransferID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleTransferCancelReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleTransferCancelRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _TransferID: {
+        oneof: [
+          "TransferID"
+        ]
+      },
+      _WRTradeDetailID: {
+        oneof: [
+          "WRTradeDetailID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TransferID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      WRTradeDetailID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleTransferDestingReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _AccountID: {
+        oneof: [
+          "AccountID"
+        ]
+      },
+      _TransferID: {
+        oneof: [
+          "TransferID"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      AccountID: {
+        type: "uint64",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TransferID: {
+        type: "uint64",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  SpotPresaleTransferDestingRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _TransferID: {
+        oneof: [
+          "TransferID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      TransferID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  THJProfitDrawApplyReq: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _DrawMonth: {
+        oneof: [
+          "DrawMonth"
+        ]
+      },
+      _DrawAmount: {
+        oneof: [
+          "DrawAmount"
+        ]
+      },
+      _ApplySrc: {
+        oneof: [
+          "ApplySrc"
+        ]
+      },
+      _ApplyerID: {
+        oneof: [
+          "ApplyerID"
+        ]
+      },
+      _ClientType: {
+        oneof: [
+          "ClientType"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DrawMonth: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      DrawAmount: {
+        type: "double",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ApplySrc: {
+        type: "uint32",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ApplyerID: {
+        type: "uint32",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientType: {
+        type: "uint32",
+        id: 7,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 8,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  },
+  THJProfitDrawApplyRsp: {
+    oneofs: {
+      _Header: {
+        oneof: [
+          "Header"
+        ]
+      },
+      _RetCode: {
+        oneof: [
+          "RetCode"
+        ]
+      },
+      _RetDesc: {
+        oneof: [
+          "RetDesc"
+        ]
+      },
+      _UserID: {
+        oneof: [
+          "UserID"
+        ]
+      },
+      _ApplyID: {
+        oneof: [
+          "ApplyID"
+        ]
+      },
+      _ClientSerialNo: {
+        oneof: [
+          "ClientSerialNo"
+        ]
+      }
+    },
+    fields: {
+      Header: {
+        type: "MessageHead",
+        id: 1,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetCode: {
+        type: "int32",
+        id: 2,
+        options: {
+          proto3_optional: true
+        }
+      },
+      RetDesc: {
+        type: "string",
+        id: 3,
+        options: {
+          proto3_optional: true
+        }
+      },
+      UserID: {
+        type: "uint32",
+        id: 4,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ApplyID: {
+        type: "uint64",
+        id: 5,
+        options: {
+          proto3_optional: true
+        }
+      },
+      ClientSerialNo: {
+        type: "string",
+        id: 6,
+        options: {
+          proto3_optional: true
+        }
+      }
+    }
+  }
+});
+
+module.exports = $root;

+ 3 - 3
src/stores/index.ts

@@ -4,7 +4,7 @@ import { useThemeStore } from './modules/theme'
 import { useMenuStore } from './modules/menu'
 import { useAccountStore } from './modules/account'
 import { useFuturesStore } from './modules/futures'
-import { useLanguageStore } from './modules/language'
+//import { useLanguageStore } from './modules/language'
 import { useEnumStore } from './modules/enum'
 import { useErrorInfoStore } from './modules/errorInfo'
 
@@ -15,7 +15,7 @@ export {
     useMenuStore,
     useAccountStore,
     useFuturesStore,
-    useLanguageStore,
+    //useLanguageStore,
     useEnumStore,
     useErrorInfoStore,
 }
@@ -28,7 +28,7 @@ export function useStore() {
         menuStore: useMenuStore(),
         accountStore: useAccountStore(),
         futuresStore: useFuturesStore(),
-        languageStore: useLanguageStore(),
+        //languageStore: useLanguageStore(),
         enumStore: useEnumStore(),
         errorInfoStore: useErrorInfoStore(),
     }

+ 36 - 0
src/utils/h5plus/index.ts

@@ -45,6 +45,10 @@ export default new (class {
         })
     }
 
+    hasPlus() {
+        return Object.prototype.hasOwnProperty.call(window, 'plus')
+    }
+
     /**
      * 客户端的版本名称
      * @returns 
@@ -220,4 +224,36 @@ export default new (class {
             })
         })
     }
+
+    /**
+     * 下载文件
+     * @param filePath 
+     */
+    downloadFile(filePath: string) {
+        if (this.hasPlus()) {
+            this.onPlusReady((plus) => {
+                const getUrl = () => {
+                    try {
+                        const url = new URL(filePath)
+                        return url.href
+                    } catch {
+                        const path = plus.io.convertLocalFileSystemURL('_www/' + filePath)
+                        return 'file://' + path
+                    }
+                }
+                const dtask = plus.downloader.createDownload(getUrl(), {}, (d: unknown, status: number) => {
+                    if (status == 200) {
+                        plus.nativeUI.toast('已保存到文件中')
+                    }
+                    else {
+                        plus.nativeUI.toast('下载失败: ' + status)
+                    }
+                })
+                //dtask.addEventListener('statechanged', onStateChanged, false)
+                dtask.start()
+            })
+        } else {
+            window.open(filePath)
+        }
+    }
 })