[baozhangchao] 3 년 전
부모
커밋
51ae9b6aee
3개의 변경된 파일224개의 추가작업 그리고 173개의 파일을 삭제
  1. 9
    0
      lib/main.dart
  2. 168
    126
      lib/pages/login/login.dart
  3. 47
    47
      pubspec.lock

+ 9
- 0
lib/main.dart 파일 보기

@@ -62,6 +62,15 @@ class _MyHomePageState extends State<MyHomePage> {
62 62
 
63 63
   @override
64 64
   Widget build(BuildContext context) {
65
+
66
+    ScreenUtil.init(
67
+        BoxConstraints(
68
+            maxWidth: MediaQuery.of(context).size.width,
69
+            maxHeight: MediaQuery.of(context).size.height),
70
+        designSize: const Size(375, 812),
71
+        context: context,
72
+        minTextAdapt: true,
73
+        orientation: Orientation.portrait);
65 74
     // var find = Get.find(tag: 'user');
66 75
 
67 76
     // This method is rerun every time setState is called, for instance as done

+ 168
- 126
lib/pages/login/login.dart 파일 보기

@@ -1,12 +1,10 @@
1
-
2
-
3 1
 import 'dart:async';
4 2
 
5 3
 import 'package:farmer_client/components/UI/DefaultButton.dart';
6 4
 import 'package:flutter/material.dart';
7 5
 import 'package:flutter_screenutil/flutter_screenutil.dart';
8 6
 
9
-
7
+import '../../widgets/Cell.dart';
10 8
 
11 9
 class MyRouteLogin extends StatefulWidget {
12 10
   @override
@@ -64,22 +62,22 @@ class _RouteLogin extends State<MyRouteLogin> {
64 62
   var handleCodes = '';
65 63
 
66 64
   void _handlePhone(e) => {
67
-    setState(() => {handlePhones = e})
68
-  };
65
+        setState(() => {handlePhones = e})
66
+      };
69 67
 
70 68
   void _handleCode(e) => {
71
-    setState(() => {handleCodes = e})
72
-  };
69
+        setState(() => {handleCodes = e})
70
+      };
73 71
 
74 72
   var userContent = {'phones': '', 'code': ''};
75 73
 
76 74
   void phoneUser() => {
77
-    setState(() {
78
-      userContent['phones'] = handlePhones;
79
-      userContent['code'] = handleCodes;
80
-    }),
81
-    print('我输入的信息:${userContent},手机号:${userContent['phones']}')
82
-  };
75
+        setState(() {
76
+          userContent['phones'] = handlePhones;
77
+          userContent['code'] = handleCodes;
78
+        }),
79
+        print('我输入的信息:${userContent},手机号:${userContent['phones']}')
80
+      };
83 81
 
84 82
   @override
85 83
   Widget build(BuildContext context) {
@@ -100,124 +98,168 @@ class _RouteLogin extends State<MyRouteLogin> {
100 98
             ),
101 99
             body: Center(
102 100
                 child: Column(
103
-                  crossAxisAlignment: CrossAxisAlignment.start,
104
-                  children: <Widget>[
105
-                    Text(
106
-                      '您好!',
107
-                      style: TextStyle(
108
-                        fontWeight: FontWeight.bold,
109
-                        fontSize: 50,
110
-                      ),
111
-                    ),
112
-                    Text(
113
-                      '欢迎进入农户端应用!',
101
+              crossAxisAlignment: CrossAxisAlignment.start,
102
+              children: <Widget>[
103
+                Text(
104
+                  '您好!',
105
+                  style: TextStyle(
106
+                    fontWeight: FontWeight.bold,
107
+                    fontSize: 50,
108
+                  ),
109
+                ),
110
+                Text(
111
+                  '欢迎进入农户端应用!',
112
+                  style: TextStyle(
113
+                    fontWeight: FontWeight.bold,
114
+                    fontSize: 35,
115
+                  ),
116
+                ),
117
+
118
+                // Container(
119
+                //   // margin: EdgeInsets.fromLTRB(5,0,0,0),
120
+                //     decoration: BoxDecoration(
121
+                //         border: Border(
122
+                //             bottom: BorderSide(
123
+                //                 width: 1, color: Color(0xffe5e5e5)))),
124
+                //     child: Flex(
125
+                //       direction: Axis.horizontal,
126
+                //       children: <Widget>[
127
+                //         Expanded(
128
+                //           child: TextField(
129
+                //             autofocus: true,
130
+                //             maxLength: 11,
131
+                //             keyboardType: TextInputType.number,
132
+                //             cursorColor: Color(0xD4D4D4FF),
133
+                //             decoration: const InputDecoration(
134
+                //               contentPadding:EdgeInsets.fromLTRB(30.0, 0, 0, 0),
135
+                //               hintText: "请输入手机号",
136
+                //               prefixIcon: Icon(Icons.phone_iphone_outlined),
137
+                //               counterText: '',
138
+                //               border: OutlineInputBorder(
139
+                //                   borderSide: BorderSide.none),
140
+                //             ),
141
+                //             onChanged: (e) {
142
+                //               _handlePhone(e);
143
+                //               // phoneUser(e);
144
+                //             },
145
+                //           ),
146
+                //         ),
147
+                //         Container(
148
+                //           width: 100.0,
149
+                //           child: SizedBox(
150
+                //             child: FlatButton(
151
+                //               disabledColor:
152
+                //               Colors.grey.withOpacity(0.1), //按钮禁用时的颜色
153
+                //               disabledTextColor: Colors.white, //按钮禁用时的文本颜色
154
+                //               textColor: isButtonEnable
155
+                //                   ? Colors.white
156
+                //                   : Colors.black.withOpacity(0.2), //文本颜色
157
+                //               color: isButtonEnable
158
+                //                   ? Color(0xffff703b)
159
+                //                   : Colors.grey.withOpacity(0.1), //按钮的颜色
160
+                //               splashColor: isButtonEnable
161
+                //                   ? Colors.white.withOpacity(0.1)
162
+                //                   : Colors.transparent,
163
+                //               shape: StadiumBorder(side: BorderSide.none),
164
+                //               onPressed: () {
165
+                //                 setState(() {
166
+                //                   if (isButtonEnable) {
167
+                //                     _buttonClickListen();
168
+                //                   } else {
169
+                //                     return;
170
+                //                   }
171
+                //                 });
172
+                //               },
173
+                //               child: Text(
174
+                //                 '$buttonText',
175
+                //                 style: TextStyle(
176
+                //                   fontSize: 13,
177
+                //
178
+                //                 ),
179
+                //               ),
180
+                //             ),
181
+                //           ),
182
+                //         ),
183
+                //       ],
184
+                //     )),
185
+
186
+                Cell(
187
+                  margin: EdgeInsets.symmetric(horizontal: 13.w),
188
+                  header: Text(
189
+                    "+86",
190
+                    style: TextStyle(fontSize: 19.sp),
191
+                  ),
192
+                  child: TextField(
114 193
                       style: TextStyle(
115
-                        fontWeight: FontWeight.bold,
116
-                        fontSize: 35,
194
+                        fontSize: 17.sp,
117 195
                       ),
118
-                    ),
119
-
120
-                    Container(
121
-                      // margin: EdgeInsets.fromLTRB(5,0,0,0),
122
-                        decoration: BoxDecoration(
123
-                            border: Border(
124
-                                bottom: BorderSide(
125
-                                    width: 1, color: Color(0xffe5e5e5)))),
126
-                        child: Flex(
127
-                          direction: Axis.horizontal,
128
-                          children: <Widget>[
129
-                            Expanded(
130
-                              child: TextField(
131
-                                autofocus: true,
132
-                                maxLength: 11,
133
-                                keyboardType: TextInputType.number,
134
-                                cursorColor: Color(0xD4D4D4FF),
135
-                                decoration: const InputDecoration(
136
-                                  contentPadding:EdgeInsets.fromLTRB(30.0, 0, 0, 0),
137
-                                  hintText: "请输入手机号",
138
-                                  prefixIcon: Icon(Icons.phone_iphone_outlined),
139
-                                  counterText: '',
140
-                                  border: OutlineInputBorder(
141
-                                      borderSide: BorderSide.none),
142
-                                ),
143
-                                onChanged: (e) {
144
-                                  _handlePhone(e);
145
-                                  // phoneUser(e);
146
-                                },
147
-                              ),
148
-                            ),
149
-                            Container(
150
-                              width: 100.0,
151
-                              child: SizedBox(
152
-                                child: FlatButton(
153
-                                  disabledColor:
154
-                                  Colors.grey.withOpacity(0.1), //按钮禁用时的颜色
155
-                                  disabledTextColor: Colors.white, //按钮禁用时的文本颜色
156
-                                  textColor: isButtonEnable
157
-                                      ? Colors.white
158
-                                      : Colors.black.withOpacity(0.2), //文本颜色
159
-                                  color: isButtonEnable
160
-                                      ? Color(0xffff703b)
161
-                                      : Colors.grey.withOpacity(0.1), //按钮的颜色
162
-                                  splashColor: isButtonEnable
163
-                                      ? Colors.white.withOpacity(0.1)
164
-                                      : Colors.transparent,
165
-                                  shape: StadiumBorder(side: BorderSide.none),
166
-                                  onPressed: () {
167
-                                    setState(() {
168
-                                      if (isButtonEnable) {
169
-                                        _buttonClickListen();
170
-                                      } else {
171
-                                        return;
172
-                                      }
173
-                                    });
174
-                                  },
175
-                                  child: Text(
176
-                                    '$buttonText',
177
-                                    style: TextStyle(
178
-                                      fontSize: 13,
179
-
180
-                                    ),
181
-                                  ),
182
-                                ),
183
-                              ),
184
-                            ),
185
-                          ],
186
-                        )),
187
-
188
-                    TextField(
189
-                      keyboardType: TextInputType.number,
190
-                      cursorColor: Color(0xD4D4D4FF),
191 196
                       decoration: const InputDecoration(
192
-                          hintText: "请输入验证码",
193
-                          prefixIcon: Icon(Icons.beenhere)),
194
-                      onChanged: (e) {
195
-                        _handleCode(e);
196
-                      },
197
+                        isCollapsed: true,
198
+                        contentPadding:
199
+                            EdgeInsets.symmetric(vertical: 8, horizontal: 16),
200
+                        labelText: "请输入手机号码",
201
+                        border: InputBorder.none,
202
+                        // border: OutlineInputBorder(
203
+                        //   // borderSide: BorderSide.none,
204
+                        //   // gapPadding: 0,
205
+                        // ),
206
+                        floatingLabelBehavior: FloatingLabelBehavior.never,
207
+                      )),
208
+                  footer: ElevatedButton(
209
+                    onPressed: () => {
210
+                      setState(() {
211
+                        if (isButtonEnable) {
212
+                          _buttonClickListen();
213
+                        } else {
214
+                          return;
215
+                        }
216
+                      })
217
+                    },
218
+                    child: Text(
219
+                      '$buttonText',
220
+                      style: TextStyle(fontSize: 15.sp),
197 221
                     ),
198
-                    // 登录按钮
222
+                    style: ElevatedButton.styleFrom(
223
+                        primary: const Color(0xFFFF703B),
224
+                        elevation: 0,
225
+                        shape: const RoundedRectangleBorder(
226
+                            borderRadius:
227
+                                BorderRadius.all(Radius.circular(10)))),
228
+                  ),
229
+                ),
230
+
231
+                TextField(
232
+                  keyboardType: TextInputType.number,
233
+                  cursorColor: Color(0xD4D4D4FF),
234
+                  decoration: const InputDecoration(
235
+                      hintText: "请输入验证码", prefixIcon: Icon(Icons.beenhere)),
236
+                  onChanged: (e) {
237
+                    _handleCode(e);
238
+                  },
239
+                ),
240
+                // 登录按钮
199 241
 
200
-                    Container(
201
-                      child: DefaultButton(
202
-                        margin:
242
+                Container(
243
+                  child: DefaultButton(
244
+                    margin:
203 245
                         EdgeInsets.fromLTRB(0, 30.0, 0, 0), //可选配置,自定义控件中有默认配置
204
-                        text: "登陆",
205
-                        width: 200.0,
206
-                        height: 50.0,
207
-                        fontSize: 20.0,
208
-                        backColor: Color(0xffff703b),
209
-                        color: Colors.white,
210
-                        onPressed: () {
211
-                          Navigator.push(
212
-                            context,
213
-                            MaterialPageRoute(builder: (context) {
214
-                              return MyRouteLogin();
215
-                            }),
216
-                          );
217
-                        },
218
-                      ),
219
-                    )
220
-                  ],
221
-                ))));
246
+                    text: "登陆",
247
+                    width: 200.0,
248
+                    height: 50.0,
249
+                    fontSize: 20.0,
250
+                    backColor: Color(0xffff703b),
251
+                    color: Colors.white,
252
+                    onPressed: () {
253
+                      Navigator.push(
254
+                        context,
255
+                        MaterialPageRoute(builder: (context) {
256
+                          return MyRouteLogin();
257
+                        }),
258
+                      );
259
+                    },
260
+                  ),
261
+                )
262
+              ],
263
+            ))));
222 264
   }
