提交 4db36ee6 authored 作者: 王鹏飞's avatar 王鹏飞

merge...

const util = require('../utils/util.js')
/**
* 本API中全部用于 消息 相关接口
* 本API中全部用于 消息 相关接口
*/
/* 获取我的消息信息 */
......@@ -8,7 +8,8 @@ const getMyMsg = (callback) => {
util.requestApi({
url: util.config.URL_PATH1 + '/v2/education/message/my',
callback: function (res) {
let json = res.data.map(function (_, i) {
let list = Array.isArray(res.data) ? res.data : res.data.list || []
let json = list.map(function (_, i) {
return {
isRead: false,
id: _.id,
......@@ -23,4 +24,4 @@ const getMyMsg = (callback) => {
}
module.exports = {
getMyMsg: getMyMsg
}
\ No newline at end of file
}
......@@ -27,7 +27,6 @@
"color": "#313131",
"backgroundColor": "#ffffff",
"selectedColor": "#b49441",
"aniamtion": "true",
"list": [
{
"pagePath": "pages/learnSystem/home/home",
......
......@@ -13,7 +13,13 @@ Page({
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo'),
// 绑定手机号 相关
bindphone: { isShow: '', getCode: true, countDown: 60, phone: '', code: '' },
bindphone: {
isShow: '',
getCode: true,
countDown: 60,
phone: '',
code: ''
},
// 绑定账号 相关
bindaccount: { isShow: '', account: '', pwd: '' },
// 是否 可以使用登录
......@@ -42,16 +48,21 @@ Page({
/* 判别 是否显示 账号登录 */
wx.request({
url: util.config.URL_PATH1 + '/switch/lock',
data: {}, method: 'GET', header: { tenant: 'survey', apikey: 'pP5ECUqRDLDzuh4qRuJro0L1LPgjLP0N' }, success: res => {
this.setData({ 'isUseAccountLogin': res.data.switch })
data: {},
method: 'GET',
header: { tenant: 'survey', apikey: 'pP5ECUqRDLDzuh4qRuJro0L1LPgjLP0N' },
success: (res) => {
this.setData({ isUseAccountLogin: res.data.switch })
wx.setStorageSync('isUseAccountLogin', res.data.switch)
}
})
wx.hideLoading();
wx.hideLoading()
},
// e.detail.userInfo,
/* 按键授权,微信新版 - 获取用户信息 - 授权方式 */
getUserInfo: function (e) { this.getInfo() },
getUserInfo: function (e) {
this.getInfo()
},
/* 获取用户信息 并 判别是否跟紫荆账号绑定 */
getInfo: function () {
wx.showLoading({ title: '信息获取中...', mask: true })
......@@ -63,29 +74,46 @@ Page({
wx.setStorageSync('userInfo', {})
if (loginRes.data && loginRes.data.code == 80120) {
/* 判别 是否绑定过 紫荆账号 */
this.popupShow(res); wx.hideLoading(); return;
} else if (loginRes.data && loginRes.data.status && loginRes.data.status != 200) {
wx.hideLoading(); wx.showToast({ title: loginRes.data.message, icon: 'none' }); return;
this.popupShow(res)
wx.hideLoading()
return
} else if (
loginRes.data &&
loginRes.data.status &&
loginRes.data.status != 200
) {
wx.hideLoading()
wx.showToast({ title: loginRes.data.message, icon: 'none' })
return
} else if (loginRes.statusCode != 200) {
wx.hideLoading(); wx.showToast({ title: loginRes.data.message, icon: 'none' }); return;
wx.hideLoading()
wx.showToast({ title: loginRes.data.message, icon: 'none' })
return
} else {
let _userInfo = {
avatarUrl: loginRes.data.avatar || res.userInfo.avatarUrl || '无',
nickName: loginRes.data.nickname || res.userInfo.nickName || '无'
}
wx.setStorageSync('userInfo', _userInfo);
wx.setStorageSync('userInfo', _userInfo)
this.setData({ userInfo: _userInfo, hasUserInfo: true })
wx.hideLoading(); this.goOutSite(); return;
wx.hideLoading()
this.goOutSite()
return
}
// if (res.data.errorCode == 40029) return _that.animteHint("code错误");
} else {
this.setData({ userInfo: wx.getStorageSync('userInfo'), hasUserInfo: true })
wx.hideLoading(); this.goOutSite(); return;
this.setData({
userInfo: wx.getStorageSync('userInfo'),
hasUserInfo: true
})
wx.hideLoading()
this.goOutSite()
return
}
})
},
guestLogin: function () {
this.accountConfirms();
this.accountConfirms()
// return;
// wx.showModal({
// title: '提示', content: '本账户只适用于“体验学习”,正式学习请点击“登录”按钮',
......@@ -100,54 +128,69 @@ Page({
},
//游客登录
accountConfirms: function (e) {
const _that = this;
const _that = this
/* 调用接口 - 使用账号登录 */
wx.request({
url: util.config.URL_PATH2 + '/user_center/login',
data: {
login_name:'18519690645@163.com',
password: md5('uokoaduw' + '123456'.split('').reverse().join('') + 'auhgniq'),
login_name: '18519690645@163.com',
password: md5(
'uokoaduw' + '123456'.split('').reverse().join('') + 'auhgniq'
),
service: 'applet.ezijing.com'
}, method: 'POST', header: {
'tenant': util.config.tenant,
},
method: 'POST',
header: {
tenant: util.config.tenant,
'content-type': 'application/x-www-form-urlencoded',
'version': util.config.version,
'apikey': 'pP5ECUqRDLDzuh4qRuJro0L1LPgjLP0N'
version: util.config.version,
apikey: 'pP5ECUqRDLDzuh4qRuJro0L1LPgjLP0N'
},
success: function (res) {
if (res.statusCode && res.statusCode != 200) { wx.showToast({ title: res.data.message, icon: 'none' }); return; }
wx.hideToast();
wx.setStorageSync('userSession', { sessionKey: res.data.ticket });
if (res.statusCode && res.statusCode != 200) {
wx.showToast({ title: res.data.message, icon: 'none' })
return
}
wx.hideToast()
wx.setStorageSync('userSession', { sessionKey: res.data.ticket })
let _token = wx.getStorageSync('userSession').sessionKey
if (!_token) {
wx.reLaunch({ url: '/pages/index/index' })
return;
return
}
/* 获取用户信息 */
wx.request({
url: util.config.URL_PATH1 + '/user/check-access',
data: {}, method: 'GET', header: {
data: {},
method: 'GET',
header: {
token: _token,
tenant: util.config.tenant,
'apikey': 'pP5ECUqRDLDzuh4qRuJro0L1LPgjLP0N',
'version': util.config.version,
apikey: 'pP5ECUqRDLDzuh4qRuJro0L1LPgjLP0N',
version: util.config.version,
unionid: wx.getStorageSync('union_id')
},
success: res => {
if (res.statusCode != 200 && res.statusCode != 401) { wx.showToast({ title: res.data.message, icon: 'none' }); return; }
success: (res) => {
if (res.statusCode != 200 && res.statusCode != 401) {
wx.showToast({ title: res.data.message, icon: 'none' })
return
}
let _userInfo = {
avatarUrl: res.data.avatar || '无',
avatarUrl: res.data.avatar || '无',
nickName: res.data.nickname || '游客登录'
}
wx.setStorageSync('userInfo', _userInfo);
wx.setStorageSync('userInfo', _userInfo)
_that.setData({ userInfo: _userInfo, hasUserInfo: true })
_that.popupClose()
_that.goOutSite()
}
})
},
fail: function (res) { wx.hideToast(); wx.showToast({ title: res, icon: 'none' }); }
fail: function (res) {
wx.hideToast()
wx.showToast({ title: res, icon: 'none' })
}
})
},
/* 手机号绑定 方法 */
......
......@@ -7,13 +7,13 @@ Page({
*/
data: {
msgList: [
// {
// isRead: false,
// id: '1',
// text: '2017年春季班三期班第三学期课程已经正式开始,作业截止提交时间为2018年1月10日,请三期班同学们合理安排学习时间。2017年春季班三期班第三学期课程已经正式开始,作业截止提交时间为2018年1月10日,请三期班同学们合理安排学习时间。',
// time: '2015-05-22 15:51',
// isShow: false // 该字段用来做 每条信息的打开、关闭
// }
// {
// isRead: false,
// id: '1',
// text: '2017年春季班三期班第三学期课程已经正式开始,作业截止提交时间为2018年1月10日,请三期班同学们合理安排学习时间。2017年春季班三期班第三学期课程已经正式开始,作业截止提交时间为2018年1月10日,请三期班同学们合理安排学习时间。',
// time: '2015-05-22 15:51',
// isShow: false // 该字段用来做 每条信息的打开、关闭
// }
]
},
/**
......@@ -22,7 +22,7 @@ Page({
onLoad: function (options) {
wx.showLoading({ title: '页面加载中...', mask: true })
MsgApi.getMyMsg((json) => {
this.setData({ 'msgList': json })
this.setData({ msgList: json })
wx.hideLoading()
})
},
......@@ -47,15 +47,15 @@ Page({
*/
onPullDownRefresh: function () {
// 显示顶部刷新图标
wx.showNavigationBarLoading();
wx.showNavigationBarLoading()
wx.showLoading({ title: '更新中...', mask: true })
MsgApi.getMyMsg((json) => {
this.setData({ 'msgList': json })
this.setData({ msgList: json.list })
wx.hideLoading()
// 隐藏导航栏加载框
wx.hideNavigationBarLoading();
wx.hideNavigationBarLoading()
// 停止下拉动作
wx.stopPullDownRefresh();
wx.stopPullDownRefresh()
})
},
/**
......@@ -81,11 +81,11 @@ Page({
* 滚动到底部,加载更多数据
*/
loadmore: function () {
let _that = this;
let _that = this
wx.showLoading({ title: '数据加载中...', mask: true })
setTimeout(function () {
wx.showToast({ title: '没有更多了', icon: 'none' })
wx.hideLoading()
}, 2000)
}
})
\ No newline at end of file
})
......@@ -5,12 +5,12 @@
*/
var Audio = function (src, _that) {
if (!(this instanceof Audio)) {
return new Audio(src, _that);
return new Audio(src, _that)
} else {
this._audio = this.init(src, _that);
this.currentTime = 0; // 当前时间
this.totalTime = 0; // 总时间
this.rateIndex = 2; // 取值为 RATE中的 下标 0,1,2,3,4
this._audio = this.init(src, _that)
this.currentTime = 0 // 当前时间
this.totalTime = 0 // 总时间
this.rateIndex = 2 // 取值为 RATE中的 下标 0,1,2,3,4
}
}
/**
......@@ -21,44 +21,54 @@ var Audio = function (src, _that) {
* stop - 视频停止
* seek - 视频跳到某个位置再播放
* rate - 视频播放速率调整
*
*
*/
Audio.prototype = {
constructor: Audio,
RATE: ['0.5', '0.8', '1.0', '1.25', '1.5'],
init: function (src, _that) {
let _auCtx = wx.createInnerAudioContext();
_auCtx.autoplay = false;
_auCtx.src = src;
let _auCtx = wx.createInnerAudioContext()
wx.setInnerAudioOption({ obeyMuteSwitch: false })
_auCtx.autoplay = false
_auCtx.src = src
/* 使用绑定事件,代替wxml中的事件绑定 */
_auCtx.onTimeUpdate(() => { let e = { detail: { currentTime: _auCtx.currentTime, duration: _auCtx.duration } }; _that.timeUpdate(e) })
_auCtx.onPlay(() => { _that.beginPlayVA() })
_auCtx.onError((e) => { _that.playError(e) })
_auCtx.onEnded(() => { _that.playEnded })
return _auCtx;
_auCtx.onTimeUpdate(() => {
let e = {
detail: { currentTime: _auCtx.currentTime, duration: _auCtx.duration }
}
_that.timeUpdate(e)
})
_auCtx.onPlay(() => {
_that.beginPlayVA()
})
_auCtx.onError((e) => {
_that.playError(e)
})
_auCtx.onEnded(() => {
_that.playEnded
})
return _auCtx
},
play: function () {
this._audio.play();
this._audio.play()
},
pause: function () {
this._audio.pause();
this._audio.pause()
},
stop: function () {
this._audio.stop();
this._audio.stop()
},
seek: function (time) {
this._audio.seek(time);
this._audio.seek(time)
},
fastSlow15: function (timeStr) {
this._audio.seek(this.currentTime + parseInt(timeStr));
this._audio.seek(this.currentTime + parseInt(timeStr))
},
rate: function () {
this.rateIndex++;
if (this.rateIndex > 4) this.rateIndex = 0;
this._audio.playbackRate(parseFloat(this.RATE[this.rateIndex]));
this.rateIndex++
if (this.rateIndex > 4) this.rateIndex = 0
this._audio.playbackRate(parseFloat(this.RATE[this.rateIndex]))
}
}
module.exports = {
Audio: Audio
......
<template name='contentAudio'>
<view class='content-audio'
style='{{status.isSet && status.isAudio ? "display: none;" : "" }} {{status.isImages && status.isAudio ? "display: none;" : "" }} {{status.isVideo ? "display: none;" : "" }}'
>
<view class='content-audio' wx:if="{{status.isAudio}}">
<image src='./contentAudio/icons/loading_small.gif' class='loading-image {{status.imagesLoaded && "none"}}' mode='aspectFit'/>
<image wx:if='{{image.imgUrls[image.current]}}' src='{{image.imgUrls[image.current]}}' class='slide-image' mode='aspectFill' bindload='imagesLoaded'/>
<view wx:if='{{!image.imgUrls[image.current]}}' class='slide-image'>本课程暂无PPT</view>
......
<template name='contentVideo'>
<!-- 这里加 这么多判断原因,video组件在真机上测试,一定在最上层,其他任何元素都挡不住,只能先隐藏,需要时再显示 -->
<view class='content-video'
style='{{status.isSet && status.isVideo ? "display: none;" : "" }} {{status.isImages && status.isVideo ? "display: none;" : "" }} {{status.isAudio ? "display: none;" : "" }} {{chapterList.isShow && status.isVideo ? "display: none;" : "" }} {{ status.isLoading ? "display: none": "" }}'
>
<view class='content-video' wx:if="{{status.isVideo}}">
<video id='my-video' class='my-video' src='{{video.src}}' show-center-play-btn='{{false}}' controls='{{false}}' bindtimeupdate='timeUpdate' bindfullscreenchange='beginAndOutFullScreen' bindpause='beginPauseVA' bindplay='beginPlayVA' binderror='playError' bindended='playEnded' autoplay='{{true}}'></video>
</view>
</template>
\ No newline at end of file
......@@ -13,14 +13,16 @@
<template is='pageLoading'></template>
</block>
<block wx:if='{{status.isSupport}}'>
<template is='contentAudio' data='{{status, audio, image, ctrlBar}}'></template>
<template is='contentVideo' data='{{status, video, chapterList, ctrlBar}}'></template>
<block wx:if='{{status.isSet}}'>
<template is='setContent' data='{{ctrlBar}}'></template>
</block><block wx:elif='{{status.isImages}}'>
</block>
<block wx:elif='{{status.isImages}}'>
<template is='contentImages' data='{{status, image}}'></template>
</block>
<template is='contentAudio' data='{{status, audio, image, ctrlBar}}'></template>
<template is='contentVideo' data='{{status, video, chapterList, ctrlBar}}'></template>
</block><block wx:else>
</block>
<block wx:else>
<template is='noSupport'></template>
</block>
<template is='controlBar' data='{{status, video, ctrlBar, chapterList, initVAFlag}}'></template>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论