All Projects → wodenwang → Nami

wodenwang / Nami

Licence: apache-2.0
专为小程序而生的服务端开发容器

Programming Languages

javascript
184084 projects - #8 most used programming language
groovy
2714 projects

Labels

Projects that are alternatives of or similar to Nami

React Native Puti Pay
基于 React Native 的微信支付,支付宝支付插件
Stars: ✭ 277 (-7.36%)
Mutual labels:  wechat
Flutter photo
Pick image/video from album by flutter. Support ios and android. UI by flutter, no native.
Stars: ✭ 285 (-4.68%)
Mutual labels:  wechat
Ocbarrage
iOS 弹幕库 OCBarrage, 同时渲染5000条弹幕也不卡, 轻量, 可拓展, 高度自定义动画, 超高性能, 简单易上手; A barrage render-engine with high performance for iOS. At the same time, rendering 5000 barrages is also very smooth, lightweight, scalable, highly custom animation, ultra high performance, simple and easy to use!
Stars: ✭ 294 (-1.67%)
Mutual labels:  wechat
Weapp Demo Breadtrip
基于面包旅行 API 制作的微信小程序示例
Stars: ✭ 282 (-5.69%)
Mutual labels:  wechat
Rsshub
🍰 Everything is RSSible
Stars: ✭ 18,111 (+5957.19%)
Mutual labels:  wechat
Fresh Weather
新鲜天气:使用小程序·云开发的小程序
Stars: ✭ 291 (-2.68%)
Mutual labels:  wechat
Wx Tfjs Demo
微信小程序运行 TensorFlow 的 Demo
Stars: ✭ 274 (-8.36%)
Mutual labels:  wechat
Voterobot
微信朋友圈投票活动的“刷票”案例分析。
Stars: ✭ 297 (-0.67%)
Mutual labels:  wechat
Tinker
Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Stars: ✭ 16,151 (+5301.67%)
Mutual labels:  wechat
Weapp One
ONE·一个|图文 微信小程序/开源代码
Stars: ✭ 295 (-1.34%)
Mutual labels:  wechat
Wechatassistant
(放弃维护)PC端微信小工具:撤回消息备份,关键词监听,公众号签到,截图,自定义内容的自动回复,今天吃什么(fun)
Stars: ✭ 285 (-4.68%)
Mutual labels:  wechat
Litemall
又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
Stars: ✭ 16,629 (+5461.54%)
Mutual labels:  wechat
Weixin Spider
微信公众号爬虫,公众号历史文章,文章评论,文章阅读及在看数据,可视化web页面,可部署于Windows服务器。基于Python3之flask/mysql/redis/mitmproxy/pywin32等实现,高效微信爬虫,微信公众号爬虫,历史文章,文章评论,数据更新。
Stars: ✭ 287 (-4.01%)
Mutual labels:  wechat
Weixinresource
微信开发资源汇总 | WeChat Development Resources Summary
Stars: ✭ 279 (-6.69%)
Mutual labels:  wechat
Fire Shop Lite
前端开源微信电商小程序,拼团+砍价+分销
Stars: ✭ 294 (-1.67%)
Mutual labels:  wechat
Stepchanger
步数修改器
Stars: ✭ 275 (-8.03%)
Mutual labels:  wechat
Python Wechaty
Python Wechaty is a Conversational RPA SDK for Chatbot Makers written in Python
Stars: ✭ 286 (-4.35%)
Mutual labels:  wechat
Crmeb
🔥🔥🔥 CRMEB打通版v4免费开源商城系统,uni-app+thinkphp6框架商城,系统可商用;包含小程序商城、H5商城、公众号商城、PC商城,支持分销、拼团、砍价、秒杀、优惠券、积分、会员等级、小程序直播、可视化设置,前后端分离,方便二开,更有详细使用文档、接口文档、数据字典、二开文档/视频教程,欢迎大家提出宝贵意见和建议
Stars: ✭ 3,447 (+1052.84%)
Mutual labels:  wechat
Laravel Socialite
Social OAuth Authentication for Laravel 5. drivers: facebook, github, google, linkedin, weibo, qq, wechat and douban
Stars: ✭ 296 (-1%)
Mutual labels:  wechat
Swiftscan
A barcode and qr code scanner( 二维码/条形码扫描、生成,仿微信、支付宝)
Stars: ✭ 293 (-2.01%)
Mutual labels:  wechat

NAMI:专为微信小程序服务端开发而生

面向前端开发人员的后端逻辑容器.

什么是NAMI

