精华内容
参与话题
问答
  • 详情见:Android 静默安装和静默卸载(系统层) http://blog.csdn.net/zhouyuanjing/article/details/78507606 安装: Intent intent = new Intent("android.intent.action.SILENT_PACKAGE_INSTALL"); intent....
  • 微信h5静默、非静默授权获取用户openId的方法和步骤: 一、openId是什么? openId是用户在当前公众号下的唯一标识(‘身份证’),就是说通过这个openId,就能区分在这个公众号下具体是哪个用户。 二、openId有...

    微信h5静默、非静默授权获取用户openId的方法和步骤:

    一、openId是什么?

    openId是用户在当前公众号下的唯一标识(‘身份证’),就是说通过这个openId,就能区分在这个公众号下具体是哪个用户。

    二、openId有什么用?

    假如用户A在当前公众号下购买了一件商品,用户的下单信息肯定要存储到后台数据库,那根据什么进行存储呢?openId是用户在当前公众号下的唯一标识,通过openId和用户的下单购买信息进行键值对的数据绑定。那么我要查询该用户购买过什么商品,就能够通过openId去查询,并且数据是唯一的,不会和另外的用户数据有冲突。

    拓展:UnionID:一个商家或公司可能会有多个公众号,假如用户A同时都关注了这个公司下面的三个公众号,那么这个用户就会有三个openId(一个公众号就对应一个openID)。如果作为开发者的我们,要对这个用户在这三个公众号下消费的数据进行汇总,我怎么获取到这三份数据(同一用户的)?答案是 UnionId,微信开发者文档:如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为同一用户,对同一个微信开放平台下的不同应用(移动应用、网站应用和公众帐号),unionid是相同的。就是说如果要获取用户在同一公司不同公众号下的数据,后台表结构不但要关联openId,还要关联UnionId。

    三、怎么获取openId?

    (一)登录微信公众平台后台获取公众号的AppId,设置回调地址。

    回调地址设置页面向导:开发>接口权限>网页服务>网页授权>修改。开发的项目需要放到已经解析好服务器域名的服务器下,同时把Mp***.text文件放到服务器根目录下,此时你的服务器必须能联通外网也就是有公网IP,并且80端口是打开的,可以使用阿里云等服务器,默认配置就可以了。

    (二)根据开发需要,静默授权还是非静默授权

       ① 静默授权:snsapi_base,没有弹窗,只能获取用户的openId。

       ②非静默授权:snsapi_userinfo,有弹框弹出需要用户手动点击确认授权。可以获取openId,用户的头像、昵称等

    (三)前端代码,配置的参数要一一对应,获取code,并调用后台接口,把code传给后台

    redirect_uri,这个的意思是:授权完成后再重新回到当前页面(又刷新了一次页面)

    getUrlParam的方法,可以百度下,就是获取页面路径的某个字段所对应的参数。

    如果配置参数一一对应,那么此时已经通过回调地址刷新页面后,你就会看到在地址栏中的code了。

    (四)前端截取地址栏中的code后通过调接口把code传给后台,后台通过code获取openId和用户头像昵称等信息并返回给前端

    为什么,前端不能一起把获取code和获取openId的操作一并做了,还要请求后台,让后台获取openId?

    (五)后台通过 code、AppSecret(公众号平台后台取得)请求微信链接获取openId

    前端具体代码如下,可复制(记得把文中的 window.APPID改为自己公众号的APPID)

    <template>
        <div></div>
    </template>
    
    <script>
    import GetUrlParam from '@/assets/js/util/getUrlParam.js'
    export default {
        name: 'Index',
        data () {
            return {
            }
        },
        created () {
            this.getCode()
        },
        methods: {
            getCode () { // 非静默授权,第一次有弹框
                const code = GetUrlParam('code') // 截取路径中的code,如果没有就去微信授权,如果已经获取到了就直接传code给后台获取openId
                const local = window.location.href
                if (code == null || code === '') {
                    window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + window.APPID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect'
                } else {
                    this.getOpenId(code) //把code传给后台获取用户信息
                }
            },
            getOpenId (code) { // 通过code获取 openId等用户信息,/api/user/wechat/login 为后台接口
                let _this = this
                this.$http.post('/api/user/wechat/login', {code: code}).then((res) => {
                    let datas = res.data
                    if (datas.code === 0 ) {
                        console.log('成功')
                    }
                }).catch((error) => {
                    console.log(error)
                })
            }
        }
    }
    </script>
    
    <style lang="less" scoped>
    
    </style>

    (六)通过openId做用户的数据绑定或查询等操作

        前后端都获取了openId后,就能通过openId做用户数据的绑定和查询了。

    (七)补充说明

       使用上述方法进行的微信授权,在手机端会有两次空白页跳转,时间虽然很短暂,但有些产品经理会觉得这种体验不好(实在很欠揍)。解决方法是:可以把跳转到微信获取code的这段链接拼接好直接复制到  微信公众平台 后台管理系统菜单列表里面。这样点击菜单,在回调页通过截取url中的code,就能直接获取到code了,就避免了多次跳转的情况。

    (八)解决微信授权成功进入项目后,点击手机物理返回键或返回会出现空白页或者报错的情况,空白页是因为授权页就是空白页。可以参考我的另一篇文章:

    解决微信授权成功后点击按返回键出现空白页和报错的问题
    https://blog.csdn.net/qq_35430000/article/details/81505497

    最后:这篇分享来源于我在实际项目中摸索和借鉴其他项目,有不对的地方希望大家多多指出,有不明白的地方可以给我留言.

    卓越的云计算服务提供商,230万+用户正在享受阿里云"稳定,安全,低成本"的产品服务,金牌服务:免费体验,专业快速备案,7x24小时售后,服务器只选阿里云

    展开全文
  • 静默安装程序

    2015-10-28 10:16:04
    静默安装指的是安装时无需任何用户干预,直接按默认设置安装,这对于无特殊需求的用户或将软件集成于Windows 安装光盘还是很有用的。或者称它为无人值守安装-----在安装过程中可以静默安装好预先设计集成的一些常用...
  • 这是一款系统封装必备的小工具,主要用于查看安装程序静默参数,你想在部署时调用某个程序来静默运行,可是你不知道参数怎么办?这是就需要一款工具来进行扫描静默参数,这款工具同时还支持查看使用NSIS打包的EXE...
  • 这是一个获取root权限后,不弹出系统安装界面,直接进行安装的的源码。...之前也介绍过一个静默卸载的项目http://www./source/6484.html和一个静默安装的http://www./source/8340.html。感兴趣自己去研究吧。
  • pcm 静默分析

    2017-12-27 09:20:52
    pcm 静默分析pcm 静默分析pcm 静默分析pcm 静默分析pcm 静默分析pcm 静默分析pcm 静默分析
  • android静默安装

    2012-08-11 10:25:12
    android静默安装 下载下来直接可以使用,这里还有更丰富的Demo ,例如地图的所有解决方案的Demo,想要的联系,
  • 静默安装oracle

    2019-01-03 13:15:43
    利用oracle自带的自定义脚本,然后静默安装软件、静默建监听、静默建库等
  • NSIS教程(5): 静默安装

    万次阅读 2017-12-27 22:43:22
    常用的静默安装有2种: 1. 在脚本中加入SilentInstall 和 SilentUninstall 命令 2. 在程序启动参数里加 /S 参数(区分大小写) 要判断安装、卸载程序是否静默可以使用 IfSilent: # 安装操作开始前. Function...

    常用的静默安装有2种:
    1. 在脚本中加入SilentInstall 和 SilentUninstall 命令
    2. 在程序启动参数里加 /S 参数(区分大小写)


    要判断安装、卸载程序是否静默可以使用 IfSilent

    # 安装操作开始前.
    Function .onInit
        IfSilent +2 +1
        MessageBox MB_ICONQUESTION|MB_OK "欢迎使用"
    FunctionEnd

    对于有些命令需要为静默安装指定默认的回答,如MessageBox需要加入/SD开关来指定默认回答。

    # 卸载操作开始前.
    Function un.onInit
        MessageBox MB_ICONQUESTION|MB_YESNO "确定要卸载吗?" /SD IDYES IDYES +2 IDNO +1
        Abort
    FunctionEnd

    如果需要为静默安装指定其他的参数,如用户名等,可以使用程序启动参数指定,并在.onInit 函数里进行解析:

    #使用插件FileFunc中的2个宏
    !include "FileFunc.nsh"
    !insertmacro GetParameters
    !insertmacro GetOptions
    # 定义全局变量
    Var paramInstllDir      # 启动参数-安装目录
    # 自定义宏ParseParameters,在.onInit函数中调用即可
    !macro ParseParameters
        ${GetParameters} $R0
        ${GetOptions} $R0 '/installdir' $R1
        StrCpy $paramInstllDir $R1
        IfSilent +1 +2
        StrCpy $INSTDIR $paramInstllDir
    !macroend
    展开全文
  • 主要告诉大家什么是Android静默拍摄,Android静默拍摄制作方法和思路,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了微信h5静默和非静默授权获取用户openId的方法和步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 静默安装apk

    2017-12-04 15:36:38
    android静默安装apk,多种方式,非常好用。已经用于自己的项目。
  • 静默安装和静默卸载

    千次阅读 2015-08-24 10:37:00
    首先,在实现之前参考了网上的一些静默安装的帖子。 http://blog.csdn.net/lqrensn/article/details/12868809 http://blog.csdn.net/qq272803220/article/details/9102401 ...

    首先,在实现之前参考了网上的一些静默安装的帖子。

    http://blog.csdn.net/lqrensn/article/details/12868809

    http://blog.csdn.net/qq272803220/article/details/9102401

    http://blog.csdn.net/jiangwei0910410003/article/details/36427963


    相信上面的帖子已经说的非常详细了,现在就简单谈一下利用PackageManager是如何实现静默安装的。

    由于最近的那个项目能够获取到机器的系统签名,所以可以调用到一些系统功能,即可以利用PackageManage实现静默安装和静默卸载。

    我主要是参考的http://blog.csdn.net/qq272803220/article/details/9102401 该文章里面的方法来实现的。


    按照里面的方法来实现,基本上是不会有太大的问题,照着这个帖子,静默安装的功能很容易的就实现了,那么现在问题来了,如何实现静默卸载呢?

    参照着上面三个帖子中的其中一个,利用aidl接口实现IPackageDeleteObserver这个类,然后再进行封装,进行调用。原文中作者的开发环境是Eclipse,我用的是Android Studio,文件目录会不一样,尝试了一下,因为能力有限,到最后也没有运行成功。于是只好照着类似于静默安装成功运行的方式实现静默卸载功能。

    需要文件IPackageObserver.class.class和文件IPackageObserver?stub.class文件,照着作者的方法,先找了android 1.5的源码,下载到了源码以后,并没有发现有这几个文件,可能是下载到的源码不完整吧。然后换了一个思路,想尝试作者所说的第二种方式,进行反编译虚拟机中的framework.jar文件。

    展开全文
  • 静默安装与静默删除

    千次阅读 2010-10-11 14:51:00
    首先必须使用非公开的API  "SDK API Plug-in" ...

    首先必须使用非公开的API

     


    下面是安装,可以同步,也可以异步,下面这个是同步,异步的话还要自己写一个AO。

            // Silent Installer
    SwiUI::RSWInstSilentLauncher iLauncher; 
    //Install Option
    SwiUI::TInstallOptions iOptions;
    //Installation Option pkg
    SwiUI::TInstallOptionsPckg iOptionsPckg; 

    iOptions.iUpgrade = SwiUI::EPolicyAllowed;

    iOptions.iOCSP = SwiUI::EPolicyAllowed;

    iOptions.iDrive = 'C';   

    iOptions.iUntrusted = SwiUI::EPolicyAllowed; 

    iOptions.iCapabilities = SwiUI::EPolicyAllowed; 

    iOptionsPckg = iOptions;   

    TBufC<50> FName(KTempPath);//需要安装的SIS文件路径
     
    //Silent insatllation
    iLauncher.Connect();
    iLauncher.SilentInstall(/*waiter->iStatus,8*/FName,iOptionsPckg);

    iLauncher.Close();  
    GetSinkInfo();
    CAknInformationNote* informationNote;
    informationNote = new ( ELeave ) CAknInformationNote;
    informationNote->ExecuteLD( _L("SilentInstall ok!!"));

    下面是卸载
    SwiUI::RSWInstLauncher iLauncher;
    CleanupClosePushL(iLauncher);
    User::LeaveIfError(iLauncher.Connect()); 

    SwiUI::TUninstallOptions iUninstallOptions;        
    iUninstallOptions.iKillApp = SwiUI::EPolicyAllowed;
    iUninstallOptions.iBreakDependency = SwiUI::EPolicyAllowed;

    SwiUI::TUninstallOptionsPckg iUninstallOptionsPckg(iUninstallOptions); 
          
    iLauncher.SilentUninstall(TUid::Uid(0xA00000EB),iUninstallOptionsPckg,SwiUI::KSisxMimeType);
    CleanupStack::PopAndDestroy( &iLauncher );
    iEikonEnv->InfoMsg( _L("SilentUninstall ok") );

    同样卸载也可以 同步或异步
    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://f6adf6ad.blogbus.com/logs/70969317.html
    Symbian 静默安装实现之分享

                             Waydejiang 江小伟

     

    一  需求分析:

     

    由于项目中需要安装多个sisx包,但是又不想让用户看到安装了多个包,所以需要在安装1个sisx的时候,偷偷的安装上其他的sisx包。这样程序在后台可以用静默安装来完成这一特殊需求。

     

    二  SDK能支持的。

     

    Symbian sdk 其实提供了一组用程序来实现对 sisx或者其他类型的文件如(jar包)的安装的类。这些类属于symbian sdk plugin apis。

    我们需要下载swinstapi. Swinstdefs.h swinstdefs.inl 三个头文件,以及swinstcli.lib 等3个库文件。

     

    三   实现细节:

     

    1.  类说明 :

    本文主要说明 静默安装的实现。其实主要用到 3个类,依次是

     SwiUI::RSWInstSilentLauncher

     SwiUI::TInstallOptions                               

     SwiUI::TInstallOptionsPckg 

     

     SwiUI::RSWInstSilentLauncher 从名称看是1个R类,用法和其他的R类类似,先Connect,然后做自己感兴趣的事,完了后Close就可以了。静默安装这一过程实际上后台会启动1个服务程序,然后来完成app这边的安装请求。整个过程其实就是一个

    Session的过程。这个类会有一些Install,UnInstall的方法,其中有同步的,也有异步的。根据需求,我们可以自己选择,我这里用的是同步的调用方式。

     

         SwiUI::TInstallOptions 这个类主要描述安装时的一些参数。也是用户可定制的。

         SwiUI::TInstallOptions 安装的选项配置类,主要包含以下成员。

     

    变量类型

    成员变量名

    含义

    TPolicy

    iUpgrade

    是否覆盖安装

    TPolicy

    iOptionalItems

    可选配置项

    TPolicy

    iOCSP

    是否检查网络的签名认证状态

    TPolicy

    iIgnoreOCSPWarnings

    发生OCSP警告时是否继续安装

    TPolicy

    iUntrusted

    是否安装未签名的程序

    TPolicy

    iPackageInfo

    是否省略包的信息

    TPolicy

    iCapabilities

    是否自动给用户能力

    TPolicy

    iKillApp

    安装完成后是否删除源安装程序

    TPolicy

    iOverwrite

    是否允许覆盖原文件

    TPolicy

    iDownload

    是否可下载

    TBuf

    iLogin

    下载用户名,最大长度KSWInstMaxUserNameLength

    TBuf

    iPassword

     

    下载密码,最大长度KSWInstMaxPasswordLength

    TChar 

    iDrive

    安装的目标驱动器

    TLanguage 

    iLang

    选择的语言

    TBool 

    iUsePhoneLang

    强制使用手机上的默认语言

    TPolicy 

    iUpgradeData

    是否更新所有数据

     

    SwiUI::TInstallOptionsPckg 这个类就是将上述配置信息真正应用的1个类。

     

     

    2. 技术关键点:

      

      前面谈到SwiUI::RSWInstSilentLauncher会有一组方法,包含异步实现如

      IMPORT_C void SilentInstallTRequestStatus& aReqStatus, 

                                         const TDesC& aFileName, 

                                         const TDesC8& aOptions );

      也包含同步实现如

      IMPORT_C TInt SilentInstallRFile& aFile, const TDesC8& aOptions );

      因为我们要安装2个sisx,所以采用了同步的接口。若用异步的接口,也可以用CActiveWaitSheduler来实现伪同步。

      

      这个函数调用时可能返回KSWInstErrBusy 的错误,说明在调用这个接口的时候,可能要等后台服务程序处理完。所以加入延时等待逻辑。

    的代码。

     

      3.其他:

     

     

      我们在调用这个函数前,需要先设置下 iOptionsPckg ,也就是前面提到的安装设置项,这个具体信息可以参考前面的表格。另外path是根据安装进程所在全路径获得,我们可以根据如下代码得到。

     

     

        TFileName exePath ;

     

        RProcess process ;

        //get qsinstall.exe 's full path

        exePath = process.FileName() ;

        TParse parse ;

        parse.Set(exePath,NULL,NULL) ;

        aDrive.Zero() ;

        aDrive.Append(parse.Drive());

    四.后记

     

     

       本文只讨论了静默安装,其实这组类还可以实现静默卸载,即SwiUI::RSWInstLauncher

     


    展开全文
  • 发送静默短信demo

    2017-12-15 15:21:17
    发送静默在网验证短信,发送静默在网验证短信,发送静默在网验证短信,发送静默在网验证短信,发送静默在网验证短信,发送静默在网验证短信
  • 静默安装demo

    2015-01-07 16:17:06
    Android 在没有root权限状态下静默安装
  • Android静默拍照

    2017-06-09 13:13:40
    实现在用户无感知的情况下拍照并保存在本地
  • android 静默更新demo

    2015-04-22 17:54:04
    参考网上资料 http://blog.csdn.net/jiangwei0910410003/article/details/36427963 http://blog.csdn.net/furongkang/article/details/6886526 完成的android 静默更新demo
  • Android静默安装

    2013-05-13 12:11:32
    Android静默安装
  • ps静默卸载

    2018-08-08 22:18:27
    此为ps静默卸载
  • SilentPrint 一个静默打印的中间件,网页实现静默打印
  • CentOS 6.3 X64上64位Oracle11gR2 静默安装,静默设置监听,静默建库(备份记录)及安装时遇到的问题解决
  • oracle静默安装

    2015-12-26 19:31:43
    oracle静默安装
  • 实现apk更新和静默安装,获取root进行静默安装比较简单: 1,申请root权限Runtime.getRuntime().exec("su"); 2,通过数据输出流DataOutputStream写入pm install命令; 3,最后获取Process进程的返回值int i =...
  • 抓拍静默拍照

    2019-03-08 11:46:41
    最近要做一个功能,在用户不知道的情况下拍照,一般写的拍照功能需要预览,于是就查了资料写了一个。因为里面有保存图片的功能,6.0以上的需要手动获取权限,我这个程序运行的机器是6.0以下的,所以没有手动获取,有...
  • Silent Install Helper是一款很有用的小工具,可以实现软件批量静默安装,能够同时安装多个软件,通常我们在安装系统后,需要一个个安装所需要的软件,各种点击和等待即麻烦又费时 ,通过这个工具可以在无需人工...
  • APK 静默安装

    2014-11-06 15:01:09
    局限性:必须有系统签名的才可以成功,适合系统定制的朋友,比如android系统是自己源码编译出来的,这样系统的签名在你手中,就不会限制于人了
  • Oracle静默安装

    2018-07-11 15:30:36
    本人Linux环境为RedHat,其他Centos6.5也能参照文档安装,只是个别命令执行方式不同而已。

空空如也

1 2 3 4 5 ... 20
收藏数 9,521
精华内容 3,808
热门标签
关键字:

静默