@doubao-apps/create 0.0.33 → 0.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/421.js +4 -4
  2. package/dist/cli.js +74 -66
  3. package/dist/index.d.ts +1 -2
  4. package/dist/template-empty/README.md +1 -1
  5. package/dist/template-empty/package.json +2 -2
  6. package/dist/template-starter/README.md +48 -169
  7. package/dist/template-starter/package.json +2 -2
  8. package/dist/template-starter/src/app.config.ts +2 -3
  9. package/dist/template-starter/src/pages/home/index.scss +38 -172
  10. package/dist/template-starter/src/pages/home/index.tsx +20 -78
  11. package/dist/template-starter/src/widgets/hello-world/index.scss +23 -0
  12. package/dist/template-starter/src/widgets/hello-world/index.tsx +29 -0
  13. package/package.json +6 -2
  14. package/dist/template-empty/AGENTS.md +0 -299
  15. package/dist/template-empty/references/examples/common-patterns.md +0 -589
  16. package/dist/template-empty/references/examples/component-basics.md +0 -526
  17. package/dist/template-empty/references/guides/best-practices.md +0 -571
  18. package/dist/template-empty/references/guides/component-development.md +0 -891
  19. package/dist/template-empty/references/guides/performance-optimization.md +0 -402
  20. package/dist/template-empty/references/guides/troubleshooting.md +0 -287
  21. package/dist/template-empty/references/reference/components-quick-ref.md +0 -103
  22. package/dist/template-empty/references/reference/framework-api-quick-ref.md +0 -550
  23. package/dist/template-empty/references/reference/open-api/README.md +0 -8
  24. package/dist/template-empty/references/reference/open-api.md +0 -11
  25. package/dist/template-empty/references/rules/dos-and-donts.md +0 -467
  26. package/dist/template-starter/AGENTS.md +0 -299
  27. package/dist/template-starter/debug-scene/render-home-page-full.json +0 -6
  28. package/dist/template-starter/debug-scene/render-home-page.json +0 -5
  29. package/dist/template-starter/debug-scene/render-react-lynx-page-full.json +0 -6
  30. package/dist/template-starter/references/examples/common-patterns.md +0 -589
  31. package/dist/template-starter/references/examples/component-basics.md +0 -526
  32. package/dist/template-starter/references/guides/best-practices.md +0 -571
  33. package/dist/template-starter/references/guides/component-development.md +0 -891
  34. package/dist/template-starter/references/guides/performance-optimization.md +0 -402
  35. package/dist/template-starter/references/guides/troubleshooting.md +0 -287
  36. package/dist/template-starter/references/reference/components-quick-ref.md +0 -103
  37. package/dist/template-starter/references/reference/framework-api-quick-ref.md +0 -550
  38. package/dist/template-starter/references/reference/open-api/README.md +0 -8
  39. package/dist/template-starter/references/reference/open-api.md +0 -11
  40. package/dist/template-starter/references/rules/dos-and-donts.md +0 -467
  41. package/dist/template-starter/src/pages/applet/index.scss +0 -279
  42. package/dist/template-starter/src/pages/applet/index.tsx +0 -78
  43. package/dist/template-starter/src/pages/lynx/index.scss +0 -249
  44. package/dist/template-starter/src/pages/lynx/index.tsx +0 -78
  45. package/dist/template-starter/src/pages/react-lynx/index.scss +0 -335
  46. package/dist/template-starter/src/pages/react-lynx/index.tsx +0 -132
  47. package/dist/template-starter/src/widgets/weather-card/index.scss +0 -272
  48. package/dist/template-starter/src/widgets/weather-card/index.tsx +0 -193
