|
@@ -0,0 +1,101 @@
|
|
|
+const request = require('./WXHttpRequest.js');
|
|
|
+const url = require('./const.js');
|
|
|
+const util = require('./util.js');
|
|
|
+
|
|
|
+const HOST = url.baseApi;
|
|
|
+
|
|
|
+
|
|
|
+function genAPIUrl(action) {
|
|
|
+ return HOST + action;
|
|
|
+}
|
|
|
+
|
|
|
+// 登录
|
|
|
+function wxLogin(successcallback, failcallback) {
|
|
|
+ wx.showToast({
|
|
|
+ title: '登录中...',
|
|
|
+ icon: 'loading',
|
|
|
+ duration: 1500
|
|
|
+ })
|
|
|
+ wx.login({
|
|
|
+ success: function(res) {
|
|
|
+ if (res.code) {
|
|
|
+ // 获取openid
|
|
|
+ let url = genAPIUrl('wx/openId')
|
|
|
+ let data = { code: res.code }
|
|
|
+ return request.getInstance().url(url).data(data).send().success(successcallback).fail(failcallback);
|
|
|
+ } else {
|
|
|
+ console.log('获取用户登录态失败!' + res.errMsg)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 获取原来的 openid 和 session_key
|
|
|
+function getOpenidSessionKey(successcallback, failcallback) {
|
|
|
+ if (wx.getStorageSync('user')) {
|
|
|
+ successcallback(
|
|
|
+ wx.getStorageSync('user'),
|
|
|
+ //分享小程序按钮
|
|
|
+ wx.showShareMenu({
|
|
|
+ withShareTicket: true
|
|
|
+ })
|
|
|
+ );
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wxLogin(function(res) {
|
|
|
+ if(res.data.code == 200){
|
|
|
+ console.log(res);
|
|
|
+ // let sessionKey = res.data.data.session_key;
|
|
|
+ // let openId = res.data.data.openid;
|
|
|
+ // getLoginSchedule(sessionKey, openId, successcallback, failcallback);
|
|
|
+ }
|
|
|
+
|
|
|
+ },function(res) {
|
|
|
+ failcallback(res);
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//获取用户信息和登录
|
|
|
+function getLoginSchedule(sessionKey, successcallback, failcallback) {
|
|
|
+ wx.getSetting({
|
|
|
+ success: function(res) {
|
|
|
+ // 已经授权,可以直接调用 getUserInfo 获取头像昵称
|
|
|
+ wx.getUserInfo({
|
|
|
+ withCredentials: true,
|
|
|
+ success: function (res) {
|
|
|
+ let url = genAPIUrl('wx/user');
|
|
|
+ const userData = {
|
|
|
+ encryptedData: res.encryptedData,
|
|
|
+ sessionKey: sessionKey,
|
|
|
+ iv: res.iv,
|
|
|
+ code: wx.getStorageSync('uid') ? wx.getStorageSync('uid') : ''
|
|
|
+ }
|
|
|
+ request.getInstance().header({
|
|
|
+ 'content-type': 'application/x-www-form-urlencoded'
|
|
|
+ }).url(url).data(userData).method('POST').send().success(res => {
|
|
|
+ wx.hideToast()
|
|
|
+ wx.showToast({
|
|
|
+ title: '登录成功',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 1500
|
|
|
+ })
|
|
|
+ wx.setStorageSync('uid', res.data.data.id)
|
|
|
+ wx.setStorageSync('user', res)
|
|
|
+ successcallback(res)
|
|
|
+ });
|
|
|
+ },
|
|
|
+ fail: function(res) {
|
|
|
+ failcallback(res)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+//登录
|
|
|
+
|
|
|
+module.exports = {
|
|
|
+ getOpenidSessionKey
|
|
|
+}
|