From 0673ff77b7348e6bb907f77eb1daab05ac314fdf Mon Sep 17 00:00:00 2001
From: jiangchen <1703935164@qq.com>
Date: Tue, 1 Sep 2026 18:49:15 +0800
Subject: [PATCH] feat: replace with native Android empty-shell UI
(Main/Settings + stub ServerClient/WatchBridge)
---
.eslintignore | 7 --
.gitignore | 24 +++---
README.md | 29 ++++++--
app/build.gradle | 29 ++++++++
app/proguard-rules.pro | 1 +
app/src/main/AndroidManifest.xml | 19 +++++
.../java/com/dshwatch/app/MainActivity.java | 38 ++++++++++
.../java/com/dshwatch/app/ServerClient.java | 31 ++++++++
.../com/dshwatch/app/SettingsActivity.java | 35 +++++++++
.../java/com/dshwatch/app/WatchBridge.java | 15 ++++
app/src/main/res/layout/activity_main.xml | 48 ++++++++++++
app/src/main/res/layout/activity_settings.xml | 69 ++++++++++++++++++
app/src/main/res/values/colors.xml | 6 ++
app/src/main/res/values/strings.xml | 16 ++++
app/src/main/res/values/themes.xml | 9 +++
build.gradle | 3 +
gradle.properties | 2 +
jsconfig.json | 0
package.json | 18 -----
settings.gradle | 16 ++++
src/CardDemo/index.ux | 24 ------
src/Common/logo.png | Bin 3106 -> 0 bytes
src/Demo/index.ux | 48 ------------
src/DemoDetail/index.ux | 27 -------
src/app.ux | 14 ----
src/config-phone.json | 1 -
src/global.js | 34 ---------
src/manifest.json | 66 -----------------
src/sitemap.json | 4 -
29 files changed, 367 insertions(+), 266 deletions(-)
delete mode 100644 .eslintignore
create mode 100644 app/build.gradle
create mode 100644 app/proguard-rules.pro
create mode 100644 app/src/main/AndroidManifest.xml
create mode 100644 app/src/main/java/com/dshwatch/app/MainActivity.java
create mode 100644 app/src/main/java/com/dshwatch/app/ServerClient.java
create mode 100644 app/src/main/java/com/dshwatch/app/SettingsActivity.java
create mode 100644 app/src/main/java/com/dshwatch/app/WatchBridge.java
create mode 100644 app/src/main/res/layout/activity_main.xml
create mode 100644 app/src/main/res/layout/activity_settings.xml
create mode 100644 app/src/main/res/values/colors.xml
create mode 100644 app/src/main/res/values/strings.xml
create mode 100644 app/src/main/res/values/themes.xml
create mode 100644 build.gradle
create mode 100644 gradle.properties
delete mode 100644 jsconfig.json
delete mode 100644 package.json
create mode 100644 settings.gradle
delete mode 100644 src/CardDemo/index.ux
delete mode 100644 src/Common/logo.png
delete mode 100644 src/Demo/index.ux
delete mode 100644 src/DemoDetail/index.ux
delete mode 100644 src/app.ux
delete mode 100644 src/config-phone.json
delete mode 100644 src/global.js
delete mode 100644 src/manifest.json
delete mode 100644 src/sitemap.json
diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index dc1a78f..0000000
--- a/.eslintignore
+++ /dev/null
@@ -1,7 +0,0 @@
-/.nyc_output
-/coverage
-/node_modules
-/tests/fixtures
-/sign
-/dist
-/build
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 3d1760d..c61557c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,16 +1,10 @@
-node_modules
-build
-dist
-
-.DS_Store
-Thumbs.db
-
-*.log
-*.iml
+.gradle/
+build/
+local.properties
.idea/
-.vscode/
-
-.nyc_output
-/coverage
-
-/logs
+*.iml
+.DS_Store
+*.log
+captures/
+.externalNativeBuild/
+.cxx/
diff --git a/README.md b/README.md
index f859aa2..f734b54 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,26 @@
-## 快速上手
+# DSHWatchPhone(手机端 / 原生 Android)
-您可通过运行 `npm run start` 后,使用快应用引擎扫描二维码快速开发。
+DSHWatch 手机客户端空壳。后续接入:
-## 了解更多
+- DSHWatch_Server(或 dsh-watch 插件直连)WebSocket。
+- 小米穿戴 SDK(Wearable / MessageApi)作为手表 BLE 互联对端。
+- 作为手表网关,把服务器状态/事件转发给 DSHWatch,并把手表指令转发回服务器。
-你可以通过我们的[官方文档](https://doc.quickapp.cn/)熟悉和了解快应用。
+## 当前为 UI 空壳
-可以通过我们[快应用官方示例项目](https://github.com/quickappcn/sample),快速掌握
-api 和组件的用法
+- MainActivity:状态页(刷新 / 设置入口)。
+- SettingsActivity:服务器地址 / userId / token 表单。
+- WatchBridge.java / ServerClient.java:占位接口,未接入 SDK。
-对我们有什么意见,建议或者 bug,可以在这里反馈
-https://github.com/quickappcn/issues
+## 构建
+
+用 Android Studio 打开本目录(Gradle 会拉取 AGP + AndroidX)。
+
+- compileSdk 34 / minSdk 26 / targetSdk 34
+- Java 17
+
+## 后续接入小米穿戴 SDK
+
+- 从官方 demo(open-vela packages_apps / interconnect_image_demo 的 android_program)拿 libs/。
+- 包名与签名需与 DSHWatch(手表 rpk)一致:com.dshwatch.app。
+- 在 ServerClient 里接 WebSocket,在 WatchBridge 里接 MessageApi。
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000..313b7e4
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,29 @@
+plugins {
+ id 'com.android.application'
+}
+android {
+ namespace 'com.dshwatch.app'
+ compileSdk 34
+ defaultConfig {
+ applicationId "com.dshwatch.app"
+ minSdk 26
+ targetSdk 34
+ versionCode 1
+ versionName "0.1.0"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
+ }
+}
+dependencies {
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'com.google.android.material:material:1.9.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+}
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..fb164d6
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1 @@
+# Add project specific ProGuard rules here.
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..22e969d
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/dshwatch/app/MainActivity.java b/app/src/main/java/com/dshwatch/app/MainActivity.java
new file mode 100644
index 0000000..b617f26
--- /dev/null
+++ b/app/src/main/java/com/dshwatch/app/MainActivity.java
@@ -0,0 +1,38 @@
+package com.dshwatch.app;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class MainActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+
+ TextView status = findViewById(R.id.status_text);
+ status.setText(getString(R.string.status_disconnected));
+
+ Button settings = findViewById(R.id.btn_settings);
+ settings.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(MainActivity.this, SettingsActivity.class));
+ }
+ });
+
+ Button refresh = findViewById(R.id.btn_refresh);
+ refresh.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // 空壳:后续调用 ServerClient 拉取 Harness 状态
+ status.setText(R.string.status_disconnected);
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/dshwatch/app/ServerClient.java b/app/src/main/java/com/dshwatch/app/ServerClient.java
new file mode 100644
index 0000000..f6fd63e
--- /dev/null
+++ b/app/src/main/java/com/dshwatch/app/ServerClient.java
@@ -0,0 +1,31 @@
+package com.dshwatch.app;
+
+/**
+ * Harness 服务器客户端(空壳)。
+ * 后续接入 WebSocket(OkHttp ws),通过 DSHWatch_Server 或直连 dsh-watch 插件,
+ * 实现 harness.status / session.prompt / session.list 等 RPC。
+ */
+public class ServerClient {
+ private String serverUrl;
+ private String userId;
+ private String token;
+
+ public ServerClient(String serverUrl, String userId, String token) {
+ this.serverUrl = serverUrl;
+ this.userId = userId;
+ this.token = token;
+ }
+
+ public void connect() {
+ // 空壳:TODO 实现 WebSocket 握手 + 请求/响应 + 事件回调
+ }
+
+ public void sendRequest(String method, String paramsJson, Callback cb) {
+ // 空壳:TODO
+ }
+
+ public interface Callback {
+ void onResult(String json);
+ void onError(String message);
+ }
+}
diff --git a/app/src/main/java/com/dshwatch/app/SettingsActivity.java b/app/src/main/java/com/dshwatch/app/SettingsActivity.java
new file mode 100644
index 0000000..d0303d2
--- /dev/null
+++ b/app/src/main/java/com/dshwatch/app/SettingsActivity.java
@@ -0,0 +1,35 @@
+package com.dshwatch.app;
+
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class SettingsActivity extends AppCompatActivity {
+
+ private EditText serverUrl;
+ private EditText userId;
+ private EditText token;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_settings);
+
+ serverUrl = findViewById(R.id.input_server);
+ userId = findViewById(R.id.input_user);
+ token = findViewById(R.id.input_token);
+
+ Button save = findViewById(R.id.btn_save);
+ save.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // 空壳:后续持久化到 SharedPreferences / 安全存储
+ Toast.makeText(SettingsActivity.this, "保存(空壳): " + serverUrl.getText(), Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/dshwatch/app/WatchBridge.java b/app/src/main/java/com/dshwatch/app/WatchBridge.java
new file mode 100644
index 0000000..11ec0b8
--- /dev/null
+++ b/app/src/main/java/com/dshwatch/app/WatchBridge.java
@@ -0,0 +1,15 @@
+package com.dshwatch.app;
+
+/**
+ * 手表 BLE 互联桥(空壳)。
+ * 后续接入小米穿戴 SDK:Wearable / MessageApi / sendMessage / addListener,
+ * 用于把手表(DSHWatch) 与手机端双向转发。
+ */
+public interface WatchBridge {
+ /** 连接手表(小米穿戴服务) */
+ void connect();
+ /** 发送消息给手表 */
+ void sendToWatch(String json);
+ /** 接收来自手表的消息 */
+ String onWatchMessage(String json);
+}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..bb73b9f
--- /dev/null
+++ b/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
new file mode 100644
index 0000000..90984e6
--- /dev/null
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..70c2f4e
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #0B1220
+ #FFFFFF
+ #B7C8E8
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..658405b
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,16 @@
+
+
+ DSHWatch Phone
+ 未连接(空壳)
+ 刷新状态
+ 设置
+ 设置
+ 服务器地址
+ ws://host:port
+ 用户ID
+ userId
+ Token
+ token
+ 保存(空壳)
+ 空壳 UI:后续接入 DSHWatch_Server + 小米穿戴 SDK(BLE 网关)。
+
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
new file mode 100644
index 0000000..1b6bf36
--- /dev/null
+++ b/app/src/main/res/values/themes.xml
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..4897847
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,3 @@
+plugins {
+ id 'com.android.application' version '8.5.2' apply false
+}
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..3c5e113
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,2 @@
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+android.useAndroidX=true
diff --git a/jsconfig.json b/jsconfig.json
deleted file mode 100644
index e69de29..0000000
diff --git a/package.json b/package.json
deleted file mode 100644
index e884377..0000000
--- a/package.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "name": "DSHWatchPhone",
- "version": "1.0.0",
- "description": "",
- "engines": {
- "node": ">=8.10"
- },
- "scripts": {
- "start": "aiot start --watch",
- "build": "aiot build",
- "release": "aiot release",
- "lint": "eslint --format codeframe --fix --ext .ux,.js src/"
- },
- "devDependencies": {
- "@aiot-toolkit/jsc": "^1.0.3",
- "aiot-toolkit": "^2.0.5"
- }
-}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..9063c3c
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,16 @@
+pluginManagement {
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+rootProject.name = "DSHWatchPhone"
+include ':app'
diff --git a/src/CardDemo/index.ux b/src/CardDemo/index.ux
deleted file mode 100644
index 7d0b3f5..0000000
--- a/src/CardDemo/index.ux
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- {{text}}
- {{des}}
-
-
-
-
-
-
diff --git a/src/Common/logo.png b/src/Common/logo.png
deleted file mode 100644
index b3c0fb0b1a5a754d9a9fbefc8e6c4b225d7dac26..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3106
zcmaJ@3pkW%8-B-R9CFH`gDp){wu8eQ7-l9kV`hYqm?En(@nJACGUF^wNEBPNh*WY2
zC6Q2VG)hT?T~b?)sierEoX5;R+S>j9>)L<6>-xUuec$iCpXYuK-*tV7jt<+E6}1%s
z0LnJjG$*MQF5dER=@XL4#!JmAKHZh?%=PAnGJ_yM@!}qYkTz_l599Gx$=BUwM@1c+^FLRU&-X3Eg
zNQHb^))7IFbA$uKGs54K=!M#5fiw#vNgc2uJ`)+n4&d-eVdki>eo4~x;xQV9{0iaw
zo1^{|3=xerHo#y>7$OOSMSiS9Tn=*4Bl93Pm~W1fD*ZDBcA&leUyeDvZ-tVU3?0S{L}LvxXf}H>
zudiqx-wFC##y_HYjPO7R?F8|-!9kwVet56{PL|g0-vccIrD{ktu4gbC;_z)~<|yfj
zp%=@GWJROmO^GHZI3ofci=`7R@e~>ri^ow31XDVZX!MkuEHb7dMo*SlDkmp&(WW8UL(O=wQ7ru+JRI#9^e>qy3j=BMBFVEi3#06VA%!zGCnleC
zi}s{W%|5y>dhVD1aBjZAaA;hdes?zh#%xW;{M=mxlszr}bgzGSLDbhXyo)w9E0)X-
zl|P*yn-q)3$0YMJAEf;
zB6+*}*X$}-=Fvmpt-*6O{fCw#yg{dA;J%6g-UkTae@#)Gi@np6yFa(rEBVF4G4$=2}A)%gF1;)32-U
zu#j&)JhQoRY@1q)9|Uyj>DxEa-6!y{)GYo?9y%_(LK~>!eoHxN3$IlH3xkpyd3W~0
zJyKdF*Ww<+uH1dU{1?Xw2$t#^eDcKotYxoG&PE;2yXme%j_+1fN9=&<`-``&VJ-vv
zuX1!ZPsoBRVU^>jjARNCuE8Qt%hm2ZW
z_apUm3t)d|a^@OG7?Mia+WNQxP<|UBzf1O2LE21XqE9X>U$Z@jyFTlcKXa*lon>)x
zElHI8Y>#f#LJRC|^^{+0u-*rJeW%J4Lx#po`
zON5bvO@6|$!m)Rb7jRbunU-oj5q&>px#yZD9^0&j&DGc3yRVMheoiJuC+A8=*QxW-
zupc%sT9yF?2N>!>MtqyCiCu#m__-;j44;TT@Q4`0WIqyl7FnOEJ#dt~)+Vz$g#L~o
zP7(GdXLiP54*aMW=|efZ`S6~nQ3jioB2+04Q6u-`!=qQEP4AD{8|=?cnB9BNn--
zYFAZsnc%E3>T|%#2iNBLHu%qT8OMfeWU+(qEiw?~7|B303C^UAr8zGngRqhF9_u_e
z6Vww|%d`phkvlfnww5u;54GcNumKvy&8lY%Ts
zD=twBsrIpeGQ&aac7x@+_R97-#=E_@T
z=;5I+Cb!l2C{Xgas?qAw(&9mFIbQc}1&xDRd7t!dq^B=fnv@QRb=}De))2tp@=y~lj^)fkIIpp1^jP@pEVbek}?$THdqWN}h
z{~gnai15Sb-b}uoU}QP^CPxlCY~7tOTG-mZQ@*fp?jSQe)YiA!7L=+I>Mu>b9Vxtf
zL43;+dcWPdym8=c!~W{nA1?MpH+_7o3R5)>Wfx&gv#wsYLU4?QJ7qJTSKnJQUD%t!
z8gG}6Q}kyHeu~-sWE&zsI9B0Oi{<1x=M^Je68B1nsBlDB9Z=Edq
zRD}Mt*438>N5zUsmKVUS7B20!Ize>?j-0m|c+?#qrA6+z{p!}8^6N{_MHHsUo$ae>
zm~M|Uv6U5=*DV&fJ8{9F`T1V5a$6ew9nX;5>$Lwv$o;
z2MrH?(V(UjJn$NbA(3m}gjiI(??(t;yuQIxT302bDlto5*ugPfUg-exr(ep;HqDd{
zi^LmDLxN>;YFz2$7Co!1{+;RkU>MRk_f%4A)rvoG3o~-W?S>$G#!sm|v1RlH&nWpw
z8|4ikM-v-GHG7-Q#Jl8NWry9h<+`GYC+-Y*;)5mZxN~|(bMrnsvd69;D24bcBV-eY9mp}&N11xuT
z!e~wKHrv>mSfNPK
zy_bpWSt;jOXYipIAhtf~R%?Ex9->tyw@%21E(RrBGI|xXTxO&*y*1M7F3q1=)jeIO
zkLXZ`+qI7OUtpXYeVVCUU^-HpK7B4KDyl=J1krTZeMIRfQ>1wvwWq+2qBJ$%)x5;V
zIWzvvKHHvO!u^8f+Jci*Yc`&1vSXlQCn&0u*{Gb>mV*Ue|W=k~y
diff --git a/src/Demo/index.ux b/src/Demo/index.ux
deleted file mode 100644
index dd018c4..0000000
--- a/src/Demo/index.ux
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
- 欢迎打开{{title}}
-
-
-
-
-
-
-
-
diff --git a/src/DemoDetail/index.ux b/src/DemoDetail/index.ux
deleted file mode 100644
index ad9b3b2..0000000
--- a/src/DemoDetail/index.ux
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- {{text}}
-
-
-
-
-
-
diff --git a/src/app.ux b/src/app.ux
deleted file mode 100644
index b2c4fdf..0000000
--- a/src/app.ux
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/src/config-phone.json b/src/config-phone.json
deleted file mode 100644
index 9e26dfe..0000000
--- a/src/config-phone.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
\ No newline at end of file
diff --git a/src/global.js b/src/global.js
deleted file mode 100644
index da7ab8f..0000000
--- a/src/global.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * @file 全局能力的配置与获取
- * 文档地址:https://doc.quickapp.cn/tutorial/framework/optimization-skills.html#%E4%BD%BF%E7%94%A8-globaljs
- */
-
-function getGlobalRef() {
- return Object.getPrototypeOf(global) || global
-}
-
-const quickappGlobal = getGlobalRef()
-
-/**
- * 设置全局(被APP与Page共享)数据;
- * @param key {string}
- * @param val {*}
- */
-function setGlobalData(key, val) {
- quickappGlobal[key] = val
-}
-
-/**
- * 获取全局(被APP与Page共享)数据;
- * @param key {string}
- * @return {*}
- */
-function getGlobalData(key) {
- return quickappGlobal[key]
-}
-
-// 两个方法默认定义在全局
-setGlobalData('setGlobalData', setGlobalData)
-setGlobalData('getGlobalData', getGlobalData)
-
-export { setGlobalData, getGlobalData }
diff --git a/src/manifest.json b/src/manifest.json
deleted file mode 100644
index f62afba..0000000
--- a/src/manifest.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "package": "com.application.demo",
- "name": "DSHWatchPhone",
- "versionName": "1.0.0",
- "versionCode": 1,
- "minPlatformVersion": 1070,
- "icon": "/Common/logo.png",
- "deviceTypeList": [
- "phone"
- ],
- "features": [
- {
- "name": "system.prompt"
- },
- {
- "name": "system.router"
- },
- {
- "name": "system.shortcut"
- }
- ],
- "permissions": [
- {
- "origin": "*"
- }
- ],
- "config": {
- "logLevel": "log"
- },
- "router": {
- "entry": "Demo",
- "pages": {
- "Demo": {
- "component": "index"
- },
- "DemoDetail": {
- "component": "index"
- }
- },
- "widgets": {
- "CardDemo": {
- "name": "CardDemo",
- "description": "快应用卡片展示",
- "component": "index",
- "path": "/CardDemo",
- "features": []
- }
- }
- },
- "display": {
- "titleBarBackgroundColor": "#f2f2f2",
- "titleBarTextColor": "#414141",
- "menu": false,
- "menuBarData": {
- "menuBar": true
- },
- "pages": {
- "Demo": {
- "titleBarText": "示例页"
- },
- "DemoDetail": {
- "titleBarText": "详情页"
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/sitemap.json b/src/sitemap.json
deleted file mode 100644
index 8d03ea3..0000000
--- a/src/sitemap.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "doc": "https://doc.quickapp.cn/framework/sitemap.html",
- "rules": [{ "rule": "enable", "page": "*" }]
-}