作者:海纳百川2602902033 | 来源:互联网 | 2023-09-11 21:52
app.js中代码如下import{Token}fromutilstoken-model.js;varscence0;App({onLaunch:function(){var
app.js中代码如下
import { Token } from 'utils/token-model.js';
var scence = 0;
App({onLaunch: function () {var that = this;var url = 'https://wx.knowdao.com/api/login/is_openid';wx.login({success: function (ress) {console.log(ress)var code = ress.codewx.request({url: url,method: 'POST',data: {code: code,},header: {"content-type": "application/x-www-form-urlencoded",'content-type': 'application/json'},success: function (res) {console.log(res)wx.setStorageSync('account', res.data.data.account);wx.setStorageSync('user_id', res.data.data.userid);wx.setStorageSync('openid', res.data.data.openid);wx.setStorageSync('session_key', res.data.data.session_key);wx.setStorage({key: 'openid',data: res.data.data.openid,success: function (res) {console.log(res)}})if (res.data.data.type == 1) {wx.redirectTo({url: '../login/login',})}// wx.getUserInfo({// success: function (res) {// console.log(res);// var url = "https://wx.knowdao.com/api/login/update_userinfo";// console.log(res.userInfo)// wx.request({// url: url,// method: 'POST',// data: {// openid: res.data.data.openid,// nickname: res.userInfo.nickName,// avatarUrl: res.userInfo.avatarUrl,// city: res.userInfo.city,// gender: res.userInfo.gender,// },// header: {// "content-type": "application/x-www-form-urlencoded",// 'content-type': 'application/json'// },// success: function (res) {// console.log(res)// if (res.data.status == 200) {// console.log('success')// } else {// console.log('error')// }// }// })// }// })}})}})},onShow: function () {},onHide: function () {// this.globalData.scence = 1// wx.setStorageSync('scence', this.globalData.scence)},globalData: {account: '',stroge: 0,// user_id:null,userid:null,userInfo: null,times: null,urls: 'https://wx.knowdao.com',urlst: 'http://test.knowdao.com',token: ''}
})
login.js中代码如下
const app = getApp()
import {Token
} from '../../utils/token-model.js';
Page({data: {//判断小程序的API,回调,参数,组件等是否在当前版本可用。canIUse: wx.canIUse('button.open-type.getUserInfo')},onLoad: function () {// var token = new Token();// token.verify();var that = this;// console.log(res)// if (res.authSetting['scope.userInfo']) {// console.log('授权成功')// wx.getUserInfo({// success: function (res) {// console.log(res)// //从数据库获取用户信息// that.queryUsreInfo();// //用户已经授权过// wx.switchTab({// url: '../homepage/homepage'// })// }// });// }// }// })},onShow: function () {},bindGetUserInfo: function (e) {if (e.detail.userInfo) {//用户按了允许授权按钮var that = this;var account = wx.getStorageSync('account')console.log(wx.getStorageSync('openid'))wx.getStorage({key: 'openid',success: function (res) {console.log(res)var openids = resvar url = "https://wx.knowdao.com/api/login/get_openid";wx.request({url: url,method: 'POST',data: {account: wx.getStorageSync('account'),nickname: e.detail.userInfo.nickName,gender: e.detail.userInfo.gender,avatarUrl: e.detail.userInfo.avatarUrl,city: e.detail.userInfo.city,userid: wx.getStorageSync('user_id'),openid: openids.data,},header: {"content-type": "application/x-www-form-urlencoded",'content-type': 'application/json'},success: function (res) {console.log(res)if (res.data.status == 200) {wx.setStorageSync('token', res.data.data.token);wx.setStorageSync('success', 1);wx.switchTab({url: '../homepage/homepage'})}}})}})} else {//用户按了拒绝按钮wx.showModal({title: '警告',content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!',showCancel: false,confirmText: '返回授权',success: function (res) {if (res.confirm) {console.log('用户点击了“返回授权”')}}})}},//获取用户信息接口queryUsreInfo: function () {wx.request({url: getApp().globalData.urlPath + 'hstc_interface/queryByOpenid',data: {openid: getApp().globalData.openid},header: {'content-type': 'application/json'},success: function (res) {console.log(res.data);getApp().globalData.userInfo = res.data;}})},})
token-model.js代码如下
import { Config } from 'config.js';
var app = getApp();
class Token {constructor() {console.log(this)// this.verifyUrl = Config.restUrl + '/api/validate/token';this.tokenUrl = Config.restUrl + '/api/login/get_openid';this.veriUrl = Config.restUrl + '/api/validate/token'; }verify() {var token = wx.getStorageSync('token');console.log(token)if (!token) {this.getTokenFromServer(token);} else {this._verifyFromServer(token);}}// 携带令牌去服务器校验令牌_verifyFromServer(token) {console.log(11212)var that = this;const account = wx.getStorageSync("account")const tokenn = wx.getStorageSync("token")wx.request({url: that.veriUrl,method: 'POST',data: {token: tokenn,account: account},success: function (res) {console.log(res)var valid = res.data.data.token;console.log(valid)console.log(wx.getStorageSync('token'))if (wx.getStorageSync('token') !== vertoken ) {console.log(111111111111111111)// that.getTokenFromServer();}},fail: function(res){console.log(res)}})}changlink(url) {//建立连接console.log(url)wx.connectSocket({url: url,})//连接成功const userid = wx.getStorageSync('userid')wx.onSocketOpen(function () {const msg = {}msg.type = 'login';msg.user_id = userid;var b = JSON.stringify(msg)console.log(b)wx.sendSocketMessage({data: b,})console.log('连接成功');})wx.onSocketMessage(function (res) {console.log(res)})}// 从服务器获取tokengetTokenFromServer(callback) {var that = this;wx.login({success: function (res) {let code = res.codewx.getUserInfo({lang: "zh_CN",success: res => {let userInfo = res.userInfowx.request({url: that.tokenUrl,method: 'POST',data: {code: code,nickname: userInfo.nickName,gender: userInfo.gender,avatarUrl: userInfo.avatarUrl,city: userInfo.city,},header: {"content-type": "application/x-www-form-urlencoded",'content-type': 'application/json'},success: function (res) {console.log(res)wx.setStorageSync('token', res.data.data.token);wx.setStorageSync('account', res.data.data.account);wx.setStorageSync('user_id', res.data.data.user_id);wx.setStorageSync('session_key', res.data.data.session_key);}})}})}})}}export { Token };
confiag.js代码如下
class Config{
constructor() {
}
}
Config.restUrl = ‘https://wx.knowdao.com’;
export { Config };