运行dartdoc命令:生成如下文件目录
    image.png
    代码演示:

    1. /// 配置路由
    2. ///
    3. /// 将初始化路由设为[Tabs()]
    4. final routes = {
    5. '/': (context) => Tabs(),
    6. '/search': (context) => SearchPage(),
    7. '/productList': (context, {arguments}) =>
    8. ProductListPage(arguments: arguments),
    9. };

    生成文档:(中括号内容会生成一个链接,可点击)image.png
    点击后:

    1. class Tabs extends StatefulWidget {
    2. Tabs({Key key}) : super(key: key);
    3. _TabsState createState() => _TabsState();
    4. }

    文档:可以清晰看到结构体会自动表明为constructor
    image.png
    对于类内方法:

    1. /// 设置适配高度
    2. static height(double value) {
    3. return ScreenUtil().setHeight(value);
    4. }
    5. /// 设置适配宽度
    6. static width(double value) {
    7. return ScreenUtil().setWidth(value);
    8. }
    9. /// 获取适配高度
    10. static getScreenHeight() {
    11. return ScreenUtil().screenHeight;
    12. }

    文档:
    image.png
    代码块

    1. /// 仓库层
    2. ///
    3. /// 当请求开始时:处理ViewModel层传递过来的参数
    4. /// 当返回数据时:将网络和本地的数据组装成ViewModel层需要的数据类型
    5. class GithubRepo {
    6. final GithubService _remote;
    7. /// sharedPreference
    8. ///
    9. /// 也应该算在Model层,在这里面处理数据的读取
    10. final SpUtil _sp;
    11. GithubRepo(this._remote, this._sp);
    12. /// 登录
    13. ///
    14. /// - 将ViewModel层 传递过来的[username] 和 [password] 处理为 token 并用[SharedPreferences]进行缓存
    15. /// - 调用 [_remote] 的 [login] 方法进行网络访问
    16. /// - 返回 [Observable] 给ViewModel层
    17. Observable login(String username, String password) {
    18. _sp.putString(KEY_TOKEN, "basic " + base64Encode(utf8.encode('$username:$password')));
    19. return _remote.login();
    20. }
    21. }

    生成文档:
    image.png