用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

微客吧 首页 教程 微信小程序 新手教程 查看内容

微信小程序获得userinfo、session、openid和unionid的前端及php代码

纸飞机 2018-3-8 09:34

来自原文地址目录结构:es6-promise文件自行到官网下载https://github.com/components/es6-promiseindex.js文件引入es6-promise并在onLoad中写下函数:var Promise = require('../../es6-promise.min.js');//引入ES6 ...

来自

原文地址

目录结构:

es6-promise文件自行到官网下载

https://github.com/components/es6-promise

  1. index.js文件引入es6-promise并在onLoad中写下函数:
  1. var Promise = require('../../es6-promise.min.js');//引入ES6
  2. onLoad: function () {
  3. var that = this;
  4. //第一步:更新用户信息
  5. var getUserInfo = function(){
  6. return new Promise(function(resolve,reject){
  7. app.getUserInfo();
  8. resolve();
  9. });
  10. };
  11. getUserInfo().then(function(){
  12. //第二步:其它操作
  13. });
  14. },

并在app.js文件写入下面代码

  1. //app.js
  2. var Promise = require('es6-promise.min.js');//引入ES6
  3. App({
  4. onError:function(res){
  5. console.log(res);
  6. },
  7. //获取session
  8. getSession:function(){
  9. var info=wx.getStorageSync('session');
  10. return info.session;
  11. },
  12. //获取用户信息
  13. getUserInfo:function(){
  14. var timestamp=getTimestamp();//获取当前时间戳
  15. //检查微信登录态是否过期
  16. var checkSession = function(){
  17. return new Promise(function(resolve,reject){
  18. wx.checkSession({
  19. fail: function(){
  20. console.log('SESSION登录态过期!');
  21. reject();
  22. },
  23. success:function(){
  24. resolve();
  25. }
  26. });
  27. });
  28. };
  29. //检查SESSION缓存是否过期
  30. var checkStorage = function () {
  31. return new Promise(function(resolve,reject){
  32. wx.getStorage({
  33. key: 'session',
  34. success: function(res) {
  35. if(res.data.expires){
  36. if(timestamp>res.data.expires){//超时
  37. resolve();
  38. }else{
  39. reject();
  40. }
  41. }else{
  42. resolve();
  43. }
  44. },
  45. fail:function(){
  46. resolve();
  47. }
  48. });
  49. });
  50. };
  51. //刷新用户信息
  52. var updateUserInfo=function(){
  53. return new Promise(function(resolve,reject){
  54. wx.showToast({
  55. title: '加载中',
  56. icon: 'loading',
  57. duration: 10000,
  58. mask:true
  59. });
  60. resolve();
  61. });
  62. }
  63. //用户授权登录
  64. var login= function(){
  65. return new Promise(function(resolve,reject){
  66. wx.login({
  67. success: function(loginRes) {
  68. resolve(loginRes);
  69. },
  70. fail:function(res){
  71. reject(res);
  72. }
  73. });
  74. });
  75. }
  76. //获取用户信息
  77. var getUserInfo = function (loginRes) {
  78. return new Promise(function(resolve,reject){
  79. var that=this;
  80. wx.getUserInfo({
  81. success: function (userinfoRes) {
  82. var data={
  83. loginRes:loginRes,
  84. userinfoRes:userinfoRes
  85. }
  86. resolve(data);
  87. },
  88. fail:function(res){
  89. reject(res);
  90. }
  91. });
  92. });
  93. };
  94. //用户信息入库
  95. var request = function (data) {
  96. return new Promise(function(resolve,reject){
  97. var userInfoStr=JSON.stringify(data.userinfoRes);
  98. wx.request({
  99. url: 'https://www.soswen.com/weixin/Common/getSession',
  100. data: {
  101. 邀请

鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
分享至 : QQ空间
收藏