li.shaoyi 7 meses atrás
pai
commit
b4ae705715
41 arquivos alterados com 1942 adições e 154 exclusões
  1. 34 0
      file/Logo_VN_TCE.ai
  2. 2 2
      oem/sjgj/config/appconfig.json
  3. 3 0
      oem/tss-vi/androidPrivacy.json
  4. BIN
      oem/tss-vi/app/icons/1024x1024.png
  5. BIN
      oem/tss-vi/app/icons/120x120.png
  6. BIN
      oem/tss-vi/app/icons/144x144.png
  7. BIN
      oem/tss-vi/app/icons/152x152.png
  8. BIN
      oem/tss-vi/app/icons/167x167.png
  9. BIN
      oem/tss-vi/app/icons/180x180.png
  10. BIN
      oem/tss-vi/app/icons/192x192.png
  11. BIN
      oem/tss-vi/app/icons/20x20.png
  12. BIN
      oem/tss-vi/app/icons/29x29.png
  13. BIN
      oem/tss-vi/app/icons/40x40.png
  14. BIN
      oem/tss-vi/app/icons/58x58.png
  15. BIN
      oem/tss-vi/app/icons/60x60.png
  16. BIN
      oem/tss-vi/app/icons/72x72.png
  17. BIN
      oem/tss-vi/app/icons/76x76.png
  18. BIN
      oem/tss-vi/app/icons/80x80.png
  19. BIN
      oem/tss-vi/app/icons/87x87.png
  20. BIN
      oem/tss-vi/app/icons/96x96.png
  21. BIN
      oem/tss-vi/app/splashscreen/1080x1920.png
  22. BIN
      oem/tss-vi/app/splashscreen/480x853.png
  23. BIN
      oem/tss-vi/app/splashscreen/720x1280.png
  24. BIN
      oem/tss-vi/apple-touch-icon-precomposed.png
  25. 16 0
      oem/tss-vi/config/appconfig.json
  26. 1 0
      oem/tss-vi/config/columns.json
  27. 278 0
      oem/tss-vi/config/router.json
  28. BIN
      oem/tss-vi/favicon.ico
  29. 260 0
      oem/tss-vi/locales/extras/en-US.json
  30. 260 0
      oem/tss-vi/locales/extras/th-TH.json
  31. 260 0
      oem/tss-vi/locales/extras/vi-VN.json
  32. 260 0
      oem/tss-vi/locales/extras/zh-CN.json
  33. 260 0
      oem/tss-vi/locales/extras/zh-TW.json
  34. BIN
      oem/tss-vi/logo/login-logo.png
  35. BIN
      oem/tss-vi/logo/logo-horizontal.png
  36. 304 0
      oem/tss-vi/manifest.json
  37. 2 2
      oem/tss/config/appconfig.json
  38. BIN
      oem/tss/logo/login-logo.png
  39. 1 1
      script/oem.env.json
  40. 1 1
      src/packages/tss/views/user/login/Index.vue
  41. 0 148
      src/services/websocket/build/next.ts

Diferenças do arquivo suprimidas por serem muito extensas
+ 34 - 0
file/Logo_VN_TCE.ai


+ 2 - 2
oem/sjgj/config/appconfig.json

