主頁 > 移動端開發 > 除了保護生態,再分享一個自動掛機聊天腳本核心原始碼(高山流水)

除了保護生態,再分享一個自動掛機聊天腳本核心原始碼(高山流水)

2021-06-11 08:21:34 移動端開發

以前分享過一個保護生態腳本原始碼,今天再分享一個類似的高山流水自動聊天腳本核心原始碼,完整原始碼可以點擊訪問這里,可以直接打包運行,該原始碼是Auto.js撰寫,可以二次重構,

在這里插入圖片描述

//完整原始碼訪問網站 rz3w.com

function 首頁ui() {
    importClass(android.view.MenuItem);
    importClass(com.google.android.material.bottomnavigation.BottomNavigationView);
    importClass(com.google.android.material.bottomnavigation.LabelVisibilityMode);
    importClass(android.widget.ArrayAdapter);
    importClass(android.widget.AdapterView);
    importClass(java.util.ArrayList);
    ui.layout(
        '<drawer id="drawer">\
            <relative>\
                <appbar  w="*" h="auto">\
                    <frame bg="#FF6699">\
                        <toolbar id="toolbar" textStyle="bold" />\
                    </frame>\
                </appbar>\
                <viewpager id="vp" layout_below="appbar" layout_above="bnv" marginTop="55dp">\
                    <frame>\
                        <vertical bg="#FF6699">\
                            <vertical bg="#FFCCFF">\
                                <Switch id="autoService" bg="#2F4F4F" text="無障礙服務【安卓7.0或以上】" textColor="white" checked="'+ (auto.service != null) + '" padding="8 8 8 8" textSize="15sp" />\
                            </vertical>\
                            <horizontal bg="#00CED1">\
                                <text textColor="#080808" text="公告:" />\
                                <text id="滾動內容1" singleLine="true" ellipsize="marquee" textColor="#ff010100" text="覓緣,緣來有你平臺,點開始沒有懸浮窗,如果要停止運行可以按音量加號鍵!因為平臺檢測機器人所有才隱藏懸浮窗的!以后不需要手動更新版本了,后臺直接同步更新了     覓緣,緣來有你平臺,點開始沒有懸浮窗,如果要停止運行可以按音量加號鍵!因為平臺檢測機器人所有才隱藏懸浮窗的!以后不需要手動更新版本了,后臺直接同步更新了" />\
                            </horizontal>\
                            <horizontal bg="#C6E2FF">\
                                <text textColor="#080808" text="更新:" />\
                                <text id="滾動內容2" singleLine="true" ellipsize="marquee" textColor="#ff010100" text="1.新增:知緣,蜜糖,塔咪,對對,甜柚,勿忘我,國際名門,星夢,陌對,傾心,花枝,就聊,綠茶交友,戀否,星火,甜顏,甜心有約,知夢,初見,緣分,紅顏新,花聊,寶聊,他她新,相見,花田,哆趣,歡鵲,美悅,心語,陌音,耳聊,M速配,緣來,找她,香草,百合 2.四個mp3檔案會隨機播放:1.mp3,2.mp3,3.mp3,4.mp3             1.新增:花枝,就聊,綠茶交友,戀否,星火,甜顏,甜心有約,知夢,初見,緣分,紅顏新,花聊,寶聊,他她新,相見,花田,哆趣,歡鵲,美悅,心語,陌音,耳聊,M速配,緣來,找她,香草,百合 2.四個mp3檔案會隨機播放:1.mp3,2.mp3,3.mp3,4.mp3" />\
                            </horizontal>\
                            <horizontal marginTop="10"  w="auto" h="auto" layout_gravity="center">\
                                <img w="50" h="50" circle="true" src="' + icon_url + '" />\
                                <input id="模糊搜索" hint="模糊搜索" />\
                                <img id="模糊搜索btn" src="@drawable/ic_search_black_48dp" padding="5 5 5 5" h="50dp" w="50dp" />\
                                <img id="運行" w="50dp" h="50dp" tint="#006600" src="ic_play_arrow_black_48dp" />\
                            </horizontal>\
                            <horizontal margin="20 5 20 5" bg="#FFCC33">\
                                <vertical h="auto" w="auto" layout_gravity="left|center" marginLeft="1">\
                                    <horizontal>\
                                        <text text="平臺:"/>\
                                        <spinner id="spin_pingTai" entries="未選擇" />\
                                    </horizontal>\
                                    <horizontal>\
                                        <text text="模式:"/>\
                                        <spinner id="spin_moShi" entries="未選擇" />\
                                    </horizontal>\
                                </vertical>\
                                <img id="app圖片" w="70dp" h="70dp" src="'+ 軟體[app記錄].src + '" circle="true" layout_gravity="center_vertical" />\
                            </horizontal>\
                            <vertical w="*" >\
                                <horizontal margin="20" bg="#FFCC33" gravity="left|center">\
                                <text text="詳情:" />\
                                <text id = "詳情" text="還未選擇app" textColor="#000000" />\
                                <img id="下載app"  w="0dp" h="50dp" tint="#98F5FF" src="ic_get_app_black_48dp"/>\
                                </horizontal>\
                            </vertical>\
                        </vertical>\
                    </frame>\
                    <frame >\
                        <ScrollView>\
                            <vertical padding="8 0"  >\
                                <horizontal gravity="center" bg="#87CEFA">\
                                    <text text="發送后延時設定" />\
                                </horizontal>\
                                <horizontal gravity="center">\
                                    <text text="發送延時時間為:" h="auto"/>\
                                    <input id="t1" hint="例如:3" text="'+ storage.get("time", "3") + '" gravity="center" textColor="red"/>\
                                     <text  text="秒" h="auto" textColor="red"/>\
                                </horizontal>\
                                <horizontal gravity="center" bg="#87CEFA">\
                                    <text text="重復發送設定" />\
                                </horizontal>\
                                <horizontal gravity="center">\
                                    <text  text="重復發送條數為:" h="auto"/>\
                                    <input id="strip" hint="例如:2" text="'+ storage.get("strip", "2") + '" ravity="center" textColor="red"/>\
                                    <text text="條" h="auto" textColor="red"/>\
                                </horizontal>\
                                <horizontal gravity="center" bg="#87CEFA">\
                                    <text text="過濾昵稱設定" />\
                                </horizontal>\
                                <horizontal gravity="center">\
                                    <text text="要過濾的名稱:" />\
                                    <input id="name_guoLv" text="'+ storage.get("name_guoLv", "小明|小黑|小白") + '" textColor="red" />\
                                </horizontal>\
                                <horizontal gravity="center" bg="#87CEFA">\
                                   <text text="回復與接聽設定" />\
                                </horizontal>\
                                <horizontal gravity="center">\
                                    <Switch id="jishihuif" text="及時回復" textColor="blue" checked="'+ storage.get('jishihuif', true) + '" padding="8 8 8 8" textSize="15sp" />\
                                    <Switch id="zdjieting" text="自動接聽" textColor="blue" checked="'+ storage.get('zdjieting', true) + '" padding="8 8 8 8" textSize="15sp" />\
                                </horizontal>\
                                <horizontal gravity="center" bg="#87CEFA">\
                                    <text text="發語音設定" />\
                                </horizontal>\
                                <Switch id="yaofayuyin" text="發語音打開(可放4個mp3,1234)" textColor="blue" checked="'+ storage.get('yaofayuyin', true) + '" padding="8 8 8 8" textSize="15sp" />\
                                <Switch id="fawandashipin" text="親密度到了直接打視頻開關" textColor="blue" textColor="blue" checked="'+ storage.get('fawandashipin', true) + '" padding="8 8 8 8" textSize="15sp" />\
                                <Switch id="faliangtiao" text="在一起發1條語音打開,發2條語音關閉" textColor="blue" textColor="blue" checked="'+ storage.get('faliangtiao', true) + '" padding="8 8 8 8" textSize="15sp" />\
                                <Switch id="xqbcf" text="發完語音再發一句文字打開" textColor="blue" checked="'+ storage.get('xqbcf', true) + '" padding="8 8 8 8" textSize="15sp" />\
                                <Switch id="dlyuyin" text="對聊單獨發文字打開,要發語音關閉" textColor="blue" checked="'+ storage.get('dlyuyin', true) + '" padding="8 8 8 8" textSize="15sp" />\
                                <Switch id="hyyuyin" text="紅緣語音發1.mp3,關閉發平臺錄音的打開" textColor="blue" checked="'+ storage.get('hyyuyin', true) + '" padding="8 8 8 8" textSize="15sp" />\
                                <Switch id="lkjujieting" text="每天同個用戶只要自動接聽一次" textColor="blue" checked="'+ storage.get('lkjujieting', false) + '" padding="8 8 8 8" textSize="15sp" />\
                                <horizontal gravity="center">\
                                    <text text="注意:在一起相關的如果要發兩條語音的分別錄制1.mp3跟2.mp3放在檔案管理根目錄" h="auto" textColor="purple"></text>\
                                </horizontal>\
                            </vertical>\
                        </ScrollView>\
                    </frame>\
                    <frame>\
                        <vertical>\
                            <appbar>\
                                <radiogroup orientation="horizontal" padding="30 1">\
                                    <radio id="視頻話術" text="適用于視頻"  padding="10 1" />\
                                    <radio id="聊天話術" text="適用無引誘聊天"  padding="10 1" />\
                                </radiogroup>\
                                <tabs id="tabs" />\
                            </appbar>\
                            <viewpager id="viewpager" bg="#993399">\
                                <frame>\
                                    <ScrollView>\
                                        <vertical>\
                                            <input id="打招呼語多行" text="" />\
                                            <text text="" />\
                                            <text text="" />\
                                            <text text="" />\
                                        </vertical>\
                                    </ScrollView>\
                                    <horizontal>\
                                        <button id="招呼語恢復默認話術" layout_gravity="bottom" w="auto" h="auto" text="恢復到默認" />\
                                        <button id="招呼語保存" layout_gravity="bottom" w="auto" h="auto" text="保存修改" />\
                                    </horizontal>\
                                </frame>\
                                <frame>\
                                    <ScrollView>\
                                        <vertical>\
                                            <input id="通用回復多行" text="" />\
                                            <text text="" />\
                                            <text text="" />\
                                            <text text="" />\
                                        </vertical>\
                                    </ScrollView>center\
                                    <horizontal>\
                                        <button id="通用回復恢復默認話術" layout_gravity="bottom" w="auto" h="auto" text="恢復到默認" />\
                                        <button id="通用回復保存" layout_gravity="bottom" w="auto" h="auto" text="保存修改" />\
                                    </horizontal>\
                                </frame>\
                                <frame>\
                                    <ScrollView>\
                                        <vertical>\
                                            <input id="關鍵詞回復多行" text="" />\
                                            <text text="" />\
                                            <text text="" />\
                                            <text text="" />\
                                        </vertical>\
                                    </ScrollView>center\
                                    <horizontal>\
                                        <button id="關鍵詞回復恢復默認話術" layout_gravity="bottom" w="auto" h="auto" text="恢復到默認" />\
                                        <button id="關鍵詞回復保存" layout_gravity="bottom" w="auto" h="auto" text="保存修改" />\
                                    </horizontal>\
                                </frame>\
                            </viewpager>\
                        </vertical>\
                    </frame>\
                    <frame >\
                        <vertical padding="10 10" >\
                            <horizontal w="auto" h="auto" layout_gravity="center_horizontal" marginTop="10">\
                                <img w="50" h="50" circle="true" src="' + icon_url + '" />\
                                <text text="'+ jbname + '" textColor="#000000" textSize="24sp" textStyle="bold" padding="8" />\
                            </horizontal>\
                            <vertical padding="10 10" w="*" h="auto" bg="#ffffff" marginBottom="10dp">\
                                <vertical id="激活碼資訊" w="auto" h="90" layout_gravity="left|center_vertical ">\
                                    <text id="激活碼_text" text="激活碼:'+ storage.get("CDK") + '" textColor="#000000" textSize="15sp" />\
                                    <text id="到期時間_text" text="到期時間:" textColor="#000000" textSize="15sp" marginTop="8" />\
                                    <text id="剩余時間_text" text="剩余時間:" textColor="#000000" textSize="15sp" marginTop="8" />\
                                </vertical>\
                            </vertical>\
                            <card w="*" h="auto" cardCornerRadius="15dp"\
                                cardElevation="2dp" marginBottom="5dp">\
                                <ScrollView bg="#ffffff">\
                                    <frame padding="10 10" id="獲取卡密">\
                                        <text text="獲取卡密" textColor="#000000" textSize="15sp" layout_gravity="center_vertical|center_horizontal" />\
                                        <img w="30" h="30" tint="#DCDCDC" layout_gravity="center_vertical|center_horizontal|right" src="@drawable/ic_keyboard_arrow_right_black_48dp" />\
                                    </frame>\
                                </ScrollView>\
                            </card>\
                            <card w="*" h="auto" cardCornerRadius="15dp"\
                                cardElevation="2dp" marginBottom="5dp">\
                                <ScrollView bg="#ffffff" >\
                                    <frame padding="10 10" id="使用教程">\
                                        <text text="使用教程" textColor="#000000" textSize="15sp" layout_gravity="center_vertical|center_horizontal" />\
                                        <img w="30" h="30" tint="#DCDCDC" layout_gravity="center_vertical|center_horizontal|right" src="@drawable/ic_keyboard_arrow_right_black_48dp" />\
                                    </frame>\
                                </ScrollView>\
                            </card>\
                            <card w="*" h="auto" cardCornerRadius="15dp"\
                                cardElevation="2dp" marginBottom="5dp">\
                                <ScrollView bg="#ffffff">\
                                    <frame padding="10 10" id="退出登陸">\
                                        <text text="退出登陸" textColor="#000000" textSize="15sp" layout_gravity="center_vertical|center_horizontal" />\
                                        <img w="30" h="30" tint="#DCDCDC" layout_gravity="center_vertical|center_horizontal|right" src="@drawable/ic_keyboard_arrow_right_black_48dp" />\
                                    </frame>\
                                </ScrollView>\
                            </card>\
                            <horizontal gravity="center" bg="#87CEFA">\
                                <text text="免責宣告" />\
                            </horizontal>\
                            <horizontal gravity="center">\
                                <text text="-----免責宣告:本軟體僅供學習交流使用,更多腳本訪問網站:rz3w.com-----" h="auto" textColor="purple"></text>\
                            </horizontal>\
                        </vertical>\
                    </frame>\
                </viewpager>\
                <com.google.android.material.bottomnavigation.BottomNavigationView\
                    id="bnv"\
                    h="56"\
                    layout_alignParentBottom="true"\
                    layout_centerHorizontal="true"\
                    bg="#FAFAFA" />\
            </relative>\
            <frame layout_gravity="left" bg="#C1CDCD" w="220" h="*">\
                <vertical bg="#C1CDCD" w="*" >\
                    <img w="100" h="100" circle="true" src="' + icon_url + '" layout_gravity="center" />\
                    <horizontal id = "跳無障礙" bg="#FFFAFA" w="*" h="auto" marginTop="5" padding="8 10">\
                        <img w="15" h="15" src="@drawable/ic_android_black_48dp" tint="#696969" marginTop="2" />\
                        <text textSize="13sp" text="跳轉到無障礙服務設定頁面" textColor="#696969" marginLeft="8" />\
                    </horizontal>\
                    <horizontal id="跳懸浮窗" bg="#FFFAFA" w="*" h="auto" marginTop="5" padding="8 10">\
                        <img w="15" h="15" src="@drawable/ic_extension_black_48dp" tint="#696969" marginTop="2" />\
                        <text textSize="13sp" text="跳轉到懸浮窗權限設定頁面1" textColor="#696969" marginLeft="8" />\
                    </horizontal>\
                    <horizontal id="跳懸浮窗2" bg="#FFFAFA" w="*" h="auto" marginTop="5" padding="8 10">\
                        <img w="15" h="15" src="@drawable/ic_extension_black_48dp" tint="#696969" marginTop="2" />\
                        <text textSize="13sp" text="跳轉到懸浮窗權限設定頁面2" textColor="#696969" marginLeft="8" />\
                    </horizontal>\
                    <horizontal id="跳查看日志" bg="#FFFAFA" w="*" h="auto" marginTop="5" padding="8 10">\
                        <img w="15" h="15" src="@drawable/ic_assignment_black_48dp" tint="#696969" marginTop="2" />\
                        <text textSize="13sp" text="查看日志(有問題反饋管理員)" textColor="#696969" marginLeft="8" />\
                    </horizontal>\
                </vertical>\
                <frame layout_gravity="bottom" bg="#FFFAFA" w="*" h="auto" padding="20 5">\
                    <horizontal id="設定">\
                        <img w="30" h="30" src="ic_settings_black_48dp" tint="#696969" />\
                        <text textColor="#696969" textSize="19sp" text="設定" marginLeft="8" />\
                    </horizontal>\
                </frame>\
            </frame>\
        </drawer >'
    );

    var arr_adapter = new ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, new ArrayList(appList));
    ui.spin_pingTai.setAdapter(arr_adapter);
    ui.spin_pingTai.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener({
        onItemSelected: function (parent, view, pos) {
            更改圖示(appList[pos])
            arr_adapter = new ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, new ArrayList(軟體[appList[pos]].entries));
            ui.spin_moShi.setAdapter(arr_adapter);
        },
    }));

    let bnv = ui.bnv;
    let menu = bnv.getMenu();
    /** ViewPager 與  BottomNavigationView 聯動*/
    /** 監聽BottomNavigationView切換選中事件  */
    bnv.setOnNavigationItemSelectedListener({
        onNavigationItemSelected: function (item) {
            //跳轉到對應的頁面
            ui.vp.setCurrentItem(item.getItemId());
            return true;
        }
    });

    ui.vp.addOnPageChangeListener({
        onPageSelected: function (position) {
            // 將當前的頁面對應的底部標簽設為選中狀態
            menu.getItem(position).setChecked(true);
            if (menu.getItem(position) == "話術") {
                ui.viewpager.setTitles(["打招呼", "通用回復", "關鍵詞回復"])
                ui.tabs.setupWithViewPager(ui.viewpager)
                let 模式 = storage.get("視頻話術模式", false)
                // log(模式)
                if (模式) {
                    ui.視頻話術.checked = true
                    ui.打招呼語多行.setText(storage.get("視頻打招呼語陣列").join("\n"))
                    ui.通用回復多行.setText(storage.get("視頻通用回復語陣列").join("\n"))
                    ui.關鍵詞回復多行.setText(storage.get("視頻關鍵詞回復陣列").join("\n"))
                } else {
                    ui.聊天話術.checked = true
                    ui.打招呼語多行.setText(storage.get("聊天打招呼語陣列").join("\n"))
                    ui.通用回復多行.setText(storage.get("聊天通用回復語陣列").join("\n"))
                    ui.關鍵詞回復多行.setText(storage.get("聊天關鍵詞回復陣列").join("\n"))
                }
            }
        }
    });


    ui.模糊搜索btn.click(() => {
        let 關鍵詞 = ui.模糊搜索.getText().toString()
        var app陣列 = []
        for (let i = 0; i < appList.length; i++) {
            if (appList[i].indexOf(關鍵詞) > -1) {
                app陣列.push(appList[i])
            }
        }
        if (app陣列.length > 0) {
            dialogs.build({
                title: "請選擇您要找的app",
                items: app陣列,
                itemsSelectMode: "single",
            }).on("single_choice", (index, item) => {
                toast("您選擇的是" + item);
                let index = getArrIndex(appList, item)
                ui.spin_pingTai.setSelection(index)
                app記錄 = item
                // storage.put("app索引",index)
                // storage.put("app",item)
            }).show();
        } else {
            alert("沒找到你搜索的平臺,可以聯系賣家提供你要的平臺")
        }
    })

    ui.autoService.on("check", function (checked) {
        if (checked && auto.service == null) {
            app.startActivity({
                action: "android.settings.ACCESSIBILITY_SETTINGS"
            });
        }
        if (!checked && auto.service != null) {
            auto.service.disableSelf();
        }
    });

    ui.emitter.on('resume', () => {//加載界面
        if (storage.get("運行狀態") == 2) {
            toastLog("歡迎回來")
            try { 引擎.getEngine().forceStop() } catch (e) { }
        }
        ui.運行.setClickable(true)
        ui.autoService.checked = auto.service != null;
        if (getPackageName(app記錄) != null) {//通過app名字找包名
            ui.詳情.setText(app記錄 + "(已安裝)");
            ui.下載app.attr("w", "0dp");
        } else {
            檢查重名app(app記錄)
        }
    });

    /**
    * 獲取資源ID
    * @param {*} name 
    * @param {*} type 
    */
    function getResID(name, type) {
        return context.getResources().getIdentifier(name, type, context.getPackageName());
    }
    /*標題抽屜欄*/
    // 讓工具列左上角可以打開側拉選單
    ui.跳無障礙.click(() => {
        alert("正在跳轉到無障礙服務設定頁面", "此腳本由無障礙模式開發\n務必開啟無障礙服務").then(() => {
            app.startActivity({
                action: "android.settings.ACCESSIBILITY_SETTINGS"
            });
        });
    })
    ui.跳懸浮窗.click(() => {
        alert("正在跳轉到懸浮窗權限設定頁面", "腳本需要懸浮窗權限\n務必開啟懸浮窗權限\n1.進入腳本權限設定界面\n2.找到《顯示懸浮窗》《后臺彈出界面》并給予權限").then(() => {
            app.startActivity({
                action: "android.settings.action.MANAGE_OVERLAY_PERMISSION"
            });
        });
    })
    ui.跳懸浮窗2.click(() => {
        alert("正在跳轉到懸浮窗權限設定頁面", "腳本需要懸浮窗權限\n務必開啟懸浮窗權限\n1.進入腳本權限設定界面\n2.找到《顯示懸浮窗》《后臺彈出界面》并給予權限").then(() => {
            floaty.requestPermission()
        });
    })
    ui.跳查看日志.click(() => {
        toast("查看日志");
        app.startActivity("console");
    })

    ui.設定.on("click", () => {
        app.startActivity("settings");
    })

    /**下載平臺按鈕點擊事件 */
    ui.下載app.on("click", () => {
        app.openUrl(軟體[app記錄].下載鏈接)
    })

    ui.運行.on("click", () => {
        app記錄 = ui.spin_pingTai.getSelectedItem().toString()
        if (app記錄 == "未選擇") {
            alert("還未選擇app")
            return
        }
        if (!$power_manager.isIgnoringBatteryOptimizations()) {
            toastLog("請點允許后再次啟動");
            $power_manager.requestIgnoreBatteryOptimizations();
            return
        }
        if (auto.service == null) {
            toastLog("請授權無障礙權限");
            app.startActivity({
                action: "android.settings.ACCESSIBILITY_SETTINGS"
            });
            return;
        }
        if (!floaty.checkPermission()) {
            toastLog("請開啟懸浮窗或其他應用上層顯示或后臺彈出界面權限");
            floaty.requestPermission()
            return;
        }
        ui.運行.setClickable(false)
        storage.put("運行狀態", 0)
        storage.put("name_guoLv", ui.name_guoLv.getText().toString())
        storage.put("time", ui.t1.getText().toString())
        storage.put("strip", ui.strip.getText().toString())
        storage.put("app", app記錄)
        app子選項 = ui.spin_moShi.getSelectedItemPosition()
        storage.put("app子選項", app子選項)
        storage.put(app記錄 + "子選項", app子選項)
        // home();
        threads.start(function () {
            getnmb(軟體[app記錄].download)
            for (let i = 0; i < 10; i++) {
                sleep(500)
                if (storage.get("運行狀態") == 1) {
                    home()
                    sleep(500)
                    storage.put("運行狀態", 2)
                    return
                }
            }
            alert("網路例外,請重試")
            ui.運行.setClickable(true)
        })
    })

    /*登錄資料*/
    ui.獲取卡密.on("click", function () {
        //客服ui("首頁ui");
        alert("請聯系管理員")
    })
    ui.使用教程.on("click", function () {
        if (jbname == "髙山系統") {
            app.openUrl("https://www.bilibili.com/video/BV16v411x7Nu/")
        } else {
            alert("請聯系管理員")
        }
    })

    ui.退出登陸.on("click", () => {
        if (ui.激活碼_text.getText() == "激活碼:") {
            toast("操作太快啦!")
            return;
        } else {
            toast("退出登陸");
            threads.start(function () {
                var 退出登陸 = LogoutNeedle();
                if (退出登陸[0] != false) {
                    storage.put("oldNeedle", false);
                    dialogs.alert("退出提示", 退出登陸[1]);
                    exit();
                } else {
                    dialogs.alert("退出提示", 退出登陸[1]);
                }
            })
        }
    });
    /*話術按鈕界面配置*/
    //關鍵詞回復多行,打招呼語多行,通用回復多行
    ui.視頻話術.on("check", (checked) => {
        if (checked) {
            //toast("選擇了視頻話術模式")
            ui.打招呼語多行.setText(storage.get("視頻打招呼語陣列").join("\n"))
            ui.通用回復多行.setText(storage.get("視頻通用回復語陣列").join("\n"))
            ui.關鍵詞回復多行.setText(storage.get("視頻關鍵詞回復陣列").join("\n"))
            storage.put("視頻話術模式", true)
        } else {
            //toast("選擇了聊天話術模式")
            ui.打招呼語多行.setText(storage.get("聊天打招呼語陣列").join("\n"))
            ui.通用回復多行.setText(storage.get("聊天通用回復語陣列").join("\n"))
            ui.關鍵詞回復多行.setText(storage.get("聊天關鍵詞回復陣列").join("\n"))
            storage.put("視頻話術模式", false)
        }
    })

    ui.招呼語恢復默認話術.on("click", () => {
        threads.start(function () {
            初始化話術(ui.打招呼語多行, "視頻打招呼語陣列", "SP_DZH", "聊天打招呼語陣列", "LT_DZH")
        })
    })
    ui.通用回復恢復默認話術.on("click", () => {
        threads.start(function () {
            初始化話術(ui.通用回復多行, "視頻通用回復語陣列", "SP_HF", "聊天通用回復語陣列", "LT_HF")
        })
    })
    ui.關鍵詞回復恢復默認話術.on("click", () => {
        threads.start(function () {
            初始化話術(ui.關鍵詞回復多行, "視頻關鍵詞回復陣列", "SP_GJC", "聊天關鍵詞回復陣列", "LT_GJC")
        })
    })
    ui.招呼語保存.on("click", () => {
        保存話術(ui.打招呼語多行, "視頻打招呼語陣列", "聊天打招呼語陣列")
    })

    ui.通用回復保存.on("click", () => {
        保存話術(ui.通用回復多行, "視頻通用回復語陣列", "聊天通用回復語陣列")
    })

    ui.關鍵詞回復保存.on("click", () => {
        保存話術(ui.關鍵詞回復多行, "視頻關鍵詞回復陣列", "聊天關鍵詞回復陣列")
    })

    ui.xqbcf.on("check", function (checked) {
        if (checked) {
            storage.put("xqbcf", true)
            toast("要再發一條文字")
        } else {
            storage.put("xqbcf", false)
            toast("只發一條語音")
        }
    })
    ui.fawandashipin.on("check", function (checked) {
        if (checked) {
            storage.put("fawandashipin", true)
            toast("開啟親密度到了打視頻過去")
        } else {
            storage.put("fawandashipin", false)
            toast("親密度到了不打視頻")
        }
    })
    ui.dlyuyin.on("check", function (checked) {
        if (checked) {
            storage.put("dlyuyin", true)
            toast("發文字")
        } else {
            storage.put("dlyuyin", false)
            toast("發語音")
        }
    })
    ui.hyyuyin.on("check", function (checked) {
        if (checked) {
            storage.put("hyyuyin", true)
            toast("發平臺錄制的語音")
        } else {
            storage.put("hyyuyin", false)
            toast("發1.mp3的語音")
        }
    })
    ui.lkjujieting.on("check", function (checked) {
        if (checked) {
            storage.put("lkjujieting", true)
            toast("一天同個用戶接聽一次")
        } else {
            storage.put("lkjujieting", false)
            toast("所有用戶都自動接聽")
        }
    })
    ui.zdjieting.on("check", function (checked) {
        if (checked) {
            storage.put("zdjieting", true)
            toast("開啟了")
        } else {
            storage.put("zdjieting", false)
            toast("關閉了")
        }
    })

    ui.jishihuif.on("check", function (checked) {
        if (checked) {
            storage.put("jishihuif", true)
            toast("開啟了")
        } else {
            storage.put("jishihuif", false)
            toast("關閉了")
        }
    })
    ui.yaofayuyin.on("check", function (checked) {
        if (checked) {
            storage.put("yaofayuyin", true)
            toast("選擇發1.mp3語音")
        } else {
            storage.put("yaofayuyin", false)
            toast("選擇發文字私信")
        }
    })

    let index = getArrIndex(appList, app記錄)
    ui.spin_pingTai.setSelection(index)
    setTimeout(() => {
        ui.toolbar.setTitle(jbname);
        ui.spin_moShi.setSelection(app子選項)
    }, 900)

    setTimeout(() => {
        /*底部選單欄*/
        bnv.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);//1 不開影片 0 影片
        /** 添加item */
        menu.add(0, 0, 0, "首頁").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        menu.getItem(0).setIcon(getResID('ic_home_black_48dp', 'drawable'));
        menu.add(0, 1, 1, "設定").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        menu.getItem(1).setIcon(getResID('ic_settings_black_48dp', 'drawable'));
        menu.add(0, 2, 3, "話術").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        menu.getItem(2).setIcon(getResID('ic_assignment_black_48dp', 'drawable'));
        menu.add(0, 3, 3, "我的").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        menu.getItem(3).setIcon(getResID('ic_person_black_48dp', 'drawable'));
        ui.toolbar.setupWithDrawer(ui.drawer);
        ui.滾動內容1.setSelected(true)
        ui.滾動內容2.setSelected(true)
        threads.start(function () {
            CDKLogin();
            ui.run(() => {
                if (loginResults == true) {
                    ui.到期時間_text.setText("到期時間: " + 卡密到期時間);
                    ui.剩余時間_text.setText("剩余時間: " + 卡密剩余時間);
                } else {
                    storage.put("oldNeedle", false);
                    登陸ui()
                }
            })
        })
    }, 1500)

    setTimeout(() => {
        if (!storage.get("視頻打招呼語陣列")) {
            toast("正在初始化視頻打招呼語話術")
            下載話術(ui.打招呼語多行, "視頻打招呼語陣列", "SP_DZH")
        }
        if (!storage.get("聊天打招呼語陣列")) {
            toast("正在初始化聊天打招呼語話術")
            下載話術(ui.打招呼語多行, "聊天打招呼語陣列", "LT_DZH")
        }
        if (!storage.get("聊天通用回復語陣列")) {
            toast("正在初始化聊天系統回復語話術")
            下載話術(ui.通用回復多行, "聊天通用回復語陣列", "LT_HF")
        }
        if (!storage.get("視頻關鍵詞回復陣列")) {
            toast("正在初始化視頻關鍵詞回復話術")
            下載話術(ui.關鍵詞回復多行, "視頻關鍵詞回復陣列", "SP_GJC")
        }
        if (!storage.get("聊天關鍵詞回復陣列")) {
            toast("正在初始化聊天關鍵詞回復話術")
            下載話術(ui.關鍵詞回復多行, "聊天關鍵詞回復陣列", "LT_GJC")
        }
        log(storage.get("聊天打招呼語陣列"))
        log(storage.get("聊天通用回復語陣列"))
        log(storage.get("聊天關鍵詞回復陣列"))
    }, 1800)
}



function getArrIndex(arr, item) {
    for (var i in arr) {
        if (arr[i] == item) {
            return i;
        };
    };
}

function 檢查重名app(例外app) {
    if (例外app == "戀戀_紅心") {
        let 臨時app名 = app.getAppName("com.imdw.lianlian")
        if (臨時app名 != null) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    } else if (例外app == "戀戀_他她") {
        let 臨時app名 = app.getAppName("com.oos.greenface.app")
        if (臨時app名 != null) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    } else if (例外app == "巧遇_老") {
        let 臨時app名 = app.getAppName("com.lanhu.qiaoyu")
        if (臨時app名 != null) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    } else if (例外app == "果聊") {
        let 臨時app名 = app.getAppName("company.newchat.coquettish.android")
        if (臨時app名 != null) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    } else if (例外app == "戀夜") {
        let 臨時app名 = app.getAppName("com.qiaoyu.chat")
        if (臨時app名 != null) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    } else if (例外app == "知心_原知己") {
        let 臨時app名 = app.getAppName("com.qianqianonechart.online")
        if (臨時app名 != null) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    } else if (例外app == "小月亮新") {
        let 臨時app名 = app.getAppName("com.smallmoon.app")
        if (臨時app名 != null) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    } else if (例外app == "新魅聊") {
        let 臨時app名 = app.getAppName("com.meiliao.chat")
        if (臨時app名 != null) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    } else if (例外app == "紅顏新") {
        let 臨時app名 = app.getAppName("com.chaodong.fate.android")
        if (臨時app名) {
            ui.詳情.setText(例外app + "(已安裝)");
            ui.下載app.attr("w", "0dp");
            return
        }
    }
    ui.詳情.setText(例外app + "(未安裝)");
    ui.下載app.attr("w", "40dp");
    //有重名app才要改
}

