XpmJS - 小程序云端增强 SDK
================
## 最近更新
### + React Native Support ( xpmse 1.6.5 + )
`xpm.js` 配置
```javascript
import xpm from './xpmjs/xpm.rn';
let host = 'wss.xpmjs.com';
let option = {
'app':1,
'host':host,
'https':host,
'wss': host + '/ws-server',
'table.prefix': '{none}',
"appid": "wx0550a96041cf486c",
"secret":"151187416275946|0516fa148c2584028ee4a30157bfdc27",
"user":"/xpmsns/user/user/wxappLogin"
}
xpm.option(option);
export default xpm;
```
`Home.js` JSX
```javascript
// ...
import xpm from './xpm';
// ...
/**
* 页面数据驱动
*/
class __data {
@observable articles = [];
@observable loading = false;
@observable curr = null;
constructor() {
// mobx.autorun(() => console.log('auto run', this.page));
}
fetch( key = null ) {
this.loading = true;
let $search = xpm.api('/xpmsns/pages/article/search');
$search().get({perpage:20, page:2}).then(( resp )=>{
console.log( resp );
this.articles = resp;
}).catch( (excp) => {
console.log( 'excp:', excp );
});
}
}
// ....
```
### + config 更新 ( xpmjs-server 1.5.2+ )
```javascript
var host = 'wss.xpmjs.com';
var option = {
'app':1,
'host':host,
'https':host,
'wss': host + '/ws-server',
'table.prefix': 'demo',
'user.table':'user',
"appid": "wx0550a96041cf486c", // 新增
"secret":"150698766059529|4990e4107dbfe85c045cf8bbd3508652", // 服务端 appid & secret
"user" : "/mina/user/user/wxappLogin" // 新增用户系统 handler api
}
var xpm = require('xpmjs/xpm.js').option(option);
```
### + api 调用云端应用API ( xpmjs-server 1.5.2+ )
```javascript
var $test = app.xpm.api('mina/user/user/test');
$test({hello:'world'}).get()
.then(function(resp){
console.log( resp );
})
.catch( function(excp){
console.log('excp', excp);
});
```
### + MINA WEB (预览版)
文档: http://book.tuanduimao.com/357326
## 一、XpmJS 是啥
XpmJS可以链接任何云端资源,为小程序、移动应用提供云资源通道和后端能力。降低开发门槛,提升小程序的开发效率。无需编写后端代码,即可实现用户登录、WebSocket 通信、微信支付、云端数据表格、文件存储等功能。虽然 PHP 是最好的编程语言, 但是使用 XpmJS 后, 无需学习包括 PHP 在内的任何后端语言,**用 Javascript 即可搞定一切,NodeJS 也不用!**
## 二、为啥 XpmJS
### 从代码结构上看 XpmJS 更优雅!因为使用了 Promise!
![无敌连环 CallBack VS Promise 图](http://of2is3ok3.bkt.clouddn.com/xcx/images/promise.png)
### XpmJS 封装了常用后端操作,还提供一个管理后台,微信支付只要一行代码就可以实现!
![微信支付代码示例,管理后台截图](http://of2is3ok3.bkt.clouddn.com/xcx/images/paynow.png)
### 后端部署在你的云主机上!你可以完全掌控数据。
**方法1: 一键安装**
推荐使用[腾讯云一键安装链接](http://market.qcloud.com/products/1796)
( 访问微信接口快, 可以免费申请 Https 证书 )
**方法2: 安装脚本**
安装前,先提前申请 Docker Hub 镜像
[申请地址 https://www.daocloud.io/mirror](https://www.daocloud.io/mirror)
```bash
# 支持Ubunbu 16.04 & 14.04 系统,推荐采用 Ubuntu 16.04 64位 LTS
curl -sSL http://tuanduimao.com/xpmjs-server-1.5.2.sh | sh -s yourdomain.com http://<your id>.m.daocloud.io
```
**方法3: 使用 Docker 安装**
```bash
# 安装 Docker
curl -sSL https://get.daocloud.io/docker | sh
# 启动容器
docker run -d --name=xpmjs-server \
-e "HOST=yourdomain.com" \
-v /host/data:/data \
-v /host/apps:/apps \
-v /host/config:/config \
-p 80:80 -p 443:443 \
hub.c.163.com/trheyi/xpmse:1.6.2
```
### XpmJS Server 升级 (1.0 ~ 1.5 需升级容器)
第一步: 下载代码:
```bash
curl http://xpmjs-1252011659.costj.myqcloud.com/xpmjs-server-1.0.tar.gz
```
第二步: 解压并更新:
```bash
tar xvfz xpmjs-server-1.0.tar.gz
cd 1.0 && docker cp . xpmjs-server:/code
```
## 三、XpmJS 简明文档
### 1. 用户 ( User )
#### 用户登录 login()
```javascript
var user = app.xpm.require('User');
user.login().then( function( userInfo ) {
console.log( '用户登录成功', userInfo );
app.session.set('loginUser', userInfo );
})
.catch( function( excp ) {
console.log('用户登录失败', excp );
});
```
#### 用户退出 logout()
```javascript
var user = app.xpm.require('User');
user.logout().then( function( userInfo ) {
console.log( '用户注销成功', userInfo );
})
.catch( function( excp ) {
console.log('用户注销失败', excp );
});
```
#### 读取资料 get()
来自微信客户端的用户信息 ( 非云端数据 )
```javascript
var user = app.xpm.require('User');
user.get().then( function( userInfo ) {
console.log( '读取成功', userInfo );
})
.catch( function( excp ) {
console.log('读取失败', excp );
});
```
### 2. 信道( Wss )
使用 Websocket 信道,可以实现双向实时通信。
#### 打开信道 open()
```javascript
var wss = app.xpm.require('Wss');
wss.open('/wxapp').then(function( res ) {
console.log( '信道连接成功', res );
})
.catch( function( excp ) {
console.log('信道连接失败', excp );
});
```
#### 在线用户 liveUsers ()
```javascript
var wss = app.xpm.require('Wss');
wss.liveUsers().then(function( users ) {
console.log( '读取在线用户成功', users );
})
.catch( function( excp ) {
console.log('读取在线用户失败', excp );
});
```
用户信息数据结构
| 字段 | 中文 |说明 |
| :-: | :-: | :-: |
| id | 客户端ID | |
| _id | 用户ID | |
| nickName | 微信昵称 | |
| gender | 性别 | |
| avatarUrl | 头像| |
| language | 语言 | |
| group | 用户组 | |
| isadmin | 是否是管理员| 0 非管理员 1 管理员 |
#### 检查用户是否在线 isOnline ( xpmjs-server 1.0rc4+ )
```javascript
var user = app.xpm.require('User');
var wss = app.xpm.require('Wss');
user.login().then( function( userInfo ) {
return wss.isOnline( userInfo['_id'] )
}).then function( isOnline ) {
if ( isOnline ) {
console.log( '用户在线');
} else {
console.log( '用户离线');
}
})
.catch( function( excp ) {
console.log('出错啦', excp );
});
```
#### 监听指令 listen()
小程序仅提供 WebSocket 客户端 API,所以小程序本身无法实现 WebSocket服务器。 wss.listen() 方法并非启动 WebSocket Server, 而是用来接收云端信道转发的指令。
```javascript
var wss = app.xpm.require('Wss');
wss.listen('payment', function( res, status ){
// 当接收到 payment 指令后运行
if ( status != 'success') return ;
console.log( res, status );
});
```
#### 发送指令 send()
```javascript
var wss = app.xpm.require('Wss');
wss.liveUsers().then(function( users ) {
console.log( '读取在线用户成功', users );
// 向第一个用户发送 payment 指令
if ( users.length > 0 ) {
return wss.send('payment', users[0], users[0]['id'] )
} else {
return {code:404, message:'no live user'};
}
}).then( function( res ){
console.log('发送完毕', res);
});
.catch( function( excp ) {
console.log('出错了', excp );
});
```
#### 绑定事件 bind()
接收并处理 websocket 服务器事件,有效值 ( open/close/message/error )
```javascript
var wss = app.xpm.require('Wss');
wss.bind('open', function(event) {
console.log('信道服务器开启', event );
});
wss.bind('close', function(event) {
console.log('信道服务器关闭', event );
});
```
### 3. 会话 ( Session )
Session 会话分为客户端和服务端两部分,客户端与服务端会话ID相同,客户端保存用户信息资料,服务端保存用户 openid 等敏感信息。与服务端通信,使用Sesssion ID 鉴�
没有合适的资源?快使用搜索试试~ 我知道了~
微信小程序云端增强 SDK.zip
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共21个文件
js:18个
md:1个
license:1个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
需积分: 2 0 下载量 62 浏览量
2024-01-11
21:35:41
上传
评论
收藏 41KB ZIP 举报
温馨提示
小程序,轻量级设计,无需下载安装,即开即用,释放手机内存压力,轻松应对日常各种需求。无论是购物支付、信息查询,还是休闲娱乐、生活服务,我们都一应俱全,满足您的多元化需求。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 21 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/f40b27f659cf4356877369aa7344c2b6_qqrrjj2011.jpg!1)
极致人生-010
- 粉丝: 3417
- 资源: 3074
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)