1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/yfsoft-yf-api-server

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 14:33 2363189

2.6.2 (2019-04-22)

Добавлено:

  • SSL
    • команда:

      $ openssl genrsa -out privatekey.pem 1024
      $ openssl req -new -key privatekey.pem -out certrequest.csr
      $ openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem

2.5.3 (2019-03-25)

Добавлено:

  • Расширение объекта конфигурации config.*.json, где * — это значение переменной окружения NODE_ENV процесса;
    • Например, если process.env.NODE_ENV === 'DEV', то будет загружен файл конфигурации config.dev.json и присвоен объекту конфигурации.
    • Значение * должно быть в нижнем регистре.
    • По умолчанию значение * равно dev.

2.5.1 (2019-03-04)

Добавлено:

  • Добавлена конфигурация disableBodyParser.

    используйте new Fpm({ disableBodyParser: ['/notify'] }) чтобы отключить обработчик запросов /notify

    добавьте промежуточное программное обеспечение:

      app.use(async(ctx, next) => {
        delete ctx.disableBodyParser;
        const disableBodyParser = this.get('disableBodyParser');
        if(disableBodyParser){
          let urls;
          if(_.isArray(disableBodyParser)){
            urls = disableBodyParser;
          } else if(_.isString(disableBodyParser)){
            urls = disableBodyParser.split(',');
          }
          const urlPath = ctx.request.url;
          _.map(urls, url => {
            if(_.endsWith(urlPath, url)){
              ctx.disableBodyParser = true;
            }
          });
        }
        await next();
      });
  • Поддержка HTTPS

Пример конфигурации:

{
  ssl: {
    key: 'ssl/server.key',  // путь до файла ключа
    cert: 'ssl/server.crt', // путь до файла сертификата
    port: 9443,             // порт для HTTPS
  },
}

Как создать SSL ключ/сертификат?

Здесь# 2.5.0 (2018-11-12)

Добавлено:

  • package-lock.json
  • fpm.getEnv(envKey, defaultValue) получает значения переменных окружения процесса по ключу

Удалено:

  • yarn.lock

2.4.12 (2018-06-08)

Добавлено:

  • fpm.getPluginRef(pname) получает исходное имя плагина по его имени, например: getPluginRef('mysql') или getPluginRef('fpm-plugin-mysql')

  • fpm._webhook_events записывает события вебхуков содержит: { topic!String, message!Object, at!timestamp }

  • Используйте curl для выполнения вебхуков URL вебхуков: /webhook/:upstream/:type/:data Тема публикации: #webhook/${upstream}/${type} $ curl -H "Content-Type:application/json" -X POST --data '{"id":10}' http://localhost:9999/webhook/test/foo/bar

2.4.11 (2018-06-07)

Исправление ошибок:

  • publish(topic, data)

2.4.10 (2018-06-07)

Изменение:

  • async execute(method, args, v, ctx) Теперь параметр v является необязательным
  • добавлено поле fpm._publish_topics, которое хранит все темы, опубликованные бизнес-функциями
  • publish(topic, data) теперь может выбрасывать исключение при публикации темы другой функцией

2.4.9 (2018-05-31)

