mm_os 2.7.8 → 2.7.9

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.
package/README.md CHANGED
@@ -1,37 +1,59 @@
1
1
  # 服务端框架
2
2
 
3
3
  #### 介绍
4
- 这是服务端框架,网站、游戏、小程序服务端可基于该框架进行二次开发
4
+ 这是一个服务端框架,用于快速构建网站、游戏、小程序服务端。
5
5
 
6
6
  #### 软件架构
7
- 软件架构说明
8
-
7
+ 由koa网站框架 + art-template模板引擎 + mm(热拔插)插件机制 + mysql数据库 + redis缓存 + jwt鉴权 + 等等组成。
9
8
 
10
9
  #### 安装教程
11
-
12
- 1. xxxx
13
- 2. xxxx
14
- 3. xxxx
10
+ 新建一个目录,然后在当前打开命令提示符,输入以下命令进行初始化
11
+ ``` command
12
+ npm init
13
+ ```
14
+ 然后根据提示进行配置,配置完成后,输入以下指令进行安装
15
+ ``` command
16
+ npm i mm_os
17
+ ```
15
18
 
16
19
  #### 使用说明
17
-
18
- 1. xxxx
19
- 2. xxxx
20
- 3. xxxx
20
+ 安装完成后,目录下新建一个index.js文件,在命令行输入以下代码,然后运行即可
21
+ ```javascript
22
+ require("mm_expand");
23
+ const OS = require("mm_os");
24
+ $.runPath = __dirname + $.slash;
25
+ var os = new OS(config);
26
+ os.run();
27
+ ```
28
+
29
+ #### 特色说明
30
+ 1. 独特的json配置文件 + js脚本的开发模式,让开发更加灵活,更加高效。
31
+ 2. 内置http请求模块、mysql、redis、mongodb模块,让请求数据和操作数据库更加简单。
32
+ 3. 适合分布式部署,支持多进程,支持负载均衡,支持集群部署。
33
+ 4. 适合微服务架构,支持服务注册与发现,支持服务调用,支持服务熔断,支持服务降级。
34
+ 5. mm(热拔插)插件机制,可以快速扩展功能,并且支持热拔插,无需重启服务。
35
+ 6. jwt鉴权,支持单点登录,支持多用户登录,支持多角色权限控制。
36
+ 7. mysql数据库,支持多数据库连接,支持事务,支持分库分表。
37
+ 8. redis缓存,支持多缓存连接,支持缓存穿透,支持缓存雪崩。
38
+ 9. art-template模板引擎,支持多模板引擎,支持模板继承,支持模板缓存。
39
+ 10. 支持多语言,采用I18n多语言模式。
40
+ 11. 支持多协议,支持http,支持https,支持websocket,支持grpc。
41
+ 12. 支持多平台,支持windows,支持linux,支持mac。
21
42
 
22
43
  #### 参与贡献