@@ -1,335 +0,0 @@
1
- :root {
2
- --primary-bg: #0a0a0a;
3
- --secondary-bg: #1a1a1a;
4
- --card-bg: #161616;
5
- --primary-text: #ffffff;
6
- --secondary-text: #a0a0a0;
7
- --accent-text: #00d4ff;
8
- --border-color: #2a2a2a;
9
- --success-color: #00ff88;
10
- --warning-color: #ffaa00;
11
- --error-color: #ff4444;
12
-
13
- --space-xs: 8rpx;
14
- --space-sm: 16rpx;
15
- --space-md: 24rpx;
16
- --space-lg: 32rpx;
17
- --space-xl: 48rpx;
18
- --space-xxl: 64rpx;
19
- --space-xxxl: 96rpx;
20
-
21
- --border-radius-sm: 12rpx;
22
- --border-radius-md: 16rpx;
23
- --border-radius-lg: 24rpx;
24
- --border-radius-xl: 32rpx;
25
-
26
- --shadow-sm: 0 2rpx 8rpx rgba(0, 0, 0, 0.4);
27
- --shadow-md: 0 4rpx 16rpx rgba(0, 0, 0, 0.6);
28
- --shadow-lg: 0 8rpx 32rpx rgba(0, 0, 0, 0.8);
29
- --shadow-xl: 0 16rpx 48rpx rgba(0, 0, 0, 0.9);
30
- }
31
-
32
- .react-lynx-page {
33
- min-height: 100vh;
34
- background: var(--primary-bg);
35
- position: relative;
36
-
37
- &__background-pattern {
38
- position: fixed;
39
- top: 0;
40
- left: 0;
41
- right: 0;
42
- bottom: 0;
43
- background-image:
44
- radial-gradient(circle at 15% 15%, rgba(102, 126, 234, 0.08) 0%, transparent 50%),
45
- radial-gradient(circle at 85% 85%, rgba(240, 147, 251, 0.06) 0%, transparent 50%),
46
- radial-gradient(circle at 45% 55%, rgba(67, 233, 123, 0.04) 0%, transparent 50%);
47
- z-index: 0;
48
- }
49
-
50
- &__container {
51
- position: relative;
52
- z-index: 1;
53
- height: 100vh;
54
- padding: var(--space-xl) var(--space-lg);
55
- box-sizing: border-box;
56
- }
57
-
58
- &__header {
59
- text-align: center;
60
- margin-bottom: var(--space-xxxl);
61
- }
62
-
63
- &__logo {
64
- margin-bottom: var(--space-lg);
65
- }
66
-
67
- &__logo-icon {
68
- font-size: 80rpx;
69
- line-height: 1;
70
- }
71
-
72
- &__title {
73
- font-size: 64rpx;
74
- font-weight: 700;
75
- color: var(--primary-text);
76
- margin-bottom: var(--space-sm);
77
- display: block;
78
- letter-spacing: 2rpx;
79
- text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.3);
80
- }
81
-
82
- &__subtitle {
83
- font-size: 28rpx;
84
- color: var(--secondary-text);
85
- display: block;
86
- font-weight: 400;
87
- letter-spacing: 1rpx;
88
- }
89
-
90
- &__divider {
91
- width: 120rpx;
92
- height: 4rpx;
93
- background: linear-gradient(90deg, var(--accent-text), transparent);
94
- margin: var(--space-xl) 0;
95
- border-radius: 2rpx;
96
- }
97
-
98
- &__content {
99
- max-width: 900rpx;
100
- flex: 1;
101
- padding-bottom: var(--space-xxl);
102
- }
103
-
104
- &__intro {
105
- margin-bottom: var(--space-xxxl);
106
- }
107
-
108
- &__features {
109
- margin-bottom: var(--space-xxxl);
110
- }
111
-
112
- &__metrics {
113
- margin-bottom: var(--space-xxl);
114
- }
115
- }
116
-
117
- .section-title {
118
- font-size: 40rpx;
119
- font-weight: 600;
120
- color: var(--primary-text);
121
- margin-bottom: var(--space-xl);
122
- text-align: center;
123
- letter-spacing: 1rpx;
124
- }
125
-
126
- .intro-card {
127
- background: var(--card-bg);
128
- border-radius: var(--border-radius-xl);
129
- border: 1rpx solid rgba(255, 255, 255, 0.1);
130
- padding: var(--space-xxl);
131
- box-shadow: var(--shadow-lg);
132
-
133
- &__title {
134
- font-size: 36rpx;
135
- font-weight: 600;
136
- color: var(--primary-text);
137
- margin-bottom: var(--space-lg);
138
- display: block;
139
- letter-spacing: 1rpx;
140
- }
141
-
142
- &__description {
143
- font-size: 28rpx;
144
- line-height: 1.7;
145
- color: var(--secondary-text);
146
- margin-bottom: var(--space-xl);
147
- display: block;
148
- }
149
-
150
- &__highlights {
151
- display: flex;
152
- justify-content: space-between;
153
- gap: var(--space-lg);
154
- }
155
- }
156
-
157
- .highlight-item {
158
- flex: 1;
159
- display: flex;
160
- flex-direction: column;
161
- align-items: center;
162
- text-align: center;
163
- padding: var(--space-lg);
164
- background: rgba(255, 255, 255, 0.03);
165
- border-radius: var(--border-radius-md);
166
- border: 1rpx solid rgba(255, 255, 255, 0.05);
167
- transition: all 0.3s ease;
168
-
169
- &:active {
170
- background: rgba(255, 255, 255, 0.06);
171
- transform: translateY(-2rpx);
172
- }
173
-
174
- &__icon {
175
- font-size: 32rpx;
176
- margin-bottom: var(--space-sm);
177
- }
178
-
179
- &__text {
180
- font-size: 22rpx;
181
- color: var(--primary-text);
182
- font-weight: 500;
183
- }
184
- }
185
-
186
- .features-grid {
187
- display: flex;
188
- flex-wrap: wrap;
189
- gap: var(--space-lg);
190
-
191
- .feature-card {
192
- flex: 1 1 calc(50% - var(--space-lg) / 2);
193
- min-width: 0;
194
- box-sizing: border-box;
195
- }
196
- }
197
-
198
- .feature-card {
199
- position: relative;
200
- border-radius: var(--border-radius-xl);
201
- overflow: hidden;
202
- min-height: 220rpx;
203
- cursor: pointer;
204
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
205
- box-sizing: border-box;
206
-
207
- &:active {
208
- transform: translateY(-4rpx) scale(0.98);
209
- }
210
-
211
- &__inner {
212
- height: 100%;
213
- padding: var(--space-lg);
214
- display: flex;
215
- flex-direction: column;
216
- align-items: flex-start;
217
- justify-content: center;
218
- text-align: left;
219
- position: relative;
220
- border-radius: var(--border-radius-xl);
221
- background: var(--card-bg);
222
- border: 1rpx solid rgba(255, 255, 255, 0.1);
223
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
224
- box-shadow: var(--shadow-lg);
225
- box-sizing: border-box;
226
- }
227
-
228
- &:active &__inner {
229
- box-shadow: var(--shadow-xl);
230
- transform: translateY(-4rpx) scale(0.98);
231
- }
232
-
233
- &__icon {
234
- margin-bottom: var(--space-md);
235
- position: relative;
236
- align-self: center;
237
- }
238
-
239
- &__icon-text {
240
- font-size: 48rpx;
241
- line-height: 1;
242
- }
243
-
244
- &__content {
245
- flex: 1;
246
- display: flex;
247
- flex-direction: column;
248
- justify-content: center;
249
- z-index: 2;
250
- align-items: flex-start;
251
- text-align: left;
252
- }
253
-
254
- &__title {
255
- font-size: 26rpx;
256
- font-weight: 600;
257
- color: #ffffff;
258
- margin-bottom: var(--space-sm);
259
- display: block;
260
- text-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.3);
261
- letter-spacing: 0.5rpx;
262
- line-height: 1.3;
263
- word-break: break-all;
264
- }
265
-
266
- &__description {
267
- font-size: 20rpx;
268
- color: rgba(255, 255, 255, 0.8);
269
- line-height: 1.4;
270
- display: block;
271
- font-weight: 400;
272
- text-shadow: 0 1rpx 2rpx rgba(0, 0, 0, 0.3);
273
- word-break: break-all;
274
- }
275
-
276
-
277
- }
278
-
279
- .metrics-grid {
280
- display: flex;
281
- flex-wrap: wrap;
282
- gap: var(--space-lg);
283
-
284
- .metric-card {
285
- flex: 1 1 calc(50% - var(--space-lg) / 2);
286
- min-width: 0;
287
- box-sizing: border-box;
288
- }
289
- }
290
-
291
- .metric-card {
292
- background: var(--card-bg);
293
- border-radius: var(--border-radius-xl);
294
- border: 1rpx solid rgba(255, 255, 255, 0.1);
295
- padding: var(--space-lg);
296
- text-align: center;
297
- box-shadow: var(--shadow-lg);
298
- transition: all 0.3s ease;
299
- min-height: 180rpx;
300
- display: flex;
301
- flex-direction: column;
302
- justify-content: center;
303
-
304
- &:active {
305
- transform: translateY(-2rpx);
306
- box-shadow: var(--shadow-xl);
307
- }
308
-
309
- &__value {
310
- font-size: 48rpx;
311
- font-weight: 700;
312
- color: var(--accent-text);
313
- margin-bottom: var(--space-sm);
314
- display: block;
315
- text-shadow: 0 2rpx 8rpx rgba(0, 212, 255, 0.3);
316
- line-height: 1.2;
317
- }
318
-
319
- &__label {
320
- font-size: 22rpx;
321
- font-weight: 600;
322
- color: var(--primary-text);
323
- margin-bottom: var(--space-xs);
324
- display: block;
325
- line-height: 1.3;
326
- }
327
-
328
- &__description {
329
- font-size: 18rpx;
330
- color: var(--secondary-text);
331
- display: block;
332
- opacity: 0.8;
333
- line-height: 1.3;
334
- }
335
- }
@@ -1,132 +0,0 @@
1
- import { definePage } from '@doubao-apps/framework';
2
-
3
- import './index.scss';
4
-
5
- function ReactLynxPage() {
6
- const features = [
7
- {
8
- title: 'React 语法',
9
- description: '使用熟悉的 React 组件和 Hooks,降低学习成本',
10
- icon: '⚛️',
11
- gradient: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)'
12
- },
13
- {
14
- title: '高性能渲染',
15
- description: '双线程架构设计,确保流畅的用户交互体验',
16
- icon: '🚀',
17
- gradient: 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)'
18
- },
19
- {
20
- title: '原生性能',
21
- description: '直接渲染为原生组件,接近原生应用的性能表现',
22
- icon: '⚡',
23
- gradient: 'linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)'
24
- },
25
- {
26
- title: '跨平台',
27
- description: '一套代码,多端运行,大幅提升开发效率',
28
- icon: '🌍',
29
- gradient: 'linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)'
30
- }
31
- ];
32
-
33
- const advantages = [
34
- { label: '开发效率', value: '85%', description: '相比传统开发提升' },
35
- { label: '性能表现', value: '98%', description: '接近原生性能' },
36
- { label: '代码复用', value: '90%', description: '跨平台代码复用率' },
37
- { label: '学习成本', value: '30%', description: 'React 开发者上手时间' }
38
- ];
39
-
40
- return (
41
- <view className="react-lynx-page">
42
- <view className="react-lynx-page__background-pattern" />
43
-
44
- <scroll-view
45
- className="react-lynx-page__container"
46
- scroll-orientation="vertical"
47
- enable-scroll={true}
48
- show-scrollbar="false"
49
- >
50
- <view className="react-lynx-page__header">
51
- <view className="react-lynx-page__logo">
52
- <text className="react-lynx-page__logo-icon">⚛️</text>
53
- </view>
54
- <text className="react-lynx-page__title">React Lynx</text>
55
- <text className="react-lynx-page__subtitle">现代化的 React UI 开发框架</text>
56
- <view className="react-lynx-page__divider" />
57
- </view>
58
-
59
- <view className="react-lynx-page__content">
60
- <view className="react-lynx-page__intro">
61
- <view className="intro-card">
62
- <text className="intro-card__title">框架简介</text>
63
- <text className="intro-card__description">
64
- ReactLynx 是官方推出的 React 框架,让开发者能够使用 React 的心智模型和开发体验来构建 Lynx
65
- 原生应用。结合了 React 的生态优势与 Lynx 的高性能特性,是小程序运行环境的重要组成部分。
66
- </text>
67
- <view className="intro-card__highlights">
68
- <view className="highlight-item">
69
- <text className="highlight-item__icon">✨</text>
70
- <text className="highlight-item__text">TypeScript 原生支持</text>
71
- </view>
72
- <view className="highlight-item">
73
- <text className="highlight-item__icon">🔥</text>
74
- <text className="highlight-item__text">热重载开发体验</text>
75
- </view>
76
- <view className="highlight-item">
77
- <text className="highlight-item__icon">🛠️</text>
78
- <text className="highlight-item__text">丰富的开发工具链</text>
79
- </view>
80
- </view>
81
- </view>
82
- </view>
83
-
84
- <view className="react-lynx-page__features">
85
- <text className="section-title">核心特性</text>
86
- <view className="features-grid">
87
- {features.map((feature, index) => (
88
- <view key={feature.title} className="feature-card">
89
- <view className="feature-card__inner" style={{ background: feature.gradient }}>
90
- <view className="feature-card__icon">
91
- <text className="feature-card__icon-text">{feature.icon}</text>
92
- </view>
93
- <view className="feature-card__content">
94
- <text className="feature-card__title">{feature.title}</text>
95
- <text className="feature-card__description">{feature.description}</text>
96
- </view>
97
- <view className="feature-card__glow" />
98
- </view>
99
- </view>
100
- ))}
101
- </view>
102
- </view>
103
-
104
- <view className="react-lynx-page__metrics">
105
- <text className="section-title">性能指标</text>
106
- <view className="metrics-grid">
107
- {advantages.map((advantage, index) => (
108
- <view key={advantage.value} className="metric-card">
109
- <text className="metric-card__value">{advantage.value}</text>
110
- <text className="metric-card__label">{advantage.label}</text>
111
- <text className="metric-card__description">{advantage.description}</text>
112
- </view>
113
- ))}
114
- </view>
115
- </view>
116
- </view>
117
- </scroll-view>
118
- </view>
119
- );
120
- }
121
-
122
- export default definePage({
123
- onShow() {
124
- console.log('React Lynx page shown');
125
- },
126
- onHide() {
127
- console.log('React Lynx page hidden');
128
- },
129
- render() {
130
- return <ReactLynxPage />;
131
- }
132
- });