function 更改圖示(app記錄) {
    ui.app圖片.attr("src", 軟體[app記錄].src)
    // ui.app名字.setText(app記錄)
    if (getPackageName(app記錄)) {//通過app名字找報名
        ui.詳情.setText(app記錄 + "(已安裝)");
        ui.下載app.attr("w", "0dp");
    } else {
        檢查重名app(app記錄)
    }
}

function 文本ui(標題名稱, 文本, 回傳ui) {
    ui.layout(
        '<vertical>\
            <appbar bg="#1C1C1C" >\
                <horizontal>\
                    <img id="回傳" w="50" h="50" tint="#F5F5F5" src="@drawable/ic_keyboard_arrow_left_black_48dp" />\
                    <text id="標題名稱" layout_gravity="center" text="" textColor="#FFFAFA" textSize="20sp" textStyle="bold" marginLeft="80" />\
                </horizontal>\
            </appbar>\
            <text id="文本" text="" textColor="#000000" textSize="15sp" />\
        </vertical>'
    );
    ui.標題名稱.setText(標題名稱);

    ui.回傳.on("click", () => {
        if (回傳ui == "登陸ui") {
            登陸ui();
        } else if (回傳ui == "首頁ui") {
            首頁ui();
        }
    })
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/286628.html

標籤:其他

上一篇:Android 開發入門 之環境搭建

下一篇:iOS圖文混排之【 NSAttachmentAttributeName 創建帶有圖片的富文本】(案例:展示信用卡標簽)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more