Исправление ошибок:

  • потеря ключа masterkey до изменения: let sign = (args) => {; после изменения: let sign = (args, apps) => {

2.4.7 (2018-05-31)

Добавлено:

  • execShell(shellPath:String!, params:[ ]?) => Promise Метод для выполнения файлов с расширением .sh или .bat.

    Параметр shellPath должен быть абсолютным путём

Исправление ошибок:

  • Digest already called в файле yf-fpm-server/lib/utils/kit.js:25:7 https://github.com/nodejs/node-v0.x-archive/issues/1415# 2.4.2 (2018-05-28) Обновление:
  • loadPlugin
    • Добавлено поле package, которое ссылается на исходный модуль плагина для каждого плагина
    • Добавлено поле isBound, которое указывает, был ли метод bind() успешно вызван для каждого плагинаФайлы:
  • перемещено loadPlugin из bin/app.js в utils/plugin.js

2.4.1 (2018-05-26)

Добавлено три поля для плагинов:

  • информация: packageInfo Объект package.json для плагина
  • npm: https://www.npmjs.com/package/${packageInfo.name} Ссылка на страницу плагина на сайте npmjs.com
  • реестр: http://registry.npmjs.org/${packageInfo.name} Информация о регистрации плагина

Удалено:

  • удалён deletedir

Обновлено:

  • отформатированы все коды ошибок и номера ошибок

2.4.0 (2018-05-25)

Обновление:

2.3.1 (2018-05-25)

Добавлено:

  • конфигурация по умолчанию server.hostname и server.domain
    server: {
      hostname: '0.0.0.0',
      domain: 'localhost',
      port: 9999
    }
  • Возвращаемое значение Promise в fpm.run(), которое будет выполнено после запуска сервера
    app.run()
      .then(fpm => {
        fpm.logger.info('готово...')
      })

2.3.0 (2018-05-19)

Добавлено:

  • fpm._counter: счётчик вызовов API
  • fpm._project_info: объект package.json проекта

Коды исключений: от 900 до 999

Обновлено:

  • yf-fpm-nodejs-client@1.0.15

Удалено:

  • gulp
  • jquery
  • materialize-css
  • log
  • moment
  • md5
  • ncp
  • koa-multer

2.2.25 (2018-05-14)

Удалено:

  • views/
  • public/
  • admin.js

Запланировано:

  • реализовать плагин fpm-plugin-admin
  • Добавьте действие перед вызовом API
ctx.fpm.runAction('CALL_API', ctx.fpm, ctx, { method, param, v })
  • Аргумент ctx в функцию core(method, args, v, fpm, ctx)
  • Аргумент ctx в каждый обработчик handler(args, ctx, [])
    • Последний аргумент следует заменить выходом из before_*_hook, он всегда является массивом
  • Аргумент ctx в hook.runHook('before_' + method, args, v, ctx)# 2.2.24 (2018-04-28)TODO:
  • Добавить IP-фильтр в файл permission.js

2.2.24 (2018-04-25)

Удалено:

  • точки действия BEFORE_MODULES_ADDED и AFTER_MODULES_ADDED; метод fpm.addBizModules(biz:Biz) может вызываться несколько раз;

  • поддержка более типов результата в промежуточном слое response.js, а не только объектов;

    ctx.success = (result, msg) => {
      data.message = msg || '';
      if (_.isPlainObject(result)) {
        if (_.has(result, 'data')) {
          data.data = result.data;
          return;
        }
      }    
      data.data = result;   
    };

Добавлено:

  • extendModule(name:String!, module:Object/Function!, version:String?) для плагинов в режиме DEV;
  • getPlugins() вывод всех загруженных плагинов;
  • isPluginInstalled(name:String!);

Удалено:

  • пример\runner.js;

2.2.21 (2017-07-15)

Добавлено:

  • Fpm
    • администрирование
      • вход;

2.2.5 (2017-07-01)

Добавлено:

  • Fpm
    • createRouter;
    • bindRouter(router);

2.2.4 (2017-04-08)

Удалено:

  • маршруты загрузки;
  • директория загрузки;
  • удаление зависимости qiniu;

Плагины:

  • плагин загрузки qiniu;
  • плагин загрузки в памяти;

2.2.3 (2017-04-05)

Функционал:

  • поддержка промежуточного слоя для файла qiniu;

2.2.3 (2017-03-29)

Функционал:

  • поддержка загрузки с использованием koa-multer;

2.2.2 (2017-03-28)

Функционал:

  • загрузка;

2.2.2 (2017-03-05)

Функционал:

  • поддержка публикации/подписки;

2.2.1 (2017-03-05)

Удалено:

  • объединение analyse.js с auth.js;

Изменено:

  • использование Reg.test() для проверки корневого пути приложения;

2.2.0 (2017-03-02)

Функционал:

  • внедрение конфигурации плагина в FPM.config;
extendConfig(c){
  config = _.assign(config, c || {});
};
```Удалено

- `util.job`, `util.logger`

Изменены файлы

- Добавление каталога примеров с файлом `app.js`

# 2.1.8 (2017-03-01)

- проверка `config.json` при выполнении `FPM.INIT()`

Критическое изменение:

- отмена конфигурационного промежуточного слоя

# 2.1.7 (2017-02-21)

Функционал:

- Поддержка плагинов
- Обновление модулей `koa2-cors`

- Добавление метода `getConfig()` для статического файла конфигурации `config.json`

- Добавление дополнительных точек действия [INIT, BEFORE_ROUTER_ADDED, AFTER_ROUTER_ADDED, BEFORE_MODULES_ADDED, AFTER_MODULES_ADDED, BEFORE_SERVER_START, AFTER_SERVER_START]

- Добавление метода `execute` для класса `fpm`

# 2.1.6 (2017-02-05)

Функционал:

- Поддержка отправки данных JSON
- Обновление модулей `Koa`

# 2.1.5 (2017-02-05)

Исправлено:

- Ошибка сервера `TypeError: args.hasOwnProperty is not a function`

```bash
ошибка сервера TypeError: args.hasOwnProperty не является функцией
    at checkArgs (F:/FPM/yf-fpm-server/src/middleware/compare.js:55:16)
    at compare (F:/FPM/yf-fpm-server/src/middleware/compare.js:9:21)
    at _callee$ (F:/FPM/yf-fpm-server/src/middleware/compare.js:107:23)
    at tryCatch (F:\FPM\yf-fpm-server\node_modules\.0.10.1@regenerator-runtime\runtime.js:64:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (F:\FPM\yf-fpm-server\node_modules\.0.10.1@regenerator-runtime\runtime.js:355:22)

до:

if (!args.hasOwnProperty(a))

после:

if (!_.has(args, a))

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/yfsoft-yf-api-server.git
git@api.gitlife.ru:oschina-mirror/yfsoft-yf-api-server.git
oschina-mirror
yfsoft-yf-api-server
yfsoft-yf-api-server
master