223 265
 }

+ 47
- 47
pubspec.lock 파일 보기

@@ -5,133 +5,133 @@ packages:
5 5
     dependency: transitive
6 6
     description:
7 7
       name: _fe_analyzer_shared
8
-      url: "https://pub.flutter-io.cn"
8
+      url: "https://pub.dartlang.org"
9 9
     source: hosted
10 10
     version: "38.0.0"
11 11
   analyzer:
12 12
     dependency: transitive
13 13
     description:
14 14
       name: analyzer
15
-      url: "https://pub.flutter-io.cn"
15
+      url: "https://pub.dartlang.org"
16 16
     source: hosted
17 17
     version: "3.4.1"
18 18
   args:
19 19
     dependency: transitive
20 20
     description:
21 21
       name: args
22
-      url: "https://pub.flutter-io.cn"
22
+      url: "https://pub.dartlang.org"
23 23
     source: hosted
24 24
     version: "2.3.0"
25 25
   async:
26 26
     dependency: transitive
27 27
     description:
28 28
       name: async
29
-      url: "https://pub.flutter-io.cn"
29
+      url: "https://pub.dartlang.org"
30 30
     source: hosted
31 31
     version: "2.8.2"
32 32
   boolean_selector:
33 33
     dependency: transitive
34 34
     description:
