A cross-platform framework using Vue.js
This report summarizes scanner evidence for dcloudio/uni-app, a JavaScript project with 41,628 GitHub stars. SynthScan examined 489,533 lines of code across 2488 source files, recording 516 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 1.6 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 468 finding(s).
Are imports declared and package/API names verified? 39 finding(s).
Are wrappers, guards, and repeated structures necessary? 70 finding(s).
Which changes need focused human review? 516 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 516 distinct pattern matches across 8 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/component/picker-view.md | 201 | // #endif | COMMENT |
| LOW | …s/Frameworks/TencentLBS.framework/Headers/TencentLBS.h | 1 | // | COMMENT |
| LOW | …SwiftFramework.framework/Headers/ToastSwiftFramework.h | 1 | // | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 1 | #if 0 | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 21 | COMMENT | |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 61 | #if !defined(SWIFT_CLASS_PROPERTY) | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 81 | #else | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 101 | #else | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 121 | #endif | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 141 | #if !defined(OBJC_DESIGNATED_INITIALIZER) | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 161 | # endif | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 181 | #if __has_feature(attribute_diagnose_if_objc) | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 201 | #pragma clang diagnostic ignored "-Wnullability" | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 221 | #define TOASTSWIFTFRAMEWORK_SWIFT_H | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 241 | COMMENT | |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 261 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 281 | # define SWIFT_CLASS_PROPERTY(...) | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 301 | # define SWIFT_NOESCAPE __attribute__((noescape)) | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 321 | # define SWIFT_CLASS_EXTRA | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 341 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 361 | # define OBJC_DESIGNATED_INITIALIZER | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 381 | #endif | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 401 | #endif | COMMENT |
| LOW | …ramework.framework/Headers/ToastSwiftFramework-Swift.h | 421 | # undef any | COMMENT |
| LOW | …pp-ios/lottie-ios/Public/DotLottie/DotLottieFile.swift | 1 | // | COMMENT |
| LOW | …ttie-ios/Public/DotLottie/DotLottieConfiguration.swift | 1 | // | COMMENT |
| LOW | …lottie-ios/Public/DotLottie/DotLottieFileHelpers.swift | 1 | // | COMMENT |
| LOW | …os/Public/DotLottie/Cache/DotLottieCacheProvider.swift | 1 | // | COMMENT |
| LOW | …lottie-ios/Public/DotLottie/Cache/DotLottieCache.swift | 1 | // | COMMENT |
| LOW | …lottie-ios/Public/DotLottie/Cache/DotLottieCache.swift | 61 | // MARK: Sendable | COMMENT |
| LOW | …tie-ios/Public/Configuration/LottieConfiguration.swift | 21 | } | COMMENT |
| LOW | …e-ios/Public/Configuration/RenderingEngineOption.swift | 1 | // Created by Cal Stephens on 7/14/23. | COMMENT |
| LOW | …e-ios/Public/Configuration/RenderingEngineOption.swift | 21 | COMMENT | |
| LOW | …tie-ios/Public/Configuration/ReducedMotionOption.swift | 1 | // Created by Cal Stephens on 7/14/23. | COMMENT |
| LOW | …lottie-ios/Public/Configuration/DecodingStrategy.swift | 1 | // Created by Cal Stephens on 7/14/23. | COMMENT |
| LOW | …ottie-ios/Public/macOS/BundleImageProvider.macOS.swift | 1 | // | COMMENT |
| LOW | …tie-ios/Public/macOS/FilepathImageProvider.macOS.swift | 1 | // | COMMENT |
| LOW | …lottie-ios/Public/Animation/LottieAnimationLayer.swift | 281 | } | COMMENT |
| LOW | …lottie-ios/Public/Animation/LottieAnimationLayer.swift | 501 | /// The underlying CALayer created to display the content. | COMMENT |
| LOW | …lottie-ios/Public/Animation/LottieAnimationLayer.swift | 561 | /// synchronously (when loading a `LottieAnimation` from a .json file on disk) | COMMENT |
| LOW | …lottie-ios/Public/Animation/LottieAnimationLayer.swift | 821 | COMMENT | |
| LOW | …lottie-ios/Public/Animation/LottieAnimationLayer.swift | 841 | /// ``` | COMMENT |
| LOW | …lottie-ios/Public/Animation/LottieAnimationLayer.swift | 961 | /// Markers are encoded into animation JSON. By using markers a designer can mark | COMMENT |
| LOW | …lottie-ios/Public/Animation/LottieAnimationLayer.swift | 1361 | switch loopMode { | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 1 | // | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 21 | /// The completion block is stored and called when the animation completes. | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 221 | /// Applies the given `LottiePlaybackMode` to this layer. | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 261 | { | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 301 | /// | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 321 | /// If a marker doesn't have a duration value, it will play with a duration of 0 | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 381 | } | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 401 | } | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 421 | /// ``` | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 601 | /// except as a workaround to a bug in the main thread rendering engine. | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 641 | public func reloadImages() { | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 661 | /// - Parameter keypath: The keypath used to search for properties. | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 701 | /// Computes and returns a list of all child keypaths in the current animation. | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 741 | /// Converts a CGRect from the LottieAnimationView's coordinate space into the | COMMENT |
| LOW | …/lottie-ios/Public/Animation/LottieAnimationView.swift | 781 | /// playback points for a developer to use without having to worry about keeping | COMMENT |
| LOW | …Public/Animation/LottieAnimationViewInitializers.swift | 1 | // | COMMENT |
| 342 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 26 | 11:27:17.144 at io.dcloud.uniapp.runtime.CSSStyleDeclaration.putAll(r8-map-id-46ae994bfc64fb01690a5f42986f2c98bdb324bdb | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 33 | 11:27:17.145 at io.dcloud.uniapp.dom.UniNativeDocumentImpl.createElement(r8-map-id-46ae994bfc64fb01690a5f42986f2c98bdb3 | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 34 | 11:27:17.145 at io.dcloud.uniapp.dom.UniNativeDocumentImpl.createElement(r8-map-id-46ae994bfc64fb01690a5f42986f2c98bdb3 | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 35 | 11:27:17.145 at io.dcloud.uniapp.vue.IndexKt.mountElement(index.kt:7044) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 36 | 11:27:17.145 at io.dcloud.uniapp.vue.IndexKt.processElement(index.kt:6654) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 37 | 11:27:17.145 at io.dcloud.uniapp.vue.IndexKt.patch(index.kt:6585) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 38 | 11:27:17.145 at io.dcloud.uniapp.vue.IndexKt.mountChildren(index.kt:7093) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 40 | 11:27:17.145 at io.dcloud.uniapp.vue.IndexKt.mountElement(index.kt:7054) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 41 | 11:27:17.146 at io.dcloud.uniapp.vue.IndexKt.processElement(index.kt:6654) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 42 | 11:27:17.146 at io.dcloud.uniapp.vue.IndexKt.patch(index.kt:6585) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 43 | 11:27:17.146 at io.dcloud.uniapp.vue.IndexKt.mountChildren(index.kt:7093) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 45 | 11:27:17.146 at io.dcloud.uniapp.vue.IndexKt.mountElement(index.kt:7054) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 46 | 11:27:17.146 at io.dcloud.uniapp.vue.IndexKt.processElement(index.kt:6654) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 47 | 11:27:17.146 at io.dcloud.uniapp.vue.IndexKt.patch(index.kt:6585) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 56 | io.dcloud.uniapp.vue.IndexKt.mountChildren(index.kt:7093) | CODE |
| CRITICAL⚡ | docs/uts/runtime-known-issues.md | 58 | io.dcloud.uniapp.vue.IndexKt.mountElement(index.kt:7054) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/css/animation.md | 221 | function scheduleMainAnimationFinish() { | CODE |
| LOW | docs/css/animation.md | 278 | function onCssVariableAnimationEnd() { | CODE |
| LOW⚡ | docs/css/animation.md | 360 | function backgroundAndWidthProperty() { | CODE |
| LOW⚡ | docs/css/animation.md | 365 | function onBackgroundWidthAnimationEnd() { | CODE |
| LOW⚡ | docs/css/animation.md | 374 | function onOnePropertyOneAnimationEnd() { | CODE |
| LOW⚡ | docs/css/animation.md | 383 | function onOnePropertyTwoAnimationEnd() { | CODE |
| LOW⚡ | docs/css/animation.md | 387 | function backgroundAndMarginLeftProperty() { | CODE |
| LOW⚡ | docs/css/animation.md | 392 | function onBackgroundMarginAnimationEnd() { | CODE |
| LOW⚡ | docs/css/animation.md | 396 | function backgroundAndTransformProperty() { | CODE |
| LOW⚡ | docs/css/animation.md | 401 | function onBackgroundTransformAnimationEnd() { | CODE |
| LOW | docs/css/animation.md | 423 | function borderColorMarginLeftProperty() { | CODE |
| LOW | docs/css/animation.md | 428 | function onBorderMarginAnimationEnd() { | CODE |
| LOW | docs/css/transition.md | 762 | function changeBorderAndBackgroundColor() { | CODE |
| LOW | docs/plugin/uts-component-vue.md | 588 | export function createNativeButtonContext(id : string, ins : ComponentPublicInstance | null = null) : INativeButtonConte | CODE |
| LOW | docs/plugin/uts-component-vue.md | 820 | export function createNativeButtonContext(id : string, ins : ComponentPublicInstance | null = null) : INativeButtonConte | CODE |
| LOW | docs/plugin/uts-component-vue.md | 916 | export function createNativeButtonContext(id : string, ins : ComponentPublicInstance | null = null) : INativeButtonConte | CODE |
| LOW | docs/uts/uts_diff_ts.md | 1043 | class DataProcessor { | CODE |
| LOW⚡ | docs/uts/uts_diff_ts.md | 1077 | class DataProcessor { | CODE |
| LOW⚡ | docs/uts/uts_diff_ts.md | 1081 | class DataProcessor<T> { | CODE |
| LOW⚡ | docs/uts/uts_diff_ts.md | 1085 | class DataProcessor { | CODE |
| LOW | docs/component/native-view.md | 205 | function getFrameNodeButtonTapValueTest() : string { | CODE |
| LOW | docs/component/native-view.md | 222 | function toggleFixedTestNativeView() { | CODE |
| LOW | docs/component/text.md | 1112 | function getBoundingClientRectForTest() : DOMRect | null { | CODE |
| LOW | docs/component/glass-effect-view.md | 180 | function getGlassEffectViewRectForTest() : DOMRect | null { | CODE |
| LOW | docs/component/editor.md | 325 | function onDraftShowImgToolbarChange(checked: boolean) { | CODE |
| LOW | docs/component/editor.md | 330 | function onDraftShowImgResizeChange(checked: boolean) { | CODE |
| LOW | docs/component/datacom.md | 648 | function onMixinDatacomPropsChange(needReset, changed) {} | CODE |
| LOW | docs/component/page-container.md | 364 | function showGreenTransparentOverlay() { | CODE |
| LOW | docs/component/page-container.md | 377 | function showOverlayPointerEventsNone() { | CODE |
| LOW⚡ | docs/api/calendar.md | 486 | function handleCalendarSuccessResult(action : string, errMsg : string | null) : void { | CODE |
| LOW⚡ | docs/api/calendar.md | 491 | function handleAddPhoneCalendarSuccess(action : string, res : AddPhoneCalendarSuccess) : void { | CODE |
| LOW⚡ | docs/api/calendar.md | 495 | function handleAddPhoneRepeatCalendarSuccess(action : string, res : AddPhoneRepeatCalendarSuccess) : void { | CODE |
| LOW | docs/api/calendar.md | 506 | function handleAddPhoneCalendarFail(action : string, error : AddPhoneCalendarFail) : void { | CODE |
| LOW | docs/api/calendar.md | 510 | function handleAddPhoneRepeatCalendarFail(action : string, error : AddPhoneRepeatCalendarFail) : void { | CODE |
| LOW⚡ | docs/api/calendar.md | 547 | function handleRepeatEndDateChange(event : UniPickerChangeEvent) : void { | CODE |
| LOW⚡ | docs/api/calendar.md | 551 | function handleRepeatEndClockChange(event : UniPickerChangeEvent) : void { | CODE |
| LOW⚡ | docs/api/calendar.md | 555 | function handleRepeatIntervalChange(event : UniPickerChangeEvent) : void { | CODE |
| LOW | docs/api/calendar.md | 593 | function buildRepeatEndTimeForSubmit() : number { | CODE |
| LOW | docs/api/pull-down-refresh.md | 201 | function startPullDownRefreshAfterHideLoading() { | CODE |
| LOW | docs/api/uniresizeobserver.md | 354 | function analysisResizeObserverEntry(entry : UniResizeObserverEntry) : string { | CODE |
| LOW⚡ | docs/api/screen-brightness.md | 307 | function describeSetScreenBrightnessComplete(result : SetScreenBrightnessComplete) : string { | CODE |
| LOW⚡ | docs/api/screen-brightness.md | 314 | function describeGetScreenBrightnessComplete(result : GetScreenBrightnessComplete) : string { | CODE |
| LOW⚡ | docs/api/screen-brightness.md | 321 | function describeSetKeepScreenOnComplete(result : SetKeepScreenOnComplete) : string { | CODE |
| LOW | docs/api/dom/unielement.md | 360 | function getBoundingClientRectAsyncChild(){ | CODE |
| LOW | docs/api/dom/unielement.md | 414 | function getUniElementScrollOffset() { | CODE |
| LOW | docs/api/dom/unielement.md | 431 | function getScrollViewStyleMarginTop() : string { | CODE |
| LOW | docs/api/dom/unielement.md | 1111 | function getBoundingClientRectAsync() { | CODE |
| LOW | docs/api/dom/unielement.md | 1954 | function takeCustomComponentSnapshot() { | CODE |
| LOW | docs/api/dom/unielement.md | 2658 | function backgroundAndWidthProperty(e : UniPointerEvent) { | CODE |
| LOW | docs/api/dom/unielement.md | 2668 | function backgroundAndMarginLeftProperty(e : UniPointerEvent) { | CODE |
| LOW | docs/api/dom/unielement.md | 2687 | function backgroundAndTransformProperty(e : UniPointerEvent) { | CODE |
| LOW | docs/api/dom/unielement.md | 2724 | function borderColorMarginLeftProperty(e : UniPointerEvent) { | CODE |
| LOW | examples/hello-uvue/jest-setup.js | 81 | function writeTestCaseToSnapshotFile (testCaseName, snapshotFilePath) { | CODE |
| LOW | src/jest-setup.js | 27 | function writeTestCaseToSnapshotFile(testCaseName, snapshotFilePath) { | CODE |
| LOW | …modules/uni-web-view/utssdk/app-ios/InnerWebView.swift | 780 | function ensureInlinePlaybackAttributes(video) { | CODE |
| LOW | …modules/uni-web-view/utssdk/app-ios/InnerWebView.swift | 789 | function patchInlinePlaybackVideos(root) { | CODE |
| LOW | …modules/uni-web-view/utssdk/app-ios/InnerWebView.swift | 808 | function observeInlinePlaybackVideos() { | CODE |
| LOW | src/uni_modules/uni-virtualPayment/readme.md | 452 | async function verifyTransactionWithApple(transactionId, environment = 'production') { | CODE |
| LOW | …common/uniCloud/cloudfunctions/uni-map-co/index.obj.js | 500 | function getRandomCoordinateWithinRadius(longitude, latitude, radiusInKm) { | CODE |
| LOW | …t-async/element-get-bounding-client-rect-async.test.js | 19 | async function invokeGetBoundingClientRect(page, methodName, dataName) { | CODE |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ation/Animations/CAAnimation+TimingConfiguration.swift | 18 | // ┌──────────────────────────────────┐ | COMMENT |
| MEDIUM | …ation/Animations/CAAnimation+TimingConfiguration.swift | 20 | // └──────────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | …ation/Animations/CAAnimation+TimingConfiguration.swift | 32 | // ┌────────────────────┬───────► | COMMENT |
| MEDIUM⚡ | …ation/Animations/CAAnimation+TimingConfiguration.swift | 34 | // └────────────────────┴───────► | COMMENT |
| MEDIUM⚡ | …ation/Animations/CAAnimation+TimingConfiguration.swift | 36 | // ┌──────────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | …ation/Animations/CAAnimation+TimingConfiguration.swift | 38 | // └──────────────────────────────────┘ | COMMENT |
| MEDIUM | …p-ios/VideoPlayer/Managers/UniVideoPlayerManager.swift | 24 | // ┌─────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | …p-ios/VideoPlayer/Managers/UniVideoPlayerManager.swift | 30 | // └─────────────────────────────────────────────────────┘ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/ai/uni-agent.md | 149 | UNI_AGENT_API_KEY=your_api_key | CODE |
| HIGH | docs/ai/uni-agent.md | 649 | | `UNI_AGENT_API_KEY` | 是 | API 认证密钥,用于身份验证 | `your_api_key` | | CODE |
| HIGH | docs/ai/uni-agent.md | 1032 | "Authorization": "Bearer YOUR_API_KEY" | CODE |
| HIGH | docs/ai/uni-agent.md | 1067 | "Authorization": "Bearer YOUR_API_KEY" | CODE |
| HIGH | docs/ai/uni-agent.md | 1102 | "Authorization": "Bearer YOUR_API_KEY" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/component/input.md | 677 | <input class="uni-input" style="font-size:20px" placeholder="placeholder" /> | CODE |
| LOW | docs/component/input.md | 687 | <input class="uni-input" style="font-size:20px" placeholder-class="placeholder-class" placeholder="placeholder | CODE |
| LOW | docs/component/input.md | 698 | <input class="uni-input" style="font-size:20px" placeholder-class="placeholder-class" placeholder-style="font- | CODE |
| LOW | docs/component/input.md | 719 | <input id="uni-input-vertical-center-placeholder" class="input-vertical-center" placeholder="placeholder" /> | CODE |
| LOW | docs/component/textarea.md | 533 | placeholder-class="placeholder" placeholder-style="background-color:red" :cursor-spacing="300" /> | CODE |
| LOW⚡ | docs/component/textarea.md | 634 | <textarea class="textarea-instance" style="height: 60px;font-size:20px" placeholder="placeholder" /> | CODE |
| LOW⚡ | docs/component/textarea.md | 642 | :placeholder-class="data.textareaPlaceholderClass" placeholder="placeholder" /> | CODE |
| LOW⚡ | docs/component/textarea.md | 650 | <textarea class="textarea-instance" style="height: 60px;font-size:20px" placeholder-class="placeholder-class" pl | CODE |
| LOW | …odules/uni-oauth-weixin/utssdk/app-android/config.json | 11 | "placeholder": [ | CODE |
| LOW | …odules/uni-share-weixin/utssdk/app-android/config.json | 11 | "placeholder": [ | CODE |
| LOW | src/uni_modules/uni-editor/static/quill/quill.min.js | 7 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.am | CODE |
| LOW | …c/uni_modules/uni-editor/static/quill/highlight.min.js | 317 | }),re=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code", | CODE |
| LOW | …-pay-x/uniCloud/cloudfunctions/common/uni-pay/index.js | 33 | */(function(){var i="Expected a function",o="__lodash_placeholder__",a=[["ary",128],["bind",1],["bindKey",2],["curry",8 | COMMENT |
| LOW | src/pages/component/input/input.test.js | 124 | // it("placeholder", async () => { | COMMENT |
| LOW | src/pages/component/input/input.test.js | 129 | // expect(await placeholder1.attribute("placeholder")).toEqual("占位符文字颜色为红色") | COMMENT |
| LOW | src/pages/component/input/input.test.js | 166 | // expect(await placeholder2.attribute("placeholder")).toEqual("占位符背景色为绿色") | COMMENT |
| LOW | src/pages/component/editor/editor.test.js | 35 | expect(await editor.attribute("placeholder")).toBe("开始输入...") | CODE |
| LOW | src/pages/component/editor/editor.test.js | 71 | expect(await editor.attribute("placeholder")).toBe("开始输入...") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/pages/component/progress/progress.test.js | 5 | function getData(key = '') { | CODE |
| LOW | src/pages/component/picker/picker.test.js | 19 | function getData(key = '') { | CODE |
| LOW | src/pages/component/label/label.test.js | 26 | function getData(key = '') { | CODE |
| LOW | src/pages/API/loading/loading.test.js | 19 | function getData (key = '') { | CODE |
| LOW | src/pages/API/storage/storage.test.js | 43 | function getData (key = '') { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …_modules/uni-camera/utssdk/app-ios/CameraManager.swift | 826 | print("Error locking configuration") | CODE |