首页
免费后端云服务
关于
Search
1
小程序后端入门系列视频教程【一-微信开发工具介绍】
9,812 阅读
2
微信小程序三级联动之多列选择器
9,710 阅读
3
小程序开发免费后端之神秘利器分享
9,632 阅读
4
Golang-开发企业级资源权限管理【第一步表设计】-1
9,174 阅读
5
学会微信服务端开发第一步
9,049 阅读
日常记录
日常
随笔
Bmob后端云
从零开始学物联网
Serverless实战驾校小程序
心邮
Serverless
向量数据库
登录
Search
Typecho
累计撰写
124
篇文章
累计收到
22
条评论
首页
栏目
日常记录
日常
随笔
Bmob后端云
从零开始学物联网
Serverless实战驾校小程序
心邮
Serverless
向量数据库
页面
免费后端云服务
关于
搜索到
1
篇与
的结果
2016-08-09
Bmob云-Serverless-开发公众号邀请返利
Bmob后端云 公众号邀请返利开发APP里有个注册页面,希望互相转发微信,邀请返利。 为了方便传播,注册页面单独用H5页面实现。 为了提高邀请用户质量,提高邀请用户的有效性,我们强制要求微信里面打开才能注册。所以基于公众号开发。 为了快速开发,这里使用Bmob云Serverless 里的Faas服务与文件CDN存储服务。1.准备材料公众号Bmob云Serverless如果想用自己域名,备案好的域名2.设置公众号一、设置AppSecret值开发者ID(AppID)开发者密码(AppSecret)二、设置白名单IP白名单三、设置授权域名接口权限,登陆,找到网页授权域名四、设置调试微信开发者开发者工具-》web开发者工具 【这个跟小程序一样的工具】,添加微信到开发者,最多可以绑定50个3.开发过程一、注册Bmob账号二、创建一个应用三、点击进入云函数编写微信获取用户昵称代码四、新建云函数云函数getOpenId 获取用户openid,拿到openid调用getUserInfo获取用户信息云函数function onRequest (request, response, modules) { var code = request.body.code ? request.body.code : '011jOWiN0vmFa42ynziN0B6bjN0jOWir' //获取数据库对象 var db = modules.oData; var functions = modules.oFunctions; //http请求方式: GET var appid = ''; var secret = ''; var url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + appid + '&secret=' + secret + '&code=' + code + '&grant_type=authorization_code'; //获取Http模块 var http = modules.oHttp; //发起Get请求 http(url, function (error, res, body) { if (!error && res.statusCode == 200) { //写入数据库 var resultObject = JSON.parse(body); //如果返回错误则打印 if (resultObject.errcode) { response.send(resultObject); } functions.run({ "name": "getUserInfo", "data": { "openid": resultObject.openid, "access_token": resultObject.access_token } }, function (err, data) { //回调函数 response.send(data); }); } }); } getUserInfo云函数function onRequest (request, response, modules) { var db = modules.oData; var openid = request.body.openid || 'ol2Ey0tePs0fdFdVRZKqzu50_83c'; var access_token = request.body.access_token || 'xxxx'; getUserInfoMp(openid, access_token); function getUserInfoMp (openid, access_token) { var http = modules.oHttp; http('https://api.weixin.qq.com/sns/userinfo?access_token=' + access_token + '&openid=' + openid + '&lang=zh_CN', function (error, res, body) { if (!error && res.statusCode == 200) { var at = JSON.parse(body); response.send(body); } response.send(body); }); } } 五.运行流程介绍用户打开一个url,这个url打开后会提示用户是否授权,同意后跳转到自己的网址,并带上code。(URL地址)https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxbafdda995607cc&redirect_uri=https%3a%2f%2fgoldenage.xxxxx.com%2f&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirectredirect_uri参数关键:指定统一授权后打开的网址,接下来就1步,通过code拿到openid。上面函数getOpenId就可以拿到openid,如果需要昵称头像,可以调用第二个云函数getUserInfohttps://mp.weixin.qq.com/wiki?action=doc&id=mp1421140842&t=0.35600785609885244#3)六.如何调用https://cloud.bmob.cn/19b475f87c366db2/getOpenId 方法:post 参数:code: 微信code 返回: {"openid":"ol2Ey0tePs0fdFdVRZKqzu50_83c","nickname":"magic","sex":1,"language":"zh_CN","city":"广州","province":"广东","country":"中国","headimgurl":"http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epySXbnQqg4MialjffKNKbxj42prvL2aIaIFbs3pj7svlT4gbQeQPbricZNBGYWfv1zcOo86fjwc99Q\/132","privilege":[]}}总结:相比自己服务器开发优势,成本低,速度快。 基于Serverless,的Faas 只需要一个函数,即可实现用户openid功能。如果熟悉,整个微信开发不需要10分钟。这里有个用户点击授权的页面是HTML的,这个HTML我们可以用CDN云存储,把静态html页面保存到文件里面,支持绑定自己域名,让用户访问。 整个开发,不需要购买服务器,ip,环境,微信设置好,一个函数,暴露接口就可以实现。前端网页调用效果截图:
2016年08月09日
2,748 阅读
0 评论
1 点赞