Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
app-manage-console
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
ReactNative
app-manage-console
Commits
2abd95ff
提交
2abd95ff
authored
11月 20, 2017
作者:
vipcxj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加app管理相关api
上级
295c43c4
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
95 行增加
和
2 行删除
+95
-2
yaohx_169.xml
.idea/dictionaries/yaohx_169.xml
+1
-0
jsLibraryMappings.xml
.idea/jsLibraryMappings.xml
+0
-2
app.js
src/services/app.js
+94
-0
没有找到文件。
.idea/dictionaries/yaohx_169.xml
浏览文件 @
2abd95ff
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
<w>
roadhog
</w>
<w>
roadhog
</w>
<w>
sizeme
</w>
<w>
sizeme
</w>
<w>
splited
</w>
<w>
splited
</w>
<w>
undeploy
</w>
<w>
unescape
</w>
<w>
unescape
</w>
<w>
unnormed
</w>
<w>
unnormed
</w>
<w>
unregister
</w>
<w>
unregister
</w>
...
...
.idea/jsLibraryMappings.xml
浏览文件 @
2abd95ff
...
@@ -3,6 +3,5 @@
...
@@ -3,6 +3,5 @@
<component
name=
"JavaScriptLibraryMappings"
>
<component
name=
"JavaScriptLibraryMappings"
>
<file
url=
"file://$PROJECT_DIR$"
libraries=
"{app-web-client/node_modules}"
/>
<file
url=
"file://$PROJECT_DIR$"
libraries=
"{app-web-client/node_modules}"
/>
<file
url=
"PROJECT"
libraries=
"{app-web-client/node_modules, polyfill}"
/>
<file
url=
"PROJECT"
libraries=
"{app-web-client/node_modules, polyfill}"
/>
<includedPredefinedLibrary
name=
"Node.js Core"
/>
</component>
</component>
</project>
</project>
\ No newline at end of file
src/services/app.js
0 → 100644
浏览文件 @
2abd95ff
import
_
from
'lodash'
;
import
request
from
'../utils/request'
;
import
post
from
'../utils/post'
;
import
config
from
'../utils/config'
;
const
{
isNumber
,
isFinite
,
isString
}
=
_
;
/**
* @typedef {Object} RestResponse
* @template T
* @property {number} errorCode 错误码,0表示成功
* @property {T} data 数据
*/
/**
* @typedef {Object} DeploymentInfo 部署信息
* @property {id} number
* @property {string} versionNumber
* @property {string} description
* @property {Date} updateTime
* @property {string} uri
*/
/**
* @typedef {Object} AppInfo app信息
* @property {string} name 名称
* @property {string} description 描述
* @property {string} packageName 包名
* @property {Array.<DeploymentInfo>} history 历史部署信息
*/
/**
*
* @param name 对app名字的筛选条件,支持模糊查询,为空时等价于查全部
* @param pst 分页的开始位置,-1代表不分页
* @param psz 分页的大小
* @returns {Promise.<RestResponse.<Array.<AppInfo>>>} 所有符合条件的app信息
*/
export
const
getAppInfoes
=
async
(
name
,
pst
=
-
1
,
psz
=
-
1
)
=>
{
return
request
(
`
${
config
.
apiContextPath
}
/api/app/admin/apps/list`
,
{
name
,
pst
,
psz
});
};
/**
* 新增app
* @param {string} name 名称
* @param {string} packageName
* @param {?string} description
* @returns {Promise.<RestResponse.<AppInfo>>} 新增的app信息
*/
export
const
addApp
=
async
(
name
,
packageName
,
description
=
''
)
=>
{
return
post
(
`
${
config
.
apiContextPath
}
/api/app/admin/apps/create`
,
{
name
,
package
:
packageName
,
description
});
};
/**
* 删除app,所有部署包会一同删除
* @param {number|string} idOrName app的id或名称,若为数字,则认为是id,字符串则认为是名称
* @returns {Promise.<RestResponse.<null>>}
*/
export
const
removeApp
=
async
(
idOrName
)
=>
{
if
(
isNumber
(
idOrName
)
&&
!
isFinite
(
idOrName
))
{
return
post
(
`
${
config
.
apiContextPath
}
/api/app/admin/apps/delete`
,
{
id
:
idOrName
});
}
else
if
(
isString
(
idOrName
))
{
return
post
(
`
${
config
.
apiContextPath
}
/api/app/admin/apps/delete`
,
{
name
:
idOrName
});
}
else
{
throw
new
Error
(
`Invalid id or name:
${
idOrName
}
`
);
}
};
/**
* 部署app,必须是一个新版本,若版本号低于或等于已部署的最高版本,则会部署失败
* @param {number|string} idOrName app的id或名称,若为数字,则认为是id,字符串则认为是名称
* @param {string} uri apk上传后得到的内部uri
* @param {?string} description 更新说明
* @returns {Promise.<RestResponse.<DeploymentInfo>>} 部署信息
*/
export
const
deployApp
=
async
(
idOrName
,
uri
,
description
=
''
)
=>
{
if
(
isNumber
(
idOrName
)
&&
!
isFinite
(
idOrName
))
{
return
post
(
`
${
config
.
apiContextPath
}
/api/app/admin/apps/deploy`
,
{
id
:
idOrName
,
uri
,
description
});
}
else
if
(
isString
(
idOrName
))
{
return
post
(
`
${
config
.
apiContextPath
}
/api/app/admin/apps/deploy`
,
{
name
:
idOrName
,
uri
,
description
});
}
else
{
throw
new
Error
(
`Invalid id or name:
${
idOrName
}
`
);
}
};
/**
* 反部署app
* @param id 部署app后返回的部署信息中记录的部署id
* @returns {Promise.<RestResponse.<null>>}
*/
export
const
undeployApp
=
async
(
id
)
=>
{
return
post
(
`
${
config
.
apiContextPath
}
/api/app/admin/apps/undeploy`
,
{
id
});
};
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论