35 35
       name: boolean_selector
36
-      url: "https://pub.flutter-io.cn"
36
+      url: "https://pub.dartlang.org"
37 37
     source: hosted
38 38
     version: "2.1.0"
39 39
   build:
40 40
     dependency: transitive
41 41
     description:
42 42
       name: build
43
-      url: "https://pub.flutter-io.cn"
43
+      url: "https://pub.dartlang.org"
44 44
     source: hosted
45 45
     version: "2.2.1"
46 46
   build_config:
47 47
     dependency: transitive
48 48
     description:
49 49
       name: build_config
50
-      url: "https://pub.flutter-io.cn"
50
+      url: "https://pub.dartlang.org"
51 51
     source: hosted
52 52
     version: "1.0.0"
53 53
   characters:
54 54
     dependency: transitive
55 55
     description:
56 56
       name: characters
57
-      url: "https://pub.flutter-io.cn"
57
+      url: "https://pub.dartlang.org"
58 58
     source: hosted
59 59
     version: "1.2.0"
60 60
   charcode:
61 61
     dependency: transitive
62 62
     description:
63 63
       name: charcode
64
-      url: "https://pub.flutter-io.cn"
64
+      url: "https://pub.dartlang.org"
65 65
     source: hosted
66 66
     version: "1.3.1"