@@ -1,8 +1,8 @@
 {
   "appId": "com.muchinfo.sjgj",
   "appName": "纯金网结算中心",
-  "version": "1.0.8",
-  "versionCode": "100008",
+  "version": "1.0.9",
+  "versionCode": "100009",
   "apiUrl": "http://192.168.31.139:8080/cfg?key=test_139",
   "tradeChannel": "ws",
   "modules": [

+ 3 - 0
oem/tss-vi/androidPrivacy.json

@@ -0,0 +1,3 @@
+{
+    "prompt" : "none"
+}

BIN
oem/tss-vi/app/icons/1024x1024.png


BIN
oem/tss-vi/app/icons/120x120.png


BIN
oem/tss-vi/app/icons/144x144.png


BIN
oem/tss-vi/app/icons/152x152.png


BIN
oem/tss-vi/app/icons/167x167.png


BIN
oem/tss-vi/app/icons/180x180.png


BIN
oem/tss-vi/app/icons/192x192.png


BIN
oem/tss-vi/app/icons/20x20.png


BIN
oem/tss-vi/app/icons/29x29.png


BIN
oem/tss-vi/app/icons/40x40.png


BIN
oem/tss-vi/app/icons/58x58.png


BIN
oem/tss-vi/app/icons/60x60.png


BIN
oem/tss-vi/app/icons/72x72.png


BIN
oem/tss-vi/app/icons/76x76.png


BIN
oem/tss-vi/app/icons/80x80.png


BIN
oem/tss-vi/app/icons/87x87.png


BIN
oem/tss-vi/app/icons/96x96.png


BIN
oem/tss-vi/app/splashscreen/1080x1920.png


BIN
oem/tss-vi/app/splashscreen/480x853.png


BIN
oem/tss-vi/app/splashscreen/720x1280.png


BIN
oem/tss-vi/apple-touch-icon-precomposed.png


+ 16 - 0
oem/tss-vi/config/appconfig.json

@@ -0,0 +1,16 @@
+{
+  "appId": "com.muchinfo.tssvi",
+  "appName": "Tce Vietnam",
+  "version": "1.0.53",
+  "versionCode": "100053",
+  "apiUrl": "http://192.168.31.210:8080/cfg?key=test_210",
+  "tradeChannel": "ws",
+  "showLoginAlert": true,
+  "modules": [
+    "register"
+  ],
+  "quotationProperties": [
+    "holdvolume"
+  ],
+  "riskType": 1
+}

+ 1 - 0
oem/tss-vi/config/columns.json

@@ -0,0 +1 @@
+[]

+ 278 - 0
oem/tss-vi/config/router.json

@@ -0,0 +1,278 @@
+[
+    {
+        "authType": 2,
+        "sort": 0,
+        "title": "pcroute.bottom.title",
+        "code": "bottom",
+        "children": [
+            {
+                "authType": 2,
+                "sort": 1,
+                "title": "pcroute.bottom.bottom_pricing",
+                "code": "bottom_pricing",
+                "component": "views/footer/index.vue",
+                "children": [
+                    {
+                        "authType": 2,
+                        "sort": 3,
+                        "title": "pcroute.bottom.bottom_pricing_detail2",
+                        "code": "bottom_pricing_detail2",
+                        "component": "views/footer/pricing/detail2/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 1,
+                        "title": "pcroute.bottom.bottom_pricing_position",
+                        "code": "bottom_pricing_position",
+                        "component": "views/footer/pricing/position/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 4,
+                        "title": "pcroute.bottom.bottom_pricing_order",
+                        "code": "bottom_pricing_order",
+                        "component": "views/footer/pricing/order/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 5,
+                        "title": "pcroute.bottom.bottom_pricing_trade",
+                        "code": "bottom_pricing_trade",
+                        "component": "views/footer/pricing/trade/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 6,
+                        "title": "pcroute.bottom.bottom_goods_delivery",
+                        "code": "bottom_goods_delivery",
+                        "component": "views/footer/goods/delivery/index.vue"
+                    }
+                ]
+            },
+            {
+                "authType": 2,
+                "sort": 3,
+                "title": "pcroute.bottom.bottom_capital",
+                "code": "bottom_capital",
+                "component": "views/footer/index.vue",
+                "children": [
+                    {
+                        "authType": 2,
+                        "sort": 1,
+                        "title": "pcroute.bottom.bottom_capital_summary",
+                        "code": "bottom_capital_summary",
+                        "component": "views/footer/capital/summary/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 2,
+                        "title": "pcroute.bottom.bottom_capital_statement",
+                        "code": "bottom_capital_statement",
+                        "component": "views/footer/capital/statement/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 3,
+                        "title": "pcroute.bottom.bottom_capital_inoutapply",
+                        "code": "bottom_capital_inoutapply",
+                        "component": "views/footer/capital/inoutapply/index.vue"
+                    }
+                ]
+            }
+        ]
+    },
+    {
+        "authType": 1,
+        "sort": 1,
+        "title": "pcroute.market.title",
+        "code": "market",
+        "url": "/market",
+        "urlType": 1,
+        "component": "Page",
+        "icon": "TrendCharts",
+        "children": [
+            {
+                "authType": 1,
+                "sort": 1,
+                "title": "pcroute.market.market_trade",
+                "code": "market_trade",
+                "url": "trade",
+                "urlType": 1,
+                "component": "views/market/trade/index.vue"
+            }
+        ]
+    },
+    {
+        "authType": 1,
+        "sort": 2,
+        "title": "pcroute.query.title",
+        "code": "query",
+        "url": "/query",
+        "urlType": 1,
+        "component": "Page",
+        "icon": "TrendCharts",
+        "children": [
+            {
+                "authType": 1,
+                "sort": 1,
+                "title": "pcroute.query.query_order",
+                "code": "query_order",
+                "url": "order",
+                "urlType": 1,
+                "component": "Main",
+                "children": [
+                    {
+                        "authType": 1,
+                        "sort": 1,
+                        "title": "pcroute.query.query_order_pricing",
+                        "code": "query_order_pricing",
+                        "url": "pricing",
+                        "urlType": 1,
+                        "component": "views/query/order/pricing/index.vue",
+                        "children": [
+                            {
+                                "authType": 2,
+                                "sort": 1,
+                                "title": "pcroute.query.query_order_pricing_list",
+                                "code": "query_order_pricing_list",
+                                "component": "views/query/order/pricing/list/index.vue"
+                            },
+                            {
+                                "authType": 2,
+                                "sort": 2,
+                                "title": "pcroute.query.query_order_pricing_history",
+                                "code": "query_order_pricing_history",
+                                "component": "views/query/order/pricing/history/index.vue"
+                            }
+                        ]
+                    }
+                ]
+            },
+            {
+                "authType": 1,
+                "sort": 2,
+                "title": "pcroute.query.query_trade",
+                "code": "query_trade",
+                "url": "trade",
+                "urlType": 1,
+                "component": "Main",
+                "children": [
+                    {
+                        "authType": 1,
+                        "sort": 1,
+                        "title": "pcroute.query.query_trade_pricing",
+                        "code": "query_trade_pricing",
+                        "url": "pricing",
+                        "urlType": 1,
+                        "component": "views/query/trade/pricing/index.vue",
+                        "children": [
+                            {
+                                "authType": 2,
+                                "sort": 1,
+                                "title": "pcroute.query.query_trade_pricing_list",
+                                "code": "query_trade_pricing_list",
+                                "component": "views/query/trade/pricing/list/index.vue"
+                            },
+                            {
+                                "authType": 2,
+                                "sort": 2,
+                                "title": "pcroute.query.query_trade_pricing_history",
+                                "code": "query_trade_pricing_history",
+                                "component": "views/query/trade/pricing/history/index.vue"
+                            }
+                        ]
+                    }
+                ]
+            },
+            {
+                "authType": 1,
+                "sort": 3,
+                "title": "pcroute.query.query_capital",
+                "code": "query_capital",
+                "url": "capital",
+                "urlType": 1,
+                "component": "views/query/capital/index.vue",
+                "children": [
+                    {
+                        "authType": 2,
+                        "sort": 1,
+                        "title": "pcroute.query.query_capital_list",
+                        "code": "query_capital_list",
+                        "component": "views/query/capital/list/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 2,
+                        "title": "pcroute.query.query_capital_history",
+                        "code": "query_capital_history",
+                        "component": "views/query/capital/history/index.vue"
+                    }
+                ]
+            },
+            {
+                "authType": 1,
+                "sort": 4,
+                "title": "pcroute.query.query_inoutapply",
+                "code": "query_inoutapply",
+                "url": "inoutapply",
+                "urlType": 1,
+                "component": "views/query/inoutapply/index.vue",
+                "children": [
+                    {
+                        "authType": 2,
+                        "sort": 1,
+                        "title": "pcroute.query.query_inoutapply_list",
+                        "code": "query_inoutapply_list",
+                        "component": "views/query/inoutapply/list/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 1,
+                        "title": "pcroute.query.query_inoutapply_history",
+                        "code": "query_inoutapply_history",
+                        "component": "views/query/inoutapply/history/index.vue"
+                    }
+                ]
+            }
+        ]
+    },
+    {
+        "authType": 1,
+        "sort": 3,
+        "title": "pcroute.account.title",
+        "code": "account",
+        "url": "/account",
+        "urlType": 1,
+        "component": "Page",
+        "icon": "TrendCharts",
+        "children": [
+            {
+                "authType": 1,
+                "sort": 1,
+                "title": "pcroute.account.account_sign",
+                "code": "account_sign",
+                "url": "sign",
+                "urlType": 1,
+                "component": "views/account/sign/index.vue"
+            },
+            {
+                "authType": 1,
+                "sort": 4,
+                "title": "pcroute.account.account_address",
+                "code": "account_address",
+                "url": "address",
+                "urlType": 1,
+                "component": "views/account/address/index.vue"
+            },
+            {
+                "authType": 1,
+                "sort": 5,
+                "title": "pcroute.account.account_receipt",
+                "code": "account_receipt",
+                "url": "receipt",
+                "urlType": 1,
+                "component": "views/account/receipt/index.vue"
+            }
+        ]
+    }
+]

BIN
oem/tss-vi/favicon.ico


+ 260 - 0
oem/tss-vi/locales/extras/en-US.json

@@ -0,0 +1,260 @@
+{
+    "app": {
+        "name": "TCE",
+        "slogan": "TCE Spot Pre Order Platform"
+    },
+    "common": {
+        "submitsuccess": "Order submitted successfully, please place the order again."
+    },
+    "home": {
+        "product": "Product",
+        "pricing": "Price",
+        "pickup": "Reservation",
+        "delivery": "Delivery"
+    },
+    "tabbar": {
+        "trade": "Reservation"
+    },
+    "operation": {
+        "transfer": "Unsubscribe",
+        "close": "Unsubscribe",
+        "order": "Reservation",
+        "pickup": "Pickup",
+        "buynow": "Buy Now",
+        "delivery": "Delivery"
+    },
+    "account": {
+        "netWorth": "Balance ",
+        "inamount": "Today's deposit",
+        "outamount": "Today's withdrawal",
+        "paycharge": "Order service fee",
+        "closepl": "Today's value fluctuation",
+        "profitLoss": "Value fluctuation",
+        "freezeMargin2": "Margin deposit"
+    },
+    "quote": {
+        "bid": "Reservation price",
+        "ask": "Buyback price",
+        "selllprice": "Selling price",
+        "holdvolume": "Order quantity",
+        "deposit": "Margin deposit",
+        "orderbuy": "Reservation",
+        "transferbuy": "Buyback",
+        "ordersell": "Cancel reservation",
+        "transfersell": "Buyback",
+        "buy": "Reservation",
+        "selll": "Buyback",
+        "goods": {
+            "buyorsell": "Select",
+            "taaccount": "Account"
+        },
+        "swap": {
+            "sellprice": "Buyback price",
+            "buyprice": "Reserved price",
+            "currentaccount": "Account",
+            "permargin": "Margin deposit"
+        },
+        "pricing": {
+            "buyorsell": "Select",
+            "title": "Place order",
+            "deposit": "Margin deposit",
+            "title1": "Spot reservation",
+            "title2": "Full payment purchase"
+        },
+        "spot": {
+            "buyprice": "Reservation price",
+            "sellprice": "Buyback price",
+            "title": "Reservation details",
+            "listingprice": "Reserved price"
+        },
+        "transfer": {
+            "title1": "Buyback details"
+        }
+    },
+    "delivery": {
+        "title1": "Full payment pickup",
+        "title2": "Deposit pickup",
+        "title3": "Deposit delivery",
+        "title4": "Returns and exchanges",
+        "offline": {
+            "deliveryqty": "Order quantity",
+            "deliveryprice": "Order price",
+            "deliveryinfo": "Delivery address",
+            "deliveryinfo1": "Pickup information",
+            "deliveryinfo2": "Delivery information",
+            "deliveryamount": "Payment for Order"
+        }
+    },
+    "order": {
+        "title1": "Historical orders",
+        "title2": "Full payment orders",
+        "title3": "Deposit orders",
+        "feeTotal": "Service fee:",
+        "goodsorder": {
+            "buyorsell": "Select"
+        },
+        "pricingorder": {
+            "buyorsell": "Select"
+        },
+        "pricingtrade": {
+            "buyorsell": "Select",
+            "charge": "Service charge",
+            "closepl": "Cancellation balance"
+        }
+    },
+    "position": {
+        "goodscode": "Product code",
+        "transfer": {
+            "transferqty": "Cancellation quantity"
+        },
+        "goods": {
+            "subtitle": "Order information",
+            "orderid": "Order number",
+            "closepl": "Change in value",
+            "buyorsell": "Order category",
+            "holderqty": "Order quantity",
+            "curpositionqty": "Order quantity",
+            "freezeqty": "Locked amount",
+            "frozenqty": "Locked amount",
+            "mindeliverylot": "Minimum pickup quantity",
+            "curholderamount": "Order amount",
+            "holderamount": "Order amount",
+            "tradetime": "Order time",
+            "holderprice": "Order price",
+            "transferprice": "Cancellation price",
+            "tips1": "Please enter the cancellation price",
+            "tips2": "Please enter the cancellation quantity",
+            "qty": "Cancellation quantity",
+            "orderqty": "Cancellation quantity",
+            "deposit": "Balance payment required",
+            "fees": "Pickup fee",
+            "averageprice": "Average order price",
+            "deliveryid": "Delivery ID",
+            "subtitle3": "Cancellation information",
+            "tips3": "Are you sure you want to cancel?",
+            "tips4": "Cancellation successful",
+            "pricemove": "Inspection fee",
+            "expressfees": "Tax",
+            "holddetail": {
+                "holderqty": "Order quantity",
+                "freezeqty": "Locked amount",
+                "profitLoss": "Floating difference",
+                "holderamount": "Order amount",
+                "usedMargin": "Occupied funds",
+                "tradetime": "Order time"
+            }
+        },
+        "pricing": {
+            "buyorsell": "Select",
+            "frozenqty": "Locked amount",
+            "curholderamount": "Order amount",
+            "closepl": "Reference difference",
+            "averageprice": "Average order price"
+        }
+    },
+    "banksign": {
+        "title": "Bank card management",
+        "cancel": "Unlink bank card",
+        "addbanksign": "Add bank card",
+        "modifybanksign": "Modify bank card",
+        "youhavenotaddedasignedaccount": "You have not yet linked a bank card account",
+        "tips1": "Please add bank card account information first!",
+        "tips2": "Go to add bank card information",
+        "tips7": "Bank card information not added",
+        "tips8": "Real-name authentication is under review; adding bank card information request cannot be processed at this time!",
+        "tips9": "Please send a letter to the settlement center to modify the information before making changes, or it may affect deposits and withdrawals.",
+        "tips12": "Are you sure you want to unlink the bank card?",
+        "tips13": "Submission successful, please check the results later.",
+        "capital": {
+            "title2": "Account information",
+            "totalprofit": "Balance summary:",
+            "totalcharge": "Service charge summary:"
+        },
+        "wallet": {
+            "title": "Deposit/Withdrawal",
+            "cashin": "Deposit",
+            "cashout": "Withdrawal",
+            "deposit": {
+                "subtitle": "Deposit platform",
+                "subtitle1": "Deposit time",
+                "inamount": "Deposit amount",
+                "pleaseenterinamount": "Please enter the deposit amount",
+                "time": "Deposit time: Weekdays",
+                "platformdepositbankname": "Platform deposit bank",
+                "platformdepositaccountno": "Platform deposit account",
+                "platformdepositaccount": "Platform deposit account",
+                "platformdepositsub-branch": "Platform deposit branch",
+                "goldisnotwithinthetimeframe": "Deposit is out of time range",
+                "notice": "Holidays are based on notices and announcements; please do not operate on non-working days!",
+                "tips1": "Have you completed the bank transfer?"
+            },
+            "withdraw": {
+                "subtitle": "Withdrawal time",
+                "outamount": "Withdrawal amount",
+                "pleaseenteroutamount": "Please enter the withdrawal amount",
+                "time": "Withdrawal time: Weekdays",
+                "theamountavailableis0": "Withdrawable amount is 0",
+                "exceedingthepayableamount": "Exceeds the withdrawable amount",
+                "goldisnotwithinthetimeframe": "Withdrawal is out of time range",
+                "notice": "Holidays are based on notices and announcements; please do not operate on non-working days!",
+                "availableoutmoney": "Withdrawable amount"
+            },
+            "inoutapply": {
+                "title": "Deposit/Withdrawal records",
+                "charge": "Order service fee"
+            }
+        }
+    },
+    "report": {
+        "title": "User settlement sheet",
+        "closepl": "Cancellation balance",
+        "reckonpl": "Settlement balance",
+        "trade": {
+            "buyorselldisplay": "Select"
+        },
+        "position": {
+            "buyorselldisplay": "Time",
+            "frozenqty": "Locked amount"
+        }
+    },
+    "mine": {
+        "fundsinfo": "Account information",
+        "banksign": "My bank card",
+        "delivery": "Delivery pickup",
+        "cashin": "Deposit",
+        "cashout": "Withdrawal",
+        "myposition": "Held orders",
+        "myorder": "Historical orders",
+        "setting": {
+            "orderBuyOrSell": "Default"
+        }
+    },
+    "user": {
+        "cancel": {
+            "tips_2": "1. All account payments must be settled"
+        }
+    },
+    "pcroute": {
+        "bottom": {
+            "bottom_goods_position_transfer": "Unsubscribe",
+            "bottom_goods_position": "Order summary",
+            "bottom_pricing": "Spot reservation",
+            "bottom_pricing_position": "Order summary",
+            "bottom_swap_position": "Order summary"
+        },
+        "market": {
+            "title": "Spot market",
+            "market_trade": "Spot market"
+        },
+        "query": {
+            "query_trade_pricing": "Spot reservation",
+            "query_order_pricing": "Spot reservation"
+        }
+    },
+    "tss": {
+        "title": "Held orders",
+        "tips1": "Please enter search keywords",
+        "subtitle1": "Full payment",
+        "subtitle2": "Deposit"
+    }
+}

+ 260 - 0
oem/tss-vi/locales/extras/th-TH.json

@@ -0,0 +1,260 @@
+{
+    "app": {
+        "name": "TCE",
+        "slogan": "แพลตฟอร์มสั่งซื้อสินค้าล่วงหน้า TCE"
+    },
+    "common": {
+        "submitsuccess": "สั่งเรียบร้อยแล้วค่ะ สั่งอีกครั้งนะคะ"
+    },
+    "home": {
+        "product": "ผลิตภัณฑ์",
+        "pricing": "ราคา",
+        "pickup": "จองไว้",
+        "delivery": "ส่งมอบ"
+    },
+    "tabbar": {
+        "trade": "การจอง"
+    },
+    "operation": {
+        "transfer": "ยกเลิกการจอง",
+        "close": "ยกเลิกการจอง",
+        "order": "การจองล่วงหน้า",
+        "pickup": "รับสินค้า",
+        "buynow": "ซื้อทันที",
+        "delivery": "จัดส่ง"
+    },
+    "account": {
+        "netWorth": "ยอดเงินคงเหลือ",
+        "inamount": "เติมเงินวันนี้",
+        "outamount": "ถอนเงินวันนี้",
+        "paycharge": "ค่าบริการคำสั่งซื้อ",
+        "closepl": "มูลค่าสินค้าที่เพิ่มขึ้นหรือลดลงวันนี้",
+        "profitLoss": "มูลค่าสินค้าที่เพิ่มขึ้นหรือลดลง",
+        "freezeMargin2": "เงินสำรองสำหรับการปฏิบัติตามสัญญา"
+    },
+    "quote": {
+        "bid": "ราคาจองล่วงหน้า",
+        "ask": "ราคารับซื้อคืน",
+        "selllprice": "ราคาขาย",
+        "holdvolume": "จำนวนคำสั่งซื้อ",
+        "deposit": "เงินสำรองสำหรับการปฏิบัติตามสัญญา",
+        "orderbuy": "จองล่วงหน้า",
+        "transferbuy": "ซื้อคืน",
+        "ordersell": "ยกเลิกการจอง",
+        "transfersell": "ยกเลิกการซื้อคืน",
+        "buy": "จอง",
+        "selll": "ซื้อคืน",
+        "goods": {
+            "buyorsell": "เลือก",
+            "taaccount": "บัญชี"
+        },
+        "swap": {
+            "sellprice": "ราคารับซื้อคืน",
+            "buyprice": "ราคาจอง",
+            "currentaccount": "บัญชี",
+            "permargin": "เงินสำรองสำหรับการปฏิบัติตามสัญญา"
+        },
+        "pricing": {
+            "buyorsell": "เลือก",
+            "title": "สั่งซื้อ",
+            "deposit": "เงินสำรองสำหรับการปฏิบัติตามสัญญา",
+            "title1": "การจองสินค้าพร้อมส่ง",
+            "title2": "การซื้อด้วยการชำระเต็มจำนวน"
+        },
+        "spot": {
+            "buyprice": "ราคาจองล่วงหน้า",
+            "sellprice": "ราคารับซื้อคืน",
+            "title": "รายละเอียดการจอง",
+            "listingprice": "ราคาจอง"
+        },
+        "transfer": {
+            "title1": "รายละเอียดการรับซื้อคืน"
+        }
+    },
+    "delivery": {
+        "title1": "รับสินค้าด้วยการชำระเต็มจำนวน",
+        "title2": "รับสินค้าด้วยการชำระล่วงหน้า",
+        "title3": "การส่งมอบสินค้าหลังชำระล่วงหน้า",
+        "title4": "การคืนและเปลี่ยนสินค้า",
+        "offline": {
+            "deliveryqty": "จำนวนคำสั่งซื้อ",
+            "deliveryprice": "ราคาของคำสั่ง",
+            "deliveryinfo": "ที่อยู่สำหรับจัดส่งสินค้า",
+            "deliveryinfo1": "ข้อมูลการรับสินค้า",
+            "deliveryinfo2": "ข้อมูลการส่งมอบสินค้า",
+            "deliveryamount": "ยอดเงินค่าสินค้าคำสั่งซื้อ"
+        }
+    },
+    "order": {
+        "title1": "ประวัติคำสั่งซื้อ",
+        "title2": "คำสั่งซื้อแบบชำระเต็มจำนวน",
+        "title3": "คำสั่งซื้อแบบชำระล่วงหน้า",
+        "feeTotal": "ค่าบริการ:",
+        "goodsorder": {
+            "buyorsell": "เลือก"
+        },
+        "pricingorder": {
+            "buyorsell": "เลือก"
+        },
+        "pricingtrade": {
+            "buyorsell": "เลือก",
+            "charge": "ค่าธรรมเนียม",
+            "closepl": "ส่วนต่างการยกเลิก"
+        }
+    },
+    "position": {
+        "goodscode": "รหัสสินค้า",
+        "transfer": {
+            "transferqty": "ปริมาณการยกเลิก"
+        },
+        "goods": {
+            "subtitle": "ข้อมูลคำสั่ง",
+            "orderid": "หมายเลขคำสั่งซื้อ",
+            "closepl": "มูลค่าสินค้าที่เพิ่มขึ้นหรือลดลง",
+            "buyorsell": "หมวดหมู่คำสั่งซื้อ",
+            "holderqty": "จำนวนคำสั่งซื้อ",
+            "curpositionqty": "จำนวนคำสั่งซื้อ",
+            "freezeqty": "ปริมาณที่ถูกล็อคไว้",
+            "frozenqty": "ปริมาณที่ถูกล็อคไว้",
+            "mindeliverylot": "ปริมาณการรับสินค้าขั้นต่ำ",
+            "curholderamount": "ยอดเงินคำสั่งซื้อ",
+            "holderamount": "ยอดเงินคำสั่งซื้อ",
+            "tradetime": "เวลาที่ทำการสั่งซื้อ",
+            "holderprice": "ราคาของคำสั่ง",
+            "transferprice": "ราคาการยกเลิกการจอง",
+            "tips1": "กรุณากรอกราคาการยกเลิกการจอง",
+            "tips2": "กรุณากรอกปริมาณการยกเลิกการจอง",
+            "qty": "ปริมาณการยกเลิก",
+            "orderqty": "ปริมาณการยกเลิก",
+            "deposit": "ต้องชำระเงินส่วนที่เหลือ",
+            "fees": "ค่าขนส่งสินค้าหรือค่ารับสินค้า",
+            "averageprice": "ราคาเฉลี่ยคำสั่งซื้อ",
+            "deliveryid": "เลขที่ใบส่งสินค้า",
+            "subtitle3": "ข้อมูลการยกเลิกการจอง",
+            "tips3": "ยืนยันว่าต้องการยกเลิกการจองหรือไม่?",
+            "tips4": "ยกเลิกการจองสำเร็จ",
+            "pricemove": "ตรวจสอบค่าใช้จ่าย",
+            "expressfees": "ค่าภาษี",
+            "holddetail": {
+                "holderqty": "จำนวนคำสั่งซื้อ",
+                "freezeqty": "ปริมาณที่ถูกล็อคไว้",
+                "profitLoss": "ส่วนต่างลอยตัว",
+                "holderamount": "ยอดเงินคำสั่งซื้อ",
+                "usedMargin": "เงินทุนที่ใช้ไป",
+                "tradetime": "เวลาที่ทำการสั่งซื้อ"
+            }
+        },
+        "pricing": {
+            "buyorsell": "เลือก",
+            "frozenqty": "ปริมาณที่ถูกล็อคไว้",
+            "curholderamount": "ยอดเงินคำสั่งซื้อ",
+            "closepl": "ส่วนต่างอ้างอิง",
+            "averageprice": "ราคาเฉลี่ยคำสั่งซื้อ"
+        }
+    },
+    "banksign": {
+        "title": "การจัดการบัตรธนาคาร",
+        "cancel": "ยกเลิกการเชื่อมโยงบัตรธนาคาร",
+        "addbanksign": "เพิ่มบัตรธนาคาร",
+        "modifybanksign": "แก้ไขบัตรธนาคาร",
+        "youhavenotaddedasignedaccount": "คุณยังไม่ได้เชื่อมโยงบัญชีบัตรธนาคาร",
+        "tips1": "กรุณาเพิ่มข้อมูลบัญชีบัตรธนาคารก่อน",
+        "tips2": "ไปเพิ่มข้อมูลบัตรธนาคาร",
+        "tips7": "ยังไม่ได้เพิ่มข้อมูลบัตรธนาคาร",
+        "tips8": "การยืนยันตัวตนกำลังอยู่ระหว่างการตรวจสอบ ไม่สามารถเพิ่มข้อมูลบัตรธนาคารได้ในขณะนี้",
+        "tips9": "กรุณาส่งจดหมายไปที่ศูนย์การชำระเงินเพื่อแก้ไขข้อมูลก่อน ไม่เช่นนั้นจะส่งผลต่อการฝากและถอนเงิน",
+        "tips12": "ยืนยันว่าต้องการยกเลิกการเชื่อมโยงบัตรธนาคารหรือไม่?",
+        "tips13": "ส่งข้อมูลสำเร็จ กรุณารอการยืนยันผล",
+        "capital": {
+            "title2": "ข้อมูลบัญชีผู้ใช้",
+            "totalprofit": "สรุปส่วนต่าง:",
+            "totalcharge": "สรุปค่าบริการ:"
+        },
+        "wallet": {
+            "title": "ฝากเงิน/ถอนเงิน",
+            "cashin": "ฝากเงิน",
+            "cashout": "ถอนเงิน",
+            "deposit": {
+                "subtitle": "ฝากเงินเข้าแพลตฟอร์ม",
+                "subtitle1": "เวลาการฝากเงิน",
+                "inamount": "ยอดเงินฝาก",
+                "pleaseenterinamount": "กรุณากรอกจำนวนเงินที่ฝาก",
+                "time": "เวลาฝากเงิน: วันทำการ",
+                "platformdepositbankname": "ธนาคารที่ใช้ฝากเงินของแพลตฟอร์ม",
+                "platformdepositaccountno": "หมายเลขบัญชีที่ใช้ฝากเงินของแพลตฟอร์ม",
+                "platformdepositaccount": "บัญชีที่ใช้ฝากเงินของแพลตฟอร์ม",
+                "platformdepositsub-branch": "สาขาธนาคารที่ใช้ฝากเงินของแพลตฟอร์ม",
+                "goldisnotwithinthetimeframe": "การฝากเงินไม่อยู่ในช่วงเวลาที่กำหนด",
+                "notice": "วันหยุดให้ถือประกาศหรือการแจ้งเตือนเป็นหลัก กรุณาอย่าดำเนินการในวันหยุด",
+                "tips1": "ท่านได้ทำการโอนเงินผ่านธนาคารแล้วหรือไม่คะ?"
+            },
+            "withdraw": {
+                "subtitle": "เวลาถอนเงิน",
+                "outamount": "จำนวนเงินที่ถอน",
+                "pleaseenteroutamount": "กรุณากรอกจำนวนเงินที่ถอน",
+                "time": "เวลาถอนเงิน: วันทำการ",
+                "theamountavailableis0": "ยอดที่สามารถถอนได้คือ 0",
+                "exceedingthepayableamount": "เกินจำนวนเงินที่สามารถถอนได้",
+                "goldisnotwithinthetimeframe": "การถอนเงินไม่อยู่ในช่วงเวลาที่กำหนด",
+                "notice": "วันหยุดให้ถือประกาศหรือการแจ้งเตือนเป็นหลัก กรุณาอย่าดำเนินการในวันหยุด",
+                "availableoutmoney": "จำนวนเงินที่ถอนได้"
+            },
+            "inoutapply": {
+                "title": "บันทึกการฝาก/ถอนเงิน",
+                "charge": "ค่าบริการคำสั่งซื้อ"
+            }
+        }
+    },
+    "report": {
+        "title": "ใบแจ้งยอดของผู้ใช้",
+        "closepl": "ส่วนต่างจากการยกเลิกการจอง",
+        "reckonpl": "ส่วนต่างการชำระบัญชี",
+        "trade": {
+            "buyorselldisplay": "เลือก"
+        },
+        "position": {
+            "buyorselldisplay": "เลือก",
+            "frozenqty": "ปริมาณที่ถูกล็อคไว้"
+        }
+    },
+    "mine": {
+        "fundsinfo": "ข้อมูลบัญชีผู้ใช้",
+        "banksign": "บัตรธนาคารของฉัน",
+        "delivery": "การส่งมอบและการรับสินค้า",
+        "cashin": "เติมเงิน",
+        "cashout": "ถอนเงิน",
+        "myposition": "คำสั่งซื้อที่ถือครอง",
+        "myorder": "ประวัติการสั่งคำสั่งซื้อ",
+        "setting": {
+            "orderBuyOrSell": "ค่าเริ่มต้น"
+        }
+    },
+    "user": {
+        "cancel": {
+            "tips_2": "1. บัญชีได้ชำระค่าสินค้าครบถ้วนแล้ว"
+        }
+    },
+    "pcroute": {
+        "bottom": {
+            "bottom_goods_position_transfer": "ยกเลิกการจอง",
+            "bottom_goods_position": "สรุปคำสั่งซื้อ",
+            "bottom_pricing": "การจองสินค้าพร้อมส่ง",
+            "bottom_pricing_position": "สรุปคำสั่งซื้อ",
+            "bottom_swap_position": "สรุปคำสั่งซื้อ"
+        },
+        "market": {
+            "title": "ตลาดสินค้า",
+            "market_trade": "ตลาดสินค้า"
+        },
+        "query": {
+            "query_trade_pricing": "การจองสินค้า",
+            "query_order_pricing": "การจองสินค้า"
+        }
+    },
+    "tss": {
+        "title": "คำสั่งซื้อที่ถือครอง",
+        "tips1": "กรุณากรอกคำค้นหา",
+        "subtitle1": "ชำระเต็มจำนวน",
+        "subtitle2": "ชำระล่วงหน้า"
+    }
+}

+ 260 - 0
oem/tss-vi/locales/extras/vi-VN.json

@@ -0,0 +1,260 @@
+{
+    "app": {
+        "name": "TCE",
+        "slogan": "Nền tảng đặt trước hàng hóa giao ngay của Sở Giao dịch Hàng hóa Thái Lan"
+    },
+    "common": {
+        "submitsuccess": "Đơn hàng được gửi thành công, hãy đặt hàng tiếp nào"
+    },
+    "home": {
+        "product": "Sản phẩm",
+        "pricing": "Gía",
+        "pickup": "Đặt trước",
+        "delivery": "Giao nhận"
+    },
+    "tabbar": {
+        "trade": "Đặt trước "
+    },
+    "operation": {
+        "transfer": "Bỏ theo dõi",
+        "close": "Hủy theo dõi",
+        "order": "Đặt trước",
+        "pickup": "Lấy hàng ",
+        "buynow": "Mua ngay",
+        "delivery": "Giao nhận"
+    },
+    "account": {
+        "netWorth": "Số dư",
+        "inamount": "Nạp tiền hôm nay",
+        "outamount": "Rút tiền hôm nay",
+        "paycharge": "Phí dịch vụ đơn hàng",
+        "closepl": "Tăng giảm giá trị hàng hóa hôm nay",
+        "profitLoss": "Tăng giảm giá trị hàng háo",
+        "freezeMargin2": "Dự trữ thực hiện hợp đồng"
+    },
+    "quote": {
+        "bid": "Gía đặt trước",
+        "ask": "Gía mua lại",
+        "selllprice": "Gía bán",
+        "holdvolume": "Số lượng đơn hàng ",
+        "deposit": "Dự trữ thực hiện hợp đồng",
+        "orderbuy": "Đặt trước",
+        "transferbuy": "Mua lại",
+        "ordersell": "Hủy đặt trước",
+        "transfersell": "Mua lai",
+        "buy": "Đặt trước",
+        "selll": "Mua lại",
+        "goods": {
+            "buyorsell": "Lựa chọn ",
+            "taaccount": "Tài khoản"
+        },
+        "swap": {
+            "sellprice": "Gía mua lại",
+            "buyprice": "Gía đặt trước",
+            "currentaccount": "Tài khoản",
+            "permargin": "Dự trữ thực hiện hợp đồng"
+        },
+        "pricing": {
+            "buyorsell": "Lựa chọn ",
+            "title": "Đặt hàng",
+            "deposit": "Dự trữ thực hiện hợp đồng",
+            "title1": "Đặt trước hàng hóa",
+            "title2": "Mua toàn bộ"
+        },
+        "spot": {
+            "buyprice": "Gía đặt trước",
+            "sellprice": "Gía mua lại",
+            "title": "Chi tiết đặt trước",
+            "listingprice": "Gía đặt trước"
+        },
+        "transfer": {
+            "title1": "Chi tiết mua lại"
+        }
+    },
+    "delivery": {
+        "title1": "Nhận hàng thanh toán toàn bộ",
+        "title2": "Nhận hàng thanh toán trước",
+        "title3": "Giao hàng thanh toán trước",
+        "title4": "Trả hàng và đổi hàng",
+        "offline": {
+            "deliveryqty": "Số lượng đơn hàng ",
+            "deliveryprice": "Gía đơn hàng",
+            "deliveryinfo": "Địa chỉ nhận hàng",
+            "deliveryinfo1": "Thông tin nhận hàng",
+            "deliveryinfo2": "Thông tin giao hàng",
+            "deliveryamount": "Số tiền đơn hàng"
+        }
+    },
+    "order": {
+        "title1": "Đơn hàng lịch sử",
+        "title2": "Đơn hàng thanh toán toàn bộ",
+        "title3": "Đơn hàng thanh toán trước",
+        "feeTotal": "Phí dịch vụ    ",
+        "goodsorder": {
+            "buyorsell": "Lựa chọn "
+        },
+        "pricingorder": {
+            "buyorsell": "Lựa chọn "
+        },
+        "pricingtrade": {
+            "buyorsell": "Lựa chọn ",
+            "charge": "Phí dịch vụ",
+            "closepl": "Chênh lệch hủy đặt hàng"
+        }
+    },
+    "position": {
+        "goodscode": "Mã hàng hóa",
+        "transfer": {
+            "transferqty": "Lượng hủy đặt hàng"
+        },
+        "goods": {
+            "subtitle": "Thông tin đơn hàng",
+            "orderid": "Số đơn hàng",
+            "closepl": "Tăng giảm giá trị hàng hóa    ",
+            "buyorsell": "Danh mục đơn hàng",
+            "holderqty": "Số lượng đơn hàng ",
+            "curpositionqty": "Số lượng đơn hàng ",
+            "freezeqty": "Lượng khóa",
+            "frozenqty": "Lượng khóa",
+            "mindeliverylot": "Lượng nhận hàng tối thiểu",
+            "curholderamount": "Số tiền đơn hàng",
+            "holderamount": "Số tiền đơn hàng",
+            "tradetime": "Thời gian đơn hàng",
+            "holderprice": "Gía đơn hàng",
+            "transferprice": "Gía hủy đặt hàng",
+            "tips1": "Vui lòng nhập giá hủy đặt hàng",
+            "tips2": "Vui lòng nhập lượng hủy đặt hàng",
+            "qty": "Lượng hủy đặt hàng",
+            "orderqty": "Lượng hủy đặt hàng",
+            "deposit": "Cần bổ sung số tiền còn lại",
+            "fees": "Phí nhận hàng",
+            "averageprice": "Gía trung bình đơn hàng",
+            "deliveryid": "Số đơn giao hàng",
+            "subtitle3": "Thông tin hủy đặt hàng",
+            "tips3": "Xác nhận muốn hủy đặt hàng không?",
+            "tips4": "Hủy đặt hàng thành công",
+            "pricemove": "Phí kiểm tra",
+            "expressfees": "Thuế phí",
+            "holddetail": {
+                "holderqty": "Số lượng đơn hàng ",
+                "freezeqty": "Lượng khóa",
+                "profitLoss": "Chêch lệch thả nổi",
+                "holderamount": "Số tiền đơn hàng",
+                "usedMargin": "Vốn chiếm dụng",
+                "tradetime": "Thời gian đơn hàng"
+            }
+        },
+        "pricing": {
+            "buyorsell": "Lựa chọn ",
+            "frozenqty": "Lượng khóa",
+            "curholderamount": "Số tiền đơn hàng",
+            "closepl": "Chênh lệch tham khảo",
+            "averageprice": "Gía trung bình đơn hàng"
+        }
+    },
+    "banksign": {
+        "title": "Quản lý thẻ ngân hàng",
+        "cancel": "Hủy liên kết thẻ",
+        "addbanksign": "Thêm thẻ ngân hàng",
+        "modifybanksign": "Sửa thẻ ngân hàng",
+        "youhavenotaddedasignedaccount": "Bạn chưa liên kết tài khoản ngân hàng",
+        "tips1": "Vui lòng thêm thông tin tài khoản ngân hàng trước!",
+        "tips2": "Đi thêm thông tin thẻ ngân hàng",
+        "tips7": "Chưa thêm thông tin thẻ ngân hàng",
+        "tips8": "Xác thực danh tính đang được duyệt, tạm thời không thể thêm thông tin thẻ ngân hàng!",
+        "tips9": "Vui lòng gửi yêu cầu đến trung tâm thanh toán để sửa thông tin trước, nếu không sẽ ảnh hưởng đến nạp tiền và rút tiền",
+        "tips12": "Xác nhận muốn hủy liên kết ngân hàng không?",
+        "tips13": "Gửi thành công, vui lòng kiểm tra kết quả sau",
+        "capital": {
+            "title2": "Thông tin tài khoản",
+            "totalprofit": "Tổng chênh lệch:",
+            "totalcharge": "Tổng chi phí dịch vụ"
+        },
+        "wallet": {
+            "title": "Nạp tiền/Rút tiền",
+            "cashin": "Nạp tiền ",
+            "cashout": "Rút tiền",
+            "deposit": {
+                "subtitle": "Nền tảng nạp tiền",
+                "subtitle1": "Thời gian nạp tiền",
+                "inamount": "Số tiền nạp",
+                "pleaseenterinamount": "Vui lòng nhập số tiền nạp",
+                "time": "Thời gian nạp tiền: Ngày làm việc",
+                "platformdepositbankname": "Ngân hàng nạp tiền nền tảng",
+                "platformdepositaccountno": "Tài khoản nạp tiền nền tảng",
+                "platformdepositaccount": "Tài khoản nạp tiền nền tảng",
+                "platformdepositsub-branch": "Chi nhánh nạp tiền nền tảng",
+                "goldisnotwithinthetimeframe": "Nạp tiền không trong khung thời gian",
+                "notice": "Ngày lễ theo thông báo, vui lòng không thao tác vào ngày nghỉ!",
+                "tips1": "Đã thực hiện chuyển khoản nạp tiền từ phía ngân hàng chưa?"
+            },
+            "withdraw": {
+                "subtitle": "Thời gian rút tiền",
+                "outamount": "Số tiền rút",
+                "pleaseenteroutamount": "Vui lòng nhập số tiền rút",
+                "time": "Thời gian rút tiền: Ngày làm viêc",
+                "theamountavailableis0": "Số tiền có thể rút là 0",
+                "exceedingthepayableamount": "Vượt quá số tiền có thể rút",
+                "goldisnotwithinthetimeframe": "Rút tiền không trong khung thời gian",
+                "notice": "Ngày lễ theo thông báo, vui lòng không thao tác vào ngày nghỉ!",
+                "availableoutmoney": "Số tiền có thể rút "
+            },
+            "inoutapply": {
+                "title": "Lịch sử nạp/rút",
+                "charge": "Phí dịch vụ đơn hàng"
+            }
+        }
+    },
+    "report": {
+        "title": "Bảng kê người dùng",
+        "closepl": "Chênh lệch hủy đơn",
+        "reckonpl": "Chênh lệch thanh toán",
+        "trade": {
+            "buyorselldisplay": "Lựa chọn"
+        },
+        "position": {
+            "buyorselldisplay": "Lựa chọn",
+            "frozenqty": "Lượng khóa"
+        }
+    },
+    "mine": {
+        "fundsinfo": "Thông tin tài khoản",
+        "banksign": "Thẻ ngân hàng của tôi",
+        "delivery": "Giao hàng và nhận hàng",
+        "cashin": "Nạp tiền   ",
+        "cashout": "Rút tiền      ",
+        "myposition": "Đơn hàng nắm giữ",
+        "myorder": "Đơn hàng lịch sử",
+        "setting": {
+            "orderBuyOrSell": "Mặc định"
+        }
+    },
+    "user": {
+        "cancel": {
+            "tips_2": "1. Số tiền trong tài khoản đã đươc thanh toán đầy đủ"
+        }
+    },
+    "pcroute": {
+        "bottom": {
+            "bottom_goods_position_transfer": "Hủy đơn",
+            "bottom_goods_position": "Tổng hợp đơn hàng",
+            "bottom_pricing": "Đặt trước hàng hóa",
+            "bottom_pricing_position": "Tổng hợp đơn hàng",
+            "bottom_swap_position": "Tổng hợp đơn hàng"
+        },
+        "market": {
+            "title": "Thị trường hàng hóa",
+            "market_trade": "Thị trường hàng hóa"
+        },
+        "query": {
+            "query_trade_pricing": "Thị trường hoán đổi",
+            "query_order_pricing": "Đặt trước hàng hóa"
+        }
+    },
+    "tss": {
+        "title": "Đơn hàng nắm giữ",
+        "tips1": "Vui lòng nhập từ khóa tìm kiếm",
+        "subtitle1": "Toàn bộ số tiền",
+        "subtitle2": "Tiền đặt cọc"
+    }
+}

+ 260 - 0
oem/tss-vi/locales/extras/zh-CN.json

@@ -0,0 +1,260 @@
+{
+    "app": {
+        "name": "TCE",
+        "slogan": "泰国商品交易所\r\n现货预订平台"
+    },
+    "common": {
+        "submitsuccess": "订单提交成功,请再次下单"
+    },
+    "home": {
+        "product": "产品",
+        "pricing": "价格",
+        "pickup": "预定",
+        "delivery": "交收"
+    },
+    "tabbar": {
+        "trade": "预订"
+    },
+    "operation": {
+        "transfer": "退订",
+        "close": "退订",
+        "order": "预订",
+        "pickup": "提货",
+        "delivery": "交货",
+        "buynow": "立即购买"
+    },
+    "account": {
+        "netWorth": "余额",
+        "inamount": "今日充值",
+        "outamount": "今日提现",
+        "paycharge": "订单服务费",
+        "closepl": "今日货值增减",
+        "profitLoss": "货值增减",
+        "freezeMargin2": "履约准备金"
+    },
+    "quote": {
+        "bid": "预订价",
+        "ask": "回购价",
+        "selllprice": "销售价",
+        "holdvolume": "订单数量",
+        "deposit": "履约准备金",
+        "orderbuy": "预订",
+        "transferbuy": "回购",
+        "ordersell": "取消预订",
+        "transfersell": "回购",
+        "buy": "预订",
+        "selll": "回购",
+        "goods": {
+            "buyorsell": "选择",
+            "taaccount": "账户"
+        },
+        "swap": {
+            "sellprice": "回购价格",
+            "buyprice": "预定价格",
+            "currentaccount": "账户",
+            "permargin": "履约准备金"
+        },
+        "pricing": {
+            "buyorsell": "选择",
+            "title": "下单",
+            "deposit": "履约准备金",
+            "title1": "现货预订",
+            "title2": "全款购买"
+        },
+        "spot": {
+            "buyprice": "预订价",
+            "sellprice": "回购价",
+            "title": "预订详情",
+            "listingprice": "预定价格"
+        },
+        "transfer": {
+            "title1": "回购详情"
+        }
+    },
+    "delivery": {
+        "title1": "全款提货",
+        "title2": "预付款提货",
+        "title3": "预付款交货",
+        "title4": "退换货",
+        "offline": {
+            "deliveryqty": "订单数量",
+            "deliveryprice": "订单价格",
+            "deliveryinfo": "收货地址",
+            "deliveryinfo1": "提货信息",
+            "deliveryinfo2": "交货信息",
+            "deliveryamount": "订单货款"
+        }
+    },
+    "order": {
+        "title1": "历史订单",
+        "title2": "全款订单",
+        "title3": "预付款订单",
+        "feeTotal": "服务费:",
+        "goodsorder": {
+            "buyorsell": "选择"
+        },
+        "pricingorder": {
+            "buyorsell": "选择"
+        },
+        "pricingtrade": {
+            "buyorsell": "选择",
+            "charge": "服务费",
+            "closepl": "退订差额"
+        }
+    },
+    "position": {
+        "goodscode": "商品代码",
+        "transfer": {
+            "transferqty": "退订量"
+        },
+        "goods": {
+            "subtitle": "订单信息",
+            "orderid": "订单号",
+            "closepl": "货值增减",
+            "buyorsell": "订单类目",
+            "holderqty": "订单数量",
+            "curpositionqty": "订单数量",
+            "freezeqty": "锁定量",
+            "frozenqty": "锁定量",
+            "mindeliverylot": "最小提货量",
+            "curholderamount": "订单金额",
+            "holderamount": "订单金额",
+            "tradetime": "订单时间",
+            "holderprice": "订单价格",
+            "transferprice": "退订价格",
+            "tips1": "请输入退订价格",
+            "tips2": "请输入退订量",
+            "qty": "退订量",
+            "orderqty": "退订量",
+            "deposit": "需补足尾款",
+            "fees": "提货费",
+            "averageprice": "订单均价",
+            "deliveryid": "交货单号",
+            "subtitle3": "退订信息",
+            "tips3": "确认要退订吗?",
+            "tips4": "退订成功",
+            "pricemove": "验收费",
+            "expressfees": "税费",
+            "holddetail": {
+                "holderqty": "订单数量",
+                "freezeqty": "锁定量",
+                "profitLoss": "浮动差额",
+                "holderamount": "订单金额",
+                "usedMargin": "占用资金",
+                "tradetime": "订单时间"
+            }
+        },
+        "pricing": {
+            "buyorsell": "选择",
+            "frozenqty": "锁定量",
+            "curholderamount": "订单金额",
+            "closepl": "参考差额",
+            "averageprice": "订单均价"
+        }
+    },
+    "banksign": {
+        "title": "银行卡管理",
+        "cancel": "解绑银行卡",
+        "addbanksign": "添加银行卡",
+        "modifybanksign": "修改银行卡",
+        "youhavenotaddedasignedaccount": "您还未绑定银行卡账户",
+        "tips1": "请先添加银行卡账户信息账户信息!",
+        "tips2": "去添加银行卡信息",
+        "tips7": "未添加银行卡信息",
+        "tips8": "实名认证正在审核中,暂不能进行添加银行卡信息请求操作!",
+        "tips9": "请先发函到结算中心修改信息后再修改,否则将会影响充值、提现。",
+        "tips12": "确认要解绑银行卡吗?",
+        "tips13": "提交成功,请稍后确认结果",
+        "capital": {
+            "title2": "账户信息",
+            "totalprofit": "差额汇总:",
+            "totalcharge": "服务费汇总:"
+        },
+        "wallet": {
+            "title": "充值/提现",
+            "cashin": "充值",
+            "cashout": "提现",
+            "deposit": {
+                "subtitle": "充值平台",
+                "subtitle1": "充值时间",
+                "inamount": "充值金额",
+                "pleaseenterinamount": "请填写充值金额",
+                "time": "充值时间:工作日 ",
+                "platformdepositbankname": "平台充值银行",
+                "platformdepositaccountno": "平台充值账号",
+                "platformdepositaccount": "平台充值账户",
+                "platformdepositsub-branch": "平台充值支行",
+                "goldisnotwithinthetimeframe": "充值不在时间范围内",
+                "notice": "节假日以通知、公告为准,非工作日请勿操作!",
+                "tips1": "是否已在银行端进行充值转账?"
+            },
+            "withdraw": {
+                "subtitle": "提现时间",
+                "outamount": "提现金额",
+                "pleaseenteroutamount": "请填写提现金额",
+                "time": "提现时间:工作日 ",
+                "theamountavailableis0": "可提现额为0",
+                "exceedingthepayableamount": "超过可提现金额",
+                "goldisnotwithinthetimeframe": "提现不在时间范围内",
+                "notice": "节假日以通知、公告为准,非工作日请勿操作!",
+                "availableoutmoney": "可提现金额"
+            },
+            "inoutapply": {
+                "title": "充值/提现记录",
+                "charge": "订单服务费"
+            }
+        }
+    },
+    "report": {
+        "title": "用户结算单",
+        "closepl": "退订差额",
+        "reckonpl": "结算差额",
+        "trade": {
+            "buyorselldisplay": "选择"
+        },
+        "position": {
+            "buyorselldisplay": "选择",
+            "frozenqty": "锁定量"
+        }
+    },
+    "mine": {
+        "fundsinfo": "账户信息",
+        "banksign": "我的银行卡",
+        "delivery": "交货提货",
+        "cashin": "充值",
+        "cashout": "提现",
+        "myposition": "持有订单",
+        "myorder": "历史订单",
+        "setting": {
+            "orderBuyOrSell": "默认"
+        }
+    },
+    "user": {
+        "cancel": {
+            "tips_2": "1. 账户货款已结清"
+        }
+    },
+    "pcroute": {
+        "bottom": {
+            "bottom_goods_position_transfer": "退订",
+            "bottom_goods_position": "订单汇总",
+            "bottom_pricing": "现货预订",
+            "bottom_pricing_position": "订单汇总",
+            "bottom_swap_position": "订单汇总"
+        },
+        "market": {
+            "title": "现货市场",
+            "market_trade": "现货市场"
+        },
+        "query": {
+            "query_trade_pricing": "现货预订",
+            "query_order_pricing": "现货预订"
+        }
+    },
+    "tss": {
+        "title": "持有订单",
+        "tips1": "请输入搜索关键词",
+        "subtitle1": "全款",
+        "subtitle2": "预付款"
+    }
+}

+ 260 - 0
oem/tss-vi/locales/extras/zh-TW.json

@@ -0,0 +1,260 @@
+{
+    "app": {
+        "name": "TCE",
+        "slogan": "泰國商品交易所\r\n現貨預訂平臺"
+    },
+    "common": {
+        "submitsuccess": "訂單提交成功,請再次下單"
+    },
+    "home": {
+        "product": "產品",
+        "pricing": "價格",
+        "pickup": "預定",
+        "delivery": "交收"
+    },
+    "tabbar": {
+        "trade": "預訂"
+    },
+    "operation": {
+        "transfer": "退訂",
+        "close": "退訂",
+        "order": "預訂",
+        "pickup": "提貨",
+        "buynow": "立即購買",
+        "delivery": "交貨"
+    },
+    "account": {
+        "netWorth": "餘額",
+        "inamount": "今日充值",
+        "outamount": "今日提現",
+        "paycharge": "訂單服務費",
+        "closepl": "今日貨值增減",
+        "profitLoss": "貨值增減",
+        "freezeMargin2": "履約準備金"
+    },
+    "quote": {
+        "bid": "預訂價",
+        "ask": "回購價",
+        "selllprice": "銷售價",
+        "holdvolume": "訂單數量",
+        "deposit": "履約準備金",
+        "orderbuy": "預訂",
+        "transferbuy": "回購",
+        "ordersell": "取消預訂",
+        "transfersell": "取消回購",
+        "buy": "預訂",
+        "selll": "回購",
+        "goods": {
+            "buyorsell": "選擇",
+            "taaccount": "賬戶"
+        },
+        "swap": {
+            "sellprice": "回購價格",
+            "buyprice": "預定價格",
+            "currentaccount": "賬戶",
+            "permargin": "履約準備金"
+        },
+        "pricing": {
+            "buyorsell": "選擇",
+            "title": "下單",
+            "deposit": "履約準備金",
+            "title1": "現貨預訂",
+            "title2": "全款購買"
+        },
+        "spot": {
+            "buyprice": "預訂價",
+            "sellprice": "回購價",
+            "title": "預訂詳情",
+            "listingprice": "預定價格"
+        },
+        "transfer": {
+            "title1": "回購詳情"
+        }
+    },
+    "delivery": {
+        "title1": "全款提貨",
+        "title2": "預付款提貨",
+        "title3": "預付款交貨",
+        "title4": "退換貨",
+        "offline": {
+            "deliveryqty": "訂單數量",
+            "deliveryprice": "訂單價格",
+            "deliveryinfo": "收貨地址",
+            "deliveryinfo1": "提貨信息",
+            "deliveryinfo2": "交貨信息",
+            "deliveryamount": "訂單貨款"
+        }
+    },
+    "order": {
+        "title1": "歷史訂單",
+        "title2": "全款訂單",
+        "title3": "預付款訂單",
+        "feeTotal": "服務費:",
+        "goodsorder": {
+            "buyorsell": "選擇"
+        },
+        "pricingorder": {
+            "buyorsell": "選擇"
+        },
+        "pricingtrade": {
+            "buyorsell": "選擇",
+            "charge": "服務費",
+            "closepl": "退訂差額"
+        }
+    },
+    "position": {
+        "goodscode": "商品代碼",
+        "transfer": {
+            "transferqty": "退訂量"
+        },
+        "goods": {
+            "subtitle": "訂單信息",
+            "orderid": "訂單號",
+            "closepl": "貨值增減",
+            "buyorsell": "訂單類目",
+            "holderqty": "訂單數量",
+            "curpositionqty": "訂單數量",
+            "freezeqty": "鎖定量",
+            "frozenqty": "鎖定量",
+            "mindeliverylot": "最小提貨量",
+            "curholderamount": "訂單金額",
+            "holderamount": "訂單金額",
+            "tradetime": "訂單時間",
+            "holderprice": "訂單價格",
+            "transferprice": "退訂價格",
+            "tips1": "請輸入退訂價格",
+            "tips2": "請輸入退訂量",
+            "qty": "退訂量",
+            "orderqty": "退訂量",
+            "deposit": "需補足尾款",
+            "fees": "提貨費",
+            "averageprice": "訂單均價",
+            "deliveryid": "出貨編號",
+            "subtitle3": "退訂信息",
+            "tips3": "确认要退訂吗?",
+            "tips4": "退訂成功",
+            "pricemove": "驗收費",
+            "expressfees": "稅費",
+            "holddetail": {
+                "holderqty": "訂單數量",
+                "freezeqty": "鎖定量",
+                "profitLoss": "浮動差額",
+                "holderamount": "訂單金額",
+                "usedMargin": "佔用資金",
+                "tradetime": "訂單時間"
+            }
+        },
+        "pricing": {
+            "buyorsell": "選擇",
+            "frozenqty": "鎖定量",
+            "curholderamount": "訂單金額",
+            "closepl": "參考差額",
+            "averageprice": "訂單均價"
+        }
+    },
+    "banksign": {
+        "title": "銀行卡管理",
+        "cancel": "解綁銀行卡",
+        "addbanksign": "添加銀行卡",
+        "modifybanksign": "修改銀行卡",
+        "youhavenotaddedasignedaccount": "您還未綁定銀行卡賬戶",
+        "tips1": "請先添加銀行卡賬戶信息賬戶信息!",
+        "tips2": "去添加銀行卡信息",
+        "tips7": "未添加銀行卡信息",
+        "tips8": "實名認證正在審覈中,暫不能進行添加銀行卡信息請求操作!",
+        "tips9": "請先發函到結算中心修改信息後再修改,否則將會影響充值、提現。",
+        "tips12": "確認要解綁銀行卡嗎?",
+        "tips13": "提交成功,請稍後確認結果",
+        "capital": {
+            "title2": "賬戶信息",
+            "totalprofit": "差額彙總:",
+            "totalcharge": "服務費彙總:"
+        },
+        "wallet": {
+            "title": "充值/提現",
+            "cashin": "充值",
+            "cashout": "提現",
+            "deposit": {
+                "subtitle": "充值平臺",
+                "subtitle1": "充值時間",
+                "inamount": "充值金額",
+                "pleaseenterinamount": "請填寫充值金額",
+                "time": "充值時間:工作日 ",
+                "platformdepositbankname": "平臺充值銀行",
+                "platformdepositaccountno": "平臺充值賬號",
+                "platformdepositaccount": "平臺充值賬戶",
+                "platformdepositsub-branch": "平臺充值支行",
+                "goldisnotwithinthetimeframe": "充值不在時間範圍內",
+                "notice": "節假日以通知、公告爲準,非工作日請勿操作!",
+                "tips1": "是否已完成銀行儲值匯款?"
+            },
+            "withdraw": {
+                "subtitle": "提現時間",
+                "outamount": "提現金額",
+                "pleaseenteroutamount": "請填寫提現金額",
+                "time": "提現時間:工作日 ",
+                "theamountavailableis0": "可提現額爲0",
+                "exceedingthepayableamount": "超過可提現金額",
+                "goldisnotwithinthetimeframe": "提現不在時間範圍內",
+                "notice": "節假日以通知、公告爲準,非工作日請勿操作!",
+                "availableoutmoney": "可提現金額"
+            },
+            "inoutapply": {
+                "title": "充值/提現記錄",
+                "charge": "訂單服務費"
+            }
+        }
+    },
+    "report": {
+        "title": "用戶結算單",
+        "closepl": "退訂差額",
+        "reckonpl": "結算差額",
+        "trade": {
+            "buyorselldisplay": "選擇"
+        },
+        "position": {
+            "buyorselldisplay": "選擇",
+            "frozenqty": "鎖定量"
+        }
+    },
+    "mine": {
+        "fundsinfo": "賬戶信息",
+        "banksign": "我的銀行卡",
+        "delivery": "交貨提貨",
+        "cashin": "充值",
+        "cashout": "提現",
+        "myposition": "持有訂單",
+        "myorder": "歷史訂單",
+        "setting": {
+            "orderBuyOrSell": "默認"
+        }
+    },
+    "user": {
+        "cancel": {
+            "tips_2": "1. 賬戶貨款已結清"
+        }
+    },
+    "pcroute": {
+        "bottom": {
+            "bottom_goods_position_transfer": "退訂",
+            "bottom_goods_position": "訂單彙總",
+            "bottom_pricing": "現貨預訂",
+            "bottom_pricing_position": "訂單彙總",
+            "bottom_swap_position": "訂單彙總"
+        },
+        "market": {
+            "title": "現貨市場",
+            "market_trade": "現貨市場"
+        },
+        "query": {
+            "query_trade_pricing": "現貨預訂",
+            "query_order_pricing": "現貨預訂"
+        }
+    },
+    "tss": {
+        "title": "持有訂單",
+        "tips1": "請輸入搜索關鍵詞",
+        "subtitle1": "全款",
+        "subtitle2": "預付款"
+    }
+}

BIN
oem/tss-vi/logo/login-logo.png


BIN
oem/tss-vi/logo/logo-horizontal.png


+ 304 - 0
oem/tss-vi/manifest.json

@@ -0,0 +1,304 @@
+{
+    "@platforms" : [ "android", "iPhone", "iPad" ],
+    "id" : "H5D0C0CD8",
+    /*应用的标识*/
+    "name" : "TCE",
+    /*应用名称,程序桌面图标名称*/
+    "version" : {
+        "name" : "1.0.0",
+        /*应用版本名称*/
+        "code" : 100000
+    },
+    "description" : "",
+    /*应用描述信息*/
+    "icons" : {
+        "72" : "icon.png"
+    },
+    "launch_path" : "index.html",
+    /*应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头*/
+    "developer" : {
+        "name" : "",
+        /*开发者名称*/
+        "email" : "",
+        /*开发者邮箱地址*/
+        "url" : "" /*开发者个人主页地址*/
+    },
+    "permissions" : {
+        "Accelerometer" : {
+            "description" : "访问加速度感应器"
+        },
+        "Audio" : {
+            "description" : "访问麦克风"
+        },
+        "Cache" : {
+            "description" : "管理应用缓存"
+        },
+        "Camera" : {
+            "description" : "访问摄像头"
+        },
+        "Console" : {
+            "description" : "跟踪调试输出日志"
+        },
+        "Device" : {
+            "description" : "访问设备信息"
+        },
+        "Downloader" : {
+            "description" : "文件下载管理"
+        },
+        "Events" : {
+            "description" : "应用扩展事件"
+        },
+        "File" : {
+            "description" : "访问本地文件系统"
+        },
+        "Gallery" : {
+            "description" : "访问系统相册"
+        },
+        "Invocation" : {
+            "description" : "使用Native.js能力"
+        },
+        "Orientation" : {
+            "description" : "访问方向感应器"
+        },
+        "Proximity" : {
+            "description" : "访问距离感应器"
+        },
+        "Storage" : {
+            "description" : "管理应用本地数据"
+        },
+        "Uploader" : {
+            "description" : "管理文件上传任务"
+        },
+        "Runtime" : {
+            "description" : "访问运行期环境"
+        },
+        "XMLHttpRequest" : {
+            "description" : "跨域网络访问"
+        },
+        "Zip" : {
+            "description" : "文件压缩与解压缩"
+        },
+        "Barcode" : {
+            "description" : "管理二维码扫描插件"
+        },
+        "Webview" : {
+            "description" : "窗口管理"
+        },
+        "NativeUI" : {
+            "description" : "原生UI控件"
+        },
+        "Navigator" : {
+            "description" : "浏览器信息"
+        },
+        "NativeObj" : {
+            "description" : "原生对象"
+        },
+        "Share" : {}
+    },
+    "plus" : {
+        "modules" : {
+            "Barcode" : {},
+            "Camera" : {},
+            "Gallery" : {},
+            "Share" : {}
+        },
+        "statusbar" : {
+            "immersed" : true /*沉浸式状态栏。*/
+        },
+        "splashscreen" : {
+            "autoclose" : true,
+            /*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/
+            "waiting" : true /*是否在程序启动界面显示等待雪花,true表示显示,false表示不显示。*/
+        },
+        "popGesture" : "close",
+        /*设置应用默认侧滑返回关闭Webview窗口,"none"为无侧滑返回功能,"hide"为侧滑隐藏Webview窗口。参考http://ask.dcloud.net.cn/article/102*/
+        "runmode" : "liberate",
+        /*应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)*/
+        "signature" : "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw==",
+        /*可选,保留给应用签名,暂不使用*/
+        "distribute" : {
+            "apple" : {
+                "appid" : "",
+                /*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
+                "mobileprovision" : "",
+                /*iOS应用打包配置文件*/
+                "password" : "",
+                /*iOS应用打包个人证书导入密码*/
+                "p12" : "",
+                /*iOS应用打包个人证书,打包配置文件关联的个人证书*/
+                "devices" : "universal",
+                /*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
+                "frameworks" : [], /*调用Native.js调用原生Objective-c API需要引用的FrameWork,如需调用GameCenter,则添加"GameKit.framework"*/
+                "idfa" : false,
+                "privacyDescription" : {
+                    "NSCameraUsageDescription" : "访问您的相册用来上传您的图像用来设置头像!",
+                    "NSPhotoLibraryAddUsageDescription" : "访问您的相册保存图像用来设置头像!",
+                    "NSPhotoLibraryUsageDescription" : "访问您的摄像头用来拍照上传您的图像用来设置头像!"
+                }
+            },
+            "google" : {
+                "packagename" : "",
+                /*Android应用包名,如io.dcloud.HelloH5*/
+                "keystore" : "",
+                /*Android应用打包使用的密钥库文件*/
+                "password" : "",
+                /*Android应用打包使用密钥库中证书的密码*/
+                "aliasname" : "",
+                /*Android应用打包使用密钥库中证书的别名*/
+                "permissions" : [
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.BIND_INPUT_METHOD\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
+                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>"
+                ],
+                "abiFilters" : [ "arm64-v8a" ],
+                "autoSdkPermissions" : false,
+                "minSdkVersion" : 34,
+                "targetSdkVersion" : 34
+            },
+            /*使用Native.js调用原生安卓API需要使用到的系统权限*/
+            "orientation" : [ "portrait-primary" ],
+            /*应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向*/
+            "icons" : {
+                "ios" : {
+                    "prerendered" : true,
+                    /*应用图标是否已经高亮处理,在iOS6及以下设备上有效*/
+                    "auto" : "",
+                    /*应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标*/
+                    "iphone" : {
+                        "normal" : "",
+                        /*iPhone3/3GS程序图标,分辨率:57x57*/
+                        "retina" : "",
+                        /*iPhone4程序图标,分辨率:114x114*/
+                        "retina7" : "",
+                        /*iPhone4S/5/6程序图标,分辨率:120x120*/
+                        "retina8" : "",
+                        /*iPhone6 Plus程序图标,分辨率:180x180*/
+                        "spotlight-normal" : "",
+                        /*iPhone3/3GS Spotlight搜索程序图标,分辨率:29x29*/
+                        "spotlight-retina" : "",
+                        /*iPhone4 Spotlight搜索程序图标,分辨率:58x58*/
+                        "spotlight-retina7" : "",
+                        /*iPhone4S/5/6 Spotlight搜索程序图标,分辨率:80x80*/
+                        "settings-normal" : "",
+                        /*iPhone4设置页面程序图标,分辨率:29x29*/
+                        "settings-retina" : "",
+                        /*iPhone4S/5/6设置页面程序图标,分辨率:58x58*/
+                        "settings-retina8" : "", /*iPhone6Plus设置页面程序图标,分辨率:87x87*/
+                        "app@2x" : "app/icons/120x120.png",
+                        "app@3x" : "app/icons/180x180.png",
+                        "notification@2x" : "app/icons/40x40.png",
+                        "notification@3x" : "app/icons/60x60.png",
+                        "settings@2x" : "app/icons/58x58.png",
+                        "settings@3x" : "app/icons/87x87.png",
+                        "spotlight@2x" : "app/icons/80x80.png",
+                        "spotlight@3x" : "app/icons/120x120.png"
+                    },
+                    "ipad" : {
+                        "normal" : "",
+                        /*iPad普通屏幕程序图标,分辨率:72x72*/
+                        "retina" : "",
+                        /*iPad高分屏程序图标,分辨率:144x144*/
+                        "normal7" : "",
+                        /*iPad iOS7程序图标,分辨率:76x76*/
+                        "retina7" : "",
+                        /*iPad iOS7高分屏程序图标,分辨率:152x152*/
+                        "spotlight-normal" : "",
+                        /*iPad Spotlight搜索程序图标,分辨率:50x50*/
+                        "spotlight-retina" : "",
+                        /*iPad高分屏Spotlight搜索程序图标,分辨率:100x100*/
+                        "spotlight-normal7" : "",
+                        /*iPad iOS7 Spotlight搜索程序图标,分辨率:40x40*/
+                        "spotlight-retina7" : "",
+                        /*iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/
+                        "settings-normal" : "",
+                        /*iPad设置页面程序图标,分辨率:29x29*/
+                        "settings-retina" : "", /*iPad高分屏设置页面程序图标,分辨率:58x58*/
+                        "app" : "app/icons/76x76.png",
+                        "app@2x" : "app/icons/152x152.png",
+                        "notification" : "app/icons/20x20.png",
+                        "notification@2x" : "app/icons/40x40.png",
+                        "proapp@2x" : "app/icons/167x167.png",
+                        "settings" : "app/icons/29x29.png",
+                        "settings@2x" : "app/icons/58x58.png",
+                        "spotlight" : "app/icons/40x40.png",
+                        "spotlight@2x" : "app/icons/80x80.png"
+                    },
+                    "appstore" : "app/icons/1024x1024.png"
+                },
+                "android" : {
+                    "mdpi" : "",
+                    /*普通屏程序图标,分辨率:48x48*/
+                    "ldpi" : "",
+                    /*大屏程序图标,分辨率:48x48*/
+                    "hdpi" : "app/icons/72x72.png",
+                    /*高分屏程序图标,分辨率:72x72*/
+                    "xhdpi" : "app/icons/96x96.png",
+                    /*720P高分屏程序图标,分辨率:96x96*/
+                    "xxhdpi" : "app/icons/144x144.png", /*1080P 高分屏程序图标,分辨率:144x144*/
+                    "xxxhdpi" : "app/icons/192x192.png"
+                }
+            },
+            "splashscreen" : {
+                "ios" : {
+                    "iphone" : {
+                        "default" : "",
+                        /*iPhone3启动图片选,分辨率:320x480*/
+                        "retina35" : "",
+                        /*3.5英寸设备(iPhone4)启动图片,分辨率:640x960*/
+                        "retina40" : "",
+                        /*4.0 英寸设备(iPhone5/iPhone5s)启动图片,分辨率:640x1136*/
+                        "retina47" : "",
+                        /*4.7 英寸设备(iPhone6)启动图片,分辨率:750x1334*/
+                        "retina55" : "",
+                        /*5.5 英寸设备(iPhone6 Plus)启动图片,分辨率:1242x2208*/
+                        "retina55l" : "" /*5.5 英寸设备(iPhone6 Plus)横屏启动图片,分辨率:2208x1242*/
+                    },
+                    "ipad" : {
+                        "portrait" : "",
+                        /*iPad竖屏启动图片,分辨率:768x1004*/
+                        "portrait-retina" : "",
+                        /*iPad高分屏竖屏图片,分辨率:1536x2008*/
+                        "landscape" : "",
+                        /*iPad横屏启动图片,分辨率:1024x748*/
+                        "landscape-retina" : "",
+                        /*iPad高分屏横屏启动图片,分辨率:2048x1496*/
+                        "portrait7" : "",
+                        /*iPad iOS7竖屏启动图片,分辨率:768x1024*/
+                        "portrait-retina7" : "",
+                        /*iPad iOS7高分屏竖屏图片,分辨率:1536x2048*/
+                        "landscape7" : "",
+                        /*iPad iOS7横屏启动图片,分辨率:1024x768*/
+                        "landscape-retina7" : "" /*iPad iOS7高分屏横屏启动图片,分辨率:2048x1536*/
+                    },
+                    "storyboard" : "../ios/CustomStoryborad.zip"
+                },
+                "android" : {
+                    "mdpi" : "",
+                    /*普通屏启动图片,分辨率:240x282*/
+                    "ldpi" : "",
+                    /*大屏启动图片,分辨率:320x442*/
+                    "hdpi" : "app/splashscreen/480x853.png",
+                    /*高分屏启动图片,分辨率:480x762*/
+                    "xhdpi" : "app/splashscreen/720x1280.png",
+                    /*720P高分屏启动图片,分辨率:720x1242*/
+                    "xxhdpi" : "app/splashscreen/1080x1920.png" /*1080P高分屏启动图片,分辨率:1080x1882*/
+                },
+                "androidStyle" : "default",
+                "iosStyle" : "common",
+                "useOriginalMsgbox" : false
+            },
+            "plugins" : {
+                "ad" : {},
+                "geolocation" : {},
+                "share" : {}
+            },
+            "ios" : {
+                "dSYMs" : false
+            }
+        }
+    },
+    "screenOrientation" : [ "portrait-primary" ]
+}

+ 2 - 2
oem/tss/config/appconfig.json

@@ -1,6 +1,6 @@
 {
-  "appId": "com.muchinfo.tssvi",
-  "appName": "Tce Vietnam",
+  "appId": "com.muchinfo.tss",
+  "appName": "TCE",
   "version": "1.0.53",
   "versionCode": "100053",
   "apiUrl": "http://192.168.31.210:8080/cfg?key=test_210",

BIN
oem/tss/logo/login-logo.png


+ 1 - 1
script/oem.env.json

@@ -230,7 +230,7 @@
         "VUE_APP_ENV": "tss-vi",
         "VUE_APP_NAME": "Tce Vietnam",
         "VUE_APP_ROOT": "src/packages/tss-vi/",
-        "VUE_APP_OEM": "oem/tss/",
+        "VUE_APP_OEM": "oem/tss-vi/",
         "VUE_APP_TRADE_CHANNEL": "ws"
     }
 ]

+ 1 - 1
src/packages/tss/views/user/login/Index.vue

@@ -6,7 +6,7 @@
     </app-statusbar>
     <div class="login-logo">
       <slot name="logo">
-        <img src="../../../assets/images/login-logo.png" />
+        <img :src="'./logo/login-logo.png'" />
       </slot>
     </div>
     <Form class="login-form" @submit="formSubmit">

+ 0 - 148
src/services/websocket/build/next.ts

@@ -1,148 +0,0 @@
-import { v4 } from 'uuid'
-import { Package40, Package50 } from '../package';
-import { Package, ConnectionState, SendMessage, AsyncTask } from './types';
-import moment from 'moment'
-
-export class MTP2WebSocket<T extends Package40 | Package50> {
-    constructor(pkg: Package<T>, host = '', protocols = '') {
-        this.Package = pkg
-        this.host = host
-        this.protocols = protocols
-    }
-
-    /** 当前实例标识 */
-    private uniqueId?: symbol
-
-    /** 报文协议 */
-    private readonly Package: Package<T>
-    /** 服务端地址 */
-    private host
-    /** WebSocket 协议 */
-    private protocols: string | string[]
-    /** WebSocket 对象 */
-    private ws?: WebSocket
-
-    /** 是否启用心跳检测 */
-    enableHeartbeat = true;
-    /** 心跳定时器 */
-    private heartbeatTimer = 0
-    /** 心跳超时定时器 */
-    private heartbeatTimeoutId = 0
-    /** 心跳超时时间,默认5秒 */
-    private heartbeatTimeout = 5000
-    /** 心跳间隔,默认30秒 */
-    private heartbeatInterval = 30 * 1000
-
-    /** 重连定时器 */
-    private reconnectTimer = 0
-
-    /** 连接成功的回调 */
-    onOpen?: () => void
-    /** 连接断开的回调 */
-    onClose?: () => void
-    /** 连接发生错误的回调 */
-    onError?: (e: Event) => void
-    /** 接收到推送类报文的回调 */
-    onPush?: (data: T) => void
-    /** 在重连之前回调 */
-    onBeforeReconnect?: (count: number) => void
-    /** 在重连成功之后回调 */
-    onReconnect?: () => void
-
-    /**
-     * 连接服务
-     * @param host 
-     * @param protocols 
-     * @returns 
-     */
-    connect(host?: string, protocols?: string | string[]) {
-        if (this.ws && this.ws.readyState !== WebSocket.CLOSED) {
-            return
-        }
-
-        this.host = host || this.host
-        this.protocols = protocols || this.protocols
-
-        return new Promise<void>((resolve, reject) => {
-            const uniqueId = Symbol()
-            this.uniqueId = uniqueId
-            this.ws = this.protocols ? new WebSocket(this.host, this.protocols) : new WebSocket(this.host)
-
-            // 连接成功
-            this.ws.onopen = () => {
-                console.log(this.host, '连接成功')
-                this.startHeartbeat()
-                this.onOpen && this.onOpen()
-                resolve()
-            }
-
-            // 接收数据
-            this.ws.onmessage = (event) => {
-                // 处理数据
-            }
-
-            // 发生错误
-            this.ws.onerror = (error) => {
-                console.error('连接发生错误', error)
-                this.onError && this.onError(error)
-                reject(error)
-            }
-
-            // 连接断开
-            this.ws.close = () => {
-                // 判断是否当前实例
-                // 如果连接断开后不等待 onclose 响应,由于 onclose 延迟的原因可能会在创建新的 ws 实例后触发,导致刚创建的实例被断开进入重连机制
-                if (this.uniqueId === uniqueId) {
-                    console.warn(this.host, '连接已断开')
-                    //this.reset()
-                    //this.reconnect() // 重连失败会不断尝试,直到成功为止
-                }
-            }
-        })
-    }
-
-    /**
-     * 主动断开连接
-     */
-    close(forced = false) {
-        return new Promise<void>((resolve) => {
-            clearTimeout(this.reconnectTimer)
-            this.stopHeartbeat()
-
-            if (!forced && this.ws) {
-                this.ws.addEventListener('close', () => {
-                    resolve()
-                })
-                this.ws.close()
-            }
-        })
-    }
-
-    /**
-     * 发送心跳检测
-     */
-    private startHeartbeat() {
-        if (this.enableHeartbeat) {
-            this.heartbeatTimer = window.setTimeout(() => {
-                if (this.ws && this.ws.readyState === WebSocket.OPEN) {
-                    this.ws.send('ping')
-                    // 没有收到心跳回复,则认为网络已经异常,进行断网重连
-                    this.heartbeatTimeoutId = window.setTimeout(() => {
-                        if (this.ws && this.ws.readyState === WebSocket.OPEN) {
-                            console.warn(this.host, '心跳超时')
-                            //this.reconnect()
-                        }
-                    }, this.heartbeatTimeout)
-                }
-            }, this.heartbeatInterval)
-        }
-    }
-
-    /** 
-     * 停止心跳检测
-     */
-    private stopHeartbeat() {
-        clearTimeout(this.heartbeatTimer)
-        clearTimeout(this.heartbeatTimeoutId)
-    }
-}

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff