3 Commits

Author SHA1 Message Date
cb95d1ead1 链接登录退出 2020-08-18 15:08:42 +08:00
43e09e977d 修复 2020-08-18 11:40:53 +08:00
9f17c5478c 提交 2020-08-18 10:43:15 +08:00
7 changed files with 91 additions and 53 deletions

View File

@@ -26,6 +26,12 @@
plus.navigator.closeSplashscreen(); plus.navigator.closeSplashscreen();
},3000) },3000)
// #endif // #endif
},
onShow(){
},
onHide(){
}, },
methods: { methods: {
...mapMutations(['loginIn']), ...mapMutations(['loginIn']),

View File

@@ -61,6 +61,7 @@
</view> </view>
</template> </template>
<script> <script>
import IMService from '@/static/imservice.js'
import identifying from '@/components/logininput/identifying' import identifying from '@/components/logininput/identifying'
import { import {
mapMutations mapMutations
@@ -107,6 +108,8 @@
let pages = getCurrentPages(); let pages = getCurrentPages();
let prePage = pages[pages.length - 2]; let prePage = pages[pages.length - 2];
this.temp_url = prePage.route; this.temp_url = prePage.route;
console.log(this.imService.lianjie)
this.imService.disconnect()
// console.log(this.temp_url); // console.log(this.temp_url);
}, },
// 切断正常返回 // 切断正常返回
@@ -181,6 +184,7 @@
me.loginIn(res.data.token); //存储一个字符传值 me.loginIn(res.data.token); //存储一个字符传值
// 缓存用户的信息 // 缓存用户的信息
uni.setStorageSync('user_info',res.data); uni.setStorageSync('user_info',res.data);
this.imService.disconnect()
if (res.data.member.has_labels) { if (res.data.member.has_labels) {
uni.switchTab({ uni.switchTab({
url: '/pages/index/index' url: '/pages/index/index'

View File

@@ -23,6 +23,7 @@
import { import {
mapMutations mapMutations
} from 'vuex'; } from 'vuex';
import IMService from '@/static/imservice.js'
export default { export default {
data() { data() {
return { return {
@@ -88,7 +89,8 @@
url: url url: url
}); });
}, },
loginOut() { async loginOut() {
let im = this.imService
this.logout(); this.logout();
uni.redirectTo({ uni.redirectTo({
url: "../../pageA/login/login", url: "../../pageA/login/login",

View File

@@ -270,7 +270,39 @@
onShow() { onShow() {
this.page = 1; this.page = 1;
if (this.page != 1) { if (this.page != 1) {
} }
console.log(this.imService.status)
if(!this.imService.status && this.$store.state.hasLogin){
const user = uni.getStorageSync('user_info');
// console.log(user)
this.imService.login(user.member.member_id,user.member.member_nickname,user.member.member_avatar)
this.imService.connectIM()
}else if(!this.imService.status){
this.$u.api.getDefaultAvatar().then((res)=>{
console.log(res)
uni.setStorageSync("morenimg",res.data.avatar)
this.imService.login(new Date().getTime(),"123",res.data.avatar)
this.imService.connectIM()
console.log("用户信息")
})
console.log("链接")
}
// if(!this.imService.status && !this.imService.lianjie){
// console.log("1212")
// this.imService.lianjie = true
// let that = this
// setTimeout(function(){
// that.imService.disconnect()
// console.log("guanbi")
// },1000)
// setTimeout(function(){
// console.log("lianjie")
// that.imService.connectIM()
// },2000)
// }
// if (this.hasLogin) { // if (this.hasLogin) {
// this.isNewmembervoucher(); // this.isNewmembervoucher();
// } // }
@@ -278,36 +310,37 @@
async onLoad(){ async onLoad(){
this.articleList = []; this.articleList = [];
this.getArticlelist(); this.getArticlelist();
this.getSwiper(); this.getSwiper();
// 优惠券
if(this.$store.state.hasLogin){
this.isNewmembervoucher(); this.isNewmembervoucher();
const user = uni.getStorageSync('user_info');
// console.log(user) // 优惠券
this.imService.login(user.member.member_id,user.member.member_nickname,user.member.member_avatar) // if(this.$store.state.hasLogin){
await this.imService.connectIM() // const user = uni.getStorageSync('user_info');
// // console.log(user)
// this.imService.login(user.member.member_id,user.member.member_nickname,user.member.member_avatar)
// await this.imService.connectIM()
}else{ // }else{
await this.$u.api.getDefaultAvatar().then((res)=>{ // await this.$u.api.getDefaultAvatar().then((res)=>{
console.log(res) // console.log(res)
uni.setStorageSync("morenimg",res.data.avatar) // uni.setStorageSync("morenimg",res.data.avatar)
this.imService.login(new Date().getTime(),"123",res.data.avatar) // this.imService.login(new Date().getTime(),"123",res.data.avatar)
console.log("用户信息") // console.log("用户信息")
}) // })
console.log("链接") // console.log("链接")
await this.imService.connectIM() // await this.imService.connectIM()
} // }
console.log("1212") // console.log("1212")
let that = this // let that = this
setTimeout(function(){ // setTimeout(function(){
that.imService.disconnect() // that.imService.disconnect()
console.log("guanbi") // console.log("guanbi")
},1000) // },1000)
setTimeout(function(){ // setTimeout(function(){
console.log("lianjie") // console.log("lianjie")
that.imService.connectIM() // that.imService.connectIM()
},2000) // },2000)
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.page = 1; this.page = 1;

View File

@@ -417,32 +417,13 @@ export default {
// that.list= res.data.data // that.list= res.data.data
} }
}) })
//当前用户
var currentUser = {}
if(this.$store.state.hasLogin){
const user = uni.getStorageSync('user_info');
currentUser = {
id : user.member.member_id,
nickname : user.member.member_nickname,
avatar: user.member.member_avatar
};
}else{
const user = uni.getStorageSync('morenimg');
currentUser = {
id : new Date().getTime(),
nickname : "123",
avatar: user
};
}
var room = { var room = {
id : a.rid + "", id : a.rid + "",
name : a.rid + "" name : a.rid + ""
}; };
that.chatRoomService = getApp().globalData.im that.chatRoomService = getApp().globalData.im
console.log(room,currentUser)
//构造chatRoomService //构造chatRoomService
that.chatRoomService.subscribeRoomMessage(room,currentUser) that.chatRoomService.subscribeRoomMessage(room)
//获取当前聊天室数据 //获取当前聊天室数据
that.room = that.chatRoomService.room; that.room = that.chatRoomService.room;
that.chatRoomService.initialWhenOnlineUserChange(that.newpeople) that.chatRoomService.initialWhenOnlineUserChange(that.newpeople)

File diff suppressed because one or more lines are too long

View File

@@ -6,6 +6,7 @@
*/ */
import GoEasyIM from './goeasy-im-1.0.9'; import GoEasyIM from './goeasy-im-1.0.9';
// import GoEasyIM from './goeasy-im-1.1.1';
import restApi from './restapi'; import restApi from './restapi';
function Friend(uuid, name, avatar,time = "", text = "",date = "",unReadMessage = 0) { function Friend(uuid, name, avatar,time = "", text = "",date = "",unReadMessage = 0) {
@@ -38,6 +39,7 @@ function IMService() {
appkey:'BC-453aa755c4ea48148abefc55a86df283' appkey:'BC-453aa755c4ea48148abefc55a86df283'
}); });
this.status = false this.status = false
this.lianjie = false
//当前“我” //当前“我”
this.currentUser = null; this.currentUser = null;
//我的好友 //我的好友
@@ -84,6 +86,7 @@ function IMService() {
IMService.prototype.login = function (uuid, name, avatar) { IMService.prototype.login = function (uuid, name, avatar) {
//初始化当前用户 //初始化当前用户
this.currentUser = new CurrentUser(uuid, name, avatar); this.currentUser = new CurrentUser(uuid, name, avatar);
//初始化联系人信息,包括群 //初始化联系人信息,包括群
this.initialContacts(); this.initialContacts();
return true; return true;
@@ -203,6 +206,7 @@ IMService.prototype.resetFriendUnReadMessage = function (friend) {
//连接GoEasy //连接GoEasy
IMService.prototype.connectIM = function () { IMService.prototype.connectIM = function () {
//初始化IM相关的监听器 //初始化IM相关的监听器
try { try {
this.initialIMListeners(); this.initialIMListeners();
@@ -210,6 +214,7 @@ IMService.prototype.connectIM = function () {
console.log(123) console.log(123)
} }
try { try {
console.log(this.currentUser)
this.im.connect({ this.im.connect({
id: this.currentUser.uuid, id: this.currentUser.uuid,
data: { data: {
@@ -226,7 +231,6 @@ IMService.prototype.connectIM = function () {
this.subscribeFriendsPresence(); this.subscribeFriendsPresence();
}).catch(error => { }).catch(error => {
console.log('连接失败,请确保网络正常appkey和host正确code:' + error.code + " content:" + error.content); console.log('连接失败,请确保网络正常appkey和host正确code:' + error.code + " content:" + error.content);
this.connectIM()
}); });
} catch (error) { } catch (error) {
console.log(12323) console.log(12323)
@@ -244,6 +248,7 @@ IMService.prototype.initialIMListeners = function () {
this.im.on(GoEasyIM.EVENT.DISCONNECTED, () => { this.im.on(GoEasyIM.EVENT.DISCONNECTED, () => {
console.log('连接断开.') console.log('连接断开.')
this.status = false this.status = false
this.lianjie = false
}); });
//监听好友上下线 //监听好友上下线
@@ -831,7 +836,7 @@ IMService.prototype.listenerGroupPresence = function () {
//查询和初始化在线用户列表和在线用户数 //查询和初始化在线用户列表和在线用户数
IMService.prototype.initialOnlineUsers = function (roomId) { IMService.prototype.initialOnlineUsers = function (roomId) {
let self = this; let self = this;
console.log(roomId)
//查询最新上线的用户列表 //查询最新上线的用户列表
this.im.groupHereNow(roomId) this.im.groupHereNow(roomId)
.then(result => { .then(result => {
@@ -850,7 +855,7 @@ IMService.prototype.initialOnlineUsers = function (roomId) {
if (e.code == 401) { if (e.code == 401) {
console.log("您还没有开通用户在线状态提醒登录goeasy->我的应用->查看详情->高级功能,自助开通."); console.log("您还没有开通用户在线状态提醒登录goeasy->我的应用->查看详情->高级功能,自助开通.");
} else { } else {
console.log(e); console.log(e,1212);
} }
}); });
//获取聊天室在线用户数 //获取聊天室在线用户数
@@ -873,7 +878,12 @@ IMService.prototype.subscribePresence = function (roomId) {
} }
//订阅聊天室消息 //订阅聊天室消息
IMService.prototype.subscribeRoomMessage = function (room, user) { IMService.prototype.subscribeRoomMessage = function (room) {
let user = {
id:this.currentUser.uuid,
nickname:this.currentUser.name,
avatar:this.currentUser.avatar
}
this.room = new Room(room.id, room.name, user); this.room = new Room(room.id, room.name, user);