管理员小程序端登录
This commit is contained in:
parent
663c07276f
commit
1c3cb8ab7f
|
@ -31,7 +31,9 @@
|
||||||
"pages/qtest/form",
|
"pages/qtest/form",
|
||||||
"pages/main/start",
|
"pages/main/start",
|
||||||
"pages/exam/index",
|
"pages/exam/index",
|
||||||
"pages/exam/note"
|
"pages/exam/note",
|
||||||
|
"pages/admin/index",
|
||||||
|
"pages/admin/login"
|
||||||
],
|
],
|
||||||
"window": {
|
"window": {
|
||||||
"backgroundTextStyle": "light",
|
"backgroundTextStyle": "light",
|
||||||
|
@ -88,7 +90,7 @@
|
||||||
},
|
},
|
||||||
"plugins": {
|
"plugins": {
|
||||||
"tencentvideo": {
|
"tencentvideo": {
|
||||||
"version": "1.3.15",
|
"version": "1.3.31",
|
||||||
"provider": "wxa75efa648b60994b"
|
"provider": "wxa75efa648b60994b"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
// pages/admin/index.js
|
||||||
|
const api = require("../../utils/request.js");
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function (options) {
|
||||||
|
api.requesta('/rbac/user/info/', 'GET').then(res => {
|
||||||
|
getApp().globalData.admininfo = res.data
|
||||||
|
this.setData({
|
||||||
|
admininfo:res.data
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
|
*/
|
||||||
|
onReady: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面隐藏
|
||||||
|
*/
|
||||||
|
onHide: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
|
*/
|
||||||
|
onPullDownRefresh: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面上拉触底事件的处理函数
|
||||||
|
*/
|
||||||
|
onReachBottom: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户点击右上角分享
|
||||||
|
*/
|
||||||
|
onShareAppMessage: function () {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"usingComponents": {},
|
||||||
|
"navigationBarTitleText": "管理员控制台"
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
<!--pages/admin/index.wxml-->
|
||||||
|
<view class="page">
|
||||||
|
<view class="page__bd">
|
||||||
|
<view class="weui-cells weui-cells_after-title" style="margin-top:0px">
|
||||||
|
<view class="weui-panel__bd">
|
||||||
|
<view class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active">
|
||||||
|
<view class="weui-media-box__bd weui-media-box__bd_in-appmsg">
|
||||||
|
<view class="weui-media-box__title">
|
||||||
|
<span>账号:</span>
|
||||||
|
<span style="font-weight:bold;">{{admininfo.username}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="weui-media-box__desc">昵称:
|
||||||
|
<span >{{ admininfo.name }}</span>
|
||||||
|
</view>
|
||||||
|
<view class="weui-media-box__desc">角色:
|
||||||
|
<span >{{ admininfo.roles }}</span>
|
||||||
|
</view>
|
||||||
|
<view class="weui-media-box__desc">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
/* pages/admin/index.wxss */
|
|
@ -0,0 +1,84 @@
|
||||||
|
// pages/admin/login.js
|
||||||
|
const api = require("../../utils/request.js");
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
form:{
|
||||||
|
username:'',
|
||||||
|
password:''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
usernameChange: function (e) {
|
||||||
|
this.data.form.username = e.detail.value
|
||||||
|
},
|
||||||
|
passwordChange: function (e) {
|
||||||
|
this.data.form.password = e.detail.value
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function (options) {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
|
*/
|
||||||
|
onReady: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面隐藏
|
||||||
|
*/
|
||||||
|
onHide: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
|
*/
|
||||||
|
onPullDownRefresh: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面上拉触底事件的处理函数
|
||||||
|
*/
|
||||||
|
onReachBottom: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户点击右上角分享
|
||||||
|
*/
|
||||||
|
onShareAppMessage: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
denglu: function ( ) {
|
||||||
|
var form = this.data.form
|
||||||
|
api.requesta('/token/', 'POST', form).then(res => {
|
||||||
|
getApp().globalData.admintoken = res.data.token
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/pages/admin/index',
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
})
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"usingComponents": {},
|
||||||
|
"navigationBarTitleText": "管理员登录"
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
<!--pages/admin/login.wxml-->
|
||||||
|
<view class="page">
|
||||||
|
<view class="page__hd" >
|
||||||
|
<view class="page__title" style="text-align:center">中科辐射学堂</view>
|
||||||
|
<view class="page__desc" style="text-align:center">管理员登录</view>
|
||||||
|
</view>
|
||||||
|
<view class="page__bd">
|
||||||
|
<view class="weui-cells weui-cells_after-title">
|
||||||
|
<view class="weui-cell weui-cell_input">
|
||||||
|
<view class="weui-cell__hd">
|
||||||
|
<view class="weui-label">账号</view>
|
||||||
|
</view>
|
||||||
|
<view class="weui-cell__bd">
|
||||||
|
<input class="weui-input" placeholder="请输入管理员账号" bindinput="usernameChange" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="weui-cell weui-cell_input">
|
||||||
|
<view class="weui-cell__hd">
|
||||||
|
<view class="weui-label">密码</view>
|
||||||
|
</view>
|
||||||
|
<view class="weui-cell__bd">
|
||||||
|
<input class="weui-input" placeholder="请输入密码" bindinput="passwordChange" type="password"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<button class="weui-btn" type="primary" bindtap="denglu">登陆</button>
|
||||||
|
</view>
|
||||||
|
<view class="weui-footer weui-footer_fixed-bottom">
|
||||||
|
<!-- <view class="weui-footer__text" bindtap="intro">点击下载系统/小程序文档介绍</view> -->
|
||||||
|
<view class="weui-footer__text">Copyright © 2018-2021 国检集团</view>
|
||||||
|
<view class="weui-footer__text">中存大数据提供技术支持</view>
|
||||||
|
</view>
|
|
@ -0,0 +1 @@
|
||||||
|
/* pages/admin/login.wxss */
|
|
@ -33,6 +33,6 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="weui-footer weui-footer_fixed-bottom">
|
<view class="weui-footer weui-footer_fixed-bottom">
|
||||||
<!-- <view class="weui-footer__text" bindtap="intro">点击下载系统/小程序文档介绍</view> -->
|
<!-- <view class="weui-footer__text" bindtap="intro">点击下载系统/小程序文档介绍</view> -->
|
||||||
<view class="weui-footer__text">Copyright © 2018-2020 国检集团</view>
|
<view class="weui-footer__text">Copyright © 2018-2021 国检集团</view>
|
||||||
<view class="weui-footer__text">中存大数据提供技术支持</view>
|
<view class="weui-footer__text">中存大数据提供技术支持</view>
|
||||||
</view>
|
</view>
|
|
@ -72,6 +72,13 @@
|
||||||
<view class="weui-cell__ft weui-cell__ft_in-access" style="color:red"></view>
|
<view class="weui-cell__ft weui-cell__ft_in-access" style="color:red"></view>
|
||||||
</navigator>
|
</navigator>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="weui-cells__title">管理员操作台</view>
|
||||||
|
<view class="weui-cells weui-cells_after-title">
|
||||||
|
<navigator url="/pages/admin/login" class="weui-cell weui-cell_access">
|
||||||
|
<view class="weui-cell__bd">管理员入口</view>
|
||||||
|
<view class="weui-cell__ft weui-cell__ft_in-access" style="color:red"></view>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
<view class="weui-footer weui-footer_fixed-bottom">
|
<view class="weui-footer weui-footer_fixed-bottom">
|
||||||
<!-- <view class="weui-footer__text" bindtap="intro">点击下载系统/小程序文档介绍</view> -->
|
<!-- <view class="weui-footer__text" bindtap="intro">点击下载系统/小程序文档介绍</view> -->
|
||||||
<view class="weui-footer__text">更多服务请联系课程顾问</view>
|
<view class="weui-footer__text">更多服务请联系课程顾问</view>
|
||||||
|
|
|
@ -21,13 +21,15 @@
|
||||||
"checkSiteMap": true,
|
"checkSiteMap": true,
|
||||||
"uploadWithSourceMap": true,
|
"uploadWithSourceMap": true,
|
||||||
"compileHotReLoad": false,
|
"compileHotReLoad": false,
|
||||||
"useMultiFrameRuntime": false,
|
"useMultiFrameRuntime": true,
|
||||||
"useApiHook": true,
|
"useApiHook": true,
|
||||||
|
"useApiHostProcess": false,
|
||||||
"babelSetting": {
|
"babelSetting": {
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"disablePlugins": [],
|
"disablePlugins": [],
|
||||||
"outputPath": ""
|
"outputPath": ""
|
||||||
},
|
},
|
||||||
|
"enableEngineNative": false,
|
||||||
"bundle": false,
|
"bundle": false,
|
||||||
"useIsolateContext": true,
|
"useIsolateContext": true,
|
||||||
"useCompilerModule": true,
|
"useCompilerModule": true,
|
||||||
|
@ -38,7 +40,7 @@
|
||||||
"minifyWXSS": true
|
"minifyWXSS": true
|
||||||
},
|
},
|
||||||
"compileType": "miniprogram",
|
"compileType": "miniprogram",
|
||||||
"libVersion": "2.14.1",
|
"libVersion": "2.16.1",
|
||||||
"appid": "wxf1e9471c93f05ad6",
|
"appid": "wxf1e9471c93f05ad6",
|
||||||
"projectname": "test_mini",
|
"projectname": "test_mini",
|
||||||
"debugOptions": {
|
"debugOptions": {
|
||||||
|
|
|
@ -51,6 +51,57 @@ function request(url, method, data) {
|
||||||
return promise;
|
return promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function requesta(url, method, data) {
|
||||||
|
let promise = new Promise((resolve, reject) => {
|
||||||
|
wx.showNavigationBarLoading();
|
||||||
|
wx.request({
|
||||||
|
url: getApp().globalData.host + url,
|
||||||
|
method: method,
|
||||||
|
data: data,
|
||||||
|
header:{
|
||||||
|
'Authorization': 'JWT ' + getApp().globalData.admintoken
|
||||||
|
},
|
||||||
|
success: (res => {
|
||||||
|
if (res.data.code >= 200 && res.data.code < 400) {
|
||||||
|
resolve(res.data);
|
||||||
|
}else if(res.data.code == 401){
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var msg = '请求错误'
|
||||||
|
if(res.data.msg){
|
||||||
|
msg = res.data.msg
|
||||||
|
}
|
||||||
|
if (msg.indexOf('该操作的权限')!=-1){
|
||||||
|
msg = '权限不足或账户过期,请联系课程顾问'
|
||||||
|
}
|
||||||
|
wx.showToast({
|
||||||
|
title: msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}),
|
||||||
|
fail: (res => {
|
||||||
|
wx.showToast({
|
||||||
|
title: '请求出错',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500
|
||||||
|
})
|
||||||
|
console.log(res)
|
||||||
|
reject('网络出错');
|
||||||
|
}),
|
||||||
|
complete: function () {
|
||||||
|
wx.hideNavigationBarLoading();
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
||||||
|
return promise;
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
request: request
|
request: request,
|
||||||
|
requesta: requesta
|
||||||
}
|
}
|
|
@ -47,6 +47,7 @@ class UserInfoView(APIView):
|
||||||
# 'avatar': request._request._current_scheme_host + '/media/' + str(user.image),
|
# 'avatar': request._request._current_scheme_host + '/media/' + str(user.image),
|
||||||
'avatar': user.avatar,
|
'avatar': user.avatar,
|
||||||
'perms': perms,
|
'perms': perms,
|
||||||
|
'roles':user.roles.values_list('name', flat=True)
|
||||||
}
|
}
|
||||||
|
|
||||||
return Response(data)
|
return Response(data)
|
||||||
|
|
|
@ -45,7 +45,11 @@ class FitJSONRenderer(JSONRenderer):
|
||||||
response = renderer_context.get("response")
|
response = renderer_context.get("response")
|
||||||
response_body.code = response.status_code
|
response_body.code = response.status_code
|
||||||
if response_body.code >= 400: # drf异常
|
if response_body.code >= 400: # drf异常
|
||||||
response_body.msg = data['detail'] if 'detail' in data else data
|
if isinstance(data, dict):
|
||||||
|
data = data[list(data.keys())[0]]
|
||||||
|
if isinstance(data, list):
|
||||||
|
data = data[0]
|
||||||
|
response_body.msg = data
|
||||||
elif data and 'error' in data and data['error']:# 自传异常,key为error
|
elif data and 'error' in data and data['error']:# 自传异常,key为error
|
||||||
response_body.code = data.get("code",400)
|
response_body.code = data.get("code",400)
|
||||||
response_body.msg = data.get("error", "")
|
response_body.msg = data.get("error", "")
|
||||||
|
|
Loading…
Reference in New Issue