店铺增加短id
This commit is contained in:
parent
c23efc4de6
commit
5d3b630720
@ -37,6 +37,7 @@
|
|||||||
"moment": "^2.29.1",
|
"moment": "^2.29.1",
|
||||||
"mongoose": "5.10.3",
|
"mongoose": "5.10.3",
|
||||||
"mongoose-findorcreate": "^3.0.0",
|
"mongoose-findorcreate": "^3.0.0",
|
||||||
|
"nanoid": "^3.1.23",
|
||||||
"qrcode": "^1.4.4",
|
"qrcode": "^1.4.4",
|
||||||
"querystring": "^0.2.1",
|
"querystring": "^0.2.1",
|
||||||
"redis": "^3.1.2",
|
"redis": "^3.1.2",
|
||||||
|
@ -28,21 +28,27 @@ import {
|
|||||||
updateSingleRank
|
updateSingleRank
|
||||||
} from '../../services/GameLogic'
|
} from '../../services/GameLogic'
|
||||||
import { isObjectId } from '../../utils/string.util'
|
import { isObjectId } from '../../utils/string.util'
|
||||||
|
import { customAlphabet } from 'nanoid'
|
||||||
|
|
||||||
|
|
||||||
class PuzzleController extends BaseController {
|
class PuzzleController extends BaseController {
|
||||||
@role('anon')
|
@role('anon')
|
||||||
@router('get /api/test')
|
@router('get /api/test')
|
||||||
async test(req) {
|
async test(req) {
|
||||||
// let records = await Puzzle.find({})
|
try{
|
||||||
// for (let record of records) {
|
console.time('ss')
|
||||||
// record.length = record.question.trueLength()
|
const nanoid = customAlphabet('2345678abcdefghjkmnpqrstwxy', 10)
|
||||||
// await record.save()
|
for (let i = 0; i < 100; i++) {
|
||||||
// }
|
console.log(nanoid())
|
||||||
// let record = await Puzzle.findById('6080f20c9b76a1e376878692')
|
}
|
||||||
// let len = record.question.trueLength()
|
console.timeEnd('ss')
|
||||||
//
|
} catch (err) {
|
||||||
// return {len, length: record.question.length}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return {}
|
return {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
import {
|
import {
|
||||||
getModelForClass,
|
getModelForClass,
|
||||||
index,
|
index,
|
||||||
modelOptions,
|
modelOptions, pre,
|
||||||
prop
|
prop
|
||||||
} from '@typegoose/typegoose'
|
} from '@typegoose/typegoose'
|
||||||
import { dbconn } from '../../decorators/dbconn'
|
import { dbconn } from '../../decorators/dbconn'
|
||||||
import { noJson } from '../../decorators/nojson'
|
import { noJson } from '../../decorators/nojson'
|
||||||
import { BaseModule } from '../Base'
|
import { BaseModule } from '../Base'
|
||||||
|
import { customAlphabet } from 'nanoid'
|
||||||
|
|
||||||
|
const nanoid = customAlphabet('2345678abcdefghjkmnpqrstwxy', 10)
|
||||||
|
|
||||||
class GameInfo {
|
class GameInfo {
|
||||||
@prop()
|
@prop()
|
||||||
@ -18,8 +21,23 @@ class GameInfo {
|
|||||||
|
|
||||||
@dbconn()
|
@dbconn()
|
||||||
@index({ location: '2dsphere' })
|
@index({ location: '2dsphere' })
|
||||||
|
@index({sid: 1}, {unique: true})
|
||||||
@modelOptions({ schemaOptions: { collection: 'shop', timestamps: true } })
|
@modelOptions({ schemaOptions: { collection: 'shop', timestamps: true } })
|
||||||
|
@pre<ShopClass>('save', async function() {
|
||||||
|
if (!this.sid) {
|
||||||
|
let sid = ''
|
||||||
|
while (!sid) {
|
||||||
|
sid = nanoid()
|
||||||
|
const records = await Shop.find({sid}, {_id: 1}).limit(1);
|
||||||
|
(records.length > 0) && (sid = '')
|
||||||
|
}
|
||||||
|
this.sid = sid
|
||||||
|
}
|
||||||
|
})
|
||||||
class ShopClass extends BaseModule {
|
class ShopClass extends BaseModule {
|
||||||
|
@prop()
|
||||||
|
public sid: string
|
||||||
|
|
||||||
@prop({ required: true })
|
@prop({ required: true })
|
||||||
public name!: string
|
public name!: string
|
||||||
/**
|
/**
|
||||||
|
@ -1639,6 +1639,11 @@ mz@^2.7.0:
|
|||||||
object-assign "^4.0.1"
|
object-assign "^4.0.1"
|
||||||
thenify-all "^1.0.0"
|
thenify-all "^1.0.0"
|
||||||
|
|
||||||
|
nanoid@^3.1.23:
|
||||||
|
version "3.1.23"
|
||||||
|
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
|
||||||
|
integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
|
||||||
|
|
||||||
netmask@^2.0.1:
|
netmask@^2.0.1:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7"
|
resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user