egg-- 实现自定义模块挂载到app上

egg-- 实现自定义模块挂载到app上

1.将自己封装的模块功能类写到一个单独文件内,并导出(exports).

//test.js
const BaseContextClass = require('egg').BaseContextClass;

exports.Test = class extends BaseContextClass {
	constructor(ctx){
		super(ctx);//初始化
	}
	.../*其他方法*/
}

2.在app.js 文件中将自定义模块挂载到 app 上

const path = require('path');

module.exports = app => {
    const baseName = 'test';  //文件夹名
    const baseTestDir = 'app/test';//模块目录  这里 放到 app 文件下 
    const ctx = app.createAnonymousContext(); // 创建一个新的执行上下文
    app.loader.loadToApp(        //将test模块 挂载到 app 上
        path.join(app.baseDir, baseTestDir ),    // path.join()的作用 :将路径片段使用特定的分隔符(window:\)连接起来形成路径,并规范化生成的路径。若任意一个路径片段类型错误,会报错。
        baseName,
        {
            caseStyle: 'lower',//小写    this.app.模块名.小写方法名   调用
            ignore: 'test.js',//忽略 test.js 文件   这里配置 你需要忽略的文件  被忽略的文件 将不能通过 this.app.模块名.方法  访问
            initializer: test => {  //初始化器
                return new test(ctx);
            }
        },
    );
}

3.使用:

app/test/index.js

const  Test = require('test.js文件的路径');  //引入功能 类

class  Home extends Test {  //继承 功能类  以至于 可以通过this调用功能类内的方法
	

}
module.exports = Home;

在其他的文件中调用 test模块的方法:
eg:

app/service/xxx.js            

this.app.test.xxx()   即可     test 为app.js 文件 内定义好的模块名
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Egg.js 框架实现微信支付,你需要进行以下步骤: 1. 首先,确保你已经在微信开放平台上注册了一个应用,并获得了相应的 AppID 和 AppSecret。 2. 在你的 Egg.js 项目中,安装 `egg-wechat-api` 和 `wechat-pay` 这两个依赖包。你可以通过以下命令安装它们: ```shell npm install egg-wechat-api wechat-pay --save ``` 3. 在 Egg.js 的配置文件 `config/config.default.js` 中,添加以下配置项: ```javascript // 配置 egg-wechat-api 插件 config.wechatApi = { appid: 'your_appid', appsecret: 'your_appsecret', token: 'your_token', encodingAESKey: 'your_encoding_AES_key', }; // 配置 wechat-pay 插件 config.wechatPay = { appid: 'your_appid', mch_id: 'your_mch_id', partner_key: 'your_partner_key', notify_url: 'your_notify_url', pfx: require('fs').readFileSync('/path/to/your_cert.p12'), }; ``` 替换上述配置项中的 `your_appid`、`your_appsecret`、`your_token`、`your_encoding_AES_key`、`your_mch_id`、`your_partner_key`、`your_notify_url` 和 `/path/to/your_cert.p12` 分别为你在微信开放平台和商户平台上的实际配置。 4. 在你的 Egg.js 控制器中,可以使用 `app.wechatApi` 和 `app.wechatPay` 来调用微信 API 和支付 API。你可以根据微信支付的具体接口文档,编写相应的支付逻辑。 以上是使用 Egg.js 实现微信支付的基本步骤,你还可以根据自己的需求进行更多的定制和扩展。注意,这里只提供了一个简单的示例,实际使用中还需要考虑安全性和错误处理等方面的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值