微信小程序的前端框架,官方命名为MINA;那我们的非官方后端就呼应一下,姑且命名为NAMI(纳米)。
NAMI提供了一个小程序服务端所需所有服务的支持,包括但不仅限于处理request请求、接收和处理websocket、与微信服务端交互并维护access_token、处理微信服务端登录鉴权、发送模板消息、接收微信支付事件,等等。

对于小应用:你只需要找一台电脑(无论windows、mac还是linux),一台云虚拟机,甚至一个docker实例,就可以安装NAMI;NAMI提供了一整套完整的小程序后端解决方案,替你包揽有关小程序后端开发的所有问题。

对于大应用:可能小程序只是你整个IT架构的其中一部分;可能你还需要考虑负载均衡,考虑多实例部署,考虑缓存;NAMI可以作为一个纯粹的JAVA开源框架,简化你的JAVA开发,帮你更高效解决与小程序有关的问题。

更多精美介绍(感谢公司前端小伙伴做的页面):http://riversoft.com.cn/nami.html

NAMI受众

前端开发工程师

不需了解JAVA、PHP或其他后端语言;
不需要安装TOMCAT,不需要LAMP;
用你最熟悉的javascript语言编写后端逻辑,用命令式的语句直接操作数据库,调用微信后台服务(你试过用javascript发送模板消息吗?

专注于业务实现,而不想纠结于技术的小程序后端开发者

也许你是有经验的JAVA或PHP程序员,但是leader给你开发小程序的时间不多了;
面对着鉴权登录、支付、模板消息、用unionid打通服务号,看着微信官方文档的access token心跳维持、加密解密,你头都大了;
也许你更擅长需求建模、业务逻辑开发,但不想纠结于技术细节;
NAMI采用脚本式开发,只要会写if(判断)会写for-each(循环),你的问题都可以快速高效解决。

JAVA程序员

NAMI采用纯粹的JAVA语言开发,拥有清晰的封装和外部API;
NAMI内置动态脚本引擎,对微信官方服务端API进行全封装;
NAMI也可以成为你JAVA项目的其中一个开源独立JAR包,帮你更高效快速解决问题。

NAMI特性

  • 可直接运行于任意主流IAAS或PAAS或docker容器,如阿里云、网易蜂巢
  • 内置JDK,内置tomcat,支持跨平台(windows/linux/macOS)
  • 内置https解决方案,快速申请免费证书并自动维持永久生效
  • javaEE技术架构,成熟的横向扩展方案,支持高并发、高可用系统需求,能支持大型/超大型系统
  • 傻瓜化脚本开发模式,只关注业务逻辑,不纠结技术实现
  • 支持javascript,groovy,java语言开发业务逻辑,总有一款合你意
  • 微信API封装,消息、支付、鉴权简单实现

NAMI关键模块

  • 简洁的request门面
  • 配置化websocket
  • 内置脚本逻辑引擎(可选语言:groovy/javascript/el)
  • 全量微信API封装
  • 解压即可运行的容器式封装
  • 小程序文件上传下载体系封装
  • 内置的https解决方案封装

一个例子

  1. 前端发起一个request 前端源码:
    //==================NAMI HELLO WORLD begin =================
    //第一个NAMI小程序调用
    wx.request({
      url: 'http://localhost:8080/request/hello.js',
      data: {
        a : 'hello',
        b : 2
      },
      complete: function(res) {
        console.log("调用完成");
        console.log(res.data);
      }
    })
    //==================NAMI HELLO WORLD end =================
  1. 启动NAMI后,在request目录中增加脚本 后端源码:
(function() {
	var a = request.getString("a") || 'none';
	var b = request.getInteger("b") || 0;

	return {
		a : a,
		b : b
	}

})();
  1. 前端回调结果

开发规范

事务管理

NAMI采用函数式开发,无论function抑或request,一个文件代表一个函数(或请求)。NAMI约定:

  • 文件名以execute_,create_,update_,delete_开头的逻辑,会限定在一个事务中执行,事务支持嵌套。
  • 文件名以get_,find_,query_开头的逻辑,以只读方式执行,也就是说在这种逻辑中执行的写操作,最终都会被NAMI回滚。
  • 采用其他名称开头的,则认为每次执行db函数的exec,save等操作时事务自动提交。

资源

下载

下载运行版(百度云盘): http://pan.baidu.com/s/1bJmUtg

文档

在线文档:https://hyhcoder.gitbooks.io/namiapi/content/

系列文章

如何打包

用maven构建,根目录执行:

mvn clean install

打包结果在/package/target/nami-pack-<platform>.zip, platform = nojdk|win32|win64|linux32|linux64

关于我们

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].