67 67
   checked_yaml:
68 68
     dependency: transitive
69 69
     description:
70 70
       name: checked_yaml
71
-      url: "https://pub.flutter-io.cn"
71
+      url: "https://pub.dartlang.org"
72 72
     source: hosted
73 73
     version: "2.0.1"
74 74
   clock:
75 75
     dependency: transitive
76 76
     description:
77 77
       name: clock
78
-      url: "https://pub.flutter-io.cn"
78
+      url: "https://pub.dartlang.org"
79 79
     source: hosted
80 80
     version: "1.1.0"
81 81
   collection:
82 82
     dependency: transitive
83 83
     description:
84 84
       name: collection
85
-      url: "https://pub.flutter-io.cn"
85
+      url: "https://pub.dartlang.org"
86 86
     source: hosted
87 87
     version: "1.15.0"
88 88
   convert:
89 89
     dependency: transitive
90 90
     description:
91 91
       name: convert
92
-      url: "https://pub.flutter-io.cn"
92
+      url: "https://pub.dartlang.org"
93 93
     source: hosted
94 94
     version: "3.0.1"
95 95
   crypto:
96 96
     dependency: transitive
97 97
     description:
98 98
       name: crypto
99
-      url: "https://pub.flutter-io.cn"
99
+      url: "https://pub.dartlang.org"
100 100
     source: hosted
101 101
     version: "3.0.1"
102 102
   cupertino_icons:
103 103
     dependency: "direct main"
104 104
     description:
105 105
       name: cupertino_icons
106
-      url: "https://pub.flutter-io.cn"
106
+      url: "https://pub.dartlang.org"
107 107
     source: hosted
108 108
     version: "1.0.4"
109 109
   dart_style:
110 110
     dependency: transitive
111 111
     description:
112 112
       name: dart_style
113
-      url: "https://pub.flutter-io.cn"
113
+      url: "https://pub.dartlang.org"
114 114
     source: hosted