23
-
24
- 1. Fork 本仓库
25
- 2. 新建 Feat_xxx 分支
26
- 3. 提交代码
27
- 4. 新建 Pull Request
28
-
29
-
30
- #### 特技
31
-
32
- 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
33
- 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
34
- 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
35
- 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
36
- 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
37
- 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
44
+ 1. qiuwenwu(mm_os框架创始人)
45
+ 2. 自由人网络(mm_os框架核心开发团队)
46
+
47
+ #### 特点
48
+ 1. 简单易用,快速上手
49
+ 2. 高效开发,快速迭代
50
+ 3. 灵活扩展,快速定制
51
+ 4. 稳定可靠,长期维护
52
+ 5. 开源免费,社区支持
53
+ 6. 适合个人开发者,适合企业级应用
54
+ 8. 适合初创企业,中小型企业,仅需几人即可快速搭建大型网站、游戏服务端或智能物联网(AIOT)平台
55
+
56
+ #### 附言
57
+ 1. mm_os 官方网站 [www.fman.top](https://www.fman.top)
58
+ 2. 你可以访问 [https://www.fman.top/source/market](https://www.fman.top/source/market) 来了解 mm_os 上的优秀开源项目
59
+ 3. [mm_os_server](https://www.fman.top/download) 是极为有价值开源项目,是综合评定出的优秀开源项目,具有丰富的插件、模板、挂件可用
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mm_os",
3
- "version": "2.7.8",
3
+ "version": "2.7.9",
4
4
  "description": "这是超级美眉服务端框架,用于快速构建应用程序。",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -30,7 +30,7 @@
30
30
  "author": "邱文武",
31
31
  "license": "ISC",
32
32
  "dependencies": {
33
- "koa": "^2.15.3",
33
+ "koa": "^2.15.4",
34
34
  "koa-body": "^6.0.1",
35
35
  "koa-compress": "^5.1.1",
36
36
  "koa-send": "^5.0.1",
@@ -41,7 +41,7 @@
41
41
  "mm_html": "^1.1.6",
42
42
  "mm_koa_proxy": "^1.0.0",
43
43
  "mm_logs": "^1.1.6",
44
- "mm_machine": "^1.8.1",
44
+ "mm_machine": "^1.8.2",
45
45
  "mm_mongodb": "^1.4.2",
46
46
  "mm_mqtt": "^1.0.6",
47
47
  "mm_mysql": "^1.8.9",
@@ -1,145 +0,0 @@
1
- /**
2
- * @fileOverview dev
3
- * @author <a href="作者主页地址">插件作者</a>
4
- * @version 1.0
5
- */
6
-
7
- /**
8
- * @description 插件对象
9
- */
10
- module.exports = {
11
- /**
12
- * @description 初始化
13
- * @param {Object} option 配置参数
14
- * @return {String} 成功返回null, 否则返回错误提示
15
- */
16
- init(option) {
17
- var msg = null;
18
- console.log("示例应用-初始化");
19
- return msg;
20
- },
21
-
22
- /**
23
- * @description 安装
24
- * @param {Object} option 配置参数
25
- * @return {String} 成功返回null,否则返回错误提示
26
- */
27
- install(option) {
28
- var msg = null;
29
- return msg;
30
- },
31
-
32
- /**
33
- * @description 卸载
34
- * @param {Object} option 配置参数
35
- * @return {String} 成功返回null,否则返回错误提示
36
- */
37
- uninstall(option) {
38
- var msg = null;
39
- return msg;
40
- },
41
-
42
- /**
43
- * @description 更新
44
- * @param {Object} option 配置参数
45
- * @return {String} 成功返回null, 否则返回错误提示
46
- */
47
- update(option) {
48
- var msg = null;
49
- return msg;
50
- },
51
-
52
- /**
53
- * @description 启动
54
- * @param {Object} opiton 配置参数
55
- * @return {String} 成功返回null,否则返回错误提示
56
- */
57
- start(option) {
58
- var msg = null;
59
- return msg;
60
- },
61
-
62
- /**
63
- * @description 暂停
64
- * @param {Object} opiton 配置参数
65
- * @return {String} 成功返回null,否则返回错误提示
66
- */
67
- stop(option) {
68
- var msg = null;
69
- return msg;
70
- },
71
-
72
- /**
73
- * @description 结束
74
- * @param {Object} opiton 配置参数
75
- * @return {String} 成功返回null,否则返回错误提示
76
- */
77
- end(option) {
78
- var msg = null;
79
- return msg;
80
- },
81
-
82
- /**
83
- * @description 插件
84
- * @param {String} item 插件项
85
- * @return {Object} 旗下插件和信息
86
- */
87
- help(item) {
88
- var tip = "";
89
- switch (item) {
90
- case "run":
91
- break;
92
- default:
93
- break;
94
- }
95
- return tip;
96
- },
97
-
98
- /**
99
- * @description 主程序
100
- * @param {Object} param1 参数1
101
- * @param {Object} param2 参数2
102
- * @return {Object} 返回执行结果
103
- */
104
- main(param1, param2) {
105
- var ret = null;
106
- return ret;
107
- },
108
-
109
- /**
110
- * @description 指令(类似命令提示符)
111
- * @param {String} content 指令内容
112
- * @return {String} 执行结果
113
- */
114
- cmd(content) {
115
- var ret = "";
116
- return ret;
117
- },
118
-
119
- /**
120
- * @description API接口(用于其他插件调用该插件时)
121
- * @param {Object} ctx HTTP上下文
122
- * @param {Object} db 数据库管理器
123
- * @return {Object} 执行结果
124
- */
125
- api(ctx, db) {
126
- var ret = "";
127
- return ret;
128
- },
129
-
130
- /**
131
- * @description 聊天(通过聊天的方式驱动插件, 用于机器人开发)
132
- * @param {String} from_user 发送消息人
133
- * @param {String} to_user 接收消息人
134
- * @param {String} content 内容
135
- * @param {String} group 群组 如果是个人,群组为空
136
- * @param {Number} type 群类型, 1永久会话/群、2临时会话/群
137
- * @param {String} msg_type 消息类型, event事件型、message消息型。默认消息型
138
- * @param {Object} 数据管理器
139
- * @return {String} 回复内容
140
- */
141
- async chat(from_user, to_user, group, content, type, msg_type, db) {
142
- var ret = "";
143
- return ret;
144
- }
145
- };
@@ -1,12 +0,0 @@
1
- {
2
- "name": "demo",
3
- "title": "这是示例应用",
4
- "description": "用于调试开发",
5
- "version": "1.0",
6
- "lang_path": "./lang/",
7
- "icon": "/demo/img/logo.png",
8
- "cmd": "demo",
9
- "script": "./app.js",
10
- "sort": 10,
11
- "state": 1
12
- }
@@ -1,20 +0,0 @@
1
- [{
2
- // 目标对象
3
- "target": "/api/test*",
4
- // 事件名称, 用于动态增删改
5
- "name": "test_client",
6
- // 标题, 用于开发者查看事件
7
- "title": "示例事件",
8
- // 描述, 用于介绍该事件是做什么用的
9
- "description": "描述事件使用方法",
10
- // 阶段, 分执行前before、验证check、主要main、渲染render、执行后after阶段
11
- "stage": "main",
12
- // 响应方法 GET请求、POST请求、ALL所有请求,如果非API事件可自定义
13
- "method": "ALL",
14
- // 函数文件, 当事件触发时执行指定的脚本
15
- "func_file": "./main.js",
16
- // 执行顺序, 数值越小越优先执行
17
- "sort": 100,
18
- // 状态
19
- "state": 1
20
- }]
@@ -1,21 +0,0 @@
1
- // 使用api管理器
2
- var api = $.api_admin('demo_client', 'demo_client');
3
- // 首次启动更新api接口;
4
- api.update();
5
- // 使用mysql数据库管理器
6
- var sql = $.mysql_admin('sys', __dirname);
7
- sql.setConfig($.config.mysql);
8
- sql.open();
9
-
10
- /**
11
- * @description 接口主函数
12
- * @param {Object} ctx HTTP上下文
13
- * @param {Object} db 数据管理器,如: { next: async function{}, ret: {} }
14
- * @return {Object} 执行结果
15
- */
16
- async function main(ctx, db) {
17
- $.push(db, sql.db(), true);
18
- return await api.run(ctx, db);
19
- };
20
-
21
- exports.main = main;