version
This commit is contained in:
parent
66aaf64c81
commit
b38fb967a0
42
demo.js
42
demo.js
@ -17,6 +17,37 @@ fm.btoa("0002", (data) => {
|
|||||||
console.log(data)
|
console.log(data)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
console.log("----------------")
|
||||||
|
fm.delete("频道一号", "0003")
|
||||||
|
// 操作所有订阅了频道一的用户
|
||||||
|
fm.atob("频道一号", (data) => {
|
||||||
|
console.log(data)
|
||||||
|
})
|
||||||
|
|
||||||
|
console.log("----------------")
|
||||||
|
fm.adelete("0001")
|
||||||
|
// 操作所有订阅了频道一的用户
|
||||||
|
fm.atob("频道一号", (data) => {
|
||||||
|
console.log(data)
|
||||||
|
})
|
||||||
|
|
||||||
|
fm.btoa("0002", (data) => {
|
||||||
|
console.log(data)
|
||||||
|
})
|
||||||
|
|
||||||
|
console.log("----------------")
|
||||||
|
fm.bdelete("频道一号")
|
||||||
|
// 操作所有订阅了频道一的用户
|
||||||
|
fm.atob("频道一号", (data) => {
|
||||||
|
console.log(data)
|
||||||
|
})
|
||||||
|
|
||||||
|
fm.btoa("0002", (data) => {
|
||||||
|
console.log(data)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// console print:
|
// console print:
|
||||||
//
|
//
|
||||||
// 0001
|
// 0001
|
||||||
@ -24,4 +55,13 @@ fm.btoa("0002", (data) => {
|
|||||||
// 0003
|
// 0003
|
||||||
// 0004
|
// 0004
|
||||||
// 频道一号
|
// 频道一号
|
||||||
//
|
// ----------------
|
||||||
|
// 0001
|
||||||
|
// 0002
|
||||||
|
// 0004
|
||||||
|
// ----------------
|
||||||
|
// 0002
|
||||||
|
// 0004
|
||||||
|
// 频道一号
|
||||||
|
// ----------------
|
||||||
|
//
|
||||||
|
24
index.js
24
index.js
@ -9,6 +9,7 @@ export default class interrelated {
|
|||||||
let channel = this.channels.get(fid) || new Map()
|
let channel = this.channels.get(fid) || new Map()
|
||||||
if (!channel.size) this.channels.set(fid, channel)
|
if (!channel.size) this.channels.set(fid, channel)
|
||||||
channel.set(uid, true)
|
channel.set(uid, true)
|
||||||
|
|
||||||
let user = this.users.get(uid) || new Map()
|
let user = this.users.get(uid) || new Map()
|
||||||
if (!user.size) this.users.set(uid, user)
|
if (!user.size) this.users.set(uid, user)
|
||||||
user.set(fid, true)
|
user.set(fid, true)
|
||||||
@ -18,8 +19,11 @@ export default class interrelated {
|
|||||||
delete(fid, uid) {
|
delete(fid, uid) {
|
||||||
let channel = this.channels.get(fid)
|
let channel = this.channels.get(fid)
|
||||||
if (channel && channel.size) channel.delete(uid)
|
if (channel && channel.size) channel.delete(uid)
|
||||||
|
if (channel && channel.size === 0) this.channels.delete(fid)
|
||||||
|
|
||||||
let user = this.users.get(uid)
|
let user = this.users.get(uid)
|
||||||
if (user && user.size) user.delete(fid)
|
if (user && user.size) user.delete(fid)
|
||||||
|
if (user && user.size === 0) this.users.delete(uid)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 读取类型 A 关联的 B
|
// 读取类型 A 关联的 B
|
||||||
@ -42,6 +46,26 @@ export default class interrelated {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 移除 A 中所有指定数据
|
||||||
|
adelete(uid) {
|
||||||
|
let user = this.users.get(uid)
|
||||||
|
if (user && user.size) user.forEach((value, key) => {
|
||||||
|
let channel = this.channels.get(key)
|
||||||
|
if (channel && channel.size) channel.delete(uid)
|
||||||
|
})
|
||||||
|
this.users.delete(uid)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 移除 B 中所有指定数据
|
||||||
|
bdelete(fid) {
|
||||||
|
let channel = this.channels.get(fid)
|
||||||
|
if (channel && channel.size) channel.forEach((value, key) => {
|
||||||
|
let user = this.users.get(key)
|
||||||
|
if (user && user.size) user.delete(fid)
|
||||||
|
})
|
||||||
|
this.channels.delete(fid)
|
||||||
|
}
|
||||||
|
|
||||||
// 读取所有 a
|
// 读取所有 a
|
||||||
aall(uid, callback) {
|
aall(uid, callback) {
|
||||||
this.channels.forEach((value, key) => {
|
this.channels.forEach((value, key) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user