최근에 작은 도구 프로그램을 작성했는데 요구 사항에 따라 로그인하는 데 WeChat에서 제공하는 WeChat 계정이 필요하지 않습니다. 로그인하려면 백그라운드 로그인 인터페이스를 호출해야 합니다. 대부분의 미니 프로그램은 WeChat 정보를 사용하여 로그인하고 자체 백엔드를 사용하여 로그인하는 경우가 거의 없기 때문에 작성 시 여러 가지 함정이 있습니다. 이제 코드를 모두와 공유하겠습니다! (PS: 틀린 부분 있으면 공유해주세요.)
쓸데없는 소리 하지 말고 바로 코드로 가세요
app.js를 찾아서 그 안에 다음 코드를 작성하세요
App({ onLaunch: function () { //调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) }, globalData: { adminUserViewId: "", token: "", userInfo: null, BaseURL:"http://airb.cakeboss.com.cn" // BaseURL:"http://192.168.0.107:8080" },
칠판의 핵심 사항을 쳐보세요: 중요한 부분 위 그림의 코드 조각은 다음과 같습니다. "globalData adminUserViewId: "",token: "" "
이 두 매개변수는 사용자의 로그인 상태를 표시하기 위해 프런트 엔드에서 저장해야 하는 백그라운드 매개변수입니다.
그런 다음 로그인 폴더를 만들고 login.wxml에 다음 코드를 작성합니다.
<import src="../../components/toast.wxml" /> <!-- is="toast" 匹配组件中的toast提示 如果用dialog的话这就是dialog --> <template is="toast" data="{{ ...$wux.toast }}" /> <view class="login_container"> <view class="login_view"> <text class="login_lable">账号:</text> <input class="login_text" placeholder="请输入登录账号" bindinput="listenerUsernameInput"/> </view> <view class="login_view"> <text class="login_lable">密码:</text> <input class="login_text" placeholder="请输入密码" password="true" bindinput="listenerPasswordInput"/> </view> <view> <button class="login_button" bindtap="loginAction">登录</button> </view> </view>
그런 다음 로그인 폴더를 만들고 login.wxss에 다음 코드를 작성합니다.
.login_container { margin-top: 30px; } .login_view { width: calc(100% - 40px); padding: 0 20px; line-height: 45px; height: 45px; margin-bottom: 20px; } .login_text { float: left; height: 45px; line-height: 45px; font-size: 12px; border: 1px solid rgb(241, 242, 243); padding: 0 12px; width: calc(100% - 70px); border-radius: 4px; } .login_lable { float: left; font-size: 12px; width: 40px; } .login_button { width: 150px; background: green; color: #fff; }
login.js의 다음 코드
//login.js //获取应用实例 var app = getApp() var util = require('../../utils/util.js'); Page({ data: { motto: 'Hello World', username: "", password: "" }, onLoad(options) { // 初始化提示框 this.$wuxToast = app.wux(this).$wuxToast }, /** 监听帐号输入 */ listenerUsernameInput: function (e) { this.data.username = e.detail.value; }, /** 监听密码输入 */ listenerPasswordInput: function (e) { this.data.password = e.detail.value; }, // 登录按钮点击事件 loginAction: function () { var userName = this.data.username; var passwords = this.data.password; var that = this; if (userName === "") { that.$wuxToast.show({ type: 'text', timer: 1000, color: '#fff', text: "用户名不能为空!", success: () => console.log('用户名不能为空!') }) return; } if (passwords === "") { that.$wuxToast.show({ type: 'text', timer: 1000, color: '#fff', text: "密码不能为空!", success: () => console.log('密码不能为空!') }) return; } //加载提示框 util.showLoading("登录中..."); var urlStr = app.globalData.BaseURL + '/api/adminUser/login'; wx.request({ method: "POST", url: urlStr, //仅为示例,并非真实的接口地址 data: util.json2Form({ username: userName, password: passwords }), header: { "Content-Type": "application/x-www-form-urlencoded" }, success: function (res) { util.hideToast(); console.log(res.data); var code = res.data.code; if (code === 200) { // 后台传递过来的值 var adminUserViewId = res.data.data.adminUserViewId; var token = res.data.data.token; // 设置全局变量的值 app.globalData.adminUserViewId = res.data.data.adminUserViewId; app.globalData.token = res.data.data.token; // 将token存储到本地 wx.setStorageSync('adminUserViewId', adminUserViewId); wx.setStorageSync('token', token); console.log("登录成功的adminUserViewId:" + adminUserViewId); console.log("登录成功的token:" + token); // 切换到首页 wx.switchTab({ url: '/pages/index/index' }) } else { that.$wuxToast.show({ type: 'text', timer: 1000, color: '#fff', text: res.data.msg, success: () => console.log('登录失败,请稍后重试。' + res.data.msg) }) } }, fail: function () { util.hideToast(); console.log("登录失败"); that.$wuxToast.show({ type: 'text', timer: 1000, color: '#fff', text: '服务器君好累
[관련 권장 사항]
1. WeChat 공개 계정 플랫폼 소스 코드 다운로드
PigCms (PigCms) 마이크로 전자상거래 시스템 운영 버전 (독립 마이크로 스토어 몰 + 3단계 유통 시스템)
3. WeChat Network King v3.4.5 Advanced Business Edition WeChat Rubik's Cube 소스 코드
위 내용은 WeChat 개발 후 백엔드 로그인(WeChat 계정 없이 로그인)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!