Initial commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
/**
|
||||
* @class Version 应用版本模型
|
||||
*/
|
||||
const BaseMod = require('./base')
|
||||
const {
|
||||
DateTime
|
||||
} = require('../lib')
|
||||
module.exports = class Version extends BaseMod {
|
||||
constructor() {
|
||||
super()
|
||||
this.tableName = 'opendb-app-versions'
|
||||
this.tablePrefix = false
|
||||
this.cacheKeyPre = 'uni-stat-app-version-'
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取版本信息
|
||||
* @param {String} appid DCloud-appid
|
||||
* @param {String} platformId 平台编号
|
||||
* @param {String} appVersion 平台版本号
|
||||
*/
|
||||
async getVersion(appid, platform, appVersion) {
|
||||
const cacheKey = this.cacheKeyPre + appid + '-' + platform + '-' + appVersion
|
||||
let versionData = await this.getCache(cacheKey)
|
||||
if (!versionData) {
|
||||
const versionInfo = await this.getCollection(this.tableName).where({
|
||||
appid: appid,
|
||||
uni_platform: platform,
|
||||
type: 'native_app',
|
||||
version: appVersion
|
||||
}).limit(1).get()
|
||||
versionData = []
|
||||
if (versionInfo.data.length > 0) {
|
||||
versionData = versionInfo.data[0]
|
||||
await this.setCache(cacheKey, versionData)
|
||||
}
|
||||
}
|
||||
return versionData
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取版本信息没有则进行创建
|
||||
* @param {String} appid DCloud-appid
|
||||
* @param {String} platform 平台代码
|
||||
* @param {String} appVersion 平台版本号
|
||||
*/
|
||||
async getVersionAndCreate(appid, platform, appVersion) {
|
||||
const versionInfo = await this.getVersion(appid, platform, appVersion)
|
||||
if (versionInfo.length === 0) {
|
||||
if (appVersion.length > 0 && !appVersion.includes('}')) {
|
||||
const thisTime = new DateTime().getTime()
|
||||
const insertParam = {
|
||||
appid: appid,
|
||||
platform: [],
|
||||
uni_platform: platform,
|
||||
type: 'native_app',
|
||||
version: appVersion,
|
||||
stable_publish: false,
|
||||
create_env: 'uni-stat',
|
||||
create_date: thisTime
|
||||
}
|
||||
const res = await this.insert(this.tableName, insertParam)
|
||||
if (res && res.id) {
|
||||
return Object.assign(insertParam, {
|
||||
_id: res.id
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
return versionInfo
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user