From 4ca79949edc8ceb601fe67b042da131996e8dd08 Mon Sep 17 00:00:00 2001 From: GeJiaXiang <353358601@qq.com> Date: Wed, 17 Jan 2024 18:43:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=95=86=E5=9F=8E=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/images/lan/lan_en.json | 3 +- star_lock/images/lan/lan_keys.json | 3 +- star_lock/images/lan/lan_zh.json | 3 +- .../mine/icon_mine_main_shoppingcart.png | Bin 0 -> 2829 bytes star_lock/lib/appRouters.dart | 6 +++ star_lock/lib/mine/about/about_page.dart | 2 +- star_lock/lib/mine/mall/mall_page.dart | 50 ++++++++++++++++++ .../lib/mine/mine/starLockMine_page.dart | 5 ++ star_lock/lib/network/api.dart | 9 +--- star_lock/lib/translations/lanKeyEntity.dart | 4 ++ 10 files changed, 74 insertions(+), 11 deletions(-) create mode 100644 star_lock/images/mine/icon_mine_main_shoppingcart.png create mode 100644 star_lock/lib/mine/mall/mall_page.dart diff --git a/star_lock/images/lan/lan_en.json b/star_lock/images/lan/lan_en.json index 5a4d2770..cda22c7e 100644 --- a/star_lock/images/lan/lan_en.json +++ b/star_lock/images/lan/lan_en.json @@ -202,6 +202,7 @@ "videoIntercomDoorLock":"Video intercom door lock", "NFCPassiveLock":"NFC Passive Lock", "addDevice":"Add device", + "shoppingCart":"Lock Mall", "gateway":"Gateway", "message":"Message", "supportStaff":"Support Staff", @@ -473,7 +474,7 @@ "openRight": "Open Right", "judgmentMethod": "Judgment Method:\n", "judgmentMethodContent": "The man stood outside the house, facing the entrance door. \nIf the hinge or shaft of the door is on the left, the door is left open; \nA door is right-open if its hinge or shaft is on the right. \nIf the setting is wrong, it will not open and close the door properly. \nRecommended to be operated by installation or maintenance personnel.", - + "customMode": "Custom mode", "videoSlot": "Video slot" } diff --git a/star_lock/images/lan/lan_keys.json b/star_lock/images/lan/lan_keys.json index eb935da8..da91ebd3 100644 --- a/star_lock/images/lan/lan_keys.json +++ b/star_lock/images/lan/lan_keys.json @@ -202,6 +202,7 @@ "videoIntercomDoorLock":"videoIntercomDoorLock", "NFCPassiveLock":"NFCPassiveLock", "addDevice":"addDevice", + "shoppingCart":"shoppingCart", "gateway":"gateway", "message":"message", "supportStaff":"supportStaff", @@ -476,4 +477,4 @@ "customMode": "customMode", "videoSlot": "videoSlot" -} \ No newline at end of file +} diff --git a/star_lock/images/lan/lan_zh.json b/star_lock/images/lan/lan_zh.json index 164d1c62..2f4064c2 100644 --- a/star_lock/images/lan/lan_zh.json +++ b/star_lock/images/lan/lan_zh.json @@ -202,6 +202,7 @@ "videoIntercomDoorLock":"可视对讲门锁", "NFCPassiveLock":"NFC无源锁", "addDevice":"添加设备", + "shoppingCart":"配件商城", "gateway":"网关", "message":"消息", "supportStaff":"客服", @@ -479,4 +480,4 @@ "customMode": "自定义模式", "videoSlot": "录像时段" -} \ No newline at end of file +} diff --git a/star_lock/images/mine/icon_mine_main_shoppingcart.png b/star_lock/images/mine/icon_mine_main_shoppingcart.png new file mode 100644 index 0000000000000000000000000000000000000000..8eeb5066f47fa379f7274a52558825f6eddc6471 GIT binary patch literal 2829 zcmbVO3s4hx8jnN_s6-GSkopJ#1PaOKO|lp`2q*!g2&o{a!jj!QAj!sTBs^*b1T7ZJ z$#CLZt3h84!$SAdDQX9!C=hb0c!}kUR@9QZo>xS|_4CY;L7d)v$<`%#$*udNHC> z$L1N3q`ZYPd0v)W2-70MsdIBcoIr~hA!?3Rqr<=)5p9SU#Mh430F62XF=mNqkq(E{ z6lnrgj2aLskHM$QSzI19RLEfQIb5MIgvw^J1OQV2usC!UALKGYHk&&9qv75RumVhs zo;U0Ze-hDDMx!1C0F%kYFmV{DK?$&gLLtCp18g=ON6@icoe|2R>oDIDhG+zn8`OHE z8r4x9j8F!;$|$1YO5cW{)sNEZu;Db}2?KHG23co@S8`5+pTI2jS6~3MPjR%ekR+p^z!0^8_3SMmQX1sE{{eAC1aa zIl5rP9>(q29GIQK77FM>HV2_|5ZoRL<%QA(Og7Btb0A2-;*QuaGN|!W2xi2Q=@3rcmR6m?txeC%L5q!7;G)FvuV+_45 z4e-BJ8`^tkWR1Y_Ip|o94q*IYbc7>1oZ5g7Xw~gS0s>*|IZ1S+ETyD>%lX5ym?>>* z((FrUra=`&rf`{v#f7iZP_Vgss*o?M5xbAna2oUBr9$L8bN$2sJz8!<`_BWi>9(U?15w?Xl0pBIv!ha6daA$GCdSRsypE$BNe)MUYC0mV2`*}&AM^=w z^3?on*YIoj+of^BO46Zk_L!@Eio^V*#B0;Q>9V_%yoL96t_}0I{QaqSfq831;4cY# zgGt(Qm%9C4Efc*a-3PuRbe?(^^>Qs#v;YqwR&)KJ9Mj9YN}N)>lD~ zRz~K{K4Tx}ZRuF;dcy4l+x^tMeOgsk+2bV1bpof5?lZPvc|$~e&~hiQuf^_V4du>? z*lkc)TDt59E z>nu4IWmQ|@cYCiNpHr;QjdPX!T;jgO)Hlf}GFP@=P7^8S?fV;%5>&n2Z&TunxtE^U z#U2;yHOI}Z+O!EXl4_DH+>?IAmxBTb$+7L9g?xR}NtnKh$g7IlkJ|7{%12Lz*|&a?f^7zW+F{!VHWL znBL%hfR(!5;5#$>5}^6ge#q6kX%^yh{UBucnoirf)_N z;*k>v7{>xo**YJ0xn}U{49os<9%*`4OXonTPchGGb3grUd+36QGU6ohi*XC^NxZB}V9OF}b%iprL#olq;`q!Z9;0xilfn^d-!TjFGx49~M z3pvM0ke=_#1TNGcvw8ZXn3}n$ZE5fJjlsR zts{rs(Ub$^wg;!DH9VV=cdk=dGA4~xw|C1|E={B@&L?DLmLKaiNt=<%M662Z93E(R z=r6gVxm5Ku{m9l|PJUhrdglM9=e)hy<@N!uJN1>e9htD^&8(=V3D4^~RMPMpyC%z* z`ShCmrV{^AakOB`PUV?(Zv8D`=ViW&H<*b_H`{?;q?>drU(-td$tJ0t?q|v3QcO-4 x{Q8f*qCW~@*7zkiKX~-!z@*9RU1x>7cJ@51GFy9If9LpMmBcKJu8m4B`Y#jCC;$Ke literal 0 HcmV?d00001 diff --git a/star_lock/lib/appRouters.dart b/star_lock/lib/appRouters.dart index 1e62292e..dddf16fc 100644 --- a/star_lock/lib/appRouters.dart +++ b/star_lock/lib/appRouters.dart @@ -144,6 +144,7 @@ import 'mine/gateway/addGateway/seletGatewayTypeNextTip/seletGatewayTypeNextTip_ import 'mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_page.dart'; import 'mine/gateway/gatewayDetail/gatewayDetail_page.dart'; import 'mine/gateway/gatewayList/gatewayList_page.dart'; +import 'mine/mall/mall_page.dart'; import 'mine/message/messageList_page.dart'; import 'mine/mine/starLockMine_page.dart'; import 'mine/mineMultiLanguage/mineMultiLanguage_page.dart'; @@ -183,6 +184,7 @@ abstract class Routers { static const starLockMain = '/StarLockMain'; // 首页 static const starLockMinePage = '/StarLockMinePage'; // 我的 static const seletLockTypePage = '/SeletLockTypePage'; // 选择锁类型 + static const LockMallPage = '/LockMallPage'; // 商城页面 static const addLockPage = '/AddLockPage'; // 选择锁类型 static const nearbyLockPage = '/NearbyLockPage'; // 附近的锁 static const lockAddressPage = '/LockAddressPage'; // 锁地址 @@ -436,6 +438,10 @@ abstract class AppRouters { name: Routers.seletLockTypePage, page: () => const SeletLockTypePage(), ), + GetPage( + name: Routers.LockMallPage, + page: () => const LockMallPage(), + ), GetPage( name: Routers.addLockPage, page: () => const AddLockPage(), diff --git a/star_lock/lib/mine/about/about_page.dart b/star_lock/lib/mine/about/about_page.dart index 3e708131..36806f3f 100644 --- a/star_lock/lib/mine/about/about_page.dart +++ b/star_lock/lib/mine/about/about_page.dart @@ -3,7 +3,6 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; -import 'package:star_lock/network/api.dart'; import '../../app_settings/app_colors.dart'; import '../../tools/commonItem.dart'; @@ -68,6 +67,7 @@ class _AbountPageState extends State { isHaveLine: false, isHaveDirection: true, action: () { + print("用户协议${XSConstantMacro.userAgreementURL}"); Navigator.pushNamed(context, Routers.webviewShowPage, arguments: { "url": XSConstantMacro.userAgreementURL, diff --git a/star_lock/lib/mine/mall/mall_page.dart b/star_lock/lib/mine/mall/mall_page.dart new file mode 100644 index 00000000..74caff76 --- /dev/null +++ b/star_lock/lib/mine/mall/mall_page.dart @@ -0,0 +1,50 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:star_lock/app_settings/app_colors.dart'; +import 'package:star_lock/tools/titleAppBar.dart'; +import 'package:webview_flutter/webview_flutter.dart'; + +import '../../translations/trans_lib.dart'; + +class LockMallPage extends StatefulWidget { + const LockMallPage({Key? key}) : super(key: key); + + @override + State createState() => _LockMallPageState(); +} + +class _LockMallPageState extends State { + late WebViewController _webViewController; + @override + void initState() { + super.initState(); + + _webViewController = WebViewController() + ..setJavaScriptMode(JavaScriptMode.unrestricted); + } + + @override + Widget build(BuildContext context) { + // FIXME 如果未登录状态,应先跳转登录页 + // FIXME url应该使用接口获取,接口名称 “获取商城跳转地址:/mall/getUrl“ POST请求,无参数,需要登录 + String url = 'https://ge.mall.star-lock.cn/quick_login?id=4&key=1ffb9d37109b8351ebb04ccfcca02c8e'; + _webViewController.loadRequest(Uri.parse(url)); + return Scaffold( + resizeToAvoidBottomInset: false, + backgroundColor: const Color(0xFFFFFFFF), + appBar: TitleAppBar( + barTitle: getWebTitle(), + haveBack: true, + backgroundColor: AppColors.mainColor, + ), + body: WebViewWidget(controller: _webViewController)); + } + + String getWebTitle() { + String webTitleStr = TranslationLoader.lanKeys!.shoppingCart!.tr; + _webViewController.getTitle().then((result) { + webTitleStr = result!; + }); + return webTitleStr; + } +} diff --git a/star_lock/lib/mine/mine/starLockMine_page.dart b/star_lock/lib/mine/mine/starLockMine_page.dart index 3b6f99b8..084a36bf 100644 --- a/star_lock/lib/mine/mine/starLockMine_page.dart +++ b/star_lock/lib/mine/mine/starLockMine_page.dart @@ -147,6 +147,11 @@ class _StarLockMinePageState extends State with BaseWidget { Get.back(); Get.toNamed(Routers.valueAddedServicesPage); }), + mineItem('images/mine/icon_mine_main_shoppingcart.png', + TranslationLoader.lanKeys!.shoppingCart!.tr, () { + Get.back(); + Get.toNamed(Routers.LockMallPage); + }), mineItem('images/mine/icon_mine_main_about.png', TranslationLoader.lanKeys!.about!.tr, () { Get.back(); diff --git a/star_lock/lib/network/api.dart b/star_lock/lib/network/api.dart index 71022d2a..e2774a21 100644 --- a/star_lock/lib/network/api.dart +++ b/star_lock/lib/network/api.dart @@ -1,16 +1,11 @@ abstract class Api { // static String baseAddress = "https://pre.lock.star-lock.cn:8093"; //预发布环境 - static String baseAddress = "http://192.168.56.101:8099"; //联调环境 + // static String baseAddress = "https://dev.lock.star-lock.cn"; //联调环境 // static String baseAddress = "http://192.168.1.15:8022"; //谢总本地 + static String baseAddress = "https://ge.lock.star-lock.cn:8100"; //葛工开发环境地址 final String baseUrl = "$baseAddress/api"; - // final String baseUrl = "http://test.lock.star-lock.cn/api"; // 葛工 - // final String baseUrl = "https://lock.star-lock.cn/api"; // 测试环境 - // final String baseUrl = "http://wenlin.lock.star-lock.cn/api"; //曾工 - // final String baseUrl = "http://192.168.56.101:8099/api"; //曾工本地 - // final String baseUrl = "http://192.168.1.14:8099/api"; //葛工开发环境地址 - // 登录注册 final String getVerificationCodeUrl = '/user/sendValidationCode'; final String registerUrl = '/user/register'; diff --git a/star_lock/lib/translations/lanKeyEntity.dart b/star_lock/lib/translations/lanKeyEntity.dart index 437919fe..41076492 100644 --- a/star_lock/lib/translations/lanKeyEntity.dart +++ b/star_lock/lib/translations/lanKeyEntity.dart @@ -198,6 +198,7 @@ class LanKeyEntity { this.videoIntercomDoorLock, this.NFCPassiveLock, this.addDevice, + this.shoppingCart, this.gateway, this.message, this.supportStaff, @@ -661,6 +662,7 @@ class LanKeyEntity { videoIntercomDoorLock = json['videoIntercomDoorLock']; NFCPassiveLock = json['NFCPassiveLock']; addDevice = json['addDevice']; + shoppingCart = json['shoppingCart']; gateway = json['gateway']; message = json['message']; supportStaff = json['supportStaff']; @@ -1147,6 +1149,7 @@ class LanKeyEntity { String? videoIntercomDoorLock; String? NFCPassiveLock; String? addDevice; + String? shoppingCart; String? gateway; String? message; String? supportStaff; @@ -1629,6 +1632,7 @@ class LanKeyEntity { map['videoIntercomDoorLock'] = videoIntercomDoorLock; map['NFCPassiveLock'] = NFCPassiveLock; map['addDevice'] = addDevice; + map['shoppingCart'] = shoppingCart; map['gateway'] = gateway; map['message'] = message; map['supportStaff'] = supportStaff;