java微信中控服务器_使用ThinkJs搭建微信中控服务的实现方法

本人前端渣渣一枚,这篇文章是第一次写,如果有硬核bug,请大佬们轻喷、指出... 另外,本文不涉及任何接口安全、参数校验之类的东西,默认对调用方无脑级的信任:joy: 目前自用的接口包括但不限于以下这些

|--- 微信相关

| |--- 0. 处理微信推过来的一些消息

| |--- 1. 获取微信SDK配置参数

| |--- 2. 微信鉴权登陆

| |--- 3. 获取微信用户信息

| |--- 4. 获取AccessToken

| |--- 5. 批量发送模版消息

| |--- 6. 获取模版消息列表

| |--- 7. 批量发送客服消息

背景

【需求】小项目很多很杂,而且大部分需求都是基于微信开发的,每次都查微信文档的话就会很郁闷:unamused:...

【号多】公众号超级多,项目中偶尔会涉及借权获取用户信息(在不绑定微信开放平台的前提下,需要临时自建各个公众号的openid关联关系),类似这样同时需要不止一个公众号配合来完成一件事的需求,就容易把人整懵逼...

【支付】微信支付的商户号也很多,而且有时候支付需要用的商户号,还不能用关联的公众号取出来的openid去支付...

【官方】微信官方文档建议!把获取AccessToken等微信API抽离成单独的服务... 等等等等........所以...:joy:

创建ThinkJS项目

官网

简介

ThinkJS 是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单、高效。从 3.0 开始,框架底层基于 Koa 2.x 实现,兼容 Koa 的所有功能。

安装脚手架

$ npm install -g think-cli

创建及启动项目

$ thinkjs new demo;

$ cd demo;

$ npm install;

$ npm start;

目录结构

|--- development.js //开发环境下的入口文件

|--- nginx.conf //nginx 配置文件

|--- package.json

|--- pm2.json //pm2 配置文件

|--- production.js //生产环境下的入口文件

|--- README.md

|--- src

| |--- bootstrap //启动自动执行目录

| | |--- master.js //Master 进程下自动执行

| | |--- worker.js //Worker 进程下自动执行

| |--- config //配置文件目录

| | |--- adapter.js // adapter 配置文件

| | |--- config.js // 默认配置文件

| | |--- config.production.js //生产环境下的默认配置文件,和 config.js 合并

| | |--- extend.js //extend 配置文件

| | |--- middleware.js //middleware 配置文件

| | |--- router.js //自定义路由配置文件

| |--- controller //控制器目录

| | |--- base.js

| | |--- index.js

| |--- logic //logic 目录

| | |--- index.js

| |--- model //模型目录

| | |--- index.js

|--- view //模板目录

| |--- index_index.html

安装think-wechat插件

介绍

微信中间件,基于 node-webot/wechat,支持 thinkJS 3.0

安装

$ npm install think-wechat --save

$ cnpm install think-wechat --save

配置

文件:/src/config/middleware.js

const wechat = require('think-wechat')

module.exports = [

...

{

handle: wechat,

match: '/index',

options: {

token: '', // 令牌,和公众号/基本配置/服务器配置里面写一样的即可

appid: '', // 这里貌似可以随便填,因为我们后面要用数据库配置多个公众号

encodingAESKey: '',

checkSignature: false

}

}, {

handle: 'payload', // think-wechat 必须要在 payload 中间件前面加载,它会代替 payload 处理微信发过来的 post 请求中的数据。

options: {

keepExtensions: true,

limit: '5mb'

}

},

]

注:match下我这里写的是 /index ,对应的项目文件是 /src/controller/index.js ,对应的公众号后台所需配置的服务器地址就是 http(https)://域名:端口/index

创建数据库和相关表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值