当未读邮件通过Office 365应用程序(离子移动应用程序)时通知

Notify when unread mail through office 365 app(ionic mobile app)

本文关键字:应用程序 通知 移动 Office      更新时间:2023-09-26

我正在创建一个离子移动应用程序,当用户从其Office 365帐户中收到一些未读邮件时,该应用程序将通知用户。我花了几个小时在这段代码上试图找出它出错的地方。如果有人能找到这段代码不起作用的原因,那将不胜感激。谢谢。

(function () {
'use strict';
angular.module('app365').controller('homeCtrl', ['$scope', '$stateParams', '$ionicLoading', '$ionicPopup', 'app365api', homeCtrl]);
function homeCtrl($scope, $stateParams, $ionicLoading, $ionicPopup, app365api) {
    var vm = this;
    var outlookClient;
    // Get mail list.
    function getMails() {
        var filterQuery = '';
        // Get all mails flagged as important.
        if (typeof $stateParams.important != 'undefined') {
            getImpMails();
            return;
        }
        // Get all unread mails.
        if (typeof $stateParams.unread != 'undefined') {
            filterQuery = 'IsRead eq false';
        }
        NProgress.start();
        // Fetch Inbox folder
        outlookClient.me.folders.getFolder("Inbox").messages.getMessages().filter(filterQuery).fetch()
            .then(function (mails) {
                // Get current page. Use getNextPage() to fetch next set of mails.
                vm.mails = mails.currentPage;
                $scope.$apply();
                NProgress.done();
            });
    };
    if ($scope.result() == null) {
        null;
    } else {
        $ionicPlatform.ready(function () {
            $ionicPopup.confirm({
                title: "You have unread mail",
            })
            .then(function (result) {
                if (!result) {
                    ionic.Platform.exitApp();
                }
            });
        }
    )
    }
}
}
)

错误: [ng:areq] 参数 'homeCtrl' 不是函数,未定义

这是我收到的错误,即使 homeCtrl 是一个函数并且已经被引用。

您缺少最后调用 IIFE 的()。因此,控制器未注册,因为函数永远不会运行。

改变

(function() {
    'use strict';
    angular.module('app365').controller('homeCtrl', ['$scope', '$stateParams', '$ionicLoading', '$ionicPopup', 'app365api', homeCtrl]);
    function homeCtrl($scope, $stateParams, $ionicLoading, $ionicPopup, app365api) {
      // code removed for clarity
    }
  }
)

(function() {
    'use strict';
    angular.module('app365').controller('homeCtrl', ['$scope', '$stateParams', '$ionicLoading', '$ionicPopup', 'app365api', homeCtrl]);
    function homeCtrl($scope, $stateParams, $ionicLoading, $ionicPopup, app365api) {
      // code removed for clarity
    }
})();
//^^ missing braces