@@ -12,8 +12,9 @@ import { parseCloudMethodOutput } from './_helpers';
1212
1313type _ImportObject = UniCloudNamespace . UniCloud [ 'importObject' ] ;
1414type _ImportObjectArgs = Parameters < _ImportObject > ;
15+ type _ImportObjectOptions = _ImportObjectArgs [ 1 ] ;
1516
16- export type CreateUseCloudObjectOptions = _ImportObjectArgs [ 1 ] & {
17+ export type CreateUseCloudObjectOptions = _ImportObjectOptions & {
1718 /**
1819 * 模拟云对象,用于单元测试
1920 * @private
@@ -54,7 +55,7 @@ export type UseCloudMethod = {
5455 < I extends AnyArray , O > (
5556 method : string | ( ( ...inputs : I ) => string ) ,
5657 caller : ( request : CloudObjectRequest , ...inputs : I ) => Promise < CloudMethodOutput < O > > ,
57- options : Omit < UseRequestOptions < I , O > , 'placeholder' > & { placeholder : ( ) => O } ,
58+ options : Omit < UseRequestOptions < I , O > , 'placeholder' > & _ImportObjectOptions & { placeholder : ( ) => O } ,
5859 ) : UseRequestOutputFilled < I , O > ;
5960
6061 /**
@@ -67,18 +68,17 @@ export type UseCloudMethod = {
6768 < I extends AnyArray , O > (
6869 method : string | ( ( ...inputs : I ) => string ) ,
6970 caller : ( request : CloudObjectRequest , ...inputs : I ) => Promise < CloudMethodOutput < O > > ,
70- options ?: UseRequestOptions < I , O > ,
71+ options ?: UseRequestOptions < I , O > & _ImportObjectOptions ,
7172 ) : UseRequestOutput < I , O > ;
7273} ;
7374/**
7475 * 导入云对象并创建一个用于调用云对象的hook
7576 * @param objectName 云对象名称
76- * @param options 配置选项,包含模拟服务器、回退错误信息等
77+ * @param importOptions 配置选项,包含模拟服务器、回退错误信息等
7778 * @returns 返回一个可用于调用云对象方法的hook函数
7879 */
79- export function importCloudObject ( objectName : _ImportObjectArgs [ 0 ] , options ?: CreateUseCloudObjectOptions ) {
80- const server = options ?. _mockServer || uniCloud . importObject ( objectName , options ) ;
81- const fallbackErrorMessage = options ?. fallbackErrorMessage || '请求失败' ;
80+ export function importCloudObject ( objectName : _ImportObjectArgs [ 0 ] , importOptions ?: CreateUseCloudObjectOptions ) {
81+ const fallbackErrorMessage = importOptions ?. fallbackErrorMessage || '请求失败' ;
8282
8383 /**
8484 * 用于调用云对象方法的hook函数
@@ -90,6 +90,13 @@ export function importCloudObject(objectName: _ImportObjectArgs[0], options?: Cr
9090 * @returns 返回一个请求hook,用于处理云对象调用
9191 */
9292 const useCloudMethod : UseCloudMethod = ( method , caller , options ) => {
93+ const server =
94+ importOptions ?. _mockServer ||
95+ uniCloud . importObject ( objectName , {
96+ ...importOptions ,
97+ ...options ,
98+ } ) ;
99+
93100 // 使用请求hook处理云对象调用
94101 return useRequest ( async ( ...inputs ) => {
95102 const methodName = isFunction ( method ) ? method ( ...inputs ) : method ;
0 commit comments