Commit c35e2b5b by 高淑倩

add: 动态设置导航栏背景颜色

parent 2181b981
......@@ -32,6 +32,8 @@ wxService.page({
* 生命周期函数--监听页面加载
*/
onLoad () {
// 设置 导航栏背景颜色
// wxService.getNavBarBackGroundColor('#000000', '#ff0000')
this.setData(
{
pages: [],
......
......@@ -8,7 +8,9 @@ import {
} from './helper'
import Router from './router'
import ManageDate from './manageDate'
import { cEvent } from './event'
import {
cEvent
} from './event'
import Http from './Http'
const Promise = require('../lib/bluebird')
const config = require('../config/index').envInfo
......@@ -19,13 +21,13 @@ let openCardLister = null
*/
const manageDate = new ManageDate()
class WXService extends Http {
constructor () {
constructor() {
super()
this.Promise = Promise
this.currentPage = null
}
getToken () {
getToken() {
return super.getToken()
}
......@@ -33,7 +35,7 @@ class WXService extends Http {
* 所有接口中返回401就登录
* 返回402 重试 (getUserInfoLimitCount:重试次数),超过重试次数提示会员系统异常,请联系管理员
*/
request ({
request({
url,
data,
header,
......@@ -42,7 +44,8 @@ class WXService extends Http {
responseType,
success,
fail,
complete }) {
complete
}) {
return super.request.apply(this, arguments).finally(() => {
this.setPageLoadStatus()
wx.hideLoading()
......@@ -77,7 +80,7 @@ class WXService extends Http {
// const perpage = pages[pages.length - 1]
// perpage.onShow()
// },2000)
// }
if (res.msg && res.msg.indexOf('未登录') > -1) {
if (!this.getUserInfoLimitCount) {
......@@ -95,7 +98,7 @@ class WXService extends Http {
} else {
this.reLogin()
}
} else if(res.msg && res.msg.indexOf('请重新授权') > -1) {
} else if (res.msg && res.msg.indexOf('请重新授权') > -1) {
wx.setStorageSync('reLoginErr', true)
// wxService.router(`/pages/userCenter/userCenter`).replace()
console.log("授权跳转")
......@@ -105,7 +108,7 @@ class WXService extends Http {
}
// 所有页面都有接口load状态
setPageLoadStatus () {
setPageLoadStatus() {
if (this.currentPage) {
this.nextTick(() => {
this.currentPage.setData({
......@@ -120,52 +123,57 @@ class WXService extends Http {
* @param url
* @param switchTab 是否是switchTab导航
*/
router (url, switchTab) {
router(url, switchTab) {
return new Router(url, switchTab)
}
back (dintance) {
back(dintance) {
this.router().back(dintance)
}
replace (url) {
replace(url) {
this.router(url).replace()
}
all () {
all() {
return Promise.all.apply(Promise, arguments)
}
/**
* 更新缓存 登陆
*
*/
*/
reLogin() {
wx.setStorageSync('token', '')
const app = getApp()
var _this = this
return _this.login().then(result=>{
if(result.code){
return _this.login().then(result => {
if (result.code) {
_this.post(`/member/minaLogin`, {
code: result.code,
wechatInfo: null,
brandId: app.globalData.brandId,
}).then(response=>{
}).then(response => {
let dataResp = response.data.data
wx.setStorageSync('token', dataResp.token)
wx.setStorageSync('_baseUserInfo', dataResp)
return Promise.resolve({ response })
}).catch(err=>{
return Promise.resolve({
response
})
}).catch(err => {
return Promise.reject(err)
})
} else {
return Promise.reject({ state: 2, info: res.data.data })
return Promise.reject({
state: 2,
info: res.data.data
})
}
}).catch(err=>{
}).catch(err => {
console.log(err)
})
}
}
login () {
login() {
return new Promise((resolve, reject) => {
wx.login({
success: (res) => {
......@@ -179,7 +187,7 @@ class WXService extends Http {
})
}
getBaseUserInfo () {
getBaseUserInfo() {
if (!this.baseUserInfo) {
let baseUserInfo = wx.getStorageSync('_baseUserInfo')
this.baseUserInfo = baseUserInfo
......@@ -188,7 +196,7 @@ class WXService extends Http {
}
// 通过unionId获取用户信息并更新token(防止token信息过期)
getUserInfo () {
getUserInfo() {
const baseUserInfo = this.getBaseUserInfo()
wx.showLoading({
title: '正在加载...',
......@@ -203,30 +211,40 @@ class WXService extends Http {
console.log('i-user/info res is %o ', res)
if (res.data.code === -10001) {
this.showToast(`${res.data.message}`)
return Promise.reject({ state: -10001 })
return Promise.reject({
state: -10001
})
} else if (res.data.data.isMember === '1') {
let baseUserInfo = this.getBaseUserInfo()
let newBaseUserInfo = { ...baseUserInfo, ...res.data.data }
let newBaseUserInfo = { ...baseUserInfo,
...res.data.data
}
this.baseUserInfo = newBaseUserInfo
wx.setStorageSync('_baseUserInfo', newBaseUserInfo)
// wx.setStorageSync('buyer-token', res.data.data.token)
wx.setStorageSync('token', res.data.data.token)
this.startReport()
return Promise.resolve({ state: 1, info: res.data.data })
return Promise.resolve({
state: 1,
info: res.data.data
})
} else {
// this.openCard()
return Promise.resolve({ state: 2, info: res.data.data })
return Promise.resolve({
state: 2,
info: res.data.data
})
}
}).finally(() => {
wx.hideLoading()
})
}
getManageDate () {
getManageDate() {
return manageDate
}
selectAll (selector, options) {
selectAll(selector, options) {
return new Promise((resolve, reject) => {
wx.createSelectorQuery().selectAll('.page-body').fields(options, (res) => {
resolve(res)
......@@ -234,15 +252,15 @@ class WXService extends Http {
})
}
scrollOffset () {
scrollOffset() {
return new Promise((resolve, reject) => {
wx.createSelectorQuery().selectViewport().scrollOffset(function (res) {
wx.createSelectorQuery().selectViewport().scrollOffset(function(res) {
resolve(res)
}).exec()
})
}
showModal (config = {}) {
showModal(config = {}) {
return new Promise((resolve, reject) => {
wx.showModal({
...config,
......@@ -260,7 +278,7 @@ class WXService extends Http {
})
}
getSystemInfo () {
getSystemInfo() {
return new Promise((resolve, reject) => {
wx.getSystemInfo({
success: (res) => {
......@@ -276,6 +294,17 @@ class WXService extends Http {
})
}
getNavBarBackGroundColor(fc,bgc) {
wx.setNavigationBarColor({
frontColor: fc,
backgroundColor: bgc,
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
}
// handlerPage (page) {
// const AccreditWhitePages = [
......@@ -334,7 +363,7 @@ class WXService extends Http {
// }
// 设置异步的全局变量值
initAppGlobalDataSync () {
initAppGlobalDataSync() {
const app = this.getApp()
if (!app.globalData.userInfo) {
const userInfo = wx.getStorageSync('_userInfo')
......@@ -350,35 +379,35 @@ class WXService extends Http {
}
}
page (config) {
page(config) {
const _self = this
const CONFIG_PAPGE = {
onLoad: function (...args) {
onLoad: function(...args) {
const page = this
_self.initAppGlobalDataSync()
config.onLoad && config.onLoad.apply(page, args)
},
onShow: function (...args) {
onShow: function(...args) {
const page = this
_self.currentPage = page
config.onShow && config.onShow.apply(page, args)
},
onReady: function (...args) {
onReady: function(...args) {
config.onReady && config.onReady.apply(this, args)
},
onHide: function (...args) {
onHide: function(...args) {
const page = this
config.onHide && config.onHide.apply(this, args)
},
onUnload: function (...args) {
onUnload: function(...args) {
config.onUnload && config.onUnload.apply(this, args)
},
onPageScroll: function (...args) {
onPageScroll: function(...args) {
config.onPageScroll && config.onPageScroll.apply(this, args)
},
onShareAppMessage: function (...args) {
onShareAppMessage: function(...args) {
const page = this
const baseUserInfo = wx.getStorageSync('_baseUserInfo')
let openId = ''
......@@ -390,7 +419,7 @@ class WXService extends Http {
try {
let shareConfig = config.onShareAppMessage.apply(this, args)
if (!shareConfig) {
} else {
}
......@@ -404,7 +433,7 @@ class WXService extends Http {
Page(Object.assign({}, config, CONFIG_PAPGE))
}
checkSession () {
checkSession() {
return new Promise((resolve, reject) => {
wx.checkSession({
success: (data) => {
......@@ -417,7 +446,7 @@ class WXService extends Http {
})
}
nextTick (fn) {
nextTick(fn) {
if (wx.nextTick) {
wx.nextTick(() => {
fn()
......@@ -429,14 +458,17 @@ class WXService extends Http {
}
}
showToast ({ title, icon = 'none' }) {
showToast({
title,
icon = 'none'
}) {
wx.showToast({
title,
icon
})
}
getConnectedWifi () {
getConnectedWifi() {
return new Promise((resolve, reject) => {
wx.getConnectedWifi({
success: (res) => {
......@@ -450,21 +482,29 @@ class WXService extends Http {
})
}
navigateToMiniProgram (options) {
navigateToMiniProgram(options) {
const _self = this
const promise = new Promise((resolve, reject) => {
if (!openCardLister) {
openCardLister = cEvent.on('openCardSuccess', function (data) {
openCardLister = cEvent.on('openCardSuccess', function(data) {
openCardLister = null
resolve(data)
})
}
this.showOpenCardModal({ _self, options, reject })
this.showOpenCardModal({
_self,
options,
reject
})
})
return promise
}
showOpenCardModal({ options, _self, reject }) {
showOpenCardModal({
options,
_self,
reject
}) {
if (this.showOpenCardModelLock) {
return false
}
......@@ -473,11 +513,11 @@ class WXService extends Http {
wx.navigateToMiniProgram({
appId: 'wxeb490c6f9b154ef9', // 固定为此 appid,不可改动
extraData: options, // 包括 encrypt_card_id, outer_str, biz三个字段,须从 step3 中获得的链接中获取参数
success: function (data) {
success: function(data) {
console.log('navigateToMiniProgram success data is %o', data)
_self.lock = false
},
fail: function (data) {
fail: function(data) {
console.log('navigateToMiniProgram fail data is %o', data)
this.router('/pages/userCenter/userCenter')
// this.router('/pages/welcome/welcome')
......@@ -521,7 +561,7 @@ class WXService extends Http {
}
/**
* 开卡
*/
*/
openCard() {
const baseUserInfo = wx.getStorageSync('_baseUserInfo')
return new Promise((resolve, reject) => {
......@@ -537,7 +577,9 @@ class WXService extends Http {
outer_str: baseUserInfo.outerStr
})
} else {
reject({ state: 0 })
reject({
state: 0
})
}
})
// 注释原因 所有跳转前 判断新老会员
......@@ -563,22 +605,25 @@ class WXService extends Http {
*/
openCardList() {
// wechatCardId wechatCode
const {wechatCardId,wechatCode} = wx.getStorageSync('_baseUserInfo')
const {
wechatCardId,
wechatCode
} = wx.getStorageSync('_baseUserInfo')
wx.openCard({
cardList: [{
cardId: wechatCardId,
code: wechatCode
}],
success (res) {
success(res) {
console.log('openCardList success', res)
},
fail(err){
fail(err) {
console.log('openCardList fail data is %o', err)
}
})
}
getRandom (num = 1) {
getRandom(num = 1) {
let random = Math.random()
if (random < 0.1) {
random += 0.1
......@@ -591,8 +636,8 @@ class WXService extends Http {
}
// 打开登录弹框
openAuthModal(){
return new Promise((resolve,reject)=>{
openAuthModal() {
return new Promise((resolve, reject) => {
resolve({
isAuthorization: true
})
......@@ -602,4 +647,4 @@ class WXService extends Http {
}
const wxService = new WXService()
module.exports = wxService
module.exports = wxService
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment