|
|
|
import matrix from 'matrix-js-sdk';
|
|
|
|
import Vue from 'vue'
|
|
|
|
import main from '@/main.js';
|
|
|
|
const matrix_cli = matrix.createClient("https://adb.sh");
|
|
|
|
|
|
|
|
let session = {
|
|
|
|
user: "",
|
|
|
|
password: "",
|
|
|
|
access_token: "",
|
|
|
|
rooms: [],
|
|
|
|
current_room: "open chat"
|
|
|
|
};
|
|
|
|
let rooms = [];
|
|
|
|
|
|
|
|
export default {
|
|
|
|
data(){
|
|
|
|
return {
|
|
|
|
session: session,
|
|
|
|
rooms: rooms
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
login(){
|
|
|
|
matrix_cli.login("m.login.password", {
|
|
|
|
user: session.user,
|
|
|
|
password: session.password,
|
|
|
|
initial_device_display_name: "matrix chat",
|
|
|
|
}).then((response) => {
|
|
|
|
console.log(`access token => ${response.access_token}`);
|
|
|
|
session = {access_token: response.access_token}
|
|
|
|
if (response.error){
|
|
|
|
main.methods.error(response.error)
|
|
|
|
console.log(`login error => ${response.error}`)
|
|
|
|
}
|
|
|
|
main.methods.router({path: "rooms/"})
|
|
|
|
matrix_cli.startClient();
|
|
|
|
matrix_cli.once('sync', function (state){
|
|
|
|
console.log(state)
|
|
|
|
})
|
|
|
|
});
|
|
|
|
/*let i=0;
|
|
|
|
let checkRooms = setInterval(()=>{
|
|
|
|
rooms = matrix_cli.getRooms()
|
|
|
|
console.log("asdasd"+rooms.length)
|
|
|
|
if (rooms.length !== 0 || i>10) clearInterval(checkRooms)
|
|
|
|
i++;
|
|
|
|
},500)*/
|
|
|
|
},
|
|
|
|
getRooms(){
|
|
|
|
rooms.push(matrix_cli.getRooms())
|
|
|
|
return rooms
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
new Vue({
|
|
|
|
el: '#roomList',
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
rooms: [],
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
matrix_cli.on("event", function(event){
|
|
|
|
console.log(event.getType());
|
|
|
|
console.log(event);
|
|
|
|
session.rooms = matrix_cli.getRooms()
|
|
|
|
console.log(session.rooms)
|
|
|
|
})
|