115 115
     version: "2.2.2"
116 116
   dio:
117 117
     dependency: "direct main"
118 118
     description:
119 119
       name: dio
120
-      url: "https://pub.flutter-io.cn"
120
+      url: "https://pub.dartlang.org"
121 121
     source: hosted
122 122
     version: "4.0.6"
123 123
   fake_async:
124 124
     dependency: transitive
125 125
     description:
126 126
       name: fake_async
127
-      url: "https://pub.flutter-io.cn"
127
+      url: "https://pub.dartlang.org"
128 128
     source: hosted
129 129
     version: "1.2.0"
130 130
   file:
131 131
     dependency: transitive
132 132
     description:
133 133
       name: file
134
-      url: "https://pub.flutter-io.cn"
134
+      url: "https://pub.dartlang.org"
135 135
     source: hosted
136 136
     version: "6.1.2"
137 137
   flutter:
@@ -143,14 +143,14 @@ packages:
143 143
     dependency: "direct dev"
144 144
     description:
145 145
       name: flutter_lints
146
-      url: "https://pub.flutter-io.cn"
146
+      url: "https://pub.dartlang.org"
147 147
     source: hosted
148 148
     version: "1.0.4"
149 149
   flutter_screenutil:
150 150
     dependency: "direct main"
151 151
     description:
152 152
       name: flutter_screenutil
153
-      url: "https://pub.flutter-io.cn"
153
+      url: "https://pub.dartlang.org"
154 154
     source: hosted
155 155
     version: "5.3.1"
156 156
   flutter_test:
@@ -162,98 +162,98 @@ packages:
162 162
     dependency: "direct main"
163 163
     description:
164 164
       name: get
165
-      url: "https://pub.flutter-io.cn"
165
+      url: "https://pub.dartlang.org"
166 166
     source: hosted
167 167
     version: "4.6.1"
168 168
   glob:
169 169
     dependency: transitive
170 170
     description:
171 171
       name: glob
172
-      url: "https://pub.flutter-io.cn"
172
+      url: "https://pub.dartlang.org"
173 173
     source: hosted
174 174
     version: "2.0.2"
175 175
   http_parser:
176 176
     dependency: transitive
177 177
     description:
178 178
       name: http_parser
179
-      url: "https://pub.flutter-io.cn"
179
+      url: "https://pub.dartlang.org"
180 180
     source: hosted
181 181
     version: "4.0.0"
182 182
   json_annotation:
183 183
     dependency: transitive
184 184
     description:
185 185
       name: json_annotation
186
-      url: "https://pub.flutter-io.cn"
186
+      url: "https://pub.dartlang.org"
187 187
     source: hosted
188 188
     version: "4.4.0"
189 189
   json_serializable:
190 190
     dependency: "direct main"
191 191
     description:
192 192
       name: json_serializable
193
-      url: "https://pub.flutter-io.cn"
193
+      url: "https://pub.dartlang.org"
194 194
     source: hosted
195 195
     version: "6.1.5"
196 196
   lints:
197 197
     dependency: transitive
198 198
     description:
199 199
       name: lints
200
-      url: "https://pub.flutter-io.cn"
200
+      url: "https://pub.dartlang.org"
201 201
     source: hosted
202 202
     version: "1.0.1"
203 203
   logging:
204 204
     dependency: transitive
205 205
     description:
206 206
       name: logging
207
-      url: "https://pub.flutter-io.cn"
207
+      url: "https://pub.dartlang.org"
208 208
     source: hosted
209 209
     version: "1.0.2"
210 210
   matcher:
211 211
     dependency: transitive
212 212
     description:
213 213
       name: matcher
214
-      url: "https://pub.flutter-io.cn"
214
+      url: "https://pub.dartlang.org"
215 215
     source: hosted
216 216
     version: "0.12.11"
217 217
   material_color_utilities:
218 218
     dependency: transitive
219 219
     description:
220 220
       name: material_color_utilities
221
-      url: "https://pub.flutter-io.cn"
221
+      url: "https://pub.dartlang.org"
222 222
     source: hosted
223 223
     version: "0.1.3"
224 224
   meta:
225 225
     dependency: transitive
226 226
     description:
227 227
       name: meta
228
-      url: "https://pub.flutter-io.cn"
228
+      url: "https://pub.dartlang.org"
229 229
     source: hosted
230 230
     version: "1.7.0"
231 231
   package_config:
232 232
     dependency: transitive
233 233
     description:
234 234
       name: package_config
235
-      url: "https://pub.flutter-io.cn"
235
+      url: "https://pub.dartlang.org"
236 236
     source: hosted
237 237
     version: "2.0.2"
238 238
   path:
239 239
     dependency: transitive
240 240
     description:
241 241
       name: path
242
-      url: "https://pub.flutter-io.cn"
242
+      url: "https://pub.dartlang.org"
243 243
     source: hosted
244 244
     version: "1.8.0"
245 245
   pub_semver:
246 246
     dependency: transitive
247 247
     description:
248 248
       name: pub_semver
249
-      url: "https://pub.flutter-io.cn"
249
+      url: "https://pub.dartlang.org"
250 250
     source: hosted
251 251
     version: "2.1.1"
252 252
   pubspec_parse:
253 253
     dependency: transitive
254 254
     description:
255 255
       name: pubspec_parse
256
-      url: "https://pub.flutter-io.cn"
256
+      url: "https://pub.dartlang.org"
257 257
     source: hosted
258 258
     version: "1.2.0"
259 259
   sky_engine:
@@ -265,84 +265,84 @@ packages:
265 265
     dependency: transitive
266 266
     description:
267 267
       name: source_gen
268
-      url: "https://pub.flutter-io.cn"
268
+      url: "https://pub.dartlang.org"
269 269
     source: hosted
270 270
     version: "1.2.1"
271 271
   source_helper:
272 272
     dependency: transitive
273 273
     description:
274 274
       name: source_helper
275
-      url: "https://pub.flutter-io.cn"
275
+      url: "https://pub.dartlang.org"
276 276
     source: hosted
277 277
     version: "1.3.1"
278 278
   source_span:
279 279
     dependency: transitive
280 280
     description:
281 281
       name: source_span
282
-      url: "https://pub.flutter-io.cn"
282
+      url: "https://pub.dartlang.org"
283 283
     source: hosted
284 284
     version: "1.8.1"
285 285
   stack_trace:
286 286
     dependency: transitive
287 287
     description:
288 288
       name: stack_trace
289
-      url: "https://pub.flutter-io.cn"
289
+      url: "https://pub.dartlang.org"
290 290
     source: hosted
291 291
     version: "1.10.0"
292 292
   stream_channel:
293 293
     dependency: transitive
294 294
     description:
295 295
       name: stream_channel
296
-      url: "https://pub.flutter-io.cn"
296
+      url: "https://pub.dartlang.org"
297 297
     source: hosted
298 298
     version: "2.1.0"
299 299
   string_scanner:
300 300
     dependency: transitive
301 301
     description:
302 302
       name: string_scanner
303
-      url: "https://pub.flutter-io.cn"
303
+      url: "https://pub.dartlang.org"
304 304
     source: hosted
305 305
     version: "1.1.0"
306 306
   term_glyph:
307 307
     dependency: transitive
308 308
     description:
309 309
       name: term_glyph
310
-      url: "https://pub.flutter-io.cn"
310
+      url: "https://pub.dartlang.org"
311 311
     source: hosted
312 312
     version: "1.2.0"
313 313
   test_api:
314 314
     dependency: transitive
315 315
     description:
316 316
       name: test_api
317
-      url: "https://pub.flutter-io.cn"
317
+      url: "https://pub.dartlang.org"
318 318
     source: hosted
319 319
     version: "0.4.8"
320 320
   typed_data:
321 321
     dependency: transitive
322 322
     description:
323 323
       name: typed_data
324
-      url: "https://pub.flutter-io.cn"
324
+      url: "https://pub.dartlang.org"
325 325
     source: hosted
326 326
     version: "1.3.0"
327 327
   vector_math:
328 328
     dependency: transitive
329 329
     description:
330 330
       name: vector_math
331
-      url: "https://pub.flutter-io.cn"
331
+      url: "https://pub.dartlang.org"
332 332
     source: hosted
333 333
     version: "2.1.1"
334 334
   watcher:
335 335
     dependency: transitive
336 336
     description:
337 337
       name: watcher
338
-      url: "https://pub.flutter-io.cn"
338
+      url: "https://pub.dartlang.org"
339 339
     source: hosted
340 340
     version: "1.0.1"
341 341
   yaml:
342 342
     dependency: transitive
343 343
     description:
344 344
       name: yaml
345
-      url: "https://pub.flutter-io.cn"
345
+      url: "https://pub.dartlang.org"
346 346
     source: hosted
347 347
     version: "3.1.0"
348 